diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/CHANGELOG.md b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/CHANGELOG.md deleted file mode 100644 index 2f15efc6a848..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/CHANGELOG.md +++ /dev/null @@ -1,26 +0,0 @@ -# Release History - -## 1.0.0-preview.2 (2021-02-01) -- Fix issue #17084: Unable to create OCI manifest in Azure Container Registry -- Fix issue #16511: Incorrect scopes passed when calling Write APIs - -## 1.0.0-preview.1 (2020-04-06) - -- Update package version to follow standard Azure-SDK-for-Net versioning guidelines -- Require `System.IdentityModel.Tokens.Jwt >= 5.1.2` instead of `System.IdentityModel.Tokens.Jwt == 5.1.2`. - -## 0.10.0-preview - -- Support operations on Container Registry repositories, tags, manifests, blobs, access tokens and refresh tokens. -- Autogenerate operations and models from [2019-08-15 containerregistry.json swagger spec](https://github.com/Azure/azure-rest-api-specs/blob/master/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2019-08-15/containerregistry.json). -- Support different manifest types to allow for operations on [OCI](https://www.opencontainers.org) images. -- Oauth2 Support. -- Supports V2 container runtime operations. See [Docker Registry HTTP API V2 specs](https://docs.docker.com/registry/spec/api/) for more information. -- Add customized classes (e.g. ContainerRegistryCredentials) to simplify authentication. - -## 0.9.0-preview.1.20190603.2 - -- Preview release for Azure Container Registry Data plane operations -- Support for basic container runtime operations, such as get, delete and update of manifest, repository, tags and their attributes. -- Autogenerate operations and models from [2018-08-10 containerregistry.json swagger spec](https://github.com/Azure/azure-rest-api-specs/blob/master/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/containerregistry.json). - diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/Microsoft.Azure.ContainerRegistry.sln b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/Microsoft.Azure.ContainerRegistry.sln deleted file mode 100644 index 151b9e824af0..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/Microsoft.Azure.ContainerRegistry.sln +++ /dev/null @@ -1,43 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29326.143 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.ContainerRegistry.Tests", "tests\Microsoft.Azure.ContainerRegistry.Tests.csproj", "{5D867A48-4861-43CB-BE00-65F54BE82C4E}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.ContainerRegistry", "src\Microsoft.Azure.ContainerRegistry.csproj", "{E704234A-F8FC-4648-8C2D-A1CB1BE6CCE3}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Rest.ClientRuntime.Azure.TestFramework", "..\..\mgmtcommon\TestFramework\ClientRuntime.Azure.TestFramework\Microsoft.Rest.ClientRuntime.Azure.TestFramework.csproj", "{5CCD6586-1F21-4FE3-A303-5A7080F9A11F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Azure.Test.HttpRecorder", "..\..\mgmtcommon\TestFramework\Microsoft.Azure.Test.HttpRecorder\Microsoft.Azure.Test.HttpRecorder.csproj", "{E1B19866-98AF-49FC-B2D5-0E96F9ED378C}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {5D867A48-4861-43CB-BE00-65F54BE82C4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5D867A48-4861-43CB-BE00-65F54BE82C4E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5D867A48-4861-43CB-BE00-65F54BE82C4E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5D867A48-4861-43CB-BE00-65F54BE82C4E}.Release|Any CPU.Build.0 = Release|Any CPU - {E704234A-F8FC-4648-8C2D-A1CB1BE6CCE3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E704234A-F8FC-4648-8C2D-A1CB1BE6CCE3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E704234A-F8FC-4648-8C2D-A1CB1BE6CCE3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E704234A-F8FC-4648-8C2D-A1CB1BE6CCE3}.Release|Any CPU.Build.0 = Release|Any CPU - {5CCD6586-1F21-4FE3-A303-5A7080F9A11F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5CCD6586-1F21-4FE3-A303-5A7080F9A11F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5CCD6586-1F21-4FE3-A303-5A7080F9A11F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5CCD6586-1F21-4FE3-A303-5A7080F9A11F}.Release|Any CPU.Build.0 = Release|Any CPU - {E1B19866-98AF-49FC-B2D5-0E96F9ED378C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E1B19866-98AF-49FC-B2D5-0E96F9ED378C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E1B19866-98AF-49FC-B2D5-0E96F9ED378C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E1B19866-98AF-49FC-B2D5-0E96F9ED378C}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {67040A5E-5444-44DC-A7B9-7E000E6B3D92} - EndGlobalSection -EndGlobal diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Customizations/AuthToken.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Customizations/AuthToken.cs deleted file mode 100644 index 393a546bf8f1..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Customizations/AuthToken.cs +++ /dev/null @@ -1,191 +0,0 @@ -using Microsoft.Rest; -using System; -using System.IdentityModel.Tokens.Jwt; -using System.Net.Http; -using System.Net.Http.Headers; -using System.Threading; -using System.Threading.Tasks; - -namespace Microsoft.Azure.ContainerRegistry -{ - /// - /// Simple authentication credentials class for use by local clients within Token classes. - /// i.e and - /// - internal class TokenCredentials : ServiceClientCredentials - { - private string _authHeader { get; set; } - - /*To be used for General Login Scheme*/ - public TokenCredentials(string username, string password) - { - _authHeader = Helpers.EncodeTo64($"{username}:{password}"); - } - - /*To be used for exchanging AAD Tokens for ACR Tokens*/ - public TokenCredentials() - { - _authHeader = null; - } - - public override async Task ProcessHttpRequestAsync(HttpRequestMessage request, CancellationToken cancellationToken) - { - if (request == null) - { - throw new ArgumentNullException(nameof(request)); - } - if (_authHeader != null) - { - request.Headers.Authorization = new AuthenticationHeaderValue("Basic", _authHeader); - } - await base.ProcessHttpRequestAsync(request, cancellationToken); - } - } - - /// - /// AuthToken class for chaining token refreshes. It abstracts checking and refresh logic and allows for chained token refreshing. - /// See subclasses and for more information - /// - public class AuthToken - { - public delegate string AcquireCallback(); - protected static readonly JwtSecurityTokenHandler JwtSecurityClient = new JwtSecurityTokenHandler(); - - // Constant to refresh tokens slightly before they are to expire guarding against possible latency related crashes - private readonly TimeSpan LatencySafety = TimeSpan.FromMinutes(2); - - public string Value { get; set; } - public DateTime Expiration { get; set; } - protected AcquireCallback RefreshFunction; - - public AuthToken(string token) - { - Value = token; - Expiration = JwtSecurityClient.ReadToken(Value).ValidTo; - } - - public AuthToken(string token, AcquireCallback refreshFunction) : this(token) - { - RefreshFunction = refreshFunction; - } - - //Extensibility purposes - protected AuthToken() { } - - - /* Returns true if refresh was successful. */ - public bool Refresh() - { - if (RefreshFunction == null) - { - return false; - } - Value = RefreshFunction(); - Expiration = JwtSecurityClient.ReadToken(Value).ValidTo; - - return true; - } - - public bool NeedsRefresh() - { - return Expiration < DateTime.UtcNow.Add(LatencySafety); - } - - // Returns true if token is ready for use or false if token was expired and unable to refresh - public bool CheckAndRefresh() - { - if (NeedsRefresh()) - return Refresh(); - return true; - } - - protected void InitializeToken(AcquireCallback refreshFunction) - { - Value = refreshFunction(); - Expiration = JwtSecurityClient.ReadToken(Value).ValidTo; - RefreshFunction = refreshFunction; - } - } - - /// - /// An ACR refresh token that refreshes from an AAD access token. Provides built in token exchange functionality. - /// - public class ContainerRegistryRefreshToken : AuthToken - { - private AzureContainerRegistryClient authClient; - public ContainerRegistryRefreshToken(AuthToken aadToken, string loginUrl) - { - // setup refresh function to retrieve acrtoken with aadtoken - authClient = new AzureContainerRegistryClient(new TokenCredentials()) - { - LoginUri = $"https://{loginUrl}" - }; - - string tempRefreshFunction() - { - // Note: should be using real new access token - aadToken.CheckAndRefresh(); - return authClient.RefreshTokens.GetFromExchangeAsync("access_token", loginUrl, "", null, aadToken.Value).GetAwaiter().GetResult().RefreshTokenProperty; - } - - // initialize token and refresh function - InitializeToken(tempRefreshFunction); - } - } - - /// - /// An ACR access token that refreshes from an ACR refresh token or username and password. - /// - public class ContainerRegistryAccessToken : AuthToken - { - private AzureContainerRegistryClient authClient; - public string Scope { get; set; } - /// - /// Construct an ACR access token that refreshes from an ACR refresh token. - /// - /// - /// - /// - public ContainerRegistryAccessToken(ContainerRegistryRefreshToken refreshToken, string scope, string loginUrl) - { - Scope = scope; - authClient = new AzureContainerRegistryClient(new TokenCredentials()) - { - LoginUri = $"https://{loginUrl}" - }; - string tempRefreshFunction() - { - refreshToken.CheckAndRefresh(); - return authClient.AccessTokens.GetAsync(loginUrl, scope, refreshToken.Value).GetAwaiter().GetResult().AccessTokenProperty; - }; - - // initialize token and refresh function - InitializeToken(tempRefreshFunction); - } - - /// - /// Construct an ACR access token that refreshes from an ACR refresh token. - /// - /// - /// - /// - /// - public ContainerRegistryAccessToken(string username, string password, string scope, string loginUrl) - { - Scope = scope; - authClient = new AzureContainerRegistryClient(new TokenCredentials(username, password)) - { - LoginUri = $"https://{loginUrl}" - }; - string tempRefreshFunction() - { - return authClient.AccessTokens.GetFromLoginAsync(loginUrl, scope).GetAwaiter().GetResult().AccessTokenProperty; - }; - - // initialize token and refresh function - InitializeToken(tempRefreshFunction); - } - } -} - - diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Customizations/AzureContainerRegistryClientExtended.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Customizations/AzureContainerRegistryClientExtended.cs deleted file mode 100644 index 6a507d23cb98..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Customizations/AzureContainerRegistryClientExtended.cs +++ /dev/null @@ -1,85 +0,0 @@ -using Microsoft.Rest; -using Microsoft.Rest.Azure; -using System.Net.Http; -namespace Microsoft.Azure.ContainerRegistry -{ - public partial class AzureContainerRegistryClient : ServiceClient, IAzureContainerRegistryClient, IAzureClient - { - - // MANUALLY ADDED FOR INTERNAL TEST PURPOSES / FOR TESTING FRAMEWORK USE ONLY - /// - /// Initializes a new instance of the AzureContainerRegistryClient class. - /// - /// - /// Optional. The base URI of the service. - /// - /// - /// Required. Credentials needed for the client to connect to Azure. - /// - /// - /// Optional. The delegating handlers to add to the http client pipeline. - /// - /// - /// Thrown when a required parameter is null - /// - - internal AzureContainerRegistryClient(System.Uri loginUri, ServiceClientCredentials credentials, params DelegatingHandler[] handlers) : this(handlers) - { - if (loginUri == null) - { - throw new System.ArgumentNullException(nameof(loginUri)); - } - - BaseUri = "{url}"; - Credentials = credentials ?? throw new System.ArgumentNullException(nameof(credentials)); - if (Credentials != null) - - { - Credentials.InitializeServiceClient(this); - } - - } - - /// - /// Initializes a new instance of the AzureContainerRegistryClient class. Allows users to specify a loginUrl - /// - /// - /// Required The base URl of the Azure Container Registry Service - /// - /// - /// Required. Credentials needed for the client to connect to Azure. - /// - /// - /// Optional. The delegating handlers to add to the http client pipeline. - /// - /// - /// Thrown when a required parameter is null - /// - public AzureContainerRegistryClient(string loginUrl, ServiceClientCredentials credentials, params DelegatingHandler[] handlers) : this(handlers) - { - if (credentials == null) - { - throw new System.ArgumentNullException("credentials"); - } - - // prevents issues if caller sets an incorrect '/' at the end - if (loginUrl.EndsWith("/")) { - loginUrl = loginUrl.Substring(0, loginUrl.Length - 1); - } - - // prevents issues if caller does not prefix url with "http" - if (!loginUrl.ToLower().StartsWith("http")) - { - loginUrl = $"https://{loginUrl}"; - } - - // set fields / properties - LoginUri = loginUrl; - Credentials = credentials; - Credentials.InitializeServiceClient(this); - } - } - -} - - diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Customizations/ContainerRegistryCredentials.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Customizations/ContainerRegistryCredentials.cs deleted file mode 100644 index 28a2856d08c7..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Customizations/ContainerRegistryCredentials.cs +++ /dev/null @@ -1,331 +0,0 @@ -using Microsoft.Rest; -using System; -using System.Collections.Generic; -using System.Net.Http; -using System.Net.Http.Headers; -using System.Text.RegularExpressions; -using System.Threading; -using System.Threading.Tasks; - -namespace Microsoft.Azure.ContainerRegistry -{ - - /// - /// Robust handling of Basic and OAUTH2 authentication flows for the Azure Container Registry Runtime .Net SDK. - /// This class handles Basic Authentication as well as JWT token authentication using both username and password - /// routes as well as through exchanging AAD tokens. - /// - public class ContainerRegistryCredentials : ServiceClientCredentials - { - - #region Definitions - - /// - /// Authentication type - /// - public enum LoginMode - { - /// Basic authentication - Basic, - /// Authentication using oauth2 with login and password - TokenAuth, - /// Authentication using an AAD access token. - TokenAad - } - - #endregion - - #region Instance Variables - private string _authHeader { get; set; } - private LoginMode _mode { get; set; } - private string _loginServerUrl { get; set; } // does not contain scheme prefix (e.g. "https://") - private string _username { get; set; } - private string _password { get; set; } - private CancellationToken _requestCancellationToken { get; set; } - - // Structure : Scope : Token - // Key Scope retrieved from header from service which shouldn't change culture. - private Dictionary _acrAccessTokens = new Dictionary(StringComparer.OrdinalIgnoreCase); - - // Structure : Method>Operation : Scope - // Key contains operation url which could potentially change culture... - private Dictionary _acrScopes = new Dictionary(StringComparer.OrdinalIgnoreCase); - - // Internal simplified client for Token Acquisition - private ContainerRegistryRefreshToken _acrRefresh; - private AuthToken _aadAccess; - private const string pattern = "\".+:.+:.+\""; //Pattern to get the scope from headers - private static readonly Regex scopeFromHeaderRegex = new Regex(pattern); - - #endregion - - #region Constructors - - /// - /// Construct a ContainerRegistryCredentials object from user credentials. Users may specify basic authentication or the more secure oauth2 (token) based authentication. - /// Throws an exception if LoginMode is set to TokenAad - /// The credential acquisition mode, one of Basic, TokenAuth, or TokenAad - /// The url of the registry to be used - /// The username for the registry - /// The password for the registry - /// - public ContainerRegistryCredentials(LoginMode mode, string loginUrl, string username, string password, CancellationToken cancellationToken = default) - { - if (mode == LoginMode.TokenAad) - { - throw new ArgumentException("This constructor does not permit AAD Authentication. Please use an appropriate constructor."); - } - - _mode = mode; - _loginServerUrl = ProcessLoginUrl(loginUrl); - _username = username; - _password = password; - _requestCancellationToken = cancellationToken; - - if (_mode == LoginMode.Basic) // Basic Authentication - { - _authHeader = Helpers.EncodeTo64($"{_username}:{_password}"); - } - } - - /// - /// Construct a ContainerRegistryCredentials object from an AAD Token. A callback can be provided to renew the AAD token when it expires. - /// The password for the registry - /// The Azure active directory access token to be used - /// The tenant of the aad access token (optional) - /// Callback function to refresh the . Without this parameter, the AAD token cannot be refreshed. - /// - public ContainerRegistryCredentials(string aadAccessToken, string loginUrl, AuthToken.AcquireCallback acquireNewAad = null, CancellationToken cancellationToken = default) - { - _mode = LoginMode.TokenAad; - _loginServerUrl = ProcessLoginUrl(loginUrl); - _requestCancellationToken = cancellationToken; - _aadAccess = new AuthToken(aadAccessToken, acquireNewAad); - _acrRefresh = new ContainerRegistryRefreshToken(_aadAccess, _loginServerUrl); - } - - #endregion - - #region Overrides - - /// - /// Called on initialization of client. Sets the Client's LoginUri from the Credentials LoginUrl. - /// - public override void InitializeServiceClient(ServiceClient client) - { - if (client == null) - { - throw new ArgumentNullException(nameof(client)); - } - - // if this is an ACRClient, add the loginUri that this credential was created for - if (client is AzureContainerRegistryClient acrClient) - { - if (string.IsNullOrEmpty(acrClient.LoginUri)) - { - acrClient.LoginUri = $"https://{this._loginServerUrl}"; - } - // if the login uris don't match - else if (acrClient.LoginUri.ToLowerInvariant() != this._loginServerUrl.ToLowerInvariant()) - { - throw new ValidationException($"\"{nameof(AzureContainerRegistryClient)}'s\" LoginUrl: '{acrClient.LoginUri}' does not match \"{nameof(ContainerRegistryCredentials)} LoginUrl: '{this._loginServerUrl}'"); - } - } - } - - /// - /// Apply the credentials to the HTTP request. - /// - public override async Task ProcessHttpRequestAsync(HttpRequestMessage request, CancellationToken cancellationToken) - { - if (request == null) - { - throw new ArgumentNullException(nameof(request)); - } - - if (_mode == LoginMode.Basic) - { - request.Headers.Authorization = new AuthenticationHeaderValue("Basic", _authHeader); - } - else - { - string operation = $"https://{_loginServerUrl}{request.RequestUri.AbsolutePath}"; - string scope = await GetScope(operation, request.Method.Method, request.RequestUri.AbsolutePath); - - request.Headers.TryAddWithoutValidation("Authorization", $"Bearer {GetAcrAccessToken(scope)}"); - } - - await base.ProcessHttpRequestAsync(request, cancellationToken); - } - - #endregion - - #region Helpers - - private static string ProcessLoginUrl(string loginUrl) - { - // in case passed in loginurl includes https start. We also don't want 'http://' to be in the url. - string[] schemes = new string[] { "https://", "http://" }; - foreach (var scheme in schemes) - { - if (loginUrl.ToLower().StartsWith(scheme)) - { - loginUrl.Substring(scheme.Length); - break; // strip at most once. - } - } - - if (loginUrl.EndsWith("/")) - { - loginUrl.Substring(0, loginUrl.Length - 1); - } - - return loginUrl; - } - - /// - /// Acquires a new ACR access token if necessary. It can also acquire a cached access token in order to avoid extra requests to - /// the oauth2 endpoint improving efficiency. - /// The scope for the particuar operation. Can be obtained from the Www-Authenticate header. - /// - private string GetAcrAccessToken(string scope) - { - if (_mode == LoginMode.Basic) - { - throw new Exception("This Function cannot be invoked for requested Login Mode. Basic Authentication does not support JWT Tokens "); - } - - // if token is stale, hit refresh - if (_acrAccessTokens.TryGetValue(scope, out ContainerRegistryAccessToken token)) - { - if (!token.CheckAndRefresh()) - { - throw new Exception($"Access Token for scope {scope} expired and could not be refreshed"); - } - - return token.Value; - } - - if (_mode == LoginMode.TokenAad) - { - _acrAccessTokens[scope] = new ContainerRegistryAccessToken(_acrRefresh, scope, _loginServerUrl); - } - else if (_mode == LoginMode.TokenAuth) - { - _acrAccessTokens[scope] = new ContainerRegistryAccessToken(_username, _password, scope, _loginServerUrl); - } - - return _acrAccessTokens[scope].Value; - } - - /// - /// Acquires the required scope for a specific operation. This will be done by obtaining a challenge and parsing out the scope - /// from the ww-Authenticate header. In the event of failure (Some endpoints do not seem to return the scope) it will attempt - /// resolution through a local resolver . - /// The scope for the particuar operation. Can be obtained from the Www-Authenticate header. - /// - - private async Task GetScope(string operation, string method, string path) - { - string methodOperationKey = $"{method}>{operation}"; - - if (_acrScopes.TryGetValue(methodOperationKey, out string result)) - { - return result; - } - - string scope; - try - { - HttpClient runtimeClient = new HttpClient(); - HttpResponseMessage response = await runtimeClient.SendAsync(new HttpRequestMessage(new HttpMethod(method), operation)); - scope = GetScopeFromHeaders(response.Headers)?? ResolveScopeLocally(path); - _acrScopes[methodOperationKey] = scope; - } - catch (Exception e) - { - throw new Exception($"Could not identify appropriate Token scope: {e.Message}"); - } - return scope; - } - - /// - /// Local resolver for endpoints that will often return no scope. - /// Operation for which a scope is necessary - /// - private string ResolveScopeLocally(string operation) - { - const string v1Operation = "/acr/v1/_catalog"; - const string v2Operation = "/v2/"; - switch (operation) - { - case v1Operation: - case v2Operation: - return "registry:catalog:*"; - default: - throw new Exception("Could not determine appropriate scope for the specified operation"); - } - } - - /// - /// Parse value of scope key from the 'Www-Authenticate' challenge header. See RFC 7235 section 4.1 for more info on the - /// Ex challenge header value: - /// Bearer realm="https://test.azurecr.io/oauth2/token",service="test.azurecr.io",scope="repository:hello-txt:metadata_read" - /// Return null if it is not present - /// - public string GetScopeFromHeaders(HttpHeaders headers) - { - if (headers == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, nameof(headers)); - } - - string challengeHeader = "Www-Authenticate".ToLower(); - string headerValue = ""; - foreach (var headerKVP in headers) - { - if (headerKVP.Key.ToLower() == challengeHeader) - { - headerValue = string.Join(",", headerKVP.Value); - - break; - } - } - - int position = headerValue.IndexOf("scope="); - string scope = headerValue.Substring(position); - string[] keyValues = scope.Split('='); - int length = keyValues.Length; - - if (length < 2) - { - throw new Exception($"Could not find a scope in the {headerValue}"); - } - else if(length > 2) - { - string scopeContainedIn = keyValues[1]; - return TrimDoubleQuotes(scopeFromHeaderRegex.Match(scopeContainedIn).Value); - } - else - { - return TrimDoubleQuotes(keyValues[1]); - } - } - - /// - /// Removes trailing whitespace or " characters. - /// - private string TrimDoubleQuotes(string toTrim) - { - toTrim = toTrim.Trim(); - if (toTrim.StartsWith("\"")) toTrim = toTrim.Substring(1); - if (toTrim.EndsWith("\"")) toTrim = toTrim.Substring(0, toTrim.Length - 1); - return toTrim; - } - - #endregion - } -} - - - diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Customizations/Helpers.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Customizations/Helpers.cs deleted file mode 100644 index c0bed5595d7d..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Customizations/Helpers.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Text; - -namespace Microsoft.Azure.ContainerRegistry -{ - /// - /// Helper methods for the Microsoft.Azure.ContainerRegistry Package - /// - internal class Helpers - { - static public string EncodeTo64(string toEncode) - { - byte[] toEncodeAsBytes = Encoding.ASCII.GetBytes(toEncode); - string returnValue = Convert.ToBase64String(toEncodeAsBytes); - return returnValue; - } - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Customizations/ManifestConvertions.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Customizations/ManifestConvertions.cs deleted file mode 100644 index 6b6b9a93ba53..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Customizations/ManifestConvertions.cs +++ /dev/null @@ -1,97 +0,0 @@ - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - public partial class V2Manifest : Manifest - { - /// - /// Provides a method to convert ManifestWrapper to V2Manifest - /// - public static explicit operator V2Manifest(ManifestWrapper v) - { - var manifest = new V2Manifest - { - Layers = v.Layers, - SchemaVersion = v.SchemaVersion, - Config = v.Config, - MediaType = v.MediaType - }; - return manifest; - } - } - - public partial class V1Manifest : Manifest - { - /// - /// Provides a method to convert ManifestWrapper to V1Manifest - /// - public static explicit operator V1Manifest(ManifestWrapper v) - { - var manifest = new V1Manifest - { - Architecture = v.Architecture, - FsLayers = v.FsLayers, - History = v.History, - Name = v.Name, - Signatures = v.Signatures, - Tag = v.Tag, - SchemaVersion = v.SchemaVersion, - MediaType=v.MediaType - }; - return manifest; - } - } - - public partial class ManifestList : Manifest - { - /// - /// Provides a method to convert ManifestWrapper to ManifestList - /// - public static explicit operator ManifestList(ManifestWrapper v) - { - var manifest = new ManifestList - { - Manifests = v.Manifests, - SchemaVersion = v.SchemaVersion, - MediaType = v.MediaType - }; - return manifest; - } - } - - public partial class OCIIndex : Manifest - { - /// - /// Provides a method to convert ManifestWrapper to OCIIndex - /// - public static explicit operator OCIIndex(ManifestWrapper v) - { - var manifest = new OCIIndex - { - Manifests = v.Manifests, - SchemaVersion = v.SchemaVersion, - Annotations = v.Annotations, - MediaType=v.MediaType - }; - return manifest; - } - } - - public partial class OCIManifest : Manifest - { - /// - /// Provides a method to convert ManifestWrapper to OCIManifest - /// - public static explicit operator OCIManifest(ManifestWrapper v) - { - var manifest = new OCIManifest - { - Layers = v.Layers, - SchemaVersion = v.SchemaVersion, - Config = v.Config, - Annotations = v.Annotations, - MediaType=v.MediaType - }; - return manifest; - } - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/AccessTokensOperations.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/AccessTokensOperations.cs deleted file mode 100644 index 3b0cc40b1527..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/AccessTokensOperations.cs +++ /dev/null @@ -1,457 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - using System.Net; - using System.Net.Http; - using System.Threading; - using System.Threading.Tasks; - - /// - /// AccessTokensOperations operations. - /// - internal partial class AccessTokensOperations : IServiceOperations, IAccessTokensOperations - { - /// - /// Initializes a new instance of the AccessTokensOperations class. - /// - /// - /// Reference to the service client. - /// - /// - /// Thrown when a required parameter is null - /// - internal AccessTokensOperations(AzureContainerRegistryClient client) - { - if (client == null) - { - throw new System.ArgumentNullException("client"); - } - Client = client; - } - - /// - /// Gets a reference to the AzureContainerRegistryClient - /// - public AzureContainerRegistryClient Client { get; private set; } - - /// - /// Exchange ACR Refresh token for an ACR Access Token - /// - /// - /// Indicates the name of your Azure container registry. - /// - /// - /// Which is expected to be a valid scope, and can be specified more than once - /// for multiple scope requests. You obtained this from the Www-Authenticate - /// response header from the challenge. - /// - /// - /// Must be a valid ACR refresh token - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> GetWithHttpMessagesAsync(string service, string scope, string refreshToken, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (service == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "service"); - } - if (scope == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "scope"); - } - if (refreshToken == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "refreshToken"); - } - string grantType = "refresh_token"; - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("grantType", grantType); - tracingParameters.Add("service", service); - tracingParameters.Add("scope", scope); - tracingParameters.Add("refreshToken", refreshToken); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "oauth2/token"; - _url = _url.Replace("{url}", Client.LoginUri); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - var values = new List>(); - if(grantType != null) - { - values.Add(new KeyValuePair("grant_type", grantType)); - } - if(service != null) - { - values.Add(new KeyValuePair("service", service)); - } - if(scope != null) - { - values.Add(new KeyValuePair("scope", scope)); - } - if(refreshToken != null) - { - values.Add(new KeyValuePair("refresh_token", refreshToken)); - } - var _formContent = new FormUrlEncodedContent(values); - _httpRequest.Content = _formContent; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Exchange Username, Password and Scope an ACR Access Token - /// - /// - /// Indicates the name of your Azure container registry. - /// - /// - /// Expected to be a valid scope, and can be specified more than once for - /// multiple scope requests. You can obtain this from the Www-Authenticate - /// response header from the challenge. - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> GetFromLoginWithHttpMessagesAsync(string service, string scope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (service == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "service"); - } - if (scope == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "scope"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("service", service); - tracingParameters.Add("scope", scope); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetFromLogin", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "oauth2/token"; - _url = _url.Replace("{url}", Client.LoginUri); - List _queryParameters = new List(); - if (service != null) - { - _queryParameters.Add(string.Format("service={0}", System.Uri.EscapeDataString(service))); - } - if (scope != null) - { - _queryParameters.Add(string.Format("scope={0}", System.Uri.EscapeDataString(scope))); - } - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/AccessTokensOperationsExtensions.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/AccessTokensOperationsExtensions.cs deleted file mode 100644 index 3420f387fd0b..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/AccessTokensOperationsExtensions.cs +++ /dev/null @@ -1,78 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using System.Threading; - using System.Threading.Tasks; - - /// - /// Extension methods for AccessTokensOperations. - /// - public static partial class AccessTokensOperationsExtensions - { - /// - /// Exchange ACR Refresh token for an ACR Access Token - /// - /// - /// The operations group for this extension method. - /// - /// - /// Indicates the name of your Azure container registry. - /// - /// - /// Which is expected to be a valid scope, and can be specified more than once - /// for multiple scope requests. You obtained this from the Www-Authenticate - /// response header from the challenge. - /// - /// - /// Must be a valid ACR refresh token - /// - /// - /// The cancellation token. - /// - public static async Task GetAsync(this IAccessTokensOperations operations, string service, string scope, string refreshToken, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.GetWithHttpMessagesAsync(service, scope, refreshToken, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Exchange Username, Password and Scope an ACR Access Token - /// - /// - /// The operations group for this extension method. - /// - /// - /// Indicates the name of your Azure container registry. - /// - /// - /// Expected to be a valid scope, and can be specified more than once for - /// multiple scope requests. You can obtain this from the Www-Authenticate - /// response header from the challenge. - /// - /// - /// The cancellation token. - /// - public static async Task GetFromLoginAsync(this IAccessTokensOperations operations, string service, string scope, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.GetFromLoginWithHttpMessagesAsync(service, scope, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/AzureContainerRegistryClient.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/AzureContainerRegistryClient.cs deleted file mode 100644 index 735420bc400d..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/AzureContainerRegistryClient.cs +++ /dev/null @@ -1,274 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Microsoft.Rest.Serialization; - using Models; - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - using System.Net; - using System.Net.Http; - - /// - /// Metadata API definition for the Azure Container Registry runtime - /// - public partial class AzureContainerRegistryClient : ServiceClient, IAzureContainerRegistryClient, IAzureClient - { - /// - /// The base URI of the service. - /// - internal string BaseUri {get; set;} - - /// - /// Gets or sets json serialization settings. - /// - public JsonSerializerSettings SerializationSettings { get; private set; } - - /// - /// Gets or sets json deserialization settings. - /// - public JsonSerializerSettings DeserializationSettings { get; private set; } - - /// - /// Credentials needed for the client to connect to Azure. - /// - public ServiceClientCredentials Credentials { get; private set; } - - /// - /// Registry login URL - /// - public string LoginUri { get; set; } - - /// - /// The preferred language for the response. - /// - public string AcceptLanguage { get; set; } - - /// - /// The retry timeout in seconds for Long Running Operations. Default value is - /// 30. - /// - public int? LongRunningOperationRetryTimeout { get; set; } - - /// - /// Whether a unique x-ms-client-request-id should be generated. When set to - /// true a unique x-ms-client-request-id value is generated and included in - /// each request. Default is true. - /// - public bool? GenerateClientRequestId { get; set; } - - /// - /// Gets the IV2SupportOperations. - /// - public virtual IV2SupportOperations V2Support { get; private set; } - - /// - /// Gets the IManifestsOperations. - /// - public virtual IManifestsOperations Manifests { get; private set; } - - /// - /// Gets the IBlobOperations. - /// - public virtual IBlobOperations Blob { get; private set; } - - /// - /// Gets the IRepositoryOperations. - /// - public virtual IRepositoryOperations Repository { get; private set; } - - /// - /// Gets the ITagOperations. - /// - public virtual ITagOperations Tag { get; private set; } - - /// - /// Gets the IRefreshTokensOperations. - /// - public virtual IRefreshTokensOperations RefreshTokens { get; private set; } - - /// - /// Gets the IAccessTokensOperations. - /// - public virtual IAccessTokensOperations AccessTokens { get; private set; } - - /// - /// Initializes a new instance of the AzureContainerRegistryClient class. - /// - /// - /// HttpClient to be used - /// - /// - /// True: will dispose the provided httpClient on calling AzureContainerRegistryClient.Dispose(). False: will not dispose provided httpClient - protected AzureContainerRegistryClient(HttpClient httpClient, bool disposeHttpClient) : base(httpClient, disposeHttpClient) - { - Initialize(); - } - - /// - /// Initializes a new instance of the AzureContainerRegistryClient class. - /// - /// - /// Optional. The delegating handlers to add to the http client pipeline. - /// - protected AzureContainerRegistryClient(params DelegatingHandler[] handlers) : base(handlers) - { - Initialize(); - } - - /// - /// Initializes a new instance of the AzureContainerRegistryClient class. - /// - /// - /// Optional. The http client handler used to handle http transport. - /// - /// - /// Optional. The delegating handlers to add to the http client pipeline. - /// - protected AzureContainerRegistryClient(HttpClientHandler rootHandler, params DelegatingHandler[] handlers) : base(rootHandler, handlers) - { - Initialize(); - } - - /// - /// Initializes a new instance of the AzureContainerRegistryClient class. - /// - /// - /// Required. Credentials needed for the client to connect to Azure. - /// - /// - /// Optional. The delegating handlers to add to the http client pipeline. - /// - /// - /// Thrown when a required parameter is null - /// - public AzureContainerRegistryClient(ServiceClientCredentials credentials, params DelegatingHandler[] handlers) : this(handlers) - { - if (credentials == null) - { - throw new System.ArgumentNullException("credentials"); - } - Credentials = credentials; - if (Credentials != null) - { - Credentials.InitializeServiceClient(this); - } - } - - /// - /// Initializes a new instance of the AzureContainerRegistryClient class. - /// - /// - /// Required. Credentials needed for the client to connect to Azure. - /// - /// - /// HttpClient to be used - /// - /// - /// True: will dispose the provided httpClient on calling AzureContainerRegistryClient.Dispose(). False: will not dispose provided httpClient - /// - /// Thrown when a required parameter is null - /// - public AzureContainerRegistryClient(ServiceClientCredentials credentials, HttpClient httpClient, bool disposeHttpClient) : this(httpClient, disposeHttpClient) - { - if (credentials == null) - { - throw new System.ArgumentNullException("credentials"); - } - Credentials = credentials; - if (Credentials != null) - { - Credentials.InitializeServiceClient(this); - } - } - - /// - /// Initializes a new instance of the AzureContainerRegistryClient class. - /// - /// - /// Required. Credentials needed for the client to connect to Azure. - /// - /// - /// Optional. The http client handler used to handle http transport. - /// - /// - /// Optional. The delegating handlers to add to the http client pipeline. - /// - /// - /// Thrown when a required parameter is null - /// - public AzureContainerRegistryClient(ServiceClientCredentials credentials, HttpClientHandler rootHandler, params DelegatingHandler[] handlers) : this(rootHandler, handlers) - { - if (credentials == null) - { - throw new System.ArgumentNullException("credentials"); - } - Credentials = credentials; - if (Credentials != null) - { - Credentials.InitializeServiceClient(this); - } - } - - /// - /// An optional partial-method to perform custom initialization. - /// - partial void CustomInitialize(); - /// - /// Initializes client properties. - /// - private void Initialize() - { - V2Support = new V2SupportOperations(this); - Manifests = new ManifestsOperations(this); - Blob = new BlobOperations(this); - Repository = new RepositoryOperations(this); - Tag = new TagOperations(this); - RefreshTokens = new RefreshTokensOperations(this); - AccessTokens = new AccessTokensOperations(this); - BaseUri = "{url}"; - AcceptLanguage = "en-US"; - LongRunningOperationRetryTimeout = 30; - GenerateClientRequestId = true; - SerializationSettings = new JsonSerializerSettings - { - Formatting = Newtonsoft.Json.Formatting.Indented, - DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat, - DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc, - NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, - ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize, - ContractResolver = new ReadOnlyJsonContractResolver(), - Converters = new List - { - new Iso8601TimeSpanConverter() - } - }; - DeserializationSettings = new JsonSerializerSettings - { - DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat, - DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc, - NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore, - ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize, - ContractResolver = new ReadOnlyJsonContractResolver(), - Converters = new List - { - new Iso8601TimeSpanConverter() - } - }; - CustomInitialize(); - DeserializationSettings.Converters.Add(new CloudErrorJsonConverter()); - } - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/BlobOperations.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/BlobOperations.cs deleted file mode 100644 index 3092d0aa255a..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/BlobOperations.cs +++ /dev/null @@ -1,2059 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.IO; - using System.Linq; - using System.Net; - using System.Net.Http; - using System.Threading; - using System.Threading.Tasks; - - /// - /// BlobOperations operations. - /// - internal partial class BlobOperations : IServiceOperations, IBlobOperations - { - /// - /// Initializes a new instance of the BlobOperations class. - /// - /// - /// Reference to the service client. - /// - /// - /// Thrown when a required parameter is null - /// - internal BlobOperations(AzureContainerRegistryClient client) - { - if (client == null) - { - throw new System.ArgumentNullException("client"); - } - Client = client; - } - - /// - /// Gets a reference to the AzureContainerRegistryClient - /// - public AzureContainerRegistryClient Client { get; private set; } - - /// - /// Retrieve the blob from the registry identified by digest. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Digest of a BLOB - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> GetWithHttpMessagesAsync(string name, string digest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (digest == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "digest"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("digest", digest); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "v2/{name}/blobs/{digest}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - _url = _url.Replace("{digest}", System.Uri.EscapeDataString(digest)); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 307) - { - var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _result.Body = await _httpResponse.Content.ReadAsStreamAsync().ConfigureAwait(false); - } - try - { - _result.Headers = _httpResponse.GetHeadersAsJson().ToObject(JsonSerializer.Create(Client.DeserializationSettings)); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the headers.", _httpResponse.GetHeadersAsJson().ToString(), ex); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Same as GET, except only the headers are returned. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Digest of a BLOB - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> CheckWithHttpMessagesAsync(string name, string digest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (digest == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "digest"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("digest", digest); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Check", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "v2/{name}/blobs/{digest}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - _url = _url.Replace("{digest}", System.Uri.EscapeDataString(digest)); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("HEAD"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200 && (int)_statusCode != 307) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationHeaderResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - try - { - _result.Headers = _httpResponse.GetHeadersAsJson().ToObject(JsonSerializer.Create(Client.DeserializationSettings)); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the headers.", _httpResponse.GetHeadersAsJson().ToString(), ex); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Removes an already uploaded blob. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Digest of a BLOB - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> DeleteWithHttpMessagesAsync(string name, string digest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (digest == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "digest"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("digest", digest); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Delete", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "v2/{name}/blobs/{digest}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - _url = _url.Replace("{digest}", System.Uri.EscapeDataString(digest)); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 202) - { - var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 202) - { - _result.Body = await _httpResponse.Content.ReadAsStreamAsync().ConfigureAwait(false); - } - try - { - _result.Headers = _httpResponse.GetHeadersAsJson().ToObject(JsonSerializer.Create(Client.DeserializationSettings)); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the headers.", _httpResponse.GetHeadersAsJson().ToString(), ex); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Mount a blob identified by the `mount` parameter from another repository. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Name of the source repository. - /// - /// - /// Digest of blob to mount from the source repository. - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> MountWithHttpMessagesAsync(string name, string fromParameter, string mount, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (fromParameter == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "fromParameter"); - } - if (mount == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "mount"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("fromParameter", fromParameter); - tracingParameters.Add("mount", mount); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Mount", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "v2/{name}/blobs/uploads/"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - List _queryParameters = new List(); - if (fromParameter != null) - { - _queryParameters.Add(string.Format("from={0}", System.Uri.EscapeDataString(fromParameter))); - } - if (mount != null) - { - _queryParameters.Add(string.Format("mount={0}", System.Uri.EscapeDataString(mount))); - } - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 201) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationHeaderResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - try - { - _result.Headers = _httpResponse.GetHeadersAsJson().ToObject(JsonSerializer.Create(Client.DeserializationSettings)); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the headers.", _httpResponse.GetHeadersAsJson().ToString(), ex); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Retrieve status of upload identified by uuid. The primary purpose of this - /// endpoint is to resolve the current status of a resumable upload. - /// - /// - /// Link acquired from upload start or previous chunk. Note, do not include - /// initial / (must do substring(1) ) - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> GetStatusWithHttpMessagesAsync(string location, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (location == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "location"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("location", location); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetStatus", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "{nextBlobUuidLink}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace(location.StartsWith("/") ? "/{nextBlobUuidLink}" : "{nextBlobUuidLink}", location); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 204) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationHeaderResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - try - { - _result.Headers = _httpResponse.GetHeadersAsJson().ToObject(JsonSerializer.Create(Client.DeserializationSettings)); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the headers.", _httpResponse.GetHeadersAsJson().ToString(), ex); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Upload a stream of data without completing the upload. - /// - /// - /// Raw data of blob - /// - /// - /// Link acquired from upload start or previous chunk. Note, do not include - /// initial / (must do substring(1) ) - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> UploadWithHttpMessagesAsync(Stream value, string location, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (value == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "value"); - } - if (location == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "location"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("value", value); - tracingParameters.Add("location", location); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Upload", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "{nextBlobUuidLink}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace(location.StartsWith("/") ? "/{nextBlobUuidLink}" : "{nextBlobUuidLink}", location); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - if(value == null) - { - throw new System.ArgumentNullException("value"); - } - if (value != null && value != Stream.Null) - { - _httpRequest.Content = new StreamContent(value); - _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/octet-stream"); - } - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 202) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationHeaderResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - try - { - _result.Headers = _httpResponse.GetHeadersAsJson().ToObject(JsonSerializer.Create(Client.DeserializationSettings)); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the headers.", _httpResponse.GetHeadersAsJson().ToString(), ex); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Complete the upload, providing all the data in the body, if necessary. A - /// request without a body will just complete the upload with previously - /// uploaded content. - /// - /// - /// Digest of a BLOB - /// - /// - /// Link acquired from upload start or previous chunk. Note, do not include - /// initial / (must do substring(1) ) - /// - /// - /// Optional raw data of blob - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> EndUploadWithHttpMessagesAsync(string digest, string location, Stream value = default(Stream), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (digest == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "digest"); - } - if (location == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "location"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("digest", digest); - tracingParameters.Add("value", value); - tracingParameters.Add("location", location); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "EndUpload", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "{nextBlobUuidLink}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace(location.StartsWith("/") ? "/{nextBlobUuidLink}" : "{nextBlobUuidLink}", location); - List _queryParameters = new List(); - if (digest != null) - { - _queryParameters.Add(string.Format("digest={0}", System.Uri.EscapeDataString(digest))); - } - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - if (value != null && value != Stream.Null) - { - _httpRequest.Content = new StreamContent(value); - _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/octet-stream"); - } - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 201) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationHeaderResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - try - { - _result.Headers = _httpResponse.GetHeadersAsJson().ToObject(JsonSerializer.Create(Client.DeserializationSettings)); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the headers.", _httpResponse.GetHeadersAsJson().ToString(), ex); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Cancel outstanding upload processes, releasing associated resources. If - /// this is not called, the unfinished uploads will eventually timeout. - /// - /// - /// Link acquired from upload start or previous chunk. Note, do not include - /// initial / (must do substring(1) ) - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task CancelUploadWithHttpMessagesAsync(string location, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (location == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "location"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("location", location); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CancelUpload", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "{nextBlobUuidLink}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace(location.StartsWith("/") ? "/{nextBlobUuidLink}" : "{nextBlobUuidLink}", location); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 204) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Initiate a resumable blob upload with an empty request body. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> StartUploadWithHttpMessagesAsync(string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "StartUpload", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "v2/{name}/blobs/uploads/"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 202) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationHeaderResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - try - { - _result.Headers = _httpResponse.GetHeadersAsJson().ToObject(JsonSerializer.Create(Client.DeserializationSettings)); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the headers.", _httpResponse.GetHeadersAsJson().ToString(), ex); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Retrieve the blob from the registry identified by `digest`. This endpoint - /// may also support RFC7233 compliant range requests. Support can be detected - /// by issuing a HEAD request. If the header `Accept-Range: bytes` is returned, - /// range requests can be used to fetch partial content. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Digest of a BLOB - /// - /// - /// Format : bytes=<start>-<end>, HTTP Range header specifying - /// blob chunk. - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> GetChunkWithHttpMessagesAsync(string name, string digest, string range, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (digest == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "digest"); - } - if (range == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "range"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("digest", digest); - tracingParameters.Add("range", range); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetChunk", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "v2/{name}/blobs/{digest}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - _url = _url.Replace("{digest}", System.Uri.EscapeDataString(digest)); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (range != null) - { - if (_httpRequest.Headers.Contains("Range")) - { - _httpRequest.Headers.Remove("Range"); - } - _httpRequest.Headers.TryAddWithoutValidation("Range", range); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 206) - { - var ex = new CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - CloudError _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex = new CloudException(_errorBody.Message); - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 206) - { - _result.Body = await _httpResponse.Content.ReadAsStreamAsync().ConfigureAwait(false); - } - try - { - _result.Headers = _httpResponse.GetHeadersAsJson().ToObject(JsonSerializer.Create(Client.DeserializationSettings)); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the headers.", _httpResponse.GetHeadersAsJson().ToString(), ex); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Same as GET, except only the headers are returned. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Digest of a BLOB - /// - /// - /// Format : bytes=<start>-<end>, HTTP Range header specifying - /// blob chunk. - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> CheckChunkWithHttpMessagesAsync(string name, string digest, string range, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (digest == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "digest"); - } - if (range == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "range"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("digest", digest); - tracingParameters.Add("range", range); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "CheckChunk", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "v2/{name}/blobs/{digest}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - _url = _url.Replace("{digest}", System.Uri.EscapeDataString(digest)); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("HEAD"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (range != null) - { - if (_httpRequest.Headers.Contains("Range")) - { - _httpRequest.Headers.Remove("Range"); - } - _httpRequest.Headers.TryAddWithoutValidation("Range", range); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationHeaderResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - try - { - _result.Headers = _httpResponse.GetHeadersAsJson().ToObject(JsonSerializer.Create(Client.DeserializationSettings)); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the headers.", _httpResponse.GetHeadersAsJson().ToString(), ex); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/BlobOperationsExtensions.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/BlobOperationsExtensions.cs deleted file mode 100644 index f93a84318eac..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/BlobOperationsExtensions.cs +++ /dev/null @@ -1,289 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using System.IO; - using System.Threading; - using System.Threading.Tasks; - - /// - /// Extension methods for BlobOperations. - /// - public static partial class BlobOperationsExtensions - { - /// - /// Retrieve the blob from the registry identified by digest. - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Digest of a BLOB - /// - /// - /// The cancellation token. - /// - public static async Task GetAsync(this IBlobOperations operations, string name, string digest, CancellationToken cancellationToken = default(CancellationToken)) - { - var _result = await operations.GetWithHttpMessagesAsync(name, digest, null, cancellationToken).ConfigureAwait(false); - _result.Request.Dispose(); - return _result.Body; - } - - /// - /// Same as GET, except only the headers are returned. - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Digest of a BLOB - /// - /// - /// The cancellation token. - /// - public static async Task CheckAsync(this IBlobOperations operations, string name, string digest, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.CheckWithHttpMessagesAsync(name, digest, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Headers; - } - } - - /// - /// Removes an already uploaded blob. - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Digest of a BLOB - /// - /// - /// The cancellation token. - /// - public static async Task DeleteAsync(this IBlobOperations operations, string name, string digest, CancellationToken cancellationToken = default(CancellationToken)) - { - var _result = await operations.DeleteWithHttpMessagesAsync(name, digest, null, cancellationToken).ConfigureAwait(false); - _result.Request.Dispose(); - return _result.Body; - } - - /// - /// Mount a blob identified by the `mount` parameter from another repository. - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Name of the source repository. - /// - /// - /// Digest of blob to mount from the source repository. - /// - /// - /// The cancellation token. - /// - public static async Task MountAsync(this IBlobOperations operations, string name, string fromParameter, string mount, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.MountWithHttpMessagesAsync(name, fromParameter, mount, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Headers; - } - } - - /// - /// Retrieve status of upload identified by uuid. The primary purpose of this - /// endpoint is to resolve the current status of a resumable upload. - /// - /// - /// The operations group for this extension method. - /// - /// - /// Link acquired from upload start or previous chunk. Note, do not include - /// initial / (must do substring(1) ) - /// - /// - /// The cancellation token. - /// - public static async Task GetStatusAsync(this IBlobOperations operations, string location, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.GetStatusWithHttpMessagesAsync(location, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Headers; - } - } - - /// - /// Upload a stream of data without completing the upload. - /// - /// - /// The operations group for this extension method. - /// - /// - /// Raw data of blob - /// - /// - /// Link acquired from upload start or previous chunk. Note, do not include - /// initial / (must do substring(1) ) - /// - /// - /// The cancellation token. - /// - public static async Task UploadAsync(this IBlobOperations operations, Stream value, string location, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.UploadWithHttpMessagesAsync(value, location, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Headers; - } - } - - /// - /// Complete the upload, providing all the data in the body, if necessary. A - /// request without a body will just complete the upload with previously - /// uploaded content. - /// - /// - /// The operations group for this extension method. - /// - /// - /// Digest of a BLOB - /// - /// - /// Link acquired from upload start or previous chunk. Note, do not include - /// initial / (must do substring(1) ) - /// - /// - /// Optional raw data of blob - /// - /// - /// The cancellation token. - /// - public static async Task EndUploadAsync(this IBlobOperations operations, string digest, string location, Stream value = default(Stream), CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.EndUploadWithHttpMessagesAsync(digest, location, value, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Headers; - } - } - - /// - /// Cancel outstanding upload processes, releasing associated resources. If - /// this is not called, the unfinished uploads will eventually timeout. - /// - /// - /// The operations group for this extension method. - /// - /// - /// Link acquired from upload start or previous chunk. Note, do not include - /// initial / (must do substring(1) ) - /// - /// - /// The cancellation token. - /// - public static async Task CancelUploadAsync(this IBlobOperations operations, string location, CancellationToken cancellationToken = default(CancellationToken)) - { - (await operations.CancelUploadWithHttpMessagesAsync(location, null, cancellationToken).ConfigureAwait(false)).Dispose(); - } - - /// - /// Initiate a resumable blob upload with an empty request body. - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// The cancellation token. - /// - public static async Task StartUploadAsync(this IBlobOperations operations, string name, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.StartUploadWithHttpMessagesAsync(name, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Headers; - } - } - - /// - /// Retrieve the blob from the registry identified by `digest`. This endpoint - /// may also support RFC7233 compliant range requests. Support can be detected - /// by issuing a HEAD request. If the header `Accept-Range: bytes` is returned, - /// range requests can be used to fetch partial content. - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Digest of a BLOB - /// - /// - /// Format : bytes=<start>-<end>, HTTP Range header specifying - /// blob chunk. - /// - /// - /// The cancellation token. - /// - public static async Task GetChunkAsync(this IBlobOperations operations, string name, string digest, string range, CancellationToken cancellationToken = default(CancellationToken)) - { - var _result = await operations.GetChunkWithHttpMessagesAsync(name, digest, range, null, cancellationToken).ConfigureAwait(false); - _result.Request.Dispose(); - return _result.Body; - } - - /// - /// Same as GET, except only the headers are returned. - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Digest of a BLOB - /// - /// - /// Format : bytes=<start>-<end>, HTTP Range header specifying - /// blob chunk. - /// - /// - /// The cancellation token. - /// - public static async Task CheckChunkAsync(this IBlobOperations operations, string name, string digest, string range, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.CheckChunkWithHttpMessagesAsync(name, digest, range, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Headers; - } - } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IAccessTokensOperations.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IAccessTokensOperations.cs deleted file mode 100644 index b6adbea754f5..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IAccessTokensOperations.cs +++ /dev/null @@ -1,84 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using System.Collections; - using System.Collections.Generic; - using System.Threading; - using System.Threading.Tasks; - - /// - /// AccessTokensOperations operations. - /// - public partial interface IAccessTokensOperations - { - /// - /// Exchange ACR Refresh token for an ACR Access Token - /// - /// - /// Indicates the name of your Azure container registry. - /// - /// - /// Which is expected to be a valid scope, and can be specified more - /// than once for multiple scope requests. You obtained this from the - /// Www-Authenticate response header from the challenge. - /// - /// - /// Must be a valid ACR refresh token - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - Task> GetWithHttpMessagesAsync(string service, string scope, string refreshToken, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Exchange Username, Password and Scope an ACR Access Token - /// - /// - /// Indicates the name of your Azure container registry. - /// - /// - /// Expected to be a valid scope, and can be specified more than once - /// for multiple scope requests. You can obtain this from the - /// Www-Authenticate response header from the challenge. - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - Task> GetFromLoginWithHttpMessagesAsync(string service, string scope, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IAzureContainerRegistryClient.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IAzureContainerRegistryClient.cs deleted file mode 100644 index aa7ce06fa71c..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IAzureContainerRegistryClient.cs +++ /dev/null @@ -1,102 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using Newtonsoft.Json; - - /// - /// Metadata API definition for the Azure Container Registry runtime - /// - public partial interface IAzureContainerRegistryClient : System.IDisposable - { - /// - /// The base URI of the service. - /// - - /// - /// Gets or sets json serialization settings. - /// - JsonSerializerSettings SerializationSettings { get; } - - /// - /// Gets or sets json deserialization settings. - /// - JsonSerializerSettings DeserializationSettings { get; } - - /// - /// Credentials needed for the client to connect to Azure. - /// - ServiceClientCredentials Credentials { get; } - - /// - /// Registry login URL - /// - string LoginUri { get; set; } - - /// - /// The preferred language for the response. - /// - string AcceptLanguage { get; set; } - - /// - /// The retry timeout in seconds for Long Running Operations. Default - /// value is 30. - /// - int? LongRunningOperationRetryTimeout { get; set; } - - /// - /// Whether a unique x-ms-client-request-id should be generated. When - /// set to true a unique x-ms-client-request-id value is generated and - /// included in each request. Default is true. - /// - bool? GenerateClientRequestId { get; set; } - - - /// - /// Gets the IV2SupportOperations. - /// - IV2SupportOperations V2Support { get; } - - /// - /// Gets the IManifestsOperations. - /// - IManifestsOperations Manifests { get; } - - /// - /// Gets the IBlobOperations. - /// - IBlobOperations Blob { get; } - - /// - /// Gets the IRepositoryOperations. - /// - IRepositoryOperations Repository { get; } - - /// - /// Gets the ITagOperations. - /// - ITagOperations Tag { get; } - - /// - /// Gets the IRefreshTokensOperations. - /// - IRefreshTokensOperations RefreshTokens { get; } - - /// - /// Gets the IAccessTokensOperations. - /// - IAccessTokensOperations AccessTokens { get; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IBlobOperations.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IBlobOperations.cs deleted file mode 100644 index 31215937a9c5..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IBlobOperations.cs +++ /dev/null @@ -1,299 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using System.Collections; - using System.Collections.Generic; - using System.IO; - using System.Threading; - using System.Threading.Tasks; - - /// - /// BlobOperations operations. - /// - public partial interface IBlobOperations - { - /// - /// Retrieve the blob from the registry identified by digest. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Digest of a BLOB - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - Task> GetWithHttpMessagesAsync(string name, string digest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Same as GET, except only the headers are returned. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Digest of a BLOB - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - Task> CheckWithHttpMessagesAsync(string name, string digest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Removes an already uploaded blob. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Digest of a BLOB - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - Task> DeleteWithHttpMessagesAsync(string name, string digest, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Mount a blob identified by the `mount` parameter from another - /// repository. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Name of the source repository. - /// - /// - /// Digest of blob to mount from the source repository. - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - Task> MountWithHttpMessagesAsync(string name, string fromParameter, string mount, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Retrieve status of upload identified by uuid. The primary purpose - /// of this endpoint is to resolve the current status of a resumable - /// upload. - /// - /// - /// Link acquired from upload start or previous chunk. Note, do not - /// include initial / (must do substring(1) ) - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - Task> GetStatusWithHttpMessagesAsync(string location, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Upload a stream of data without completing the upload. - /// - /// - /// Raw data of blob - /// - /// - /// Link acquired from upload start or previous chunk. Note, do not - /// include initial / (must do substring(1) ) - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - Task> UploadWithHttpMessagesAsync(Stream value, string location, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Complete the upload, providing all the data in the body, if - /// necessary. A request without a body will just complete the upload - /// with previously uploaded content. - /// - /// - /// Digest of a BLOB - /// - /// - /// Link acquired from upload start or previous chunk. Note, do not - /// include initial / (must do substring(1) ) - /// - /// - /// Optional raw data of blob - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - Task> EndUploadWithHttpMessagesAsync(string digest, string location, Stream value = default(Stream), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Cancel outstanding upload processes, releasing associated - /// resources. If this is not called, the unfinished uploads will - /// eventually timeout. - /// - /// - /// Link acquired from upload start or previous chunk. Note, do not - /// include initial / (must do substring(1) ) - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - Task CancelUploadWithHttpMessagesAsync(string location, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Initiate a resumable blob upload with an empty request body. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - Task> StartUploadWithHttpMessagesAsync(string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Retrieve the blob from the registry identified by `digest`. This - /// endpoint may also support RFC7233 compliant range requests. Support - /// can be detected by issuing a HEAD request. If the header - /// `Accept-Range: bytes` is returned, range requests can be used to - /// fetch partial content. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Digest of a BLOB - /// - /// - /// Format : bytes=<start>-<end>, HTTP Range header - /// specifying blob chunk. - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - Task> GetChunkWithHttpMessagesAsync(string name, string digest, string range, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Same as GET, except only the headers are returned. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Digest of a BLOB - /// - /// - /// Format : bytes=<start>-<end>, HTTP Range header - /// specifying blob chunk. - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - Task> CheckChunkWithHttpMessagesAsync(string name, string digest, string range, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IManifestsOperations.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IManifestsOperations.cs deleted file mode 100644 index 4ca2a9c8cb5c..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IManifestsOperations.cs +++ /dev/null @@ -1,191 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using System.Collections; - using System.Collections.Generic; - using System.Threading; - using System.Threading.Tasks; - - /// - /// ManifestsOperations operations. - /// - public partial interface IManifestsOperations - { - /// - /// Get the manifest identified by `name` and `reference` where - /// `reference` can be a tag or digest. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// A tag or a digest, pointing to a specific image - /// - /// - /// Accept header string delimited by comma. For example, - /// application/vnd.docker.distribution.manifest.v2+json - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - Task> GetWithHttpMessagesAsync(string name, string reference, string accept = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Put the manifest identified by `name` and `reference` where - /// `reference` can be a tag or digest. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// A tag or a digest, pointing to a specific image - /// - /// - /// Manifest body, can take v1 or v2 values depending on accept header - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - Task> CreateWithHttpMessagesAsync(string name, string reference, Manifest payload, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Delete the manifest identified by `name` and `reference`. Note that - /// a manifest can _only_ be deleted by `digest`. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// A tag or a digest, pointing to a specific image - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - Task DeleteWithHttpMessagesAsync(string name, string reference, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// List manifests of a repository - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Query parameter for the last item in previous query. Result set - /// will include values lexically after last. - /// - /// - /// query parameter for max number of items - /// - /// - /// orderby query parameter - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - Task> GetListWithHttpMessagesAsync(string name, string last = default(string), int? n = default(int?), string orderby = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Get manifest attributes - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// A tag or a digest, pointing to a specific image - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - Task> GetAttributesWithHttpMessagesAsync(string name, string reference, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Update attributes of a manifest - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// A tag or a digest, pointing to a specific image - /// - /// - /// Repository attribute value - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - Task UpdateAttributesWithHttpMessagesAsync(string name, string reference, ChangeableAttributes value = default(ChangeableAttributes), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IRefreshTokensOperations.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IRefreshTokensOperations.cs deleted file mode 100644 index d9888da30e89..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IRefreshTokensOperations.cs +++ /dev/null @@ -1,65 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using System.Collections; - using System.Collections.Generic; - using System.Threading; - using System.Threading.Tasks; - - /// - /// RefreshTokensOperations operations. - /// - public partial interface IRefreshTokensOperations - { - /// - /// Exchange AAD tokens for an ACR refresh Token - /// - /// - /// Can take a value of access_token_refresh_token, or access_token, or - /// refresh_token. Possible values include: - /// 'access_token_refresh_token', 'access_token', 'refresh_token' - /// - /// - /// Indicates the name of your Azure container registry. - /// - /// - /// AAD tenant associated to the AAD credentials. - /// - /// - /// AAD refresh token, mandatory when grant_type is - /// access_token_refresh_token or refresh_token - /// - /// - /// AAD access token, mandatory when grant_type is - /// access_token_refresh_token or access_token. - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - Task> GetFromExchangeWithHttpMessagesAsync(string grantType, string service, string tenant = default(string), string refreshToken = default(string), string accessToken = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IRepositoryOperations.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IRepositoryOperations.cs deleted file mode 100644 index 56ff7dcda648..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IRepositoryOperations.cs +++ /dev/null @@ -1,120 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using System.Collections; - using System.Collections.Generic; - using System.Threading; - using System.Threading.Tasks; - - /// - /// RepositoryOperations operations. - /// - public partial interface IRepositoryOperations - { - /// - /// List repositories - /// - /// - /// Query parameter for the last item in previous query. Result set - /// will include values lexically after last. - /// - /// - /// query parameter for max number of items - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - Task> GetListWithHttpMessagesAsync(string last = default(string), int? n = default(int?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Get repository attributes - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - Task> GetAttributesWithHttpMessagesAsync(string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Delete the repository identified by `name` - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - Task> DeleteWithHttpMessagesAsync(string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Update the attribute identified by `name` where `reference` is the - /// name of the repository. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Repository attribute value - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - Task UpdateAttributesWithHttpMessagesAsync(string name, ChangeableAttributes value = default(ChangeableAttributes), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/ITagOperations.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/ITagOperations.cs deleted file mode 100644 index ab184b3f4cff..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/ITagOperations.cs +++ /dev/null @@ -1,134 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using System.Collections; - using System.Collections.Generic; - using System.Threading; - using System.Threading.Tasks; - - /// - /// TagOperations operations. - /// - public partial interface ITagOperations - { - /// - /// List tags of a repository - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Query parameter for the last item in previous query. Result set - /// will include values lexically after last. - /// - /// - /// query parameter for max number of items - /// - /// - /// orderby query parameter - /// - /// - /// filter by digest - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - Task> GetListWithHttpMessagesAsync(string name, string last = default(string), int? n = default(int?), string orderby = default(string), string digest = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Get tag attributes by tag - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Tag name - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - Task> GetAttributesWithHttpMessagesAsync(string name, string reference, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Update tag attributes - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Tag name - /// - /// - /// Repository attribute value - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - Task UpdateAttributesWithHttpMessagesAsync(string name, string reference, ChangeableAttributes value = default(ChangeableAttributes), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - /// - /// Delete tag - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Tag name - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - Task DeleteWithHttpMessagesAsync(string name, string reference, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IV2SupportOperations.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IV2SupportOperations.cs deleted file mode 100644 index 3ed6177c7667..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/IV2SupportOperations.cs +++ /dev/null @@ -1,44 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using System.Collections; - using System.Collections.Generic; - using System.Threading; - using System.Threading.Tasks; - - /// - /// V2SupportOperations operations. - /// - public partial interface IV2SupportOperations - { - /// - /// Tells whether this Docker Registry instance supports Docker - /// Registry HTTP API v2 - /// - /// - /// The headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - Task CheckWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)); - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/ManifestsOperations.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/ManifestsOperations.cs deleted file mode 100644 index ffe3def63ff5..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/ManifestsOperations.cs +++ /dev/null @@ -1,1200 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - using System.Net; - using System.Net.Http; - using System.Threading; - using System.Threading.Tasks; - - /// - /// ManifestsOperations operations. - /// - internal partial class ManifestsOperations : IServiceOperations, IManifestsOperations - { - /// - /// Initializes a new instance of the ManifestsOperations class. - /// - /// - /// Reference to the service client. - /// - /// - /// Thrown when a required parameter is null - /// - internal ManifestsOperations(AzureContainerRegistryClient client) - { - if (client == null) - { - throw new System.ArgumentNullException("client"); - } - Client = client; - } - - /// - /// Gets a reference to the AzureContainerRegistryClient - /// - public AzureContainerRegistryClient Client { get; private set; } - - /// - /// Get the manifest identified by `name` and `reference` where `reference` can - /// be a tag or digest. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// A tag or a digest, pointing to a specific image - /// - /// - /// Accept header string delimited by comma. For example, - /// application/vnd.docker.distribution.manifest.v2+json - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> GetWithHttpMessagesAsync(string name, string reference, string accept = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (reference == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "reference"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("reference", reference); - tracingParameters.Add("accept", accept); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Get", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "v2/{name}/manifests/{reference}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - _url = _url.Replace("{reference}", System.Uri.EscapeDataString(reference)); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (accept != null) - { - if (_httpRequest.Headers.Contains("accept")) - { - _httpRequest.Headers.Remove("accept"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept", accept); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Put the manifest identified by `name` and `reference` where `reference` can - /// be a tag or digest. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// A tag or a digest, pointing to a specific image - /// - /// - /// Manifest body, can take v1 or v2 values depending on accept header - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> CreateWithHttpMessagesAsync(string name, string reference, Manifest payload, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (reference == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "reference"); - } - if (payload == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "payload"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("reference", reference); - tracingParameters.Add("payload", payload); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Create", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "v2/{name}/manifests/{reference}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - _url = _url.Replace("{reference}", System.Uri.EscapeDataString(reference)); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PUT"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - if(payload != null) - { - _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(payload, Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); - string mediaType = string.Empty; - switch (payload) - { - case V2Manifest v2Manifest: - mediaType = v2Manifest.MediaType; - break; - case V1Manifest v1Manifest: - mediaType = v1Manifest.MediaType; - break; - case ManifestList manifestList: - mediaType = manifestList.MediaType; - break; - case OCIManifest ociManifest: - mediaType = ociManifest.MediaType; - break; - case OCIIndex ociIndex: - mediaType = ociIndex.MediaType; - break; - default: - throw new AcrErrorsException($"The manifest type is unknown: {payload}."); - } - _httpRequest.Content.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse(mediaType); - } - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 201) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 201) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - try - { - _result.Headers = _httpResponse.GetHeadersAsJson().ToObject(JsonSerializer.Create(Client.DeserializationSettings)); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the headers.", _httpResponse.GetHeadersAsJson().ToString(), ex); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Delete the manifest identified by `name` and `reference`. Note that a - /// manifest can _only_ be deleted by `digest`. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// A tag or a digest, pointing to a specific image - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task DeleteWithHttpMessagesAsync(string name, string reference, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (reference == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "reference"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("reference", reference); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Delete", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "v2/{name}/manifests/{reference}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - _url = _url.Replace("{reference}", System.Uri.EscapeDataString(reference)); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 202) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// List manifests of a repository - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Query parameter for the last item in previous query. Result set will - /// include values lexically after last. - /// - /// - /// query parameter for max number of items - /// - /// - /// orderby query parameter - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> GetListWithHttpMessagesAsync(string name, string last = default(string), int? n = default(int?), string orderby = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("last", last); - tracingParameters.Add("n", n); - tracingParameters.Add("orderby", orderby); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetList", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "acr/v1/{name}/_manifests"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - List _queryParameters = new List(); - if (last != null) - { - _queryParameters.Add(string.Format("last={0}", System.Uri.EscapeDataString(last))); - } - if (n != null) - { - _queryParameters.Add(string.Format("n={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(n, Client.SerializationSettings).Trim('"')))); - } - if (orderby != null) - { - _queryParameters.Add(string.Format("orderby={0}", System.Uri.EscapeDataString(orderby))); - } - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Get manifest attributes - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// A tag or a digest, pointing to a specific image - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> GetAttributesWithHttpMessagesAsync(string name, string reference, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (reference == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "reference"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("reference", reference); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetAttributes", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "acr/v1/{name}/_manifests/{reference}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - _url = _url.Replace("{reference}", System.Uri.EscapeDataString(reference)); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Update attributes of a manifest - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// A tag or a digest, pointing to a specific image - /// - /// - /// Repository attribute value - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task UpdateAttributesWithHttpMessagesAsync(string name, string reference, ChangeableAttributes value = default(ChangeableAttributes), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (reference == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "reference"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("reference", reference); - tracingParameters.Add("value", value); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateAttributes", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "acr/v1/{name}/_manifests/{reference}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - _url = _url.Replace("{reference}", System.Uri.EscapeDataString(reference)); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - if(value != null) - { - _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(value, Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); - _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/ManifestsOperationsExtensions.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/ManifestsOperationsExtensions.cs deleted file mode 100644 index 5fdd9d6a4d94..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/ManifestsOperationsExtensions.cs +++ /dev/null @@ -1,177 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using System.Threading; - using System.Threading.Tasks; - - /// - /// Extension methods for ManifestsOperations. - /// - public static partial class ManifestsOperationsExtensions - { - /// - /// Get the manifest identified by `name` and `reference` where `reference` can - /// be a tag or digest. - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// A tag or a digest, pointing to a specific image - /// - /// - /// Accept header string delimited by comma. For example, - /// application/vnd.docker.distribution.manifest.v2+json - /// - /// - /// The cancellation token. - /// - public static async Task GetAsync(this IManifestsOperations operations, string name, string reference, string accept = default(string), CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.GetWithHttpMessagesAsync(name, reference, accept, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Put the manifest identified by `name` and `reference` where `reference` can - /// be a tag or digest. - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// A tag or a digest, pointing to a specific image - /// - /// - /// Manifest body, can take v1 or v2 values depending on accept header - /// - /// - /// The cancellation token. - /// - public static async Task CreateAsync(this IManifestsOperations operations, string name, string reference, Manifest payload, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.CreateWithHttpMessagesAsync(name, reference, payload, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Delete the manifest identified by `name` and `reference`. Note that a - /// manifest can _only_ be deleted by `digest`. - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// A tag or a digest, pointing to a specific image - /// - /// - /// The cancellation token. - /// - public static async Task DeleteAsync(this IManifestsOperations operations, string name, string reference, CancellationToken cancellationToken = default(CancellationToken)) - { - (await operations.DeleteWithHttpMessagesAsync(name, reference, null, cancellationToken).ConfigureAwait(false)).Dispose(); - } - - /// - /// List manifests of a repository - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Query parameter for the last item in previous query. Result set will - /// include values lexically after last. - /// - /// - /// query parameter for max number of items - /// - /// - /// orderby query parameter - /// - /// - /// The cancellation token. - /// - public static async Task GetListAsync(this IManifestsOperations operations, string name, string last = default(string), int? n = default(int?), string orderby = default(string), CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.GetListWithHttpMessagesAsync(name, last, n, orderby, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Get manifest attributes - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// A tag or a digest, pointing to a specific image - /// - /// - /// The cancellation token. - /// - public static async Task GetAttributesAsync(this IManifestsOperations operations, string name, string reference, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.GetAttributesWithHttpMessagesAsync(name, reference, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Update attributes of a manifest - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// A tag or a digest, pointing to a specific image - /// - /// - /// Repository attribute value - /// - /// - /// The cancellation token. - /// - public static async Task UpdateAttributesAsync(this IManifestsOperations operations, string name, string reference, ChangeableAttributes value = default(ChangeableAttributes), CancellationToken cancellationToken = default(CancellationToken)) - { - (await operations.UpdateAttributesWithHttpMessagesAsync(name, reference, value, null, cancellationToken).ConfigureAwait(false)).Dispose(); - } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/AccessToken.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/AccessToken.cs deleted file mode 100644 index 1a9b802395d1..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/AccessToken.cs +++ /dev/null @@ -1,49 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - public partial class AccessToken - { - /// - /// Initializes a new instance of the AccessToken class. - /// - public AccessToken() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the AccessToken class. - /// - /// The access token for performing - /// authenticated requests - public AccessToken(string accessTokenProperty = default(string)) - { - AccessTokenProperty = accessTokenProperty; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets the access token for performing authenticated requests - /// - [JsonProperty(PropertyName = "access_token")] - public string AccessTokenProperty { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/AcrErrorInfo.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/AcrErrorInfo.cs deleted file mode 100644 index 74d3709422de..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/AcrErrorInfo.cs +++ /dev/null @@ -1,67 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Error information - /// - public partial class AcrErrorInfo - { - /// - /// Initializes a new instance of the AcrErrorInfo class. - /// - public AcrErrorInfo() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the AcrErrorInfo class. - /// - /// Error code - /// Error message - /// Error details - public AcrErrorInfo(string code = default(string), string message = default(string), object detail = default(object)) - { - Code = code; - Message = message; - Detail = detail; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets error code - /// - [JsonProperty(PropertyName = "code")] - public string Code { get; set; } - - /// - /// Gets or sets error message - /// - [JsonProperty(PropertyName = "message")] - public string Message { get; set; } - - /// - /// Gets or sets error details - /// - [JsonProperty(PropertyName = "detail")] - public object Detail { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/AcrErrors.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/AcrErrors.cs deleted file mode 100644 index 0c035662f173..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/AcrErrors.cs +++ /dev/null @@ -1,53 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// Acr error response describing why the operation failed - /// - public partial class AcrErrors - { - /// - /// Initializes a new instance of the AcrErrors class. - /// - public AcrErrors() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the AcrErrors class. - /// - /// Array of detailed error - public AcrErrors(IList errors = default(IList)) - { - Errors = errors; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets array of detailed error - /// - [JsonProperty(PropertyName = "errors")] - public IList Errors { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/AcrErrorsException.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/AcrErrorsException.cs deleted file mode 100644 index db218b173193..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/AcrErrorsException.cs +++ /dev/null @@ -1,61 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Microsoft.Rest; - - /// - /// Exception thrown for an invalid response with AcrErrors information. - /// - public partial class AcrErrorsException : RestException - { - /// - /// Gets information about the associated HTTP request. - /// - public HttpRequestMessageWrapper Request { get; set; } - - /// - /// Gets information about the associated HTTP response. - /// - public HttpResponseMessageWrapper Response { get; set; } - - /// - /// Gets or sets the body object. - /// - public AcrErrors Body { get; set; } - - /// - /// Initializes a new instance of the AcrErrorsException class. - /// - public AcrErrorsException() - { - } - - /// - /// Initializes a new instance of the AcrErrorsException class. - /// - /// The exception message. - public AcrErrorsException(string message) - : this(message, null) - { - } - - /// - /// Initializes a new instance of the AcrErrorsException class. - /// - /// The exception message. - /// Inner exception. - public AcrErrorsException(string message, System.Exception innerException) - : base(message, innerException) - { - } - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/AcrManifests.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/AcrManifests.cs deleted file mode 100644 index 514ace827abc..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/AcrManifests.cs +++ /dev/null @@ -1,69 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// Manifest attributes - /// - public partial class AcrManifests - { - /// - /// Initializes a new instance of the AcrManifests class. - /// - public AcrManifests() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the AcrManifests class. - /// - /// Registry name - /// Image name - /// List of manifests - public AcrManifests(string registry = default(string), string imageName = default(string), IList manifestsAttributes = default(IList)) - { - Registry = registry; - ImageName = imageName; - ManifestsAttributes = manifestsAttributes; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets registry name - /// - [JsonProperty(PropertyName = "registry")] - public string Registry { get; set; } - - /// - /// Gets or sets image name - /// - [JsonProperty(PropertyName = "imageName")] - public string ImageName { get; set; } - - /// - /// Gets or sets list of manifests - /// - [JsonProperty(PropertyName = "manifests")] - public IList ManifestsAttributes { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/Annotations.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/Annotations.cs deleted file mode 100644 index 299f50cfe481..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/Annotations.cs +++ /dev/null @@ -1,172 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// Additional information provided through arbitrary metadata. - /// - public partial class Annotations - { - /// - /// Initializes a new instance of the Annotations class. - /// - public Annotations() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the Annotations class. - /// - /// Unmatched properties from the - /// message are deserialized this collection - /// Date and time on which the image was built - /// (string, date-time as defined by - /// https://tools.ietf.org/html/rfc3339#section-5.6) - /// Contact details of the people or organization - /// responsible for the image. - /// URL to find more information on the - /// image. - /// URL to get documentation on the - /// image. - /// URL to get source code for building the - /// image. - /// Version of the packaged software. The version - /// MAY match a label or tag in the source code repository, may also be - /// Semantic versioning-compatible - /// Source control revision identifier for the - /// packaged software. - /// Name of the distributing entity, organization - /// or individual. - /// License(s) under which contained software is - /// distributed as an SPDX License Expression. - /// Name of the reference for a target. - /// Human-readable title of the image - /// Human-readable description of the - /// software packaged in the image - public Annotations(IDictionary additionalProperties = default(IDictionary), System.DateTime? created = default(System.DateTime?), string authors = default(string), string url = default(string), string documentation = default(string), string source = default(string), string version = default(string), string revision = default(string), string vendor = default(string), string licenses = default(string), string name = default(string), string title = default(string), string description = default(string)) - { - AdditionalProperties = additionalProperties; - Created = created; - Authors = authors; - Url = url; - Documentation = documentation; - Source = source; - Version = version; - Revision = revision; - Vendor = vendor; - Licenses = licenses; - Name = name; - Title = title; - Description = description; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets unmatched properties from the message are deserialized - /// this collection - /// - [JsonExtensionData] - public IDictionary AdditionalProperties { get; set; } - - /// - /// Gets or sets date and time on which the image was built (string, - /// date-time as defined by - /// https://tools.ietf.org/html/rfc3339#section-5.6) - /// - [JsonProperty(PropertyName = "org.opencontainers.image.created")] - public System.DateTime? Created { get; set; } - - /// - /// Gets or sets contact details of the people or organization - /// responsible for the image. - /// - [JsonProperty(PropertyName = "org.opencontainers.image.authors")] - public string Authors { get; set; } - - /// - /// Gets or sets URL to find more information on the image. - /// - [JsonProperty(PropertyName = "org.opencontainers.image.url")] - public string Url { get; set; } - - /// - /// Gets or sets URL to get documentation on the image. - /// - [JsonProperty(PropertyName = "org.opencontainers.image.documentation")] - public string Documentation { get; set; } - - /// - /// Gets or sets URL to get source code for building the image. - /// - [JsonProperty(PropertyName = "org.opencontainers.image.source")] - public string Source { get; set; } - - /// - /// Gets or sets version of the packaged software. The version MAY - /// match a label or tag in the source code repository, may also be - /// Semantic versioning-compatible - /// - [JsonProperty(PropertyName = "org.opencontainers.image.version")] - public string Version { get; set; } - - /// - /// Gets or sets source control revision identifier for the packaged - /// software. - /// - [JsonProperty(PropertyName = "org.opencontainers.image.revision")] - public string Revision { get; set; } - - /// - /// Gets or sets name of the distributing entity, organization or - /// individual. - /// - [JsonProperty(PropertyName = "org.opencontainers.image.vendor")] - public string Vendor { get; set; } - - /// - /// Gets or sets license(s) under which contained software is - /// distributed as an SPDX License Expression. - /// - [JsonProperty(PropertyName = "org.opencontainers.image.licenses")] - public string Licenses { get; set; } - - /// - /// Gets or sets name of the reference for a target. - /// - [JsonProperty(PropertyName = "org.opencontainers.image.ref.name")] - public string Name { get; set; } - - /// - /// Gets or sets human-readable title of the image - /// - [JsonProperty(PropertyName = "org.opencontainers.image.title")] - public string Title { get; set; } - - /// - /// Gets or sets human-readable description of the software packaged in - /// the image - /// - [JsonProperty(PropertyName = "org.opencontainers.image.description")] - public string Description { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobCheckChunkHeaders.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobCheckChunkHeaders.cs deleted file mode 100644 index 5be91a5c749d..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobCheckChunkHeaders.cs +++ /dev/null @@ -1,60 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Defines headers for CheckChunk operation. - /// - public partial class BlobCheckChunkHeaders - { - /// - /// Initializes a new instance of the BlobCheckChunkHeaders class. - /// - public BlobCheckChunkHeaders() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the BlobCheckChunkHeaders class. - /// - /// The length of the requested blob - /// content. - /// Content range of blob chunk. - public BlobCheckChunkHeaders(long? contentLength = default(long?), string contentRange = default(string)) - { - ContentLength = contentLength; - ContentRange = contentRange; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets the length of the requested blob content. - /// - [JsonProperty(PropertyName = "Content-Length")] - public long? ContentLength { get; set; } - - /// - /// Gets or sets content range of blob chunk. - /// - [JsonProperty(PropertyName = "Content-Range")] - public string ContentRange { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobCheckHeaders.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobCheckHeaders.cs deleted file mode 100644 index a1abb3a95fb1..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobCheckHeaders.cs +++ /dev/null @@ -1,70 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Defines headers for Check operation. - /// - public partial class BlobCheckHeaders - { - /// - /// Initializes a new instance of the BlobCheckHeaders class. - /// - public BlobCheckHeaders() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the BlobCheckHeaders class. - /// - /// The length of the requested blob - /// content. - /// Digest of the targeted content - /// for the request. - /// The location where the layer should be - /// accessible. - public BlobCheckHeaders(long? contentLength = default(long?), string dockerContentDigest = default(string), string location = default(string)) - { - ContentLength = contentLength; - DockerContentDigest = dockerContentDigest; - Location = location; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets the length of the requested blob content. - /// - [JsonProperty(PropertyName = "Content-Length")] - public long? ContentLength { get; set; } - - /// - /// Gets or sets digest of the targeted content for the request. - /// - [JsonProperty(PropertyName = "Docker-Content-Digest")] - public string DockerContentDigest { get; set; } - - /// - /// Gets or sets the location where the layer should be accessible. - /// - [JsonProperty(PropertyName = "Location")] - public string Location { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobDeleteHeaders.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobDeleteHeaders.cs deleted file mode 100644 index c5a1289de303..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobDeleteHeaders.cs +++ /dev/null @@ -1,52 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Defines headers for Delete operation. - /// - public partial class BlobDeleteHeaders - { - /// - /// Initializes a new instance of the BlobDeleteHeaders class. - /// - public BlobDeleteHeaders() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the BlobDeleteHeaders class. - /// - /// Digest of the targeted content - /// for the request. - public BlobDeleteHeaders(string dockerContentDigest = default(string)) - { - DockerContentDigest = dockerContentDigest; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets digest of the targeted content for the request. - /// - [JsonProperty(PropertyName = "Docker-Content-Digest")] - public string DockerContentDigest { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobEndUploadHeaders.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobEndUploadHeaders.cs deleted file mode 100644 index d9a865ec830b..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobEndUploadHeaders.cs +++ /dev/null @@ -1,69 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Defines headers for EndUpload operation. - /// - public partial class BlobEndUploadHeaders - { - /// - /// Initializes a new instance of the BlobEndUploadHeaders class. - /// - public BlobEndUploadHeaders() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the BlobEndUploadHeaders class. - /// - /// Provided location for blob - /// Range indicating the current progress of the - /// upload. - /// Digest of the targeted content - /// for the request. - public BlobEndUploadHeaders(string location = default(string), string range = default(string), string dockerContentDigest = default(string)) - { - Location = location; - Range = range; - DockerContentDigest = dockerContentDigest; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets provided location for blob - /// - [JsonProperty(PropertyName = "Location")] - public string Location { get; set; } - - /// - /// Gets or sets range indicating the current progress of the upload. - /// - [JsonProperty(PropertyName = "Range")] - public string Range { get; set; } - - /// - /// Gets or sets digest of the targeted content for the request. - /// - [JsonProperty(PropertyName = "Docker-Content-Digest")] - public string DockerContentDigest { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobGetChunkHeaders.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobGetChunkHeaders.cs deleted file mode 100644 index 4a545f29bb61..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobGetChunkHeaders.cs +++ /dev/null @@ -1,60 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Defines headers for GetChunk operation. - /// - public partial class BlobGetChunkHeaders - { - /// - /// Initializes a new instance of the BlobGetChunkHeaders class. - /// - public BlobGetChunkHeaders() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the BlobGetChunkHeaders class. - /// - /// The length of the requested blob - /// content. - /// Content range of blob chunk. - public BlobGetChunkHeaders(long? contentLength = default(long?), string contentRange = default(string)) - { - ContentLength = contentLength; - ContentRange = contentRange; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets the length of the requested blob content. - /// - [JsonProperty(PropertyName = "Content-Length")] - public long? ContentLength { get; set; } - - /// - /// Gets or sets content range of blob chunk. - /// - [JsonProperty(PropertyName = "Content-Range")] - public string ContentRange { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobGetHeaders.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobGetHeaders.cs deleted file mode 100644 index 9cb664166f3a..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobGetHeaders.cs +++ /dev/null @@ -1,70 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Defines headers for Get operation. - /// - public partial class BlobGetHeaders - { - /// - /// Initializes a new instance of the BlobGetHeaders class. - /// - public BlobGetHeaders() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the BlobGetHeaders class. - /// - /// The length of the requested blob - /// content. - /// Digest of the targeted content - /// for the request. - /// The location where the layer should be - /// accessible. - public BlobGetHeaders(long? contentLength = default(long?), string dockerContentDigest = default(string), string location = default(string)) - { - ContentLength = contentLength; - DockerContentDigest = dockerContentDigest; - Location = location; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets the length of the requested blob content. - /// - [JsonProperty(PropertyName = "Content-Length")] - public long? ContentLength { get; set; } - - /// - /// Gets or sets digest of the targeted content for the request. - /// - [JsonProperty(PropertyName = "Docker-Content-Digest")] - public string DockerContentDigest { get; set; } - - /// - /// Gets or sets the location where the layer should be accessible. - /// - [JsonProperty(PropertyName = "Location")] - public string Location { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobGetStatusHeaders.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobGetStatusHeaders.cs deleted file mode 100644 index 67ce591959a9..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobGetStatusHeaders.cs +++ /dev/null @@ -1,62 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Defines headers for GetStatus operation. - /// - public partial class BlobGetStatusHeaders - { - /// - /// Initializes a new instance of the BlobGetStatusHeaders class. - /// - public BlobGetStatusHeaders() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the BlobGetStatusHeaders class. - /// - /// Range indicating the current progress of the - /// upload. - /// Identifies the docker upload uuid - /// for the current request. - public BlobGetStatusHeaders(string range = default(string), string dockerUploadUUID = default(string)) - { - Range = range; - DockerUploadUUID = dockerUploadUUID; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets range indicating the current progress of the upload. - /// - [JsonProperty(PropertyName = "Range")] - public string Range { get; set; } - - /// - /// Gets or sets identifies the docker upload uuid for the current - /// request. - /// - [JsonProperty(PropertyName = "Docker-Upload-UUID")] - public string DockerUploadUUID { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobMountHeaders.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobMountHeaders.cs deleted file mode 100644 index c78000faa4be..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobMountHeaders.cs +++ /dev/null @@ -1,70 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Defines headers for Mount operation. - /// - public partial class BlobMountHeaders - { - /// - /// Initializes a new instance of the BlobMountHeaders class. - /// - public BlobMountHeaders() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the BlobMountHeaders class. - /// - /// Provided location for blob - /// Identifies the docker upload uuid - /// for the current request. - /// Digest of the targeted content - /// for the request. - public BlobMountHeaders(string location = default(string), string dockerUploadUUID = default(string), string dockerContentDigest = default(string)) - { - Location = location; - DockerUploadUUID = dockerUploadUUID; - DockerContentDigest = dockerContentDigest; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets provided location for blob - /// - [JsonProperty(PropertyName = "Location")] - public string Location { get; set; } - - /// - /// Gets or sets identifies the docker upload uuid for the current - /// request. - /// - [JsonProperty(PropertyName = "Docker-Upload-UUID")] - public string DockerUploadUUID { get; set; } - - /// - /// Gets or sets digest of the targeted content for the request. - /// - [JsonProperty(PropertyName = "Docker-Content-Digest")] - public string DockerContentDigest { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobStartUploadHeaders.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobStartUploadHeaders.cs deleted file mode 100644 index a3c3b80da9d2..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobStartUploadHeaders.cs +++ /dev/null @@ -1,70 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Defines headers for StartUpload operation. - /// - public partial class BlobStartUploadHeaders - { - /// - /// Initializes a new instance of the BlobStartUploadHeaders class. - /// - public BlobStartUploadHeaders() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the BlobStartUploadHeaders class. - /// - /// Provided location for blob - /// Range indicating the current progress of the - /// upload. - /// Identifies the docker upload uuid - /// for the current request. - public BlobStartUploadHeaders(string location = default(string), string range = default(string), string dockerUploadUUID = default(string)) - { - Location = location; - Range = range; - DockerUploadUUID = dockerUploadUUID; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets provided location for blob - /// - [JsonProperty(PropertyName = "Location")] - public string Location { get; set; } - - /// - /// Gets or sets range indicating the current progress of the upload. - /// - [JsonProperty(PropertyName = "Range")] - public string Range { get; set; } - - /// - /// Gets or sets identifies the docker upload uuid for the current - /// request. - /// - [JsonProperty(PropertyName = "Docker-Upload-UUID")] - public string DockerUploadUUID { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobUploadHeaders.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobUploadHeaders.cs deleted file mode 100644 index 84bf4fa3fc89..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/BlobUploadHeaders.cs +++ /dev/null @@ -1,70 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Defines headers for Upload operation. - /// - public partial class BlobUploadHeaders - { - /// - /// Initializes a new instance of the BlobUploadHeaders class. - /// - public BlobUploadHeaders() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the BlobUploadHeaders class. - /// - /// Provided location for blob - /// Range indicating the current progress of the - /// upload. - /// Identifies the docker upload uuid - /// for the current request. - public BlobUploadHeaders(string location = default(string), string range = default(string), string dockerUploadUUID = default(string)) - { - Location = location; - Range = range; - DockerUploadUUID = dockerUploadUUID; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets provided location for blob - /// - [JsonProperty(PropertyName = "Location")] - public string Location { get; set; } - - /// - /// Gets or sets range indicating the current progress of the upload. - /// - [JsonProperty(PropertyName = "Range")] - public string Range { get; set; } - - /// - /// Gets or sets identifies the docker upload uuid for the current - /// request. - /// - [JsonProperty(PropertyName = "Docker-Upload-UUID")] - public string DockerUploadUUID { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ChangeableAttributes.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ChangeableAttributes.cs deleted file mode 100644 index 2b8108842111..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ChangeableAttributes.cs +++ /dev/null @@ -1,72 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - public partial class ChangeableAttributes - { - /// - /// Initializes a new instance of the ChangeableAttributes class. - /// - public ChangeableAttributes() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the ChangeableAttributes class. - /// - /// Delete enabled - /// Write enabled - /// List enabled - /// Read enabled - public ChangeableAttributes(bool? deleteEnabled = default(bool?), bool? writeEnabled = default(bool?), bool? listEnabled = default(bool?), bool? readEnabled = default(bool?)) - { - DeleteEnabled = deleteEnabled; - WriteEnabled = writeEnabled; - ListEnabled = listEnabled; - ReadEnabled = readEnabled; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets delete enabled - /// - [JsonProperty(PropertyName = "deleteEnabled")] - public bool? DeleteEnabled { get; set; } - - /// - /// Gets or sets write enabled - /// - [JsonProperty(PropertyName = "writeEnabled")] - public bool? WriteEnabled { get; set; } - - /// - /// Gets or sets list enabled - /// - [JsonProperty(PropertyName = "listEnabled")] - public bool? ListEnabled { get; set; } - - /// - /// Gets or sets read enabled - /// - [JsonProperty(PropertyName = "readEnabled")] - public bool? ReadEnabled { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/DeletedRepository.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/DeletedRepository.cs deleted file mode 100644 index 0da185fa785e..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/DeletedRepository.cs +++ /dev/null @@ -1,61 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// Deleted repository - /// - public partial class DeletedRepository - { - /// - /// Initializes a new instance of the DeletedRepository class. - /// - public DeletedRepository() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the DeletedRepository class. - /// - /// SHA of the deleted image - /// Tag of the deleted image - public DeletedRepository(IList manifestsDeleted = default(IList), IList tagsDeleted = default(IList)) - { - ManifestsDeleted = manifestsDeleted; - TagsDeleted = tagsDeleted; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets SHA of the deleted image - /// - [JsonProperty(PropertyName = "manifestsDeleted")] - public IList ManifestsDeleted { get; set; } - - /// - /// Gets or sets tag of the deleted image - /// - [JsonProperty(PropertyName = "tagsDeleted")] - public IList TagsDeleted { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/Descriptor.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/Descriptor.cs deleted file mode 100644 index fd4605c839a0..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/Descriptor.cs +++ /dev/null @@ -1,85 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// Docker V2 image layer descriptor including config and layers - /// - public partial class Descriptor - { - /// - /// Initializes a new instance of the Descriptor class. - /// - public Descriptor() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the Descriptor class. - /// - /// Layer media type - /// Layer size - /// Layer digest - /// Specifies a list of URIs from which this object - /// may be downloaded. - public Descriptor(string mediaType = default(string), long? size = default(long?), string digest = default(string), IList urls = default(IList), Annotations annotations = default(Annotations)) - { - MediaType = mediaType; - Size = size; - Digest = digest; - Urls = urls; - Annotations = annotations; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets layer media type - /// - [JsonProperty(PropertyName = "mediaType")] - public string MediaType { get; set; } - - /// - /// Gets or sets layer size - /// - [JsonProperty(PropertyName = "size")] - public long? Size { get; set; } - - /// - /// Gets or sets layer digest - /// - [JsonProperty(PropertyName = "digest")] - public string Digest { get; set; } - - /// - /// Gets or sets specifies a list of URIs from which this object may be - /// downloaded. - /// - [JsonProperty(PropertyName = "urls")] - public IList Urls { get; set; } - - /// - /// - [JsonProperty(PropertyName = "annotations")] - public Annotations Annotations { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/FsLayer.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/FsLayer.cs deleted file mode 100644 index 42aebaf83d66..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/FsLayer.cs +++ /dev/null @@ -1,51 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Image layer information - /// - public partial class FsLayer - { - /// - /// Initializes a new instance of the FsLayer class. - /// - public FsLayer() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the FsLayer class. - /// - /// SHA of an image layer - public FsLayer(string blobSum = default(string)) - { - BlobSum = blobSum; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets SHA of an image layer - /// - [JsonProperty(PropertyName = "blobSum")] - public string BlobSum { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/History.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/History.cs deleted file mode 100644 index 89488ea1c5a1..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/History.cs +++ /dev/null @@ -1,52 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// A list of unstructured historical data for v1 compatibility - /// - public partial class History - { - /// - /// Initializes a new instance of the History class. - /// - public History() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the History class. - /// - /// The raw v1 compatibility - /// information - public History(string v1Compatibility = default(string)) - { - V1Compatibility = v1Compatibility; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets the raw v1 compatibility information - /// - [JsonProperty(PropertyName = "v1Compatibility")] - public string V1Compatibility { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ImageSignature.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ImageSignature.cs deleted file mode 100644 index 199089e0f527..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ImageSignature.cs +++ /dev/null @@ -1,69 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Signature of a signed manifest - /// - public partial class ImageSignature - { - /// - /// Initializes a new instance of the ImageSignature class. - /// - public ImageSignature() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the ImageSignature class. - /// - /// A JSON web signature - /// A signature for the image manifest, signed - /// by a libtrust private key - /// The signed protected header - public ImageSignature(JWK header = default(JWK), string signature = default(string), string protectedProperty = default(string)) - { - Header = header; - Signature = signature; - ProtectedProperty = protectedProperty; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets a JSON web signature - /// - [JsonProperty(PropertyName = "header")] - public JWK Header { get; set; } - - /// - /// Gets or sets a signature for the image manifest, signed by a - /// libtrust private key - /// - [JsonProperty(PropertyName = "signature")] - public string Signature { get; set; } - - /// - /// Gets or sets the signed protected header - /// - [JsonProperty(PropertyName = "protected")] - public string ProtectedProperty { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/JWK.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/JWK.cs deleted file mode 100644 index 0e326607a1d0..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/JWK.cs +++ /dev/null @@ -1,58 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// A JSON web signature - /// - public partial class JWK - { - /// - /// Initializes a new instance of the JWK class. - /// - public JWK() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the JWK class. - /// - /// The algorithm used to sign or encrypt the - /// JWT - public JWK(JWKHeader jwk = default(JWKHeader), string alg = default(string)) - { - Jwk = jwk; - Alg = alg; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// - [JsonProperty(PropertyName = "jwk")] - public JWKHeader Jwk { get; set; } - - /// - /// Gets or sets the algorithm used to sign or encrypt the JWT - /// - [JsonProperty(PropertyName = "alg")] - public string Alg { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/JWKHeader.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/JWKHeader.cs deleted file mode 100644 index 8f60c98ba077..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/JWKHeader.cs +++ /dev/null @@ -1,83 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// JSON web key parameter - /// - public partial class JWKHeader - { - /// - /// Initializes a new instance of the JWKHeader class. - /// - public JWKHeader() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the JWKHeader class. - /// - /// crv value - /// kid value - /// kty value - /// x value - /// y value - public JWKHeader(string crv = default(string), string kid = default(string), string kty = default(string), string x = default(string), string y = default(string)) - { - Crv = crv; - Kid = kid; - Kty = kty; - X = x; - Y = y; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets crv value - /// - [JsonProperty(PropertyName = "crv")] - public string Crv { get; set; } - - /// - /// Gets or sets kid value - /// - [JsonProperty(PropertyName = "kid")] - public string Kid { get; set; } - - /// - /// Gets or sets kty value - /// - [JsonProperty(PropertyName = "kty")] - public string Kty { get; set; } - - /// - /// Gets or sets x value - /// - [JsonProperty(PropertyName = "x")] - public string X { get; set; } - - /// - /// Gets or sets y value - /// - [JsonProperty(PropertyName = "y")] - public string Y { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/Manifest.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/Manifest.cs deleted file mode 100644 index 7671532dc67d..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/Manifest.cs +++ /dev/null @@ -1,51 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Returns the requested manifest file - /// - public partial class Manifest - { - /// - /// Initializes a new instance of the Manifest class. - /// - public Manifest() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the Manifest class. - /// - /// Schema version - public Manifest(int? schemaVersion = default(int?)) - { - SchemaVersion = schemaVersion; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets schema version - /// - [JsonProperty(PropertyName = "schemaVersion")] - public int? SchemaVersion { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestAttributes.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestAttributes.cs deleted file mode 100644 index 16f8c4c595d6..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestAttributes.cs +++ /dev/null @@ -1,67 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Manifest attributes details - /// - public partial class ManifestAttributes - { - /// - /// Initializes a new instance of the ManifestAttributes class. - /// - public ManifestAttributes() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the ManifestAttributes class. - /// - /// Registry name - /// Image name - /// Manifest attributes - public ManifestAttributes(string registry = default(string), string imageName = default(string), ManifestAttributesBase attributes = default(ManifestAttributesBase)) - { - Registry = registry; - ImageName = imageName; - Attributes = attributes; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets registry name - /// - [JsonProperty(PropertyName = "registry")] - public string Registry { get; set; } - - /// - /// Gets or sets image name - /// - [JsonProperty(PropertyName = "imageName")] - public string ImageName { get; set; } - - /// - /// Gets or sets manifest attributes - /// - [JsonProperty(PropertyName = "manifest")] - public ManifestAttributesBase Attributes { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestAttributesBase.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestAttributesBase.cs deleted file mode 100644 index 0332d01ab860..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestAttributesBase.cs +++ /dev/null @@ -1,125 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// Manifest details - /// - public partial class ManifestAttributesBase - { - /// - /// Initializes a new instance of the ManifestAttributesBase class. - /// - public ManifestAttributesBase() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the ManifestAttributesBase class. - /// - /// Manifest - /// Image size - /// Created time - /// Last update time - /// CPU architecture - /// Operating system - /// Media type - /// Config blob media type - /// List of tags - /// Changeable attributes - public ManifestAttributesBase(string digest = default(string), long? imageSize = default(long?), string createdTime = default(string), string lastUpdateTime = default(string), string architecture = default(string), string os = default(string), string mediaType = default(string), string configMediaType = default(string), IList tags = default(IList), ChangeableAttributes changeableAttributes = default(ChangeableAttributes)) - { - Digest = digest; - ImageSize = imageSize; - CreatedTime = createdTime; - LastUpdateTime = lastUpdateTime; - Architecture = architecture; - Os = os; - MediaType = mediaType; - ConfigMediaType = configMediaType; - Tags = tags; - ChangeableAttributes = changeableAttributes; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets manifest - /// - [JsonProperty(PropertyName = "digest")] - public string Digest { get; set; } - - /// - /// Gets or sets image size - /// - [JsonProperty(PropertyName = "imageSize")] - public long? ImageSize { get; set; } - - /// - /// Gets or sets created time - /// - [JsonProperty(PropertyName = "createdTime")] - public string CreatedTime { get; set; } - - /// - /// Gets or sets last update time - /// - [JsonProperty(PropertyName = "lastUpdateTime")] - public string LastUpdateTime { get; set; } - - /// - /// Gets or sets CPU architecture - /// - [JsonProperty(PropertyName = "architecture")] - public string Architecture { get; set; } - - /// - /// Gets or sets operating system - /// - [JsonProperty(PropertyName = "os")] - public string Os { get; set; } - - /// - /// Gets or sets media type - /// - [JsonProperty(PropertyName = "mediaType")] - public string MediaType { get; set; } - - /// - /// Gets or sets config blob media type - /// - [JsonProperty(PropertyName = "configMediaType")] - public string ConfigMediaType { get; set; } - - /// - /// Gets or sets list of tags - /// - [JsonProperty(PropertyName = "tags")] - public IList Tags { get; set; } - - /// - /// Gets or sets changeable attributes - /// - [JsonProperty(PropertyName = "changeableAttributes")] - public ChangeableAttributes ChangeableAttributes { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestAttributesManifest.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestAttributesManifest.cs deleted file mode 100644 index a2efbf59ca22..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestAttributesManifest.cs +++ /dev/null @@ -1,62 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// List of manifest attributes - /// - public partial class ManifestAttributesManifest - { - /// - /// Initializes a new instance of the ManifestAttributesManifest class. - /// - public ManifestAttributesManifest() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the ManifestAttributesManifest class. - /// - /// List of manifest attributes - /// details - /// Quarantine tag name - public ManifestAttributesManifest(IList references = default(IList), string quarantineTag = default(string)) - { - References = references; - QuarantineTag = quarantineTag; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets list of manifest attributes details - /// - [JsonProperty(PropertyName = "references")] - public IList References { get; set; } - - /// - /// Gets or sets quarantine tag name - /// - [JsonProperty(PropertyName = "quarantineTag")] - public string QuarantineTag { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestAttributesManifestReferences.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestAttributesManifestReferences.cs deleted file mode 100644 index cd1e93f9413d..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestAttributesManifestReferences.cs +++ /dev/null @@ -1,69 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Manifest attributes details - /// - public partial class ManifestAttributesManifestReferences - { - /// - /// Initializes a new instance of the - /// ManifestAttributesManifestReferences class. - /// - public ManifestAttributesManifestReferences() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the - /// ManifestAttributesManifestReferences class. - /// - /// Manifest digest - /// CPU architecture - /// Operating system - public ManifestAttributesManifestReferences(string digest = default(string), string architecture = default(string), string os = default(string)) - { - Digest = digest; - Architecture = architecture; - Os = os; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets manifest digest - /// - [JsonProperty(PropertyName = "digest")] - public string Digest { get; set; } - - /// - /// Gets or sets CPU architecture - /// - [JsonProperty(PropertyName = "architecture")] - public string Architecture { get; set; } - - /// - /// Gets or sets operating system - /// - [JsonProperty(PropertyName = "os")] - public string Os { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestChangeableAttributes.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestChangeableAttributes.cs deleted file mode 100644 index 753156b0a562..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestChangeableAttributes.cs +++ /dev/null @@ -1,93 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Changeable attributes - /// - public partial class ManifestChangeableAttributes - { - /// - /// Initializes a new instance of the ManifestChangeableAttributes - /// class. - /// - public ManifestChangeableAttributes() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the ManifestChangeableAttributes - /// class. - /// - /// Delete enabled - /// Write enabled - /// List enabled - /// Read enabled - /// Quarantine state - /// Quarantine details - public ManifestChangeableAttributes(bool? deleteEnabled = default(bool?), bool? writeEnabled = default(bool?), bool? listEnabled = default(bool?), bool? readEnabled = default(bool?), string quarantineState = default(string), string quarantineDetails = default(string)) - { - DeleteEnabled = deleteEnabled; - WriteEnabled = writeEnabled; - ListEnabled = listEnabled; - ReadEnabled = readEnabled; - QuarantineState = quarantineState; - QuarantineDetails = quarantineDetails; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets delete enabled - /// - [JsonProperty(PropertyName = "deleteEnabled")] - public bool? DeleteEnabled { get; set; } - - /// - /// Gets or sets write enabled - /// - [JsonProperty(PropertyName = "writeEnabled")] - public bool? WriteEnabled { get; set; } - - /// - /// Gets or sets list enabled - /// - [JsonProperty(PropertyName = "listEnabled")] - public bool? ListEnabled { get; set; } - - /// - /// Gets or sets read enabled - /// - [JsonProperty(PropertyName = "readEnabled")] - public bool? ReadEnabled { get; set; } - - /// - /// Gets or sets quarantine state - /// - [JsonProperty(PropertyName = "quarantineState")] - public string QuarantineState { get; set; } - - /// - /// Gets or sets quarantine details - /// - [JsonProperty(PropertyName = "quarantineDetails")] - public string QuarantineDetails { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestList.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestList.cs deleted file mode 100644 index 51654c34dd12..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestList.cs +++ /dev/null @@ -1,63 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// Returns the requested Docker multi-arch-manifest file - /// - public partial class ManifestList : Manifest - { - /// - /// Initializes a new instance of the ManifestList class. - /// - public ManifestList() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the ManifestList class. - /// - /// Schema version - /// Media type for this Manifest - /// List of V2 image layer information - public ManifestList(int? schemaVersion = default(int?), string mediaType = default(string), IList manifests = default(IList)) - : base(schemaVersion) - { - MediaType = mediaType; - Manifests = manifests; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets media type for this Manifest - /// - [JsonProperty(PropertyName = "mediaType")] - public string MediaType { get; set; } - - /// - /// Gets or sets list of V2 image layer information - /// - [JsonProperty(PropertyName = "manifests")] - public IList Manifests { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestListAttributes.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestListAttributes.cs deleted file mode 100644 index 62b294d769ac..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestListAttributes.cs +++ /dev/null @@ -1,77 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - public partial class ManifestListAttributes - { - /// - /// Initializes a new instance of the ManifestListAttributes class. - /// - public ManifestListAttributes() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the ManifestListAttributes class. - /// - /// The MIME type of the referenced object. - /// This will generally be - /// application/vnd.docker.image.manifest.v2+json, but it could also be - /// application/vnd.docker.image.manifest.v1+json - /// The size in bytes of the object - /// The digest of the content, as defined by the - /// Registry V2 HTTP API Specification - public ManifestListAttributes(string mediaType = default(string), long? size = default(long?), string digest = default(string), Platform platform = default(Platform)) - { - MediaType = mediaType; - Size = size; - Digest = digest; - Platform = platform; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets the MIME type of the referenced object. This will - /// generally be application/vnd.docker.image.manifest.v2+json, but it - /// could also be application/vnd.docker.image.manifest.v1+json - /// - [JsonProperty(PropertyName = "mediaType")] - public string MediaType { get; set; } - - /// - /// Gets or sets the size in bytes of the object - /// - [JsonProperty(PropertyName = "size")] - public long? Size { get; set; } - - /// - /// Gets or sets the digest of the content, as defined by the Registry - /// V2 HTTP API Specification - /// - [JsonProperty(PropertyName = "digest")] - public string Digest { get; set; } - - /// - /// - [JsonProperty(PropertyName = "platform")] - public Platform Platform { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestWrapper.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestWrapper.cs deleted file mode 100644 index de4dd05feca5..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestWrapper.cs +++ /dev/null @@ -1,139 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// Returns the requested manifest file - /// - public partial class ManifestWrapper : Manifest - { - /// - /// Initializes a new instance of the ManifestWrapper class. - /// - public ManifestWrapper() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the ManifestWrapper class. - /// - /// Schema version - /// Media type for this Manifest - /// (ManifestList, OCIIndex) List of V2 image - /// layer information - /// (V2, OCI) Image config descriptor - /// (V2, OCI) List of V2 image layer - /// information - /// (OCI, OCIIndex) Additional - /// metadata - /// (V1) CPU architecture - /// (V1) Image name - /// (V1) Image tag - /// (V1) List of layer information - /// (V1) Image history - /// (V1) Image signature - public ManifestWrapper(int? schemaVersion = default(int?), string mediaType = default(string), IList manifests = default(IList), Descriptor config = default(Descriptor), IList layers = default(IList), Annotations annotations = default(Annotations), string architecture = default(string), string name = default(string), string tag = default(string), IList fsLayers = default(IList), IList history = default(IList), IList signatures = default(IList)) - : base(schemaVersion) - { - MediaType = mediaType; - Manifests = manifests; - Config = config; - Layers = layers; - Annotations = annotations; - Architecture = architecture; - Name = name; - Tag = tag; - FsLayers = fsLayers; - History = history; - Signatures = signatures; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets media type for this Manifest - /// - [JsonProperty(PropertyName = "mediaType")] - public string MediaType { get; set; } - - /// - /// Gets or sets (ManifestList, OCIIndex) List of V2 image layer - /// information - /// - [JsonProperty(PropertyName = "manifests")] - public IList Manifests { get; set; } - - /// - /// Gets or sets (V2, OCI) Image config descriptor - /// - [JsonProperty(PropertyName = "config")] - public Descriptor Config { get; set; } - - /// - /// Gets or sets (V2, OCI) List of V2 image layer information - /// - [JsonProperty(PropertyName = "layers")] - public IList Layers { get; set; } - - /// - /// Gets or sets (OCI, OCIIndex) Additional metadata - /// - [JsonProperty(PropertyName = "annotations")] - public Annotations Annotations { get; set; } - - /// - /// Gets or sets (V1) CPU architecture - /// - [JsonProperty(PropertyName = "architecture")] - public string Architecture { get; set; } - - /// - /// Gets or sets (V1) Image name - /// - [JsonProperty(PropertyName = "name")] - public string Name { get; set; } - - /// - /// Gets or sets (V1) Image tag - /// - [JsonProperty(PropertyName = "tag")] - public string Tag { get; set; } - - /// - /// Gets or sets (V1) List of layer information - /// - [JsonProperty(PropertyName = "fsLayers")] - public IList FsLayers { get; set; } - - /// - /// Gets or sets (V1) Image history - /// - [JsonProperty(PropertyName = "history")] - public IList History { get; set; } - - /// - /// Gets or sets (V1) Image signature - /// - [JsonProperty(PropertyName = "signatures")] - public IList Signatures { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestsCreateHeaders.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestsCreateHeaders.cs deleted file mode 100644 index fd4b10d7166d..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/ManifestsCreateHeaders.cs +++ /dev/null @@ -1,71 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Defines headers for Create operation. - /// - public partial class ManifestsCreateHeaders - { - /// - /// Initializes a new instance of the ManifestsCreateHeaders class. - /// - public ManifestsCreateHeaders() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the ManifestsCreateHeaders class. - /// - /// Identifies the docker upload uuid - /// for the current request. - /// The canonical location url of the uploaded - /// manifest. - /// The length of the requested blob - /// content. - public ManifestsCreateHeaders(string dockerContentDigest = default(string), string location = default(string), long? contentLength = default(long?)) - { - DockerContentDigest = dockerContentDigest; - Location = location; - ContentLength = contentLength; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets identifies the docker upload uuid for the current - /// request. - /// - [JsonProperty(PropertyName = "Docker-Content-Digest")] - public string DockerContentDigest { get; set; } - - /// - /// Gets or sets the canonical location url of the uploaded manifest. - /// - [JsonProperty(PropertyName = "Location")] - public string Location { get; set; } - - /// - /// Gets or sets the length of the requested blob content. - /// - [JsonProperty(PropertyName = "Content-Length")] - public long? ContentLength { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/OCIIndex.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/OCIIndex.cs deleted file mode 100644 index 0a3f4632ba0a..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/OCIIndex.cs +++ /dev/null @@ -1,68 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// Returns the requested OCI index file - /// - public partial class OCIIndex : Manifest - { - /// - /// Initializes a new instance of the OCIIndex class. - /// - public OCIIndex() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the OCIIndex class. - /// - /// Schema version - /// List of OCI image layer information - public OCIIndex(int? schemaVersion = default(int?), string mediaType = default(string), IList manifests = default(IList), Annotations annotations = default(Annotations)) - : base(schemaVersion) - { - MediaType = mediaType; - Manifests = manifests; - Annotations = annotations; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets list of OCI image layer information - /// - [JsonProperty(PropertyName = "manifests")] - public IList Manifests { get; set; } - - /// - /// - [JsonProperty(PropertyName = "annotations")] - public Annotations Annotations { get; set; } - - /// - /// Gets or sets media type for this Manifest - /// - [JsonProperty(PropertyName = "mediaType")] - public string MediaType { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/OCIManifest.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/OCIManifest.cs deleted file mode 100644 index f03e8e503348..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/OCIManifest.cs +++ /dev/null @@ -1,76 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// Returns the requested OCI Manifest file - /// - public partial class OCIManifest : Manifest - { - /// - /// Initializes a new instance of the OCIManifest class. - /// - public OCIManifest() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the OCIManifest class. - /// - /// Schema version - /// V2 image config descriptor - /// List of V2 image layer information - public OCIManifest(int? schemaVersion = default(int?), string mediaType = default(string), Descriptor config = default(Descriptor), IList layers = default(IList), Annotations annotations = default(Annotations)) - : base(schemaVersion) - { - MediaType = mediaType; - Config = config; - Layers = layers; - Annotations = annotations; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets V2 image config descriptor - /// - [JsonProperty(PropertyName = "config")] - public Descriptor Config { get; set; } - - /// - /// Gets or sets list of V2 image layer information - /// - [JsonProperty(PropertyName = "layers")] - public IList Layers { get; set; } - - /// - /// - [JsonProperty(PropertyName = "annotations")] - public Annotations Annotations { get; set; } - - /// - /// Gets or sets media type for this Manifest - /// - [JsonProperty(PropertyName = "mediaType")] - public string MediaType { get; set; } - - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/Platform.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/Platform.cs deleted file mode 100644 index fa8d4120111c..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/Platform.cs +++ /dev/null @@ -1,114 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// The platform object describes the platform which the image in the - /// manifest runs on. A full list of valid operating system and - /// architecture values are listed in the Go language documentation for - /// $GOOS and $GOARCH - /// - public partial class Platform - { - /// - /// Initializes a new instance of the Platform class. - /// - public Platform() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the Platform class. - /// - /// Specifies the CPU architecture, for - /// example amd64 or ppc64le. - /// The os field specifies the operating system, for - /// example linux or windows. - /// The optional os.version field specifies the - /// operating system version, for example 10.0.10586. - /// The optional os.features field specifies - /// an array of strings, each listing a required OS feature (for - /// example on Windows win32k - /// The optional variant field specifies a - /// variant of the CPU, for example armv6l to specify a particular CPU - /// variant of the ARM CPU. - /// The optional features field specifies an - /// array of strings, each listing a required CPU feature (for example - /// sse4 or aes - public Platform(string architecture = default(string), string os = default(string), string osversion = default(string), IList osfeatures = default(IList), string variant = default(string), IList features = default(IList)) - { - Architecture = architecture; - Os = os; - Osversion = osversion; - Osfeatures = osfeatures; - Variant = variant; - Features = features; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets specifies the CPU architecture, for example amd64 or - /// ppc64le. - /// - [JsonProperty(PropertyName = "architecture")] - public string Architecture { get; set; } - - /// - /// Gets or sets the os field specifies the operating system, for - /// example linux or windows. - /// - [JsonProperty(PropertyName = "os")] - public string Os { get; set; } - - /// - /// Gets or sets the optional os.version field specifies the operating - /// system version, for example 10.0.10586. - /// - [JsonProperty(PropertyName = "os.version")] - public string Osversion { get; set; } - - /// - /// Gets or sets the optional os.features field specifies an array of - /// strings, each listing a required OS feature (for example on Windows - /// win32k - /// - [JsonProperty(PropertyName = "os.features")] - public IList Osfeatures { get; set; } - - /// - /// Gets or sets the optional variant field specifies a variant of the - /// CPU, for example armv6l to specify a particular CPU variant of the - /// ARM CPU. - /// - [JsonProperty(PropertyName = "variant")] - public string Variant { get; set; } - - /// - /// Gets or sets the optional features field specifies an array of - /// strings, each listing a required CPU feature (for example sse4 or - /// aes - /// - [JsonProperty(PropertyName = "features")] - public IList Features { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/RefreshToken.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/RefreshToken.cs deleted file mode 100644 index 711dca7ec122..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/RefreshToken.cs +++ /dev/null @@ -1,50 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - public partial class RefreshToken - { - /// - /// Initializes a new instance of the RefreshToken class. - /// - public RefreshToken() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the RefreshToken class. - /// - /// The refresh token to be used for - /// generating access tokens - public RefreshToken(string refreshTokenProperty = default(string)) - { - RefreshTokenProperty = refreshTokenProperty; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets the refresh token to be used for generating access - /// tokens - /// - [JsonProperty(PropertyName = "refresh_token")] - public string RefreshTokenProperty { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/Repositories.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/Repositories.cs deleted file mode 100644 index 6cb17968ee55..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/Repositories.cs +++ /dev/null @@ -1,53 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// List of repositories - /// - public partial class Repositories - { - /// - /// Initializes a new instance of the Repositories class. - /// - public Repositories() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the Repositories class. - /// - /// Repository names - public Repositories(IList names = default(IList)) - { - Names = names; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets repository names - /// - [JsonProperty(PropertyName = "repositories")] - public IList Names { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/RepositoryAttributes.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/RepositoryAttributes.cs deleted file mode 100644 index 1a8694a62406..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/RepositoryAttributes.cs +++ /dev/null @@ -1,99 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Repository attributes - /// - public partial class RepositoryAttributes - { - /// - /// Initializes a new instance of the RepositoryAttributes class. - /// - public RepositoryAttributes() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the RepositoryAttributes class. - /// - /// Registry name - /// Image name - /// Image created time - /// Image last update time - /// Number of the manifests - /// Number of the tags - /// Changeable attributes - public RepositoryAttributes(string registry = default(string), string imageName = default(string), string createdTime = default(string), string lastUpdateTime = default(string), int? manifestCount = default(int?), int? tagCount = default(int?), ChangeableAttributes changeableAttributes = default(ChangeableAttributes)) - { - Registry = registry; - ImageName = imageName; - CreatedTime = createdTime; - LastUpdateTime = lastUpdateTime; - ManifestCount = manifestCount; - TagCount = tagCount; - ChangeableAttributes = changeableAttributes; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets registry name - /// - [JsonProperty(PropertyName = "registry")] - public string Registry { get; set; } - - /// - /// Gets or sets image name - /// - [JsonProperty(PropertyName = "imageName")] - public string ImageName { get; set; } - - /// - /// Gets or sets image created time - /// - [JsonProperty(PropertyName = "createdTime")] - public string CreatedTime { get; set; } - - /// - /// Gets or sets image last update time - /// - [JsonProperty(PropertyName = "lastUpdateTime")] - public string LastUpdateTime { get; set; } - - /// - /// Gets or sets number of the manifests - /// - [JsonProperty(PropertyName = "manifestCount")] - public int? ManifestCount { get; set; } - - /// - /// Gets or sets number of the tags - /// - [JsonProperty(PropertyName = "tagCount")] - public int? TagCount { get; set; } - - /// - /// Gets or sets changeable attributes - /// - [JsonProperty(PropertyName = "changeableAttributes")] - public ChangeableAttributes ChangeableAttributes { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/RepositoryGetListHeaders.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/RepositoryGetListHeaders.cs deleted file mode 100644 index 53501df0cfeb..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/RepositoryGetListHeaders.cs +++ /dev/null @@ -1,51 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Defines headers for GetList operation. - /// - public partial class RepositoryGetListHeaders - { - /// - /// Initializes a new instance of the RepositoryGetListHeaders class. - /// - public RepositoryGetListHeaders() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the RepositoryGetListHeaders class. - /// - /// next paginated result - public RepositoryGetListHeaders(string link = default(string)) - { - Link = link; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets next paginated result - /// - [JsonProperty(PropertyName = "Link")] - public string Link { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/RepositoryTags.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/RepositoryTags.cs deleted file mode 100644 index ed3571c3ec11..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/RepositoryTags.cs +++ /dev/null @@ -1,61 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// Result of the request to list tags of the image - /// - public partial class RepositoryTags - { - /// - /// Initializes a new instance of the RepositoryTags class. - /// - public RepositoryTags() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the RepositoryTags class. - /// - /// Name of the image - /// List of tags - public RepositoryTags(string name = default(string), IList tags = default(IList)) - { - Name = name; - Tags = tags; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets name of the image - /// - [JsonProperty(PropertyName = "name")] - public string Name { get; set; } - - /// - /// Gets or sets list of tags - /// - [JsonProperty(PropertyName = "tags")] - public IList Tags { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/TagAttributes.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/TagAttributes.cs deleted file mode 100644 index 9be96e3c3cbf..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/TagAttributes.cs +++ /dev/null @@ -1,67 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Tag attributes - /// - public partial class TagAttributes - { - /// - /// Initializes a new instance of the TagAttributes class. - /// - public TagAttributes() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the TagAttributes class. - /// - /// Registry name - /// Image name - /// List of tag attribute details - public TagAttributes(string registry = default(string), string imageName = default(string), TagAttributesBase attributes = default(TagAttributesBase)) - { - Registry = registry; - ImageName = imageName; - Attributes = attributes; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets registry name - /// - [JsonProperty(PropertyName = "registry")] - public string Registry { get; set; } - - /// - /// Gets or sets image name - /// - [JsonProperty(PropertyName = "imageName")] - public string ImageName { get; set; } - - /// - /// Gets or sets list of tag attribute details - /// - [JsonProperty(PropertyName = "tag")] - public TagAttributesBase Attributes { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/TagAttributesBase.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/TagAttributesBase.cs deleted file mode 100644 index 4cec6169a93f..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/TagAttributesBase.cs +++ /dev/null @@ -1,91 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Tag attribute details - /// - public partial class TagAttributesBase - { - /// - /// Initializes a new instance of the TagAttributesBase class. - /// - public TagAttributesBase() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the TagAttributesBase class. - /// - /// Tag name - /// Tag digest - /// Tag created time - /// Tag last update time - /// Is signed - /// Changeable attributes - public TagAttributesBase(string name = default(string), string digest = default(string), string createdTime = default(string), string lastUpdateTime = default(string), bool? signed = default(bool?), ChangeableAttributes changeableAttributes = default(ChangeableAttributes)) - { - Name = name; - Digest = digest; - CreatedTime = createdTime; - LastUpdateTime = lastUpdateTime; - Signed = signed; - ChangeableAttributes = changeableAttributes; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets tag name - /// - [JsonProperty(PropertyName = "name")] - public string Name { get; set; } - - /// - /// Gets or sets tag digest - /// - [JsonProperty(PropertyName = "digest")] - public string Digest { get; set; } - - /// - /// Gets or sets tag created time - /// - [JsonProperty(PropertyName = "createdTime")] - public string CreatedTime { get; set; } - - /// - /// Gets or sets tag last update time - /// - [JsonProperty(PropertyName = "lastUpdateTime")] - public string LastUpdateTime { get; set; } - - /// - /// Gets or sets is signed - /// - [JsonProperty(PropertyName = "signed")] - public bool? Signed { get; set; } - - /// - /// Gets or sets changeable attributes - /// - [JsonProperty(PropertyName = "changeableAttributes")] - public ChangeableAttributes ChangeableAttributes { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/TagAttributesTag.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/TagAttributesTag.cs deleted file mode 100644 index 8599afbcae01..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/TagAttributesTag.cs +++ /dev/null @@ -1,51 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Linq; - - /// - /// Tag - /// - public partial class TagAttributesTag - { - /// - /// Initializes a new instance of the TagAttributesTag class. - /// - public TagAttributesTag() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the TagAttributesTag class. - /// - /// SignatureRecord value - public TagAttributesTag(string signatureRecord = default(string)) - { - SignatureRecord = signatureRecord; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets signatureRecord value - /// - [JsonProperty(PropertyName = "signatureRecord")] - public string SignatureRecord { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/TagList.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/TagList.cs deleted file mode 100644 index 7db23ba813ea..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/TagList.cs +++ /dev/null @@ -1,69 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// List of tag details - /// - public partial class TagList - { - /// - /// Initializes a new instance of the TagList class. - /// - public TagList() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the TagList class. - /// - /// Registry name - /// Image name - /// List of tag attribute details - public TagList(string registry = default(string), string imageName = default(string), IList tags = default(IList)) - { - Registry = registry; - ImageName = imageName; - Tags = tags; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets registry name - /// - [JsonProperty(PropertyName = "registry")] - public string Registry { get; set; } - - /// - /// Gets or sets image name - /// - [JsonProperty(PropertyName = "imageName")] - public string ImageName { get; set; } - - /// - /// Gets or sets list of tag attribute details - /// - [JsonProperty(PropertyName = "tags")] - public IList Tags { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/V1Manifest.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/V1Manifest.cs deleted file mode 100644 index 6cc6097b4d5c..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/V1Manifest.cs +++ /dev/null @@ -1,102 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// Returns the requested V1 manifest file - /// - public partial class V1Manifest : Manifest - { - /// - /// Initializes a new instance of the V1Manifest class. - /// - public V1Manifest() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the V1Manifest class. - /// - /// Schema version - /// CPU architecture - /// Image name - /// Image tag - /// List of layer information - /// Image history - /// Image signature - public V1Manifest(int? schemaVersion = default(int?), string mediaType = default(string), string architecture = default(string), string name = default(string), string tag = default(string), IList fsLayers = default(IList), IList history = default(IList), IList signatures = default(IList)) - : base(schemaVersion) - { - Architecture = architecture; - Name = name; - Tag = tag; - FsLayers = fsLayers; - History = history; - Signatures = signatures; - MediaType = mediaType; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets CPU architecture - /// - [JsonProperty(PropertyName = "architecture")] - public string Architecture { get; set; } - - /// - /// Gets or sets image name - /// - [JsonProperty(PropertyName = "name")] - public string Name { get; set; } - - /// - /// Gets or sets image tag - /// - [JsonProperty(PropertyName = "tag")] - public string Tag { get; set; } - - /// - /// Gets or sets list of layer information - /// - [JsonProperty(PropertyName = "fsLayers")] - public IList FsLayers { get; set; } - - /// - /// Gets or sets image history - /// - [JsonProperty(PropertyName = "history")] - public IList History { get; set; } - - /// - /// Gets or sets image signature - /// - [JsonProperty(PropertyName = "signatures")] - public IList Signatures { get; set; } - - /// - /// Gets or sets media type for this Manifest - /// - [JsonProperty(PropertyName = "mediaType")] - public string MediaType { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/V2Manifest.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/V2Manifest.cs deleted file mode 100644 index 8e652269cd9a..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/Models/V2Manifest.cs +++ /dev/null @@ -1,71 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry.Models -{ - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - - /// - /// Returns the requested Docker V2 Manifest file - /// - public partial class V2Manifest : Manifest - { - /// - /// Initializes a new instance of the V2Manifest class. - /// - public V2Manifest() - { - CustomInit(); - } - - /// - /// Initializes a new instance of the V2Manifest class. - /// - /// Schema version - /// Media type for this Manifest - /// V2 image config descriptor - /// List of V2 image layer information - public V2Manifest(int? schemaVersion = default(int?), string mediaType = default(string), Descriptor config = default(Descriptor), IList layers = default(IList)) - : base(schemaVersion) - { - MediaType = mediaType; - Config = config; - Layers = layers; - CustomInit(); - } - - /// - /// An initialization method that performs custom operations like setting defaults - /// - partial void CustomInit(); - - /// - /// Gets or sets media type for this Manifest - /// - [JsonProperty(PropertyName = "mediaType")] - public string MediaType { get; set; } - - /// - /// Gets or sets V2 image config descriptor - /// - [JsonProperty(PropertyName = "config")] - public Descriptor Config { get; set; } - - /// - /// Gets or sets list of V2 image layer information - /// - [JsonProperty(PropertyName = "layers")] - public IList Layers { get; set; } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/RefreshTokensOperations.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/RefreshTokensOperations.cs deleted file mode 100644 index f7de7f15a160..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/RefreshTokensOperations.cs +++ /dev/null @@ -1,274 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - using System.Net; - using System.Net.Http; - using System.Threading; - using System.Threading.Tasks; - - /// - /// RefreshTokensOperations operations. - /// - internal partial class RefreshTokensOperations : IServiceOperations, IRefreshTokensOperations - { - /// - /// Initializes a new instance of the RefreshTokensOperations class. - /// - /// - /// Reference to the service client. - /// - /// - /// Thrown when a required parameter is null - /// - internal RefreshTokensOperations(AzureContainerRegistryClient client) - { - if (client == null) - { - throw new System.ArgumentNullException("client"); - } - Client = client; - } - - /// - /// Gets a reference to the AzureContainerRegistryClient - /// - public AzureContainerRegistryClient Client { get; private set; } - - /// - /// Exchange AAD tokens for an ACR refresh Token - /// - /// - /// Can take a value of access_token_refresh_token, or access_token, or - /// refresh_token. Possible values include: 'access_token_refresh_token', - /// 'access_token', 'refresh_token' - /// - /// - /// Indicates the name of your Azure container registry. - /// - /// - /// AAD tenant associated to the AAD credentials. - /// - /// - /// AAD refresh token, mandatory when grant_type is access_token_refresh_token - /// or refresh_token - /// - /// - /// AAD access token, mandatory when grant_type is access_token_refresh_token - /// or access_token. - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> GetFromExchangeWithHttpMessagesAsync(string grantType, string service, string tenant = default(string), string refreshToken = default(string), string accessToken = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (grantType == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "grantType"); - } - if (service == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "service"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("grantType", grantType); - tracingParameters.Add("service", service); - tracingParameters.Add("tenant", tenant); - tracingParameters.Add("refreshToken", refreshToken); - tracingParameters.Add("accessToken", accessToken); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetFromExchange", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "oauth2/exchange"; - _url = _url.Replace("{url}", Client.LoginUri); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("POST"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - var values = new List>(); - if(grantType != null) - { - values.Add(new KeyValuePair("grant_type", grantType)); - } - if(service != null) - { - values.Add(new KeyValuePair("service", service)); - } - if(tenant != null) - { - values.Add(new KeyValuePair("tenant", tenant)); - } - if(refreshToken != null) - { - values.Add(new KeyValuePair("refresh_token", refreshToken)); - } - if(accessToken != null) - { - values.Add(new KeyValuePair("access_token", accessToken)); - } - var _formContent = new FormUrlEncodedContent(values); - _httpRequest.Content = _formContent; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/RefreshTokensOperationsExtensions.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/RefreshTokensOperationsExtensions.cs deleted file mode 100644 index 2779a03bbb7e..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/RefreshTokensOperationsExtensions.cs +++ /dev/null @@ -1,61 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using System.Threading; - using System.Threading.Tasks; - - /// - /// Extension methods for RefreshTokensOperations. - /// - public static partial class RefreshTokensOperationsExtensions - { - /// - /// Exchange AAD tokens for an ACR refresh Token - /// - /// - /// The operations group for this extension method. - /// - /// - /// Can take a value of access_token_refresh_token, or access_token, or - /// refresh_token. Possible values include: 'access_token_refresh_token', - /// 'access_token', 'refresh_token' - /// - /// - /// Indicates the name of your Azure container registry. - /// - /// - /// AAD tenant associated to the AAD credentials. - /// - /// - /// AAD refresh token, mandatory when grant_type is access_token_refresh_token - /// or refresh_token - /// - /// - /// AAD access token, mandatory when grant_type is access_token_refresh_token - /// or access_token. - /// - /// - /// The cancellation token. - /// - public static async Task GetFromExchangeAsync(this IRefreshTokensOperations operations, string grantType, string service, string tenant = default(string), string refreshToken = default(string), string accessToken = default(string), CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.GetFromExchangeWithHttpMessagesAsync(grantType, service, tenant, refreshToken, accessToken, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/RepositoryOperations.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/RepositoryOperations.cs deleted file mode 100644 index b86a0256c13d..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/RepositoryOperations.cs +++ /dev/null @@ -1,761 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - using System.Net; - using System.Net.Http; - using System.Threading; - using System.Threading.Tasks; - - /// - /// RepositoryOperations operations. - /// - internal partial class RepositoryOperations : IServiceOperations, IRepositoryOperations - { - /// - /// Initializes a new instance of the RepositoryOperations class. - /// - /// - /// Reference to the service client. - /// - /// - /// Thrown when a required parameter is null - /// - internal RepositoryOperations(AzureContainerRegistryClient client) - { - if (client == null) - { - throw new System.ArgumentNullException("client"); - } - Client = client; - } - - /// - /// Gets a reference to the AzureContainerRegistryClient - /// - public AzureContainerRegistryClient Client { get; private set; } - - /// - /// List repositories - /// - /// - /// Query parameter for the last item in previous query. Result set will - /// include values lexically after last. - /// - /// - /// query parameter for max number of items - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> GetListWithHttpMessagesAsync(string last = default(string), int? n = default(int?), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("last", last); - tracingParameters.Add("n", n); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetList", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "acr/v1/_catalog"; - _url = _url.Replace("{url}", Client.LoginUri); - List _queryParameters = new List(); - if (last != null) - { - _queryParameters.Add(string.Format("last={0}", System.Uri.EscapeDataString(last))); - } - if (n != null) - { - _queryParameters.Add(string.Format("n={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(n, Client.SerializationSettings).Trim('"')))); - } - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - try - { - _result.Headers = _httpResponse.GetHeadersAsJson().ToObject(JsonSerializer.Create(Client.DeserializationSettings)); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the headers.", _httpResponse.GetHeadersAsJson().ToString(), ex); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Get repository attributes - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> GetAttributesWithHttpMessagesAsync(string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetAttributes", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "acr/v1/{name}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Delete the repository identified by `name` - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> DeleteWithHttpMessagesAsync(string name, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Delete", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "acr/v1/{name}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 202) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 202) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Update the attribute identified by `name` where `reference` is the name of - /// the repository. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Repository attribute value - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task UpdateAttributesWithHttpMessagesAsync(string name, ChangeableAttributes value = default(ChangeableAttributes), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("value", value); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateAttributes", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "acr/v1/{name}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - if(value != null) - { - _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(value, Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); - _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/RepositoryOperationsExtensions.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/RepositoryOperationsExtensions.cs deleted file mode 100644 index 9ccd03f46aff..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/RepositoryOperationsExtensions.cs +++ /dev/null @@ -1,110 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using System.Threading; - using System.Threading.Tasks; - - /// - /// Extension methods for RepositoryOperations. - /// - public static partial class RepositoryOperationsExtensions - { - /// - /// List repositories - /// - /// - /// The operations group for this extension method. - /// - /// - /// Query parameter for the last item in previous query. Result set will - /// include values lexically after last. - /// - /// - /// query parameter for max number of items - /// - /// - /// The cancellation token. - /// - public static async Task GetListAsync(this IRepositoryOperations operations, string last = default(string), int? n = default(int?), CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.GetListWithHttpMessagesAsync(last, n, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Get repository attributes - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// The cancellation token. - /// - public static async Task GetAttributesAsync(this IRepositoryOperations operations, string name, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.GetAttributesWithHttpMessagesAsync(name, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Delete the repository identified by `name` - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// The cancellation token. - /// - public static async Task DeleteAsync(this IRepositoryOperations operations, string name, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.DeleteWithHttpMessagesAsync(name, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Update the attribute identified by `name` where `reference` is the name of - /// the repository. - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Repository attribute value - /// - /// - /// The cancellation token. - /// - public static async Task UpdateAttributesAsync(this IRepositoryOperations operations, string name, ChangeableAttributes value = default(ChangeableAttributes), CancellationToken cancellationToken = default(CancellationToken)) - { - (await operations.UpdateAttributesWithHttpMessagesAsync(name, value, null, cancellationToken).ConfigureAwait(false)).Dispose(); - } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/SdkInfo_AzureContainerRegistry.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/SdkInfo_AzureContainerRegistry.cs deleted file mode 100644 index 544b90e46950..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/SdkInfo_AzureContainerRegistry.cs +++ /dev/null @@ -1,44 +0,0 @@ - -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using System; - using System.Collections.Generic; - using System.Linq; - - internal static partial class SdkInfo - { - public static IEnumerable> ApiInfo_AzureContainerRegistry - { - get - { - return new Tuple[] - { - new Tuple("AzureContainerRegistry", "AccessTokens", "2019-08-15-preview"), - new Tuple("AzureContainerRegistry", "Blob", "2019-08-15-preview"), - new Tuple("AzureContainerRegistry", "Manifests", "2019-08-15-preview"), - new Tuple("AzureContainerRegistry", "RefreshTokens", "2019-08-15-preview"), - new Tuple("AzureContainerRegistry", "Repository", "2019-08-15-preview"), - new Tuple("AzureContainerRegistry", "Tag", "2019-08-15-preview"), - new Tuple("AzureContainerRegistry", "V2Support", "2019-08-15-preview"), - }.AsEnumerable(); - } - } - // BEGIN: Code Generation Metadata Section - public static readonly String AutoRestVersion = "latest"; - public static readonly String AutoRestBootStrapperVersion = "autorest@2.0.4283"; - public static readonly String AutoRestCmdExecuted = "cmd.exe /c autorest.cmd https://github.com/Azure/azure-rest-api-specs/blob/master/specification/containerregistry/data-plane/readme.md --csharp --version=latest --reflect-api-versions --csharp-sdks-folder=C:\\Users\\t-esre\\Documents\\GitHub\\azure-cr\\azure-sdk-for-net\\sdk"; - public static readonly String GithubForkName = "Azure"; - public static readonly String GithubBranchName = "master"; - public static readonly String GithubCommidId = "1dd4c34f14c951dbfa5458d0ff2efadf5d9ef702"; - public static readonly String CodeGenerationErrors = ""; - public static readonly String GithubRepoName = "azure-rest-api-specs"; - // END: Code Generation Metadata Section - } -} - diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/TagOperations.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/TagOperations.cs deleted file mode 100644 index 274c286646a5..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/TagOperations.cs +++ /dev/null @@ -1,778 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - using System.Net; - using System.Net.Http; - using System.Threading; - using System.Threading.Tasks; - - /// - /// TagOperations operations. - /// - internal partial class TagOperations : IServiceOperations, ITagOperations - { - /// - /// Initializes a new instance of the TagOperations class. - /// - /// - /// Reference to the service client. - /// - /// - /// Thrown when a required parameter is null - /// - internal TagOperations(AzureContainerRegistryClient client) - { - if (client == null) - { - throw new System.ArgumentNullException("client"); - } - Client = client; - } - - /// - /// Gets a reference to the AzureContainerRegistryClient - /// - public AzureContainerRegistryClient Client { get; private set; } - - /// - /// List tags of a repository - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Query parameter for the last item in previous query. Result set will - /// include values lexically after last. - /// - /// - /// query parameter for max number of items - /// - /// - /// orderby query parameter - /// - /// - /// filter by digest - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> GetListWithHttpMessagesAsync(string name, string last = default(string), int? n = default(int?), string orderby = default(string), string digest = default(string), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("last", last); - tracingParameters.Add("n", n); - tracingParameters.Add("orderby", orderby); - tracingParameters.Add("digest", digest); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetList", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "acr/v1/{name}/_tags"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - List _queryParameters = new List(); - if (last != null) - { - _queryParameters.Add(string.Format("last={0}", System.Uri.EscapeDataString(last))); - } - if (n != null) - { - _queryParameters.Add(string.Format("n={0}", System.Uri.EscapeDataString(Rest.Serialization.SafeJsonConvert.SerializeObject(n, Client.SerializationSettings).Trim('"')))); - } - if (orderby != null) - { - _queryParameters.Add(string.Format("orderby={0}", System.Uri.EscapeDataString(orderby))); - } - if (digest != null) - { - _queryParameters.Add(string.Format("digest={0}", System.Uri.EscapeDataString(digest))); - } - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Get tag attributes by tag - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Tag name - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when unable to deserialize the response - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task> GetAttributesWithHttpMessagesAsync(string name, string reference, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (reference == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "reference"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("reference", reference); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "GetAttributes", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "acr/v1/{name}/_tags/{reference}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - _url = _url.Replace("{reference}", System.Uri.EscapeDataString(reference)); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - // Deserialize Response - if ((int)_statusCode == 200) - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - try - { - _result.Body = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - } - catch (JsonException ex) - { - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw new SerializationException("Unable to deserialize the response.", _responseContent, ex); - } - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Update tag attributes - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Tag name - /// - /// - /// Repository attribute value - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task UpdateAttributesWithHttpMessagesAsync(string name, string reference, ChangeableAttributes value = default(ChangeableAttributes), Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (reference == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "reference"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("reference", reference); - tracingParameters.Add("value", value); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "UpdateAttributes", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "acr/v1/{name}/_tags/{reference}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - _url = _url.Replace("{reference}", System.Uri.EscapeDataString(reference)); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("PATCH"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - if(value != null) - { - _requestContent = Rest.Serialization.SafeJsonConvert.SerializeObject(value, Client.SerializationSettings); - _httpRequest.Content = new StringContent(_requestContent, System.Text.Encoding.UTF8); - _httpRequest.Content.Headers.ContentType =System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); - } - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - /// - /// Delete tag - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Tag name - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task DeleteWithHttpMessagesAsync(string name, string reference, Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - if (name == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "name"); - } - if (reference == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "reference"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("name", name); - tracingParameters.Add("reference", reference); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Delete", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "acr/v1/{name}/_tags/{reference}"; - _url = _url.Replace("{url}", Client.LoginUri); - _url = _url.Replace("{name}", System.Uri.EscapeDataString(name)); - _url = _url.Replace("{reference}", System.Uri.EscapeDataString(reference)); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("DELETE"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 202) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/TagOperationsExtensions.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/TagOperationsExtensions.cs deleted file mode 100644 index 67e3c2cf141b..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/TagOperationsExtensions.cs +++ /dev/null @@ -1,124 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using System.Threading; - using System.Threading.Tasks; - - /// - /// Extension methods for TagOperations. - /// - public static partial class TagOperationsExtensions - { - /// - /// List tags of a repository - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Query parameter for the last item in previous query. Result set will - /// include values lexically after last. - /// - /// - /// query parameter for max number of items - /// - /// - /// orderby query parameter - /// - /// - /// filter by digest - /// - /// - /// The cancellation token. - /// - public static async Task GetListAsync(this ITagOperations operations, string name, string last = default(string), int? n = default(int?), string orderby = default(string), string digest = default(string), CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.GetListWithHttpMessagesAsync(name, last, n, orderby, digest, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Get tag attributes by tag - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Tag name - /// - /// - /// The cancellation token. - /// - public static async Task GetAttributesAsync(this ITagOperations operations, string name, string reference, CancellationToken cancellationToken = default(CancellationToken)) - { - using (var _result = await operations.GetAttributesWithHttpMessagesAsync(name, reference, null, cancellationToken).ConfigureAwait(false)) - { - return _result.Body; - } - } - - /// - /// Update tag attributes - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Tag name - /// - /// - /// Repository attribute value - /// - /// - /// The cancellation token. - /// - public static async Task UpdateAttributesAsync(this ITagOperations operations, string name, string reference, ChangeableAttributes value = default(ChangeableAttributes), CancellationToken cancellationToken = default(CancellationToken)) - { - (await operations.UpdateAttributesWithHttpMessagesAsync(name, reference, value, null, cancellationToken).ConfigureAwait(false)).Dispose(); - } - - /// - /// Delete tag - /// - /// - /// The operations group for this extension method. - /// - /// - /// Name of the image (including the namespace) - /// - /// - /// Tag name - /// - /// - /// The cancellation token. - /// - public static async Task DeleteAsync(this ITagOperations operations, string name, string reference, CancellationToken cancellationToken = default(CancellationToken)) - { - (await operations.DeleteWithHttpMessagesAsync(name, reference, null, cancellationToken).ConfigureAwait(false)).Dispose(); - } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/V2SupportOperations.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/V2SupportOperations.cs deleted file mode 100644 index 15b7cda39014..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/V2SupportOperations.cs +++ /dev/null @@ -1,199 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using Newtonsoft.Json; - using System.Collections; - using System.Collections.Generic; - using System.Linq; - using System.Net; - using System.Net.Http; - using System.Threading; - using System.Threading.Tasks; - - /// - /// V2SupportOperations operations. - /// - internal partial class V2SupportOperations : IServiceOperations, IV2SupportOperations - { - /// - /// Initializes a new instance of the V2SupportOperations class. - /// - /// - /// Reference to the service client. - /// - /// - /// Thrown when a required parameter is null - /// - internal V2SupportOperations(AzureContainerRegistryClient client) - { - if (client == null) - { - throw new System.ArgumentNullException("client"); - } - Client = client; - } - - /// - /// Gets a reference to the AzureContainerRegistryClient - /// - public AzureContainerRegistryClient Client { get; private set; } - - /// - /// Tells whether this Docker Registry instance supports Docker Registry HTTP - /// API v2 - /// - /// - /// Headers that will be added to request. - /// - /// - /// The cancellation token. - /// - /// - /// Thrown when the operation returned an invalid status code - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// Thrown when a required parameter is null - /// - /// - /// A response object containing the response body and response headers. - /// - public async Task CheckWithHttpMessagesAsync(Dictionary> customHeaders = null, CancellationToken cancellationToken = default(CancellationToken)) - { - if (Client.LoginUri == null) - { - throw new ValidationException(ValidationRules.CannotBeNull, "this.Client.LoginUri"); - } - // Tracing - bool _shouldTrace = ServiceClientTracing.IsEnabled; - string _invocationId = null; - if (_shouldTrace) - { - _invocationId = ServiceClientTracing.NextInvocationId.ToString(); - Dictionary tracingParameters = new Dictionary(); - tracingParameters.Add("cancellationToken", cancellationToken); - ServiceClientTracing.Enter(_invocationId, this, "Check", tracingParameters); - } - // Construct URL - var _baseUrl = Client.BaseUri; - var _url = _baseUrl + (_baseUrl.EndsWith("/") ? "" : "/") + "v2/"; - _url = _url.Replace("{url}", Client.LoginUri); - List _queryParameters = new List(); - if (_queryParameters.Count > 0) - { - _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); - } - // Create HTTP transport objects - var _httpRequest = new HttpRequestMessage(); - HttpResponseMessage _httpResponse = null; - _httpRequest.Method = new HttpMethod("GET"); - _httpRequest.RequestUri = new System.Uri(_url); - // Set Headers - if (Client.GenerateClientRequestId != null && Client.GenerateClientRequestId.Value) - { - _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); - } - if (Client.AcceptLanguage != null) - { - if (_httpRequest.Headers.Contains("accept-language")) - { - _httpRequest.Headers.Remove("accept-language"); - } - _httpRequest.Headers.TryAddWithoutValidation("accept-language", Client.AcceptLanguage); - } - - - if (customHeaders != null) - { - foreach(var _header in customHeaders) - { - if (_httpRequest.Headers.Contains(_header.Key)) - { - _httpRequest.Headers.Remove(_header.Key); - } - _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); - } - } - - // Serialize Request - string _requestContent = null; - // Set Credentials - if (Client.Credentials != null) - { - cancellationToken.ThrowIfCancellationRequested(); - await Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - } - // Send Request - if (_shouldTrace) - { - ServiceClientTracing.SendRequest(_invocationId, _httpRequest); - } - cancellationToken.ThrowIfCancellationRequested(); - _httpResponse = await Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); - if (_shouldTrace) - { - ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); - } - HttpStatusCode _statusCode = _httpResponse.StatusCode; - cancellationToken.ThrowIfCancellationRequested(); - string _responseContent = null; - if ((int)_statusCode != 200) - { - var ex = new AcrErrorsException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); - try - { - _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); - AcrErrors _errorBody = Rest.Serialization.SafeJsonConvert.DeserializeObject(_responseContent, Client.DeserializationSettings); - if (_errorBody != null) - { - ex.Body = _errorBody; - } - } - catch (JsonException) - { - // Ignore the exception - } - ex.Request = new HttpRequestMessageWrapper(_httpRequest, _requestContent); - ex.Response = new HttpResponseMessageWrapper(_httpResponse, _responseContent); - if (_shouldTrace) - { - ServiceClientTracing.Error(_invocationId, ex); - } - _httpRequest.Dispose(); - if (_httpResponse != null) - { - _httpResponse.Dispose(); - } - throw ex; - } - // Create Result - var _result = new AzureOperationResponse(); - _result.Request = _httpRequest; - _result.Response = _httpResponse; - if (_httpResponse.Headers.Contains("x-ms-request-id")) - { - _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); - } - if (_shouldTrace) - { - ServiceClientTracing.Exit(_invocationId, _result); - } - return _result; - } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/V2SupportOperationsExtensions.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/V2SupportOperationsExtensions.cs deleted file mode 100644 index db5841ed72e9..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Generated/V2SupportOperationsExtensions.cs +++ /dev/null @@ -1,40 +0,0 @@ -// -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is -// regenerated. -// - -namespace Microsoft.Azure.ContainerRegistry -{ - using Microsoft.Rest; - using Microsoft.Rest.Azure; - using Models; - using System.Threading; - using System.Threading.Tasks; - - /// - /// Extension methods for V2SupportOperations. - /// - public static partial class V2SupportOperationsExtensions - { - /// - /// Tells whether this Docker Registry instance supports Docker Registry HTTP - /// API v2 - /// - /// - /// The operations group for this extension method. - /// - /// - /// The cancellation token. - /// - public static async Task CheckAsync(this IV2SupportOperations operations, CancellationToken cancellationToken = default(CancellationToken)) - { - (await operations.CheckWithHttpMessagesAsync(null, cancellationToken).ConfigureAwait(false)).Dispose(); - } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Microsoft.Azure.ContainerRegistry.csproj b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Microsoft.Azure.ContainerRegistry.csproj deleted file mode 100644 index 1008736c581b..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/Microsoft.Azure.ContainerRegistry.csproj +++ /dev/null @@ -1,37 +0,0 @@ - - - Microsoft.Azure.ContainerRegistry - This is a client library for Azure Container Registry data plane operations. Use this library to retrieve, update and view Registry tags, blobs and manifests. - Microsoft Azure Container Registry - 1.0.0-preview.2 - Microsoft Azure Container Registry;Container Registry; Microsoft; Docker Registry HTTP API V2 - - * Manage Azure Container Registry repositories, tags, manifests, blobs, access tokens and refresh tokens. - * OAuth2 support. - * Support different manifest types. - * Add classes (e.g. ContainerRegistryCredentials) to simplify authentication. - * Add Docker Registry HTTP API V2 support. - - - - $(RequiredTargetFrameworks) - - - - 2019-08-15-preview - $(PackageTags);$(CommonTags);$(AzureApiTag); - - - - - - - - - - - - - - - diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/generate.ps1 b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/generate.ps1 deleted file mode 100644 index 2b610425bda1..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/src/generate.ps1 +++ /dev/null @@ -1 +0,0 @@ -Start-AutoRestCodeGeneration -ResourceProvider "containerregistry/data-plane" -AutoRestVersion "latest" \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Helpers/ACRTestUtil.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Helpers/ACRTestUtil.cs deleted file mode 100644 index 787483c0e19c..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Helpers/ACRTestUtil.cs +++ /dev/null @@ -1,164 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. - -namespace ContainerRegistry.Tests -{ - using System; - using System.Net; - using System.Threading.Tasks; - using System.IdentityModel.Tokens.Jwt; - using Microsoft.Azure.ContainerRegistry; - using Microsoft.Azure.Management.ContainerRegistry; - using Microsoft.IdentityModel.Clients.ActiveDirectory; - using Microsoft.Rest.ClientRuntime.Azure.TestFramework; - using static Microsoft.Azure.ContainerRegistry.AuthToken; - using static Microsoft.Azure.ContainerRegistry.ContainerRegistryCredentials; - - public static class ACRTestUtil - { - private static readonly string _testResourceGroup = "ereyTest"; - - // Sample Repos for fetching - public static readonly string ProdRepository = "prod/bash"; - public static readonly string TestRepository = "test/bash"; - - //Repo for update or create-delete operations - public static readonly string changeableRepository = "doundo/bash"; - - //Repository with multiple hello-world# tags for deletion testing - public static readonly string deleteableRepository = "deleteable"; - - //Prod Test registry - public static readonly string ManagedTestRegistry = "azuresdkunittest"; - public static readonly string ManagedTestRegistryFullName = "azuresdkunittest.azurecr.io"; - - //Prod Test registry for updates and deletions (contains many hello-world# images) - public static readonly string ManagedTestRegistryForChanges = "azuresdkunittestupdateable"; - public static readonly string ManagedTestRegistryForChangesFullName = "azuresdkunittestupdateable.azurecr.io"; - - internal static readonly string Scope = "registry:catalog:*"; - internal static readonly string MediatypeV2Manifest = "application/vnd.docker.distribution.manifest.v2+json"; - internal static readonly string MediatypeV1Manifest = "application/vnd.docker.container.image.v1+json"; - internal static readonly string MediatypeOCIManifest = "application/vnd.oci.image.manifest.v1+json"; - internal static readonly string MediatypeOCIIndex = "application/vnd.oci.image.index.v1+json"; - internal static readonly string MediatypeManifestList = "application/vnd.docker.distribution.manifest.list.v2+json"; - internal static readonly string OCIIndexTestRepository = ""; - internal static readonly string ManifestListTestRepository = "multi-hello-world"; - internal static readonly string BlobTestRepository = "blobland"; - internal static string OCITestRepository = "oras"; - - internal static string ACRJWTIssuer = "Azure Container Registry"; - - /// - /// Acquires an ACR client setup for the testing network. Note acquisition of credentials from registry - /// must be possible for this to work in this way. - /// - /// Registry to be used - /// - public static async Task GetACRClientAsync(MockContext context, string registryName, LoginMode loginMode = ContainerRegistryCredentials.LoginMode.Basic) - { - var registryManagementClient = context.GetServiceClient(handlers: CreateNewRecordedDelegatingHandler()); - var registry = await registryManagementClient.Registries.GetAsync(_testResourceGroup, registryName); - - ContainerRegistryCredentials credential = null; - - switch (loginMode) - { - case LoginMode.Basic: - case LoginMode.TokenAuth: - var registryCredentials = await registryManagementClient.Registries.ListCredentialsAsync(_testResourceGroup, registryName); - string username = registryCredentials.Username; - string password = registryCredentials.Passwords[0].Value; - credential = new ContainerRegistryCredentials(loginMode, registry.LoginServer, username, password); - break; - case LoginMode.TokenAad: - var aadToken = await GetAADAccessToken(); - AcquireCallback newAADCallback = () => GetAADAccessToken().GetAwaiter().GetResult(); - credential = new ContainerRegistryCredentials(aadToken, registry.LoginServer, newAADCallback); - break; - default: - throw new ArgumentException($"Unkown {nameof(LoginMode)}. Expected one of ['{LoginMode.Basic}', '{LoginMode.TokenAuth}', '{LoginMode.TokenAad}'] but got '{loginMode}'"); - } - - var acrClient = context.GetServiceClientWithCredentials(credential, CreateNewRecordedDelegatingHandler()); - return acrClient; - } - - /// - /// Acquires registry credentials for the testing network. - /// - /// - /// - /// - /// - public static async Task GetCredentialsAsync(MockContext context, string registryName, LoginMode loginMode = ContainerRegistryCredentials.LoginMode.TokenAuth) - { - var registryManagementClient = context.GetServiceClient(handlers: CreateNewRecordedDelegatingHandler()); - var registry = await registryManagementClient.Registries.GetAsync(_testResourceGroup, registryName); - - ContainerRegistryCredentials credential = null; - - switch (loginMode) - { - case LoginMode.Basic: - case LoginMode.TokenAuth: - var registryCredentials = await registryManagementClient.Registries.ListCredentialsAsync(_testResourceGroup, registryName); - string username = registryCredentials.Username; - string password = registryCredentials.Passwords[0].Value; - credential = new ContainerRegistryCredentials(loginMode, registry.LoginServer, username, password); - break; - case LoginMode.TokenAad: - var aadToken = await GetAADAccessToken(); - AcquireCallback newAADCallback = () => GetAADAccessToken().GetAwaiter().GetResult(); - credential = new ContainerRegistryCredentials(aadToken, registry.LoginServer, newAADCallback); - break; - default: - throw new ArgumentException($"Unkown {nameof(LoginMode)}. Expected one of ['{LoginMode.Basic}', '{LoginMode.TokenAuth}', '{LoginMode.TokenAad}'] but got '{loginMode}'"); - } - - return credential; - } - - /// - /// Acquires an AAD access token from the connection string setup in the environment variables. - /// In order to run the tests outside of playback mode (where it replays the session recording files) - /// you must first do the following: - /// - /// Add environment variables: - /// AZURE_TEST_MODE | set it to "record" - /// - /// TEST_CSM_ORGID_AUTHENTICATION | set it to: - /// SubscriptionId={subscription id for service principal};ServicePrincipal={servicePrincipal};ServicePrincipalSecret={serviceprincipalsecret};AADTenant={tenant of service principal};Environment=Prod;HttpRecorderMode=Record - /// - /// Note that the the service principal in question must have access to the azuresdkunittest registry or any specified as prod in the future. - /// - - public static async Task GetAADAccessToken() - { - TestEnvironment testEnvironment = TestEnvironmentFactory.GetTestEnvironment(); - string tenantId = testEnvironment.ConnectionString.KeyValuePairs[ConnectionStringKeys.AADTenantKey]; - string authClientId = testEnvironment.ConnectionString.KeyValuePairs[ConnectionStringKeys.ServicePrincipalKey]; - string authSecret = testEnvironment.ConnectionString.KeyValuePairs[ConnectionStringKeys.ServicePrincipalSecretKey]; - - // Addresses issues from pipeline having no credentials to obtain AAD token. - // Return Dummy token. - if (String.IsNullOrEmpty(tenantId) || String.IsNullOrEmpty(authClientId) || String.IsNullOrEmpty(authSecret)) { - var tokenHandler = new JwtSecurityTokenHandler(); - var token = tokenHandler.CreateJwtSecurityToken(ACRJWTIssuer, ManagedTestRegistryFullName, null, null, DateTime.UtcNow.AddHours(5), null, null); - return tokenHandler.WriteToken(token); - - } - - var context = new AuthenticationContext("https://login.microsoftonline.com/" + tenantId + "/oauth2/v2.0/token"); - var clientCredential = new ClientCredential(authClientId, authSecret); - var result = await context.AcquireTokenAsync("https://management.core.windows.net", clientCredential).ConfigureAwait(false); - return result.AccessToken; - } - - private static RecordedDelegatingHandler CreateNewRecordedDelegatingHandler() - { - return new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK, IsPassThrough = true }; - } - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Helpers/RecordedDelegatingHandler.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Helpers/RecordedDelegatingHandler.cs deleted file mode 100644 index 680614fe4524..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Helpers/RecordedDelegatingHandler.cs +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for license information. - -using System; -using System.Net; -using System.Net.Http; -using System.Net.Http.Headers; -using System.Threading.Tasks; - -namespace ContainerRegistry.Tests -{ - public class RecordedDelegatingHandler : DelegatingHandler - { - private HttpResponseMessage _response; - - public RecordedDelegatingHandler() - { - StatusCodeToReturn = HttpStatusCode.Created; - SubsequentStatusCodeToReturn = StatusCodeToReturn; - } - - public RecordedDelegatingHandler(HttpResponseMessage response) - { - StatusCodeToReturn = HttpStatusCode.Created; - SubsequentStatusCodeToReturn = StatusCodeToReturn; - _response = response; - } - - public HttpStatusCode StatusCodeToReturn { get; set; } - - public HttpStatusCode SubsequentStatusCodeToReturn { get; set; } - - public string Request { get; private set; } - - public HttpRequestHeaders RequestHeaders { get; private set; } - - public HttpContentHeaders ContentHeaders { get; private set; } - - public HttpMethod Method { get; private set; } - - public Uri Uri { get; private set; } - - public bool IsPassThrough { get; set; } - - private int counter; - - protected override async Task SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) - { - counter++; - // Save request - if (request.Content == null) - { - Request = string.Empty; - } - else - { - Request = await request.Content.ReadAsStringAsync(); - } - RequestHeaders = request.Headers; - if (request.Content != null) - { - ContentHeaders = request.Content.Headers; - } - Method = request.Method; - Uri = request.RequestUri; - - // Prepare response - if (IsPassThrough) - { - return await base.SendAsync(request, cancellationToken); - } - else - { - if (_response != null && counter == 1) - { - return _response; - } - else - { - var statusCode = StatusCodeToReturn; - if (counter > 1) - statusCode = SubsequentStatusCodeToReturn; - HttpResponseMessage response = new HttpResponseMessage(statusCode); - response.Content = new StringContent(""); - return response; - } - } - } - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Microsoft.Azure.ContainerRegistry.Tests.csproj b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Microsoft.Azure.ContainerRegistry.Tests.csproj deleted file mode 100644 index 4e9a2b252358..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Microsoft.Azure.ContainerRegistry.Tests.csproj +++ /dev/null @@ -1,47 +0,0 @@ - - - ContainerRegistry.Tests - Microsoft.Azure.ContainerRegistry tests Library - ContainerRegistry.Tests - 2.0.0 - $(RequiredTargetFrameworks) - true - - - - true - - - - - - - - - PreserveNewest - - - - - - - - - - - - - - - True - True - Resources.resx - - - - - ResXFileCodeGenerator - Resources.Designer.cs - - - \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Properties/Resources.Designer.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Properties/Resources.Designer.cs deleted file mode 100644 index 3da489879978..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Properties/Resources.Designer.cs +++ /dev/null @@ -1,63 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace Microsoft.Azure.ContainerRegistry.Tests.Properties { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Azure.ContainerRegistry.Tests.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Properties/Resources.resx b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Properties/Resources.resx deleted file mode 100644 index 1af7de150c99..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Properties/Resources.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/AuthTests/GetAcrAccessToken.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/AuthTests/GetAcrAccessToken.json deleted file mode 100644 index 77bcd3d1bc4a..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/AuthTests/GetAcrAccessToken.json +++ /dev/null @@ -1,236 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "753d70df-488e-4fd0-b3c0-2a54e02f6aaa" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11996" - ], - "x-ms-request-id": [ - "fad38601-64f0-4b35-9635-6cb4b8e3d445" - ], - "x-ms-correlation-request-id": [ - "fad38601-64f0-4b35-9635-6cb4b8e3d445" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183952Z:fad38601-64f0-4b35-9635-6cb4b8e3d445" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:52 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "1f821e0a-3bab-4db8-8bf9-d870cd03504c" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1197" - ], - "x-ms-request-id": [ - "c9f6b437-12da-48d0-91d2-6c919ddce8a5" - ], - "x-ms-correlation-request-id": [ - "c9f6b437-12da-48d0-91d2-6c919ddce8a5" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183952Z:c9f6b437-12da-48d0-91d2-6c919ddce8a5" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:52 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/oauth2/exchange", - "EncodedRequestUri": "L29hdXRoMi9leGNoYW5nZQ==", - "RequestMethod": "POST", - "RequestBody": "grant_type=access_token&service=azuresdkunittest.azurecr.io&access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImllX3FXQ1hoWHh0MXpJRXN1NGM3YWNRVkduNCIsImtpZCI6ImllX3FXQ1hoWHh0MXpJRXN1NGM3YWNRVkduNCJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldCIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0Ny8iLCJpYXQiOjE1Njc2MjIwOTEsIm5iZiI6MTU2NzYyMjA5MSwiZXhwIjoxNTY3NjI1OTkxLCJhaW8iOiI0MkZnWURpWHRGMDg3Z3hYN2pPdTVOd1ZSK0xrQUE9PSIsImFwcGlkIjoiMjlkZWRlODYtM2JjYy00N2EzLTlhMWMtZWEyNjE4NzFhNThhIiwiYXBwaWRhY3IiOiIxIiwiaWRwIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3LyIsIm9pZCI6IjhjMTdjNzE1LWM2MmYtNDhhNS1iMGQzLTE3MjMxMmQ2N2Q0MiIsInN1YiI6IjhjMTdjNzE1LWM2MmYtNDhhNS1iMGQzLTE3MjMxMmQ2N2Q0MiIsInRpZCI6IjcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0NyIsInV0aSI6ImhCYmlMeWtmdUUyVDZVTzdjMGdRQUEiLCJ2ZXIiOiIxLjAifQ.G6jvSfYKCKYDOe8JKksRXXxMWWBFTkQNDLRo8_bKeCsWW8XRnmaTblgX7SxWl-Tq6XIHSt3UTGORLEhwxNqixIhI9OxCgAkyC3ydqT-9mOfHvHqax1aXZWJ7aJXoxSRW5JpVOJL6k2zWtfYk603lsbs2N7uT-kYY1MXC5sFRiDZJCjEosMG3qIuMjlj8R-0QeFQl4C_mxDcFas9Ed0NO9R_N_vcuZAoOtmNG0KEdeFkW4lZ7_2XxddvAAyuC0ixogGJhkNyN6RAvkHmoRRodpoqM_XDNC_XtqrRS_Cqr2xHHYE0jYJdwa_3Xy8PyCB5QnbsuHNOg8e2RJrgYMwFlvg", - "RequestHeaders": { - "x-ms-client-request-id": [ - "34e2a33c-89e7-45a3-a6df-92ad2181a388" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Content-Length": [ - "1239" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:53 GMT" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Connection": [ - "keep-alive" - ], - "X-Ms-Correlation-Request-Id": [ - "5bdb2cd5-c164-4961-a796-e0fa822f5cc0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ] - }, - "ResponseBody": "{\r\n \"refresh_token\": \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjZRRjI6RkRNTTpSUjQ2OkE3WFg6N0Q3UjpFNE1COkZJMzQ6RENVUzpQR1dLOldPSjc6SktaSjpSTkkyIn0.eyJqdGkiOiJkNzhjODYzOS00ZDE0LTQ5ZGItOGNjMy00YzVkOGMyNGViYzUiLCJzdWIiOiI4YzE3YzcxNS1jNjJmLTQ4YTUtYjBkMy0xNzIzMTJkNjdkNDIiLCJuYmYiOjE1Njc2MjE0OTMsImV4cCI6MTU2NzYzMzE5MywiaWF0IjoxNTY3NjIxNDkzLCJpc3MiOiJBenVyZSBDb250YWluZXIgUmVnaXN0cnkiLCJhdWQiOiJhenVyZXNka3VuaXR0ZXN0LmF6dXJlY3IuaW8iLCJ2ZXJzaW9uIjoiMS4wIiwiZ3JhbnRfdHlwZSI6InJlZnJlc2hfdG9rZW4iLCJwZXJtaXNzaW9ucyI6eyJhY3Rpb25zIjpbInJlYWQiLCJ3cml0ZSIsImRlbGV0ZSJdLCJub3RBY3Rpb25zIjpudWxsfSwicm9sZXMiOltdfQ.rL3kKVVOmYE3MmFDLWsgZ9wyjv-jl5w1G7UoUEuzdlGttGrhiz4d9qe1-VepnqLJqkDS78-uIMUAHpy4wTzJ-0OsKLnm-OqT6SN52W5sDJugH3gELOob2q-CwaaGoUshYgT29oHaQpPE_FjWG3zOxog3w4e9uLn6B7-dno4dGhYWjbbtk9nNvN_FOa0SXSoU2wFTmk5xWwAJ0lYhmkbfMnPfpsef3ZFX2c5RD0cK7omYQVxeNuntaAFrpFgPPZ-gMUV3Uv9JvTf9fXHgxYzFTB6ZQsdYfs_kGR7pkupsv-Nc-jdjVBwG3RLtBqm3o-SOgO5a1qfYEaJgHCXDJHBXIw\"\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/oauth2/token", - "EncodedRequestUri": "L29hdXRoMi90b2tlbg==", - "RequestMethod": "POST", - "RequestBody": "grant_type=refresh_token&service=azuresdkunittest.azurecr.io&scope=registry%3Acatalog%3A%2A&refresh_token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjZRRjI6RkRNTTpSUjQ2OkE3WFg6N0Q3UjpFNE1COkZJMzQ6RENVUzpQR1dLOldPSjc6SktaSjpSTkkyIn0.eyJqdGkiOiJkNzhjODYzOS00ZDE0LTQ5ZGItOGNjMy00YzVkOGMyNGViYzUiLCJzdWIiOiI4YzE3YzcxNS1jNjJmLTQ4YTUtYjBkMy0xNzIzMTJkNjdkNDIiLCJuYmYiOjE1Njc2MjE0OTMsImV4cCI6MTU2NzYzMzE5MywiaWF0IjoxNTY3NjIxNDkzLCJpc3MiOiJBenVyZSBDb250YWluZXIgUmVnaXN0cnkiLCJhdWQiOiJhenVyZXNka3VuaXR0ZXN0LmF6dXJlY3IuaW8iLCJ2ZXJzaW9uIjoiMS4wIiwiZ3JhbnRfdHlwZSI6InJlZnJlc2hfdG9rZW4iLCJwZXJtaXNzaW9ucyI6eyJhY3Rpb25zIjpbInJlYWQiLCJ3cml0ZSIsImRlbGV0ZSJdLCJub3RBY3Rpb25zIjpudWxsfSwicm9sZXMiOltdfQ.rL3kKVVOmYE3MmFDLWsgZ9wyjv-jl5w1G7UoUEuzdlGttGrhiz4d9qe1-VepnqLJqkDS78-uIMUAHpy4wTzJ-0OsKLnm-OqT6SN52W5sDJugH3gELOob2q-CwaaGoUshYgT29oHaQpPE_FjWG3zOxog3w4e9uLn6B7-dno4dGhYWjbbtk9nNvN_FOa0SXSoU2wFTmk5xWwAJ0lYhmkbfMnPfpsef3ZFX2c5RD0cK7omYQVxeNuntaAFrpFgPPZ-gMUV3Uv9JvTf9fXHgxYzFTB6ZQsdYfs_kGR7pkupsv-Nc-jdjVBwG3RLtBqm3o-SOgO5a1qfYEaJgHCXDJHBXIw", - "RequestHeaders": { - "x-ms-client-request-id": [ - "ad2c2bc1-7156-4694-82fb-a905d0f3c143" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Content-Length": [ - "1027" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:53 GMT" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Connection": [ - "keep-alive" - ], - "X-Ms-Correlation-Request-Id": [ - "28402f0e-2f2b-408c-adc0-a32400b2716a" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ] - }, - "ResponseBody": "{\r\n \"access_token\": \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjZRRjI6RkRNTTpSUjQ2OkE3WFg6N0Q3UjpFNE1COkZJMzQ6RENVUzpQR1dLOldPSjc6SktaSjpSTkkyIn0.eyJqdGkiOiI0NDczMjRkNS1mOTM4LTQ3ODUtOWYzYS0wOGMwZTkyZWZlMTAiLCJzdWIiOiI4YzE3YzcxNS1jNjJmLTQ4YTUtYjBkMy0xNzIzMTJkNjdkNDIiLCJuYmYiOjE1Njc2MjE0OTMsImV4cCI6MTU2NzYyNTk5MywiaWF0IjoxNTY3NjIxNDkzLCJpc3MiOiJBenVyZSBDb250YWluZXIgUmVnaXN0cnkiLCJhdWQiOiJhenVyZXNka3VuaXR0ZXN0LmF6dXJlY3IuaW8iLCJ2ZXJzaW9uIjoiMS4wIiwiYWNjZXNzIjpbeyJ0eXBlIjoicmVnaXN0cnkiLCJuYW1lIjoiY2F0YWxvZyIsImFjdGlvbnMiOlsiKiJdfV0sInJvbGVzIjpbXSwiZ3JhbnRfdHlwZSI6ImFjY2Vzc190b2tlbiJ9.whbdeywmVL4dcgbVuYyQ4Ue54dZxQDPpjp6KQpgAcgY_ap-6LE-oEkVGifexaCTEMwlAODezCdTa_X9S7UEDXpXxug_IifQyaB_Go-H9ST6lIGgU-G5c121vBwhA_P7Ni9jmPVXckoOb_5noZOR9nCebCRmwHgwUTfyE6UfOqYlyEC4SuWQtDyiYi38Mq7hyNaBf_65DpV3FFAwIGpIJONTI0t7azSL3nyPRcK3JkC_RSFiqgOYD-gLa9h_G5H2ZWHHKdWJTNWWl-rB8PpZCvPd54Nc23Vy-2roQRyQR5mCbWBuJ0-9ZSfeS4Rgl1vcfeVGJ9te1bScDY1XkXqRffg\"\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/AuthTests/GetAcrAccessTokenFromLogin.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/AuthTests/GetAcrAccessTokenFromLogin.json deleted file mode 100644 index f065059acb44..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/AuthTests/GetAcrAccessTokenFromLogin.json +++ /dev/null @@ -1,179 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "682f182e-436c-4257-8e4b-9595d2bde621" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "2dcf5f2f-99b3-4ec3-850c-5a2cb5836f67" - ], - "x-ms-correlation-request-id": [ - "2dcf5f2f-99b3-4ec3-850c-5a2cb5836f67" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183953Z:2dcf5f2f-99b3-4ec3-850c-5a2cb5836f67" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:53 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "9187bea2-be2b-4b75-807b-c9988d64ad59" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "7efd8442-4f3e-4519-9cde-d5f076e0cada" - ], - "x-ms-correlation-request-id": [ - "7efd8442-4f3e-4519-9cde-d5f076e0cada" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183953Z:7efd8442-4f3e-4519-9cde-d5f076e0cada" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:53 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/oauth2/token?service=azuresdkunittest.azurecr.io&scope=registry%3Acatalog%3A%2A", - "EncodedRequestUri": "L29hdXRoMi90b2tlbj9zZXJ2aWNlPWF6dXJlc2RrdW5pdHRlc3QuYXp1cmVjci5pbyZzY29wZT1yZWdpc3RyeSUzQWNhdGFsb2clM0ElMkE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "a607b16e-3889-44b0-8c6b-5d537bbb0c55" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:53 GMT" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Connection": [ - "keep-alive" - ], - "X-Ms-Correlation-Request-Id": [ - "63febba0-52d0-4e69-82cb-76774904dbfa" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ] - }, - "ResponseBody": "{\r\n \"access_token\": \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjZRRjI6RkRNTTpSUjQ2OkE3WFg6N0Q3UjpFNE1COkZJMzQ6RENVUzpQR1dLOldPSjc6SktaSjpSTkkyIn0.eyJqdGkiOiIyOTgwOTAyMy0yNTliLTRkMzgtYTdjZi02YmI3ZjRhNGFkNmEiLCJzdWIiOiJhenVyZXNka3VuaXR0ZXN0IiwibmJmIjoxNTY3NjIxNDkzLCJleHAiOjE1Njc2MjU5OTMsImlhdCI6MTU2NzYyMTQ5MywiaXNzIjoiQXp1cmUgQ29udGFpbmVyIFJlZ2lzdHJ5IiwiYXVkIjoiYXp1cmVzZGt1bml0dGVzdC5henVyZWNyLmlvIiwidmVyc2lvbiI6IjEuMCIsImFjY2VzcyI6W3sidHlwZSI6InJlZ2lzdHJ5IiwibmFtZSI6ImNhdGFsb2ciLCJhY3Rpb25zIjpbIioiXX1dLCJyb2xlcyI6WyJPd25lciJdLCJncmFudF90eXBlIjoiYWNjZXNzX3Rva2VuIn0.iEB0lxbfSnzNjNVsuYH60gPRFrsjeZp7tZ8shg14Dq8f9Az5Xbnmbc2q1OjI33q4y9JfItW_dM-Ao_uQ0lf0HsYZq1d-8t1Z0NKNINknOg4cgTtSfrnPnngPudF6UqMSfOS_MXJ6puCC3FwrQh6fR7XYwnYC2zkvDyl4K_dapTgxEEtAdgHUJ92557u12Pw1yDmFmtM_iGu0g_lsS5ig_swO4aCuPCqaH1qrAR-ECNj6ctBUPqkFxH0KocvF2qsdA9NgDUVMv39QfxqyGy_M8zDRWG2IiyO1OB0JOEOfWvBwO9J0v1bjJ_cQA3cl4zqZb-tqB_CSgW7-1L6It-2iYQ\"\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/AuthTests/GetAcrRefreshTokenFromExchange.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/AuthTests/GetAcrRefreshTokenFromExchange.json deleted file mode 100644 index f5697f124afb..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/AuthTests/GetAcrRefreshTokenFromExchange.json +++ /dev/null @@ -1,185 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "4c7e7cde-a4cc-4033-958a-17b9bb63a38b" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "baeebaa0-818f-44e0-a6f2-9111c3b00c83" - ], - "x-ms-correlation-request-id": [ - "baeebaa0-818f-44e0-a6f2-9111c3b00c83" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183950Z:baeebaa0-818f-44e0-a6f2-9111c3b00c83" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:49 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "8622dda6-d402-4b9f-b0ff-01744e5add31" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "b09238e5-a50c-4366-84c9-18977be5b4c7" - ], - "x-ms-correlation-request-id": [ - "b09238e5-a50c-4366-84c9-18977be5b4c7" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183951Z:b09238e5-a50c-4366-84c9-18977be5b4c7" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:50 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/oauth2/exchange", - "EncodedRequestUri": "L29hdXRoMi9leGNoYW5nZQ==", - "RequestMethod": "POST", - "RequestBody": "grant_type=access_token&service=azuresdkunittest.azurecr.io&access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImllX3FXQ1hoWHh0MXpJRXN1NGM3YWNRVkduNCIsImtpZCI6ImllX3FXQ1hoWHh0MXpJRXN1NGM3YWNRVkduNCJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldCIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0Ny8iLCJpYXQiOjE1Njc2MjIwOTEsIm5iZiI6MTU2NzYyMjA5MSwiZXhwIjoxNTY3NjI1OTkxLCJhaW8iOiI0MkZnWURpWHRGMDg3Z3hYN2pPdTVOd1ZSK0xrQUE9PSIsImFwcGlkIjoiMjlkZWRlODYtM2JjYy00N2EzLTlhMWMtZWEyNjE4NzFhNThhIiwiYXBwaWRhY3IiOiIxIiwiaWRwIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3LyIsIm9pZCI6IjhjMTdjNzE1LWM2MmYtNDhhNS1iMGQzLTE3MjMxMmQ2N2Q0MiIsInN1YiI6IjhjMTdjNzE1LWM2MmYtNDhhNS1iMGQzLTE3MjMxMmQ2N2Q0MiIsInRpZCI6IjcyZjk4OGJmLTg2ZjEtNDFhZi05MWFiLTJkN2NkMDExZGI0NyIsInV0aSI6ImhCYmlMeWtmdUUyVDZVTzdjMGdRQUEiLCJ2ZXIiOiIxLjAifQ.G6jvSfYKCKYDOe8JKksRXXxMWWBFTkQNDLRo8_bKeCsWW8XRnmaTblgX7SxWl-Tq6XIHSt3UTGORLEhwxNqixIhI9OxCgAkyC3ydqT-9mOfHvHqax1aXZWJ7aJXoxSRW5JpVOJL6k2zWtfYk603lsbs2N7uT-kYY1MXC5sFRiDZJCjEosMG3qIuMjlj8R-0QeFQl4C_mxDcFas9Ed0NO9R_N_vcuZAoOtmNG0KEdeFkW4lZ7_2XxddvAAyuC0ixogGJhkNyN6RAvkHmoRRodpoqM_XDNC_XtqrRS_Cqr2xHHYE0jYJdwa_3Xy8PyCB5QnbsuHNOg8e2RJrgYMwFlvg", - "RequestHeaders": { - "x-ms-client-request-id": [ - "8493d0d3-415e-43c3-9926-648a758b80ab" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ], - "Content-Type": [ - "application/x-www-form-urlencoded" - ], - "Content-Length": [ - "1239" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:52 GMT" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Connection": [ - "keep-alive" - ], - "X-Ms-Correlation-Request-Id": [ - "d5585d70-7417-4213-8f09-2d7793ecb56c" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ] - }, - "ResponseBody": "{\r\n \"refresh_token\": \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjZRRjI6RkRNTTpSUjQ2OkE3WFg6N0Q3UjpFNE1COkZJMzQ6RENVUzpQR1dLOldPSjc6SktaSjpSTkkyIn0.eyJqdGkiOiI1YWY3NDgxMS0wYjNjLTRhNzUtYjQyYy1lOTJjNjA5YjMzYjEiLCJzdWIiOiI4YzE3YzcxNS1jNjJmLTQ4YTUtYjBkMy0xNzIzMTJkNjdkNDIiLCJuYmYiOjE1Njc2MjE0OTIsImV4cCI6MTU2NzYzMzE5MiwiaWF0IjoxNTY3NjIxNDkyLCJpc3MiOiJBenVyZSBDb250YWluZXIgUmVnaXN0cnkiLCJhdWQiOiJhenVyZXNka3VuaXR0ZXN0LmF6dXJlY3IuaW8iLCJ2ZXJzaW9uIjoiMS4wIiwiZ3JhbnRfdHlwZSI6InJlZnJlc2hfdG9rZW4iLCJwZXJtaXNzaW9ucyI6eyJhY3Rpb25zIjpbInJlYWQiLCJ3cml0ZSIsImRlbGV0ZSJdLCJub3RBY3Rpb25zIjpudWxsfSwicm9sZXMiOltdfQ.VQfnQVsYPLIvKFpD-NzeQx2p63W5kRgPl2Oq2wO5N0EnMxmY4LyUouKxFPwQtQCEK3P2EqgOBCIjVtSAjn1uF4Ak5-PmISdhI-dSFQ2AFVio11f7e1YyAqqY5KGkryfVJSKczhsVlLJaVIGfb9mE29sYX9zbAq-nTnhNjpoJy-m_DBzH2P9z5wYhLWV6KtpIHSMvULZkaLJuQxCMfHrSjntYQOaQXmQPqN6UJhg0UBKwrLqLsGAIQzYdUkcoP1N3z6vfr1immIOUYJOZ46kbbs2Xeddc6_PChkUk8AR0L_H1-cN1OxIDwVKFfMV3Py6AvgPnmKistUxBQns7cD-LwA\"\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/CancelBlobUpload.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/CancelBlobUpload.json deleted file mode 100644 index 5550975a3e40..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/CancelBlobUpload.json +++ /dev/null @@ -1,265 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZT9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "34b0204d-b046-4be9-ab51-248147e684a3" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "bb0db39a-ba53-4f81-bd10-4925aba31d28" - ], - "x-ms-correlation-request-id": [ - "bb0db39a-ba53-4f81-bd10-4925aba31d28" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183935Z:bb0db39a-ba53-4f81-bd10-4925aba31d28" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:35 GMT" - ], - "Content-Length": [ - "489" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable\",\r\n \"name\": \"azuresdkunittestupdateable\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"creationDate\": \"2019-08-06T23:24:57.9977962Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZS9saXN0Q3JlZGVudGlhbHM/YXBpLXZlcnNpb249MjAxNy0xMC0wMQ==", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "9f23ebce-20bc-436d-95fc-49465ef089b5" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "001c2c5e-68aa-46ad-b316-1f470cf004ce" - ], - "x-ms-correlation-request-id": [ - "001c2c5e-68aa-46ad-b316-1f470cf004ce" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183935Z:001c2c5e-68aa-46ad-b316-1f470cf004ce" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:35 GMT" - ], - "Content-Length": [ - "182" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittestupdateable\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"NZHS=PRPAui5NO0X4S3iZd6NyhrB4d8h\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"5sx4ISH4wwoHyYGzN/BhKIL691VoEiWx\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/doundo%2Fbash/blobs/uploads/", - "EncodedRequestUri": "L3YyL2RvdW5kbyUyRmJhc2gvYmxvYnMvdXBsb2Fkcy8=", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "53155a94-b806-4b02-8c8b-5335ad568b7e" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:35 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Docker-Upload-Uuid": [ - "890c8f5e-e151-4f79-ada5-1d8dd2e51bac" - ], - "Location": [ - "/v2/doundo/bash/blobs/uploads/890c8f5e-e151-4f79-ada5-1d8dd2e51bac?_nouploadcache=false&_state=rldn0i0hAGwtEbjYmKGmcNZHifOWM_tiGIl4XFVMaGp7Ik5hbWUiOiJkb3VuZG8vYmFzaCIsIlVVSUQiOiI4OTBjOGY1ZS1lMTUxLTRmNzktYWRhNS0xZDhkZDJlNTFiYWMiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDktMDRUMTg6Mzk6MzUuNjkzNzg5OTI2WiJ9" - ], - "Range": [ - "0-0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "53155a94-b806-4b02-8c8b-5335ad568b7e" - ], - "X-Ms-Correlation-Request-Id": [ - "cb5801bf-aa75-4dbe-abb2-3a676a4df1fe" - ], - "X-Ms-Request-Id": [ - "66dacd3a-6305-415d-b9ff-d832c5181b8f" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 202 - }, - { - "RequestUri": "/v2/doundo/bash/blobs/uploads/890c8f5e-e151-4f79-ada5-1d8dd2e51bac?_nouploadcache=false&_state=rldn0i0hAGwtEbjYmKGmcNZHifOWM_tiGIl4XFVMaGp7Ik5hbWUiOiJkb3VuZG8vYmFzaCIsIlVVSUQiOiI4OTBjOGY1ZS1lMTUxLTRmNzktYWRhNS0xZDhkZDJlNTFiYWMiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDktMDRUMTg6Mzk6MzUuNjkzNzg5OTI2WiJ9", - "EncodedRequestUri": "L3YyL2RvdW5kby9iYXNoL2Jsb2JzL3VwbG9hZHMvODkwYzhmNWUtZTE1MS00Zjc5LWFkYTUtMWQ4ZGQyZTUxYmFjP19ub3VwbG9hZGNhY2hlPWZhbHNlJl9zdGF0ZT1ybGRuMGkwaEFHd3RFYmpZbUtHbWNOWkhpZk9XTV90aUdJbDRYRlZNYUdwN0lrNWhiV1VpT2lKa2IzVnVaRzh2WW1GemFDSXNJbFZWU1VRaU9pSTRPVEJqT0dZMVpTMWxNVFV4TFRSbU56a3RZV1JoTlMweFpEaGtaREpsTlRGaVlXTWlMQ0pQWm1aelpYUWlPakFzSWxOMFlYSjBaV1JCZENJNklqSXdNVGt0TURrdE1EUlVNVGc2TXprNk16VXVOamt6TnpnNU9USTJXaUo5", - "RequestMethod": "DELETE", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "d340a4eb-d695-4a92-87c1-dac744a8c43d" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:35 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Docker-Upload-Uuid": [ - "890c8f5e-e151-4f79-ada5-1d8dd2e51bac" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "d340a4eb-d695-4a92-87c1-dac744a8c43d" - ], - "X-Ms-Correlation-Request-Id": [ - "2078e7f2-18e2-4331-ab90-4a162390a41a" - ], - "X-Ms-Request-Id": [ - "9b9a3c6f-4d9d-4430-ad49-49f9c16b212c" - ] - }, - "ResponseBody": "", - "StatusCode": 204 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/CheckBlob.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/CheckBlob.json deleted file mode 100644 index 11f9f2ab1b9b..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/CheckBlob.json +++ /dev/null @@ -1,201 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "166b2b11-a9c5-46a2-bc9c-d9b0f5151007" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "3a2bc960-d115-4f3b-93ec-bb06e7406df1" - ], - "x-ms-correlation-request-id": [ - "3a2bc960-d115-4f3b-93ec-bb06e7406df1" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183932Z:3a2bc960-d115-4f3b-93ec-bb06e7406df1" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:32 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "02a82ec3-1cd5-40a9-9fc0-1def7125b4f8" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "bd934f6c-fe4f-48e9-a4e5-5222158b6795" - ], - "x-ms-correlation-request-id": [ - "bd934f6c-fe4f-48e9-a4e5-5222158b6795" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183932Z:bd934f6c-fe4f-48e9-a4e5-5222158b6795" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:32 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/prod%2Fbash/blobs/sha256%3A16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39", - "EncodedRequestUri": "L3YyL3Byb2QlMkZiYXNoL2Jsb2JzL3NoYTI1NiUzQTE2NDYzZTBjNDgxZTE2MWFhYmI3MzU0MzdkMzBiM2M5YzczOTFjMjc0N2NjNTY0YmI5MjdlODQzYjczZGNiMzk=", - "RequestMethod": "HEAD", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "c6b3a2ce-a095-4753-9f0a-dd0d4ae51198" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:32 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "c6b3a2ce-a095-4753-9f0a-dd0d4ae51198" - ], - "X-Ms-Correlation-Request-Id": [ - "bb13118a-f65a-4fee-a067-219fb451e01d" - ], - "X-Ms-Request-Id": [ - "7be3b5f4-c362-4fcb-baa8-a100ebd17b38" - ], - "Content-Type": [ - "application/octet-stream" - ], - "Content-Length": [ - "5635" - ] - }, - "ResponseBody": "", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/CheckBlobChunk.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/CheckBlobChunk.json deleted file mode 100644 index 8a80e03bff30..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/CheckBlobChunk.json +++ /dev/null @@ -1,204 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "909ba27d-d5e0-49c3-85b7-58f17f078606" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11997" - ], - "x-ms-request-id": [ - "20e55807-2225-4fe4-ae58-968ddd31a822" - ], - "x-ms-correlation-request-id": [ - "20e55807-2225-4fe4-ae58-968ddd31a822" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183941Z:20e55807-2225-4fe4-ae58-968ddd31a822" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:40 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "cd38cb48-c0b3-46ce-b8f5-61abdf53029d" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1197" - ], - "x-ms-request-id": [ - "0a1dd3f5-9212-495d-b7e6-366dad852224" - ], - "x-ms-correlation-request-id": [ - "0a1dd3f5-9212-495d-b7e6-366dad852224" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183941Z:0a1dd3f5-9212-495d-b7e6-366dad852224" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:40 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/prod%2Fbash/blobs/sha256%3A16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39", - "EncodedRequestUri": "L3YyL3Byb2QlMkZiYXNoL2Jsb2JzL3NoYTI1NiUzQTE2NDYzZTBjNDgxZTE2MWFhYmI3MzU0MzdkMzBiM2M5YzczOTFjMjc0N2NjNTY0YmI5MjdlODQzYjczZGNiMzk=", - "RequestMethod": "HEAD", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "062e3fc7-c383-4a09-b22b-e00a788dc2b1" - ], - "Range": [ - "bytes=0-300" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:41 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "c6b3a2ce-a095-4753-9f0a-dd0d4ae51198" - ], - "X-Ms-Correlation-Request-Id": [ - "bb13118a-f65a-4fee-a067-219fb451e01d" - ], - "X-Ms-Request-Id": [ - "7be3b5f4-c362-4fcb-baa8-a100ebd17b38" - ], - "Content-Type": [ - "application/octet-stream" - ], - "Content-Length": [ - "5635" - ] - }, - "ResponseBody": "", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/DeleteBlob.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/DeleteBlob.json deleted file mode 100644 index 8f009ef5cb1c..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/DeleteBlob.json +++ /dev/null @@ -1,475 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZT9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "737f6ad5-4bca-4d43-91c9-e82b9ae00f90" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "ff2a67d9-33b7-4cb1-b75d-4571f4bba5d1" - ], - "x-ms-correlation-request-id": [ - "ff2a67d9-33b7-4cb1-b75d-4571f4bba5d1" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183938Z:ff2a67d9-33b7-4cb1-b75d-4571f4bba5d1" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:38 GMT" - ], - "Content-Length": [ - "489" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable\",\r\n \"name\": \"azuresdkunittestupdateable\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"creationDate\": \"2019-08-06T23:24:57.9977962Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZS9saXN0Q3JlZGVudGlhbHM/YXBpLXZlcnNpb249MjAxNy0xMC0wMQ==", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "a11c88ad-e508-42a4-85c3-165f709f6d79" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "8ccbe439-afbb-4d92-a9be-ec1d312cffbc" - ], - "x-ms-correlation-request-id": [ - "8ccbe439-afbb-4d92-a9be-ec1d312cffbc" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183939Z:8ccbe439-afbb-4d92-a9be-ec1d312cffbc" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:38 GMT" - ], - "Content-Length": [ - "182" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittestupdateable\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"NZHS=PRPAui5NO0X4S3iZd6NyhrB4d8h\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"5sx4ISH4wwoHyYGzN/BhKIL691VoEiWx\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/blobland/blobs/uploads/", - "EncodedRequestUri": "L3YyL2Jsb2JsYW5kL2Jsb2JzL3VwbG9hZHMv", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "60afa212-dc24-4e32-93be-90ae7e4b1009" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:39 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Docker-Upload-Uuid": [ - "34a52166-2e90-4d03-b067-abe2de5b5385" - ], - "Location": [ - "/v2/blobland/blobs/uploads/34a52166-2e90-4d03-b067-abe2de5b5385?_nouploadcache=false&_state=dbZ28jDcleSY4FFSGfSktCsnJ3oB4109dmNW3Al6b7Z7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIzNGE1MjE2Ni0yZTkwLTRkMDMtYjA2Ny1hYmUyZGU1YjUzODUiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDktMDRUMTg6Mzk6MzkuMjIxMzk1MDNaIn0%3D" - ], - "Range": [ - "0-0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "60afa212-dc24-4e32-93be-90ae7e4b1009" - ], - "X-Ms-Correlation-Request-Id": [ - "39eb1920-36e6-4853-9321-28797c70e775" - ], - "X-Ms-Request-Id": [ - "00070b46-fb63-4b39-99e0-243341cc35a2" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 202 - }, - { - "RequestUri": "/v2/blobland/blobs/uploads/34a52166-2e90-4d03-b067-abe2de5b5385?_nouploadcache=false&_state=dbZ28jDcleSY4FFSGfSktCsnJ3oB4109dmNW3Al6b7Z7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIzNGE1MjE2Ni0yZTkwLTRkMDMtYjA2Ny1hYmUyZGU1YjUzODUiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDktMDRUMTg6Mzk6MzkuMjIxMzk1MDNaIn0%3D", - "EncodedRequestUri": "L3YyL2Jsb2JsYW5kL2Jsb2JzL3VwbG9hZHMvMzRhNTIxNjYtMmU5MC00ZDAzLWIwNjctYWJlMmRlNWI1Mzg1P19ub3VwbG9hZGNhY2hlPWZhbHNlJl9zdGF0ZT1kYloyOGpEY2xlU1k0RkZTR2ZTa3RDc25KM29CNDEwOWRtTlczQWw2YjdaN0lrNWhiV1VpT2lKaWJHOWliR0Z1WkNJc0lsVlZTVVFpT2lJek5HRTFNakUyTmkweVpUa3dMVFJrTURNdFlqQTJOeTFoWW1VeVpHVTFZalV6T0RVaUxDSlBabVp6WlhRaU9qQXNJbE4wWVhKMFpXUkJkQ0k2SWpJd01Ua3RNRGt0TURSVU1UZzZNems2TXprdU1qSXhNemsxTUROYUluMCUzRA==", - "RequestMethod": "PATCH", - "RequestBody": "VGVzdGRhdGE=", - "RequestHeaders": { - "x-ms-client-request-id": [ - "b4ea85ca-3ce7-469b-bfe8-c56634d5a95a" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ], - "Content-Type": [ - "application/octet-stream" - ], - "Content-Length": [ - "8" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:39 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Docker-Upload-Uuid": [ - "34a52166-2e90-4d03-b067-abe2de5b5385" - ], - "Location": [ - "/v2/blobland/blobs/uploads/34a52166-2e90-4d03-b067-abe2de5b5385?_nouploadcache=false&_state=jAv1WM0CbdNV8Qfx5js6apjr5YRaWNFuczjc6OGMPWF7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIzNGE1MjE2Ni0yZTkwLTRkMDMtYjA2Ny1hYmUyZGU1YjUzODUiLCJPZmZzZXQiOjgsIlN0YXJ0ZWRBdCI6IjIwMTktMDktMDRUMTg6Mzk6MzlaIn0%3D" - ], - "Range": [ - "0-7" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "b4ea85ca-3ce7-469b-bfe8-c56634d5a95a" - ], - "X-Ms-Correlation-Request-Id": [ - "bd12d98e-e0b8-4c0c-a95d-a8ca82ca7676" - ], - "X-Ms-Request-Id": [ - "092592c6-c8e2-4efe-bffb-463fa1b0f6be" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 202 - }, - { - "RequestUri": "/v2/blobland/blobs/uploads/34a52166-2e90-4d03-b067-abe2de5b5385?_nouploadcache=false&_state=jAv1WM0CbdNV8Qfx5js6apjr5YRaWNFuczjc6OGMPWF7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiIzNGE1MjE2Ni0yZTkwLTRkMDMtYjA2Ny1hYmUyZGU1YjUzODUiLCJPZmZzZXQiOjgsIlN0YXJ0ZWRBdCI6IjIwMTktMDktMDRUMTg6Mzk6MzlaIn0%3D&digest=sha256%3A89715fb8a33f2e771e66d868c1c50591e87593f5b90d370e43fada795be5e43a", - "EncodedRequestUri": "L3YyL2Jsb2JsYW5kL2Jsb2JzL3VwbG9hZHMvMzRhNTIxNjYtMmU5MC00ZDAzLWIwNjctYWJlMmRlNWI1Mzg1P19ub3VwbG9hZGNhY2hlPWZhbHNlJl9zdGF0ZT1qQXYxV00wQ2JkTlY4UWZ4NWpzNmFwanI1WVJhV05GdWN6amM2T0dNUFdGN0lrNWhiV1VpT2lKaWJHOWliR0Z1WkNJc0lsVlZTVVFpT2lJek5HRTFNakUyTmkweVpUa3dMVFJrTURNdFlqQTJOeTFoWW1VeVpHVTFZalV6T0RVaUxDSlBabVp6WlhRaU9qZ3NJbE4wWVhKMFpXUkJkQ0k2SWpJd01Ua3RNRGt0TURSVU1UZzZNems2TXpsYUluMCUzRCZkaWdlc3Q9c2hhMjU2JTNBODk3MTVmYjhhMzNmMmU3NzFlNjZkODY4YzFjNTA1OTFlODc1OTNmNWI5MGQzNzBlNDNmYWRhNzk1YmU1ZTQzYQ==", - "RequestMethod": "PUT", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "bb21f77b-1d40-4331-baa8-82822ee29780" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:39 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:89715fb8a33f2e771e66d868c1c50591e87593f5b90d370e43fada795be5e43a" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Location": [ - "/v2/blobland/blobs/sha256:89715fb8a33f2e771e66d868c1c50591e87593f5b90d370e43fada795be5e43a" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "bb21f77b-1d40-4331-baa8-82822ee29780" - ], - "X-Ms-Correlation-Request-Id": [ - "f8cb45b8-cca2-486a-b8d8-08f92bbfbdb2" - ], - "X-Ms-Request-Id": [ - "16281977-191a-49db-9811-7ec21b152973" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 201 - }, - { - "RequestUri": "/v2/blobland/blobs/sha256%3A89715fb8a33f2e771e66d868c1c50591e87593f5b90d370e43fada795be5e43a", - "EncodedRequestUri": "L3YyL2Jsb2JsYW5kL2Jsb2JzL3NoYTI1NiUzQTg5NzE1ZmI4YTMzZjJlNzcxZTY2ZDg2OGMxYzUwNTkxZTg3NTkzZjViOTBkMzcwZTQzZmFkYTc5NWJlNWU0M2E=", - "RequestMethod": "DELETE", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "1ff6f9ad-bf83-4e5b-b919-93d181274816" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:39 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "1ff6f9ad-bf83-4e5b-b919-93d181274816" - ], - "X-Ms-Correlation-Request-Id": [ - "95a2d155-51f0-4941-8039-093b2e855e7a" - ], - "X-Ms-Request-Id": [ - "d27e8f92-4136-4b5c-ae17-ec13f4b06fe3" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 202 - }, - { - "RequestUri": "/v2/blobland/blobs/sha256%3A89715fb8a33f2e771e66d868c1c50591e87593f5b90d370e43fada795be5e43a", - "EncodedRequestUri": "L3YyL2Jsb2JsYW5kL2Jsb2JzL3NoYTI1NiUzQTg5NzE1ZmI4YTMzZjJlNzcxZTY2ZDg2OGMxYzUwNTkxZTg3NTkzZjViOTBkMzcwZTQzZmFkYTc5NWJlNWU0M2E=", - "RequestMethod": "HEAD", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "763569f9-8ff9-4cc3-a651-bb9505e7c617" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:39 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Cache-Control": [ - "no-cache" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "763569f9-8ff9-4cc3-a651-bb9505e7c617" - ], - "X-Ms-Correlation-Request-Id": [ - "4b21f29e-0904-42e1-9f58-e8a42d349515" - ], - "X-Ms-Request-Id": [ - "1494c8e1-caf0-4b3e-b95a-b46dc8a843c8" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "157" - ] - }, - "ResponseBody": "", - "StatusCode": 404 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/GetBlob.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/GetBlob.json deleted file mode 100644 index f8d63a959f30..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/GetBlob.json +++ /dev/null @@ -1,216 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "bf3996ce-0424-4084-a978-e388fe4d8535" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11998" - ], - "x-ms-request-id": [ - "296732dc-5bb8-4560-81b2-26ff1230c8ed" - ], - "x-ms-correlation-request-id": [ - "296732dc-5bb8-4560-81b2-26ff1230c8ed" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183937Z:296732dc-5bb8-4560-81b2-26ff1230c8ed" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:37 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "313c5424-bd3c-424d-bf37-784cc1127361" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1198" - ], - "x-ms-request-id": [ - "2d0d445d-229b-4c5a-ad7c-9dce662eb6c3" - ], - "x-ms-correlation-request-id": [ - "2d0d445d-229b-4c5a-ad7c-9dce662eb6c3" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183937Z:2d0d445d-229b-4c5a-ad7c-9dce662eb6c3" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:37 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/prod%2Fbash/blobs/sha256%3A16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39", - "EncodedRequestUri": "L3YyL3Byb2QlMkZiYXNoL2Jsb2JzL3NoYTI1NiUzQTE2NDYzZTBjNDgxZTE2MWFhYmI3MzU0MzdkMzBiM2M5YzczOTFjMjc0N2NjNTY0YmI5MjdlODQzYjczZGNiMzk=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "f8c6d30e-12ab-4a73-910f-5cb73e6a2c78" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Accept-Ranges": [ - "bytes" - ], - "ETag": [ - "\"0x8D716D278EC6FDE\"" - ], - "Server": [ - "Windows-Azure-Blob/1.0", - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-request-id": [ - "82cc78dd-b01e-0119-5550-633ffc000000" - ], - "x-ms-version": [ - "2016-05-31" - ], - "x-ms-lease-status": [ - "unlocked" - ], - "x-ms-lease-state": [ - "available" - ], - "x-ms-blob-type": [ - "AppendBlob" - ], - "x-ms-blob-committed-block-count": [ - "1" - ], - "x-ms-copy-id": [ - "236d44e5-3e17-4449-a8f0-3864738ba83a" - ], - "x-ms-copy-source": [ - "https://wusmanaged21.blob.core.windows.net/02156b439fcd43f1890fdfa4fcd260f1-hfwdwqwndv//docker/registry/v2/repositories/prod/bash/_uploads/803b5963-e8d3-4244-9c91-b5b440f4799f/data" - ], - "x-ms-copy-status": [ - "success" - ], - "x-ms-copy-progress": [ - "5635/5635" - ], - "x-ms-copy-completion-time": [ - "Thu, 01 Aug 2019 22:49:10 GMT" - ], - "x-ms-server-encrypted": [ - "true" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:37 GMT" - ], - "Content-Length": [ - "5635" - ], - "Content-Type": [ - "application/octet-stream" - ], - "Last-Modified": [ - "Thu, 01 Aug 2019 22:49:12 GMT" - ] - }, - "ResponseBody": "eyJhcmNoaXRlY3R1cmUiOiJhbWQ2NCIsImNvbmZpZyI6eyJIb3N0bmFtZSI6IiIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJUdHkiOmZhbHNlLCJPcGVuU3RkaW4iOmZhbHNlLCJTdGRpbk9uY2UiOmZhbHNlLCJFbnYiOlsiUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4iLCJfQkFTSF9HUEdfS0VZPTdDMDEzNUZCMDg4QUFGNkM2NkM2NTBCOUJCNTg2OUYwNjRFQTc0QUIiLCJfQkFTSF9WRVJTSU9OPTUuMCIsIl9CQVNIX1BBVENIX0xFVkVMPTAiLCJfQkFTSF9MQVRFU1RfUEFUQ0g9NyJdLCJDbWQiOlsiYmFzaCJdLCJBcmdzRXNjYXBlZCI6dHJ1ZSwiSW1hZ2UiOiJzaGEyNTY6MzhhZDJmYmM5ZjljMGE4N2RmZTBhMmIxOWJkY2E5NGJlNDVmNDY2M2Y3M2ZkMDlmZWZlZTQ5MmFmZDJjMDE0NCIsIlZvbHVtZXMiOm51bGwsIldvcmtpbmdEaXIiOiIiLCJFbnRyeXBvaW50IjpbImRvY2tlci1lbnRyeXBvaW50LnNoIl0sIk9uQnVpbGQiOm51bGwsIkxhYmVscyI6bnVsbH0sImNvbnRhaW5lciI6IjRiMDU0NmZhNDlkZjVkY2FlZDViNjYzNzE3ZjQ0MmNlZjcxYTFiOTVjMGZmYjQyYzhjNWNlNzIzMWI5MGMwMjYiLCJjb250YWluZXJfY29uZmlnIjp7Ikhvc3RuYW1lIjoiNGIwNTQ2ZmE0OWRmIiwiRG9tYWlubmFtZSI6IiIsIlVzZXIiOiIiLCJBdHRhY2hTdGRpbiI6ZmFsc2UsIkF0dGFjaFN0ZG91dCI6ZmFsc2UsIkF0dGFjaFN0ZGVyciI6ZmFsc2UsIlR0eSI6ZmFsc2UsIk9wZW5TdGRpbiI6ZmFsc2UsIlN0ZGluT25jZSI6ZmFsc2UsIkVudiI6WyJQQVRIPS91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL3NiaW46L3Vzci9iaW46L3NiaW46L2JpbiIsIl9CQVNIX0dQR19LRVk9N0MwMTM1RkIwODhBQUY2QzY2QzY1MEI5QkI1ODY5RjA2NEVBNzRBQiIsIl9CQVNIX1ZFUlNJT049NS4wIiwiX0JBU0hfUEFUQ0hfTEVWRUw9MCIsIl9CQVNIX0xBVEVTVF9QQVRDSD03Il0sIkNtZCI6WyIvYmluL3NoIiwiLWMiLCIjKG5vcCkgIiwiQ01EIFtcImJhc2hcIl0iXSwiQXJnc0VzY2FwZWQiOnRydWUsIkltYWdlIjoic2hhMjU2OjM4YWQyZmJjOWY5YzBhODdkZmUwYTJiMTliZGNhOTRiZTQ1ZjQ2NjNmNzNmZDA5ZmVmZWU0OTJhZmQyYzAxNDQiLCJWb2x1bWVzIjpudWxsLCJXb3JraW5nRGlyIjoiIiwiRW50cnlwb2ludCI6WyJkb2NrZXItZW50cnlwb2ludC5zaCJdLCJPbkJ1aWxkIjpudWxsLCJMYWJlbHMiOnt9fSwiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTY6MDYuNTI3NTE1OTAyWiIsImRvY2tlcl92ZXJzaW9uIjoiMTguMDYuMS1jZSIsImhpc3RvcnkiOlt7ImNyZWF0ZWQiOiIyMDE5LTA3LTExVDIyOjIwOjUyLjEzOTcwOTM1NVoiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgQUREIGZpbGU6MGViNWVhMzU3NDFkMjNmZTM5Y2JhYzI0NWIzYTVkODQ4NTZlZDYzODRmNGZmMDdkNDk2MzY5ZWU2ZDk2MGJhZCBpbiAvICJ9LHsiY3JlYXRlZCI6IjIwMTktMDctMTFUMjI6MjA6NTIuMzc1Mjg2NDA0WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgQ01EIFtcIi9iaW4vc2hcIl0iLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNToxMy41Njc2Njk4MTJaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBFTlYgX0JBU0hfR1BHX0tFWT03QzAxMzVGQjA4OEFBRjZDNjZDNjUwQjlCQjU4NjlGMDY0RUE3NEFCIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTU6MTMuNzQ1NjUyMDk4WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5WIF9CQVNIX1ZFUlNJT049NS4wIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTU6MTMuOTQwNDU1NDE5WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5WIF9CQVNIX1BBVENIX0xFVkVMPTAiLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNToxNC4wOTkzMDAwNzVaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBFTlYgX0JBU0hfTEFURVNUX1BBVENIPTciLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNjowNS45Mjg0MjkyNjJaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgc2V0IC1ldXg7IFx0XHRhcGsgYWRkIC0tbm8tY2FjaGUgLS12aXJ0dWFsIC5idWlsZC1kZXBzIFx0XHRiaXNvbiBcdFx0Y29yZXV0aWxzIFx0XHRkcGtnLWRldiBkcGtnIFx0XHRnY2MgXHRcdGdudXBnIFx0XHRsaWJjLWRldiBcdFx0bWFrZSBcdFx0bmN1cnNlcy1kZXYgXHRcdHBhdGNoIFx0XHR0YXIgXHQ7IFx0XHR2ZXJzaW9uPVwiJF9CQVNIX1ZFUlNJT05cIjsgXHRpZiBbIFwiJF9CQVNIX1BBVENIX0xFVkVMXCIgLWd0IDAgXTsgdGhlbiBcdFx0dmVyc2lvbj1cIiR2ZXJzaW9uLiRfQkFTSF9QQVRDSF9MRVZFTFwiOyBcdGZpOyBcdHdnZXQgLU8gYmFzaC50YXIuZ3ogXCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJHZlcnNpb24udGFyLmd6XCI7IFx0d2dldCAtTyBiYXNoLnRhci5nei5zaWcgXCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJHZlcnNpb24udGFyLmd6LnNpZ1wiOyBcdFx0aWYgWyBcIiRfQkFTSF9MQVRFU1RfUEFUQ0hcIiAtZ3QgXCIkX0JBU0hfUEFUQ0hfTEVWRUxcIiBdOyB0aGVuIFx0XHRta2RpciAtcCBiYXNoLXBhdGNoZXM7IFx0XHRmaXJzdD1cIiQocHJpbnRmICclMDNkJyBcIiQoKCBfQkFTSF9QQVRDSF9MRVZFTCArIDEgKSlcIilcIjsgXHRcdGxhc3Q9XCIkKHByaW50ZiAnJTAzZCcgXCIkX0JBU0hfTEFURVNUX1BBVENIXCIpXCI7IFx0XHRmb3IgcGF0Y2ggaW4gJChzZXEgLXcgXCIkZmlyc3RcIiBcIiRsYXN0XCIpOyBkbyBcdFx0XHR1cmw9XCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJF9CQVNIX1ZFUlNJT04tcGF0Y2hlcy9iYXNoJHtfQkFTSF9WRVJTSU9OLy8uL30tJHBhdGNoXCI7IFx0XHRcdHdnZXQgLU8gXCJiYXNoLXBhdGNoZXMvJHBhdGNoXCIgXCIkdXJsXCI7IFx0XHRcdHdnZXQgLU8gXCJiYXNoLXBhdGNoZXMvJHBhdGNoLnNpZ1wiIFwiJHVybC5zaWdcIjsgXHRcdGRvbmU7IFx0Zmk7IFx0XHRleHBvcnQgR05VUEdIT01FPVwiJChta3RlbXAgLWQpXCI7IFx0Z3BnIC0tYmF0Y2ggLS1rZXlzZXJ2ZXIgaGEucG9vbC5za3Mta2V5c2VydmVycy5uZXQgLS1yZWN2LWtleXMgXCIkX0JBU0hfR1BHX0tFWVwiOyBcdGdwZyAtLWJhdGNoIC0tdmVyaWZ5IGJhc2gudGFyLmd6LnNpZyBiYXNoLnRhci5nejsgXHRncGdjb25mIC0ta2lsbCBhbGw7IFx0cm0gYmFzaC50YXIuZ3ouc2lnOyBcdGlmIFsgLWQgYmFzaC1wYXRjaGVzIF07IHRoZW4gXHRcdGZvciBzaWcgaW4gYmFzaC1wYXRjaGVzLyouc2lnOyBkbyBcdFx0XHRwPVwiJHtzaWclLnNpZ31cIjsgXHRcdFx0Z3BnIC0tYmF0Y2ggLS12ZXJpZnkgXCIkc2lnXCIgXCIkcFwiOyBcdFx0XHRybSBcIiRzaWdcIjsgXHRcdGRvbmU7IFx0Zmk7IFx0cm0gLXJmIFwiJEdOVVBHSE9NRVwiOyBcdFx0bWtkaXIgLXAgL3Vzci9zcmMvYmFzaDsgXHR0YXIgXHRcdC0tZXh0cmFjdCBcdFx0LS1maWxlPWJhc2gudGFyLmd6IFx0XHQtLXN0cmlwLWNvbXBvbmVudHM9MSBcdFx0LS1kaXJlY3Rvcnk9L3Vzci9zcmMvYmFzaCBcdDsgXHRybSBiYXNoLnRhci5nejsgXHRcdGlmIFsgLWQgYmFzaC1wYXRjaGVzIF07IHRoZW4gXHRcdGZvciBwIGluIGJhc2gtcGF0Y2hlcy8qOyBkbyBcdFx0XHRwYXRjaCBcdFx0XHRcdC0tZGlyZWN0b3J5PS91c3Ivc3JjL2Jhc2ggXHRcdFx0XHQtLWlucHV0PVwiJChyZWFkbGluayAtZiBcIiRwXCIpXCIgXHRcdFx0XHQtLXN0cmlwPTAgXHRcdFx0OyBcdFx0XHRybSBcIiRwXCI7IFx0XHRkb25lOyBcdFx0cm1kaXIgYmFzaC1wYXRjaGVzOyBcdGZpOyBcdFx0Y2QgL3Vzci9zcmMvYmFzaDsgXHRnbnVBcmNoPVwiJChkcGtnLWFyY2hpdGVjdHVyZSAtLXF1ZXJ5IERFQl9CVUlMRF9HTlVfVFlQRSlcIjsgXHQuL2NvbmZpZ3VyZSBcdFx0LS1idWlsZD1cIiRnbnVBcmNoXCIgXHRcdC0tZW5hYmxlLXJlYWRsaW5lIFx0XHQtLXdpdGgtY3Vyc2VzIFx0XHQtLXdpdGhvdXQtYmFzaC1tYWxsb2MgXHR8fCB7IFx0XHRjYXQgXHUwMDNlXHUwMDI2MiBjb25maWcubG9nOyBcdFx0ZmFsc2U7IFx0fTsgXHRtYWtlIC1qIFwiJChucHJvYylcIjsgXHRtYWtlIGluc3RhbGw7IFx0Y2QgLzsgXHRybSAtciAvdXNyL3NyYy9iYXNoOyBcdFx0cm0gLXIgXHRcdC91c3IvbG9jYWwvc2hhcmUvZG9jL2Jhc2gvKi5odG1sIFx0XHQvdXNyL2xvY2FsL3NoYXJlL2luZm8gXHRcdC91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIFx0XHQvdXNyL2xvY2FsL3NoYXJlL21hbiBcdDsgXHRcdHJ1bkRlcHM9XCIkKCBcdFx0c2NhbmVsZiAtLW5lZWRlZCAtLW5vYmFubmVyIC0tZm9ybWF0ICclbiNwJyAtLXJlY3Vyc2l2ZSAvdXNyL2xvY2FsIFx0XHRcdHwgdHIgJywnICdcXG4nIFx0XHRcdHwgc29ydCAtdSBcdFx0XHR8IGF3ayAnc3lzdGVtKFwiWyAtZSAvdXNyL2xvY2FsL2xpYi9cIiAkMSBcIiBdXCIpID09IDAgeyBuZXh0IH0geyBwcmludCBcInNvOlwiICQxIH0nIFx0KVwiOyBcdGFwayBhZGQgLS1uby1jYWNoZSAtLXZpcnR1YWwgLmJhc2gtcnVuZGVwcyAkcnVuRGVwczsgXHRhcGsgZGVsIC5idWlsZC1kZXBzOyBcdFx0WyBcIiQod2hpY2ggYmFzaClcIiA9ICcvdXNyL2xvY2FsL2Jpbi9iYXNoJyBdOyBcdGJhc2ggLS12ZXJzaW9uOyBcdFsgXCIkKGJhc2ggLWMgJ2VjaG8gXCIke0JBU0hfVkVSU0lPTiUlW14wLTkuXSp9XCInKVwiID0gXCIke19CQVNIX1ZFUlNJT04lJS0qfS4kX0JBU0hfTEFURVNUX1BBVENIXCIgXTsifSx7ImNyZWF0ZWQiOiIyMDE5LTA3LTEzVDAxOjE2OjA2LjE2NDEyODQxMloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgQ09QWSBmaWxlOjY1MWIzYmViZWJhOGJlOTE2MmM1NmIzZWI1NjExOTk5MDUyMzVmM2UxYzc4MTEyMzJiNmM5ZjQ4YWMzMzM2NTEgaW4gL3Vzci9sb2NhbC9iaW4vICJ9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTY6MDYuMzE5Mzc1ODg0WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5UUllQT0lOVCBbXCJkb2NrZXItZW50cnlwb2ludC5zaFwiXSIsImVtcHR5X2xheWVyIjp0cnVlfSx7ImNyZWF0ZWQiOiIyMDE5LTA3LTEzVDAxOjE2OjA2LjUyNzUxNTkwMloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgIENNRCBbXCJiYXNoXCJdIiwiZW1wdHlfbGF5ZXIiOnRydWV9XSwib3MiOiJsaW51eCIsInJvb3RmcyI6eyJ0eXBlIjoibGF5ZXJzIiwiZGlmZl9pZHMiOlsic2hhMjU2OjFiZmVlYmQ2NTMyM2I4ZGRmNWJkNmE1MWNjNzA5N2I3Mjc4OGJjOTgyZTlhYjMyODBkNTNkM2M2MTNhZGZmYTciLCJzaGEyNTY6NDgzYzk4MGFjNmFiZjYzZmM0ZDcyNjJiMTdhMTk1NGQ2MjI2NmRhYzMwMjliNWJlMzg0ZDAzYjM5MjI5ODAzZSIsInNoYTI1Njo1ZjVmOTNhOTMzMDUyMTBhOTZjYzQxN2Y1NzlkNzBhNDk2YmJmMGRiOGU4MGVhMWU5NDM2NjgyYzM3OWYyNWQ5Il19fQ==", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/GetBlobChunk.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/GetBlobChunk.json deleted file mode 100644 index 416b8da99fdd..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/GetBlobChunk.json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "cfcd87ba-4a12-4ccd-90ef-27222df9993b" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "4f53e44e-b82e-4b3b-8492-094f4558dce1" - ], - "x-ms-correlation-request-id": [ - "4f53e44e-b82e-4b3b-8492-094f4558dce1" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183936Z:4f53e44e-b82e-4b3b-8492-094f4558dce1" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:35 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "cc48eeac-bee6-46bc-82dc-a96a085bc4a6" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "05073167-fafc-4f6f-897e-68fee0da62e0" - ], - "x-ms-correlation-request-id": [ - "05073167-fafc-4f6f-897e-68fee0da62e0" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183936Z:05073167-fafc-4f6f-897e-68fee0da62e0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:35 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/prod%2Fbash/blobs/sha256%3A16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39", - "EncodedRequestUri": "L3YyL3Byb2QlMkZiYXNoL2Jsb2JzL3NoYTI1NiUzQTE2NDYzZTBjNDgxZTE2MWFhYmI3MzU0MzdkMzBiM2M5YzczOTFjMjc0N2NjNTY0YmI5MjdlODQzYjczZGNiMzk=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "33a07d53-b21d-4d3f-95c6-16417f23e7b8" - ], - "Range": [ - "bytes=0-299" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Accept-Ranges": [ - "bytes" - ], - "ETag": [ - "\"0x8D716D278EC6FDE\"" - ], - "Server": [ - "Windows-Azure-Blob/1.0", - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-request-id": [ - "e877d14d-301e-00a6-2d50-636ddf000000" - ], - "x-ms-version": [ - "2016-05-31" - ], - "x-ms-lease-status": [ - "unlocked" - ], - "x-ms-lease-state": [ - "available" - ], - "x-ms-blob-type": [ - "AppendBlob" - ], - "x-ms-blob-committed-block-count": [ - "1" - ], - "x-ms-copy-id": [ - "236d44e5-3e17-4449-a8f0-3864738ba83a" - ], - "x-ms-copy-source": [ - "https://wusmanaged21.blob.core.windows.net/02156b439fcd43f1890fdfa4fcd260f1-hfwdwqwndv//docker/registry/v2/repositories/prod/bash/_uploads/803b5963-e8d3-4244-9c91-b5b440f4799f/data" - ], - "x-ms-copy-status": [ - "success" - ], - "x-ms-copy-progress": [ - "5635/5635" - ], - "x-ms-copy-completion-time": [ - "Thu, 01 Aug 2019 22:49:10 GMT" - ], - "x-ms-server-encrypted": [ - "true" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:36 GMT" - ], - "Content-Length": [ - "300" - ], - "Content-Type": [ - "application/octet-stream" - ], - "Content-Range": [ - "bytes 0-299/5635" - ], - "Last-Modified": [ - "Thu, 01 Aug 2019 22:49:12 GMT" - ] - }, - "ResponseBody": "eyJhcmNoaXRlY3R1cmUiOiJhbWQ2NCIsImNvbmZpZyI6eyJIb3N0bmFtZSI6IiIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJUdHkiOmZhbHNlLCJPcGVuU3RkaW4iOmZhbHNlLCJTdGRpbk9uY2UiOmZhbHNlLCJFbnYiOlsiUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4iLCJfQkFTSF9HUEdfS0VZPTdDMDEzNUZCMDg4QUFGNkM2NkM2NTBCOUJC", - "StatusCode": 206 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/GetBlobOAuth.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/GetBlobOAuth.json deleted file mode 100644 index 52825f68ec9a..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/GetBlobOAuth.json +++ /dev/null @@ -1,216 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "7af80674-a13e-4e33-8a8e-83279a9f01d3" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.28008.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "d5057312-af73-45c1-975f-da00fa3bedb3" - ], - "x-ms-correlation-request-id": [ - "d5057312-af73-45c1-975f-da00fa3bedb3" - ], - "x-ms-routing-request-id": [ - "WESTUS:20191018T205955Z:d5057312-af73-45c1-975f-da00fa3bedb3" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Fri, 18 Oct 2019 20:59:55 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "101a08ab-9cb5-45ea-97d4-553049c60957" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.28008.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "e3fd8cde-1d01-48a1-bbbd-95174fcba26b" - ], - "x-ms-correlation-request-id": [ - "e3fd8cde-1d01-48a1-bbbd-95174fcba26b" - ], - "x-ms-routing-request-id": [ - "WESTUS:20191018T205955Z:e3fd8cde-1d01-48a1-bbbd-95174fcba26b" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Fri, 18 Oct 2019 20:59:55 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"Cmtjn7LZQTXBEceyw1EwcRgJ7dh=xFRq\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"kc5lE+GWJXs7JgGasLSgUo3b=DDheNbp\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/prod%2Fbash/blobs/sha256%3A16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39", - "EncodedRequestUri": "L3YyL3Byb2QlMkZiYXNoL2Jsb2JzL3NoYTI1NiUzQTE2NDYzZTBjNDgxZTE2MWFhYmI3MzU0MzdkMzBiM2M5YzczOTFjMjc0N2NjNTY0YmI5MjdlODQzYjczZGNiMzk=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "1dd47c18-99e6-447a-9728-a2b2d9ebcc5b" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.28008.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Accept-Ranges": [ - "bytes" - ], - "ETag": [ - "\"0x8D716D278EC6FDE\"" - ], - "Server": [ - "Windows-Azure-Blob/1.0", - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-request-id": [ - "d6799ed7-101e-0054-4ef6-85bf4b000000" - ], - "x-ms-version": [ - "2016-05-31" - ], - "x-ms-lease-status": [ - "unlocked" - ], - "x-ms-lease-state": [ - "available" - ], - "x-ms-blob-type": [ - "AppendBlob" - ], - "x-ms-blob-committed-block-count": [ - "1" - ], - "x-ms-copy-id": [ - "236d44e5-3e17-4449-a8f0-3864738ba83a" - ], - "x-ms-copy-source": [ - "https://wusmanaged21.blob.core.windows.net/02156b439fcd43f1890fdfa4fcd260f1-hfwdwqwndv//docker/registry/v2/repositories/prod/bash/_uploads/803b5963-e8d3-4244-9c91-b5b440f4799f/data" - ], - "x-ms-copy-status": [ - "success" - ], - "x-ms-copy-progress": [ - "5635/5635" - ], - "x-ms-copy-completion-time": [ - "Thu, 01 Aug 2019 22:49:10 GMT" - ], - "x-ms-server-encrypted": [ - "true" - ], - "Date": [ - "Fri, 18 Oct 2019 20:59:56 GMT" - ], - "Content-Length": [ - "5635" - ], - "Content-Type": [ - "application/octet-stream" - ], - "Last-Modified": [ - "Thu, 01 Aug 2019 22:49:12 GMT" - ] - }, - "ResponseBody": "eyJhcmNoaXRlY3R1cmUiOiJhbWQ2NCIsImNvbmZpZyI6eyJIb3N0bmFtZSI6IiIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJUdHkiOmZhbHNlLCJPcGVuU3RkaW4iOmZhbHNlLCJTdGRpbk9uY2UiOmZhbHNlLCJFbnYiOlsiUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4iLCJfQkFTSF9HUEdfS0VZPTdDMDEzNUZCMDg4QUFGNkM2NkM2NTBCOUJCNTg2OUYwNjRFQTc0QUIiLCJfQkFTSF9WRVJTSU9OPTUuMCIsIl9CQVNIX1BBVENIX0xFVkVMPTAiLCJfQkFTSF9MQVRFU1RfUEFUQ0g9NyJdLCJDbWQiOlsiYmFzaCJdLCJBcmdzRXNjYXBlZCI6dHJ1ZSwiSW1hZ2UiOiJzaGEyNTY6MzhhZDJmYmM5ZjljMGE4N2RmZTBhMmIxOWJkY2E5NGJlNDVmNDY2M2Y3M2ZkMDlmZWZlZTQ5MmFmZDJjMDE0NCIsIlZvbHVtZXMiOm51bGwsIldvcmtpbmdEaXIiOiIiLCJFbnRyeXBvaW50IjpbImRvY2tlci1lbnRyeXBvaW50LnNoIl0sIk9uQnVpbGQiOm51bGwsIkxhYmVscyI6bnVsbH0sImNvbnRhaW5lciI6IjRiMDU0NmZhNDlkZjVkY2FlZDViNjYzNzE3ZjQ0MmNlZjcxYTFiOTVjMGZmYjQyYzhjNWNlNzIzMWI5MGMwMjYiLCJjb250YWluZXJfY29uZmlnIjp7Ikhvc3RuYW1lIjoiNGIwNTQ2ZmE0OWRmIiwiRG9tYWlubmFtZSI6IiIsIlVzZXIiOiIiLCJBdHRhY2hTdGRpbiI6ZmFsc2UsIkF0dGFjaFN0ZG91dCI6ZmFsc2UsIkF0dGFjaFN0ZGVyciI6ZmFsc2UsIlR0eSI6ZmFsc2UsIk9wZW5TdGRpbiI6ZmFsc2UsIlN0ZGluT25jZSI6ZmFsc2UsIkVudiI6WyJQQVRIPS91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL3NiaW46L3Vzci9iaW46L3NiaW46L2JpbiIsIl9CQVNIX0dQR19LRVk9N0MwMTM1RkIwODhBQUY2QzY2QzY1MEI5QkI1ODY5RjA2NEVBNzRBQiIsIl9CQVNIX1ZFUlNJT049NS4wIiwiX0JBU0hfUEFUQ0hfTEVWRUw9MCIsIl9CQVNIX0xBVEVTVF9QQVRDSD03Il0sIkNtZCI6WyIvYmluL3NoIiwiLWMiLCIjKG5vcCkgIiwiQ01EIFtcImJhc2hcIl0iXSwiQXJnc0VzY2FwZWQiOnRydWUsIkltYWdlIjoic2hhMjU2OjM4YWQyZmJjOWY5YzBhODdkZmUwYTJiMTliZGNhOTRiZTQ1ZjQ2NjNmNzNmZDA5ZmVmZWU0OTJhZmQyYzAxNDQiLCJWb2x1bWVzIjpudWxsLCJXb3JraW5nRGlyIjoiIiwiRW50cnlwb2ludCI6WyJkb2NrZXItZW50cnlwb2ludC5zaCJdLCJPbkJ1aWxkIjpudWxsLCJMYWJlbHMiOnt9fSwiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTY6MDYuNTI3NTE1OTAyWiIsImRvY2tlcl92ZXJzaW9uIjoiMTguMDYuMS1jZSIsImhpc3RvcnkiOlt7ImNyZWF0ZWQiOiIyMDE5LTA3LTExVDIyOjIwOjUyLjEzOTcwOTM1NVoiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgQUREIGZpbGU6MGViNWVhMzU3NDFkMjNmZTM5Y2JhYzI0NWIzYTVkODQ4NTZlZDYzODRmNGZmMDdkNDk2MzY5ZWU2ZDk2MGJhZCBpbiAvICJ9LHsiY3JlYXRlZCI6IjIwMTktMDctMTFUMjI6MjA6NTIuMzc1Mjg2NDA0WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgQ01EIFtcIi9iaW4vc2hcIl0iLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNToxMy41Njc2Njk4MTJaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBFTlYgX0JBU0hfR1BHX0tFWT03QzAxMzVGQjA4OEFBRjZDNjZDNjUwQjlCQjU4NjlGMDY0RUE3NEFCIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTU6MTMuNzQ1NjUyMDk4WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5WIF9CQVNIX1ZFUlNJT049NS4wIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTU6MTMuOTQwNDU1NDE5WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5WIF9CQVNIX1BBVENIX0xFVkVMPTAiLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNToxNC4wOTkzMDAwNzVaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBFTlYgX0JBU0hfTEFURVNUX1BBVENIPTciLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNjowNS45Mjg0MjkyNjJaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgc2V0IC1ldXg7IFx0XHRhcGsgYWRkIC0tbm8tY2FjaGUgLS12aXJ0dWFsIC5idWlsZC1kZXBzIFx0XHRiaXNvbiBcdFx0Y29yZXV0aWxzIFx0XHRkcGtnLWRldiBkcGtnIFx0XHRnY2MgXHRcdGdudXBnIFx0XHRsaWJjLWRldiBcdFx0bWFrZSBcdFx0bmN1cnNlcy1kZXYgXHRcdHBhdGNoIFx0XHR0YXIgXHQ7IFx0XHR2ZXJzaW9uPVwiJF9CQVNIX1ZFUlNJT05cIjsgXHRpZiBbIFwiJF9CQVNIX1BBVENIX0xFVkVMXCIgLWd0IDAgXTsgdGhlbiBcdFx0dmVyc2lvbj1cIiR2ZXJzaW9uLiRfQkFTSF9QQVRDSF9MRVZFTFwiOyBcdGZpOyBcdHdnZXQgLU8gYmFzaC50YXIuZ3ogXCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJHZlcnNpb24udGFyLmd6XCI7IFx0d2dldCAtTyBiYXNoLnRhci5nei5zaWcgXCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJHZlcnNpb24udGFyLmd6LnNpZ1wiOyBcdFx0aWYgWyBcIiRfQkFTSF9MQVRFU1RfUEFUQ0hcIiAtZ3QgXCIkX0JBU0hfUEFUQ0hfTEVWRUxcIiBdOyB0aGVuIFx0XHRta2RpciAtcCBiYXNoLXBhdGNoZXM7IFx0XHRmaXJzdD1cIiQocHJpbnRmICclMDNkJyBcIiQoKCBfQkFTSF9QQVRDSF9MRVZFTCArIDEgKSlcIilcIjsgXHRcdGxhc3Q9XCIkKHByaW50ZiAnJTAzZCcgXCIkX0JBU0hfTEFURVNUX1BBVENIXCIpXCI7IFx0XHRmb3IgcGF0Y2ggaW4gJChzZXEgLXcgXCIkZmlyc3RcIiBcIiRsYXN0XCIpOyBkbyBcdFx0XHR1cmw9XCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJF9CQVNIX1ZFUlNJT04tcGF0Y2hlcy9iYXNoJHtfQkFTSF9WRVJTSU9OLy8uL30tJHBhdGNoXCI7IFx0XHRcdHdnZXQgLU8gXCJiYXNoLXBhdGNoZXMvJHBhdGNoXCIgXCIkdXJsXCI7IFx0XHRcdHdnZXQgLU8gXCJiYXNoLXBhdGNoZXMvJHBhdGNoLnNpZ1wiIFwiJHVybC5zaWdcIjsgXHRcdGRvbmU7IFx0Zmk7IFx0XHRleHBvcnQgR05VUEdIT01FPVwiJChta3RlbXAgLWQpXCI7IFx0Z3BnIC0tYmF0Y2ggLS1rZXlzZXJ2ZXIgaGEucG9vbC5za3Mta2V5c2VydmVycy5uZXQgLS1yZWN2LWtleXMgXCIkX0JBU0hfR1BHX0tFWVwiOyBcdGdwZyAtLWJhdGNoIC0tdmVyaWZ5IGJhc2gudGFyLmd6LnNpZyBiYXNoLnRhci5nejsgXHRncGdjb25mIC0ta2lsbCBhbGw7IFx0cm0gYmFzaC50YXIuZ3ouc2lnOyBcdGlmIFsgLWQgYmFzaC1wYXRjaGVzIF07IHRoZW4gXHRcdGZvciBzaWcgaW4gYmFzaC1wYXRjaGVzLyouc2lnOyBkbyBcdFx0XHRwPVwiJHtzaWclLnNpZ31cIjsgXHRcdFx0Z3BnIC0tYmF0Y2ggLS12ZXJpZnkgXCIkc2lnXCIgXCIkcFwiOyBcdFx0XHRybSBcIiRzaWdcIjsgXHRcdGRvbmU7IFx0Zmk7IFx0cm0gLXJmIFwiJEdOVVBHSE9NRVwiOyBcdFx0bWtkaXIgLXAgL3Vzci9zcmMvYmFzaDsgXHR0YXIgXHRcdC0tZXh0cmFjdCBcdFx0LS1maWxlPWJhc2gudGFyLmd6IFx0XHQtLXN0cmlwLWNvbXBvbmVudHM9MSBcdFx0LS1kaXJlY3Rvcnk9L3Vzci9zcmMvYmFzaCBcdDsgXHRybSBiYXNoLnRhci5nejsgXHRcdGlmIFsgLWQgYmFzaC1wYXRjaGVzIF07IHRoZW4gXHRcdGZvciBwIGluIGJhc2gtcGF0Y2hlcy8qOyBkbyBcdFx0XHRwYXRjaCBcdFx0XHRcdC0tZGlyZWN0b3J5PS91c3Ivc3JjL2Jhc2ggXHRcdFx0XHQtLWlucHV0PVwiJChyZWFkbGluayAtZiBcIiRwXCIpXCIgXHRcdFx0XHQtLXN0cmlwPTAgXHRcdFx0OyBcdFx0XHRybSBcIiRwXCI7IFx0XHRkb25lOyBcdFx0cm1kaXIgYmFzaC1wYXRjaGVzOyBcdGZpOyBcdFx0Y2QgL3Vzci9zcmMvYmFzaDsgXHRnbnVBcmNoPVwiJChkcGtnLWFyY2hpdGVjdHVyZSAtLXF1ZXJ5IERFQl9CVUlMRF9HTlVfVFlQRSlcIjsgXHQuL2NvbmZpZ3VyZSBcdFx0LS1idWlsZD1cIiRnbnVBcmNoXCIgXHRcdC0tZW5hYmxlLXJlYWRsaW5lIFx0XHQtLXdpdGgtY3Vyc2VzIFx0XHQtLXdpdGhvdXQtYmFzaC1tYWxsb2MgXHR8fCB7IFx0XHRjYXQgXHUwMDNlXHUwMDI2MiBjb25maWcubG9nOyBcdFx0ZmFsc2U7IFx0fTsgXHRtYWtlIC1qIFwiJChucHJvYylcIjsgXHRtYWtlIGluc3RhbGw7IFx0Y2QgLzsgXHRybSAtciAvdXNyL3NyYy9iYXNoOyBcdFx0cm0gLXIgXHRcdC91c3IvbG9jYWwvc2hhcmUvZG9jL2Jhc2gvKi5odG1sIFx0XHQvdXNyL2xvY2FsL3NoYXJlL2luZm8gXHRcdC91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIFx0XHQvdXNyL2xvY2FsL3NoYXJlL21hbiBcdDsgXHRcdHJ1bkRlcHM9XCIkKCBcdFx0c2NhbmVsZiAtLW5lZWRlZCAtLW5vYmFubmVyIC0tZm9ybWF0ICclbiNwJyAtLXJlY3Vyc2l2ZSAvdXNyL2xvY2FsIFx0XHRcdHwgdHIgJywnICdcXG4nIFx0XHRcdHwgc29ydCAtdSBcdFx0XHR8IGF3ayAnc3lzdGVtKFwiWyAtZSAvdXNyL2xvY2FsL2xpYi9cIiAkMSBcIiBdXCIpID09IDAgeyBuZXh0IH0geyBwcmludCBcInNvOlwiICQxIH0nIFx0KVwiOyBcdGFwayBhZGQgLS1uby1jYWNoZSAtLXZpcnR1YWwgLmJhc2gtcnVuZGVwcyAkcnVuRGVwczsgXHRhcGsgZGVsIC5idWlsZC1kZXBzOyBcdFx0WyBcIiQod2hpY2ggYmFzaClcIiA9ICcvdXNyL2xvY2FsL2Jpbi9iYXNoJyBdOyBcdGJhc2ggLS12ZXJzaW9uOyBcdFsgXCIkKGJhc2ggLWMgJ2VjaG8gXCIke0JBU0hfVkVSU0lPTiUlW14wLTkuXSp9XCInKVwiID0gXCIke19CQVNIX1ZFUlNJT04lJS0qfS4kX0JBU0hfTEFURVNUX1BBVENIXCIgXTsifSx7ImNyZWF0ZWQiOiIyMDE5LTA3LTEzVDAxOjE2OjA2LjE2NDEyODQxMloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgQ09QWSBmaWxlOjY1MWIzYmViZWJhOGJlOTE2MmM1NmIzZWI1NjExOTk5MDUyMzVmM2UxYzc4MTEyMzJiNmM5ZjQ4YWMzMzM2NTEgaW4gL3Vzci9sb2NhbC9iaW4vICJ9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTY6MDYuMzE5Mzc1ODg0WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5UUllQT0lOVCBbXCJkb2NrZXItZW50cnlwb2ludC5zaFwiXSIsImVtcHR5X2xheWVyIjp0cnVlfSx7ImNyZWF0ZWQiOiIyMDE5LTA3LTEzVDAxOjE2OjA2LjUyNzUxNTkwMloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgIENNRCBbXCJiYXNoXCJdIiwiZW1wdHlfbGF5ZXIiOnRydWV9XSwib3MiOiJsaW51eCIsInJvb3RmcyI6eyJ0eXBlIjoibGF5ZXJzIiwiZGlmZl9pZHMiOlsic2hhMjU2OjFiZmVlYmQ2NTMyM2I4ZGRmNWJkNmE1MWNjNzA5N2I3Mjc4OGJjOTgyZTlhYjMyODBkNTNkM2M2MTNhZGZmYTciLCJzaGEyNTY6NDgzYzk4MGFjNmFiZjYzZmM0ZDcyNjJiMTdhMTk1NGQ2MjI2NmRhYzMwMjliNWJlMzg0ZDAzYjM5MjI5ODAzZSIsInNoYTI1Njo1ZjVmOTNhOTMzMDUyMTBhOTZjYzQxN2Y1NzlkNzBhNDk2YmJmMGRiOGU4MGVhMWU5NDM2NjgyYzM3OWYyNWQ5Il19fQ==", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/GetBlobStatus.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/GetBlobStatus.json deleted file mode 100644 index f68d960450e4..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/GetBlobStatus.json +++ /dev/null @@ -1,332 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "aa71a286-7e98-4810-af9c-d7ee8a115e4e" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11995" - ], - "x-ms-request-id": [ - "e21627e7-1a93-41fc-8bf9-242d4df146c4" - ], - "x-ms-correlation-request-id": [ - "e21627e7-1a93-41fc-8bf9-242d4df146c4" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183931Z:e21627e7-1a93-41fc-8bf9-242d4df146c4" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:30 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "4145c8f6-a272-45aa-b6ce-b0dc725d8a20" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1198" - ], - "x-ms-request-id": [ - "a1d35ba2-feeb-480d-83b0-4ff89710d87f" - ], - "x-ms-correlation-request-id": [ - "a1d35ba2-feeb-480d-83b0-4ff89710d87f" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183931Z:a1d35ba2-feeb-480d-83b0-4ff89710d87f" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:30 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/blobland/blobs/uploads/", - "EncodedRequestUri": "L3YyL2Jsb2JsYW5kL2Jsb2JzL3VwbG9hZHMv", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "e560b7ec-1ea9-4319-9011-54da1dc2a79a" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:31 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Docker-Upload-Uuid": [ - "454073c2-80e7-4fca-9371-135e8ff0398d" - ], - "Location": [ - "/v2/blobland/blobs/uploads/454073c2-80e7-4fca-9371-135e8ff0398d?_nouploadcache=false&_state=r-x8Gp_cmRHlV7pb0gKlCyyuwQW1tt3DDHrIOAu6MIV7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiI0NTQwNzNjMi04MGU3LTRmY2EtOTM3MS0xMzVlOGZmMDM5OGQiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDktMDRUMTg6Mzk6MzEuNTY5NDE4MjZaIn0%3D" - ], - "Range": [ - "0-0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "e560b7ec-1ea9-4319-9011-54da1dc2a79a" - ], - "X-Ms-Correlation-Request-Id": [ - "1a708be6-e5b3-4cdd-a0e8-deee0de4f352" - ], - "X-Ms-Request-Id": [ - "069fdaf1-5a69-4001-9879-8f6c1c86813b" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 202 - }, - { - "RequestUri": "/v2/blobland/blobs/uploads/454073c2-80e7-4fca-9371-135e8ff0398d?_nouploadcache=false&_state=r-x8Gp_cmRHlV7pb0gKlCyyuwQW1tt3DDHrIOAu6MIV7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiI0NTQwNzNjMi04MGU3LTRmY2EtOTM3MS0xMzVlOGZmMDM5OGQiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDktMDRUMTg6Mzk6MzEuNTY5NDE4MjZaIn0%3D", - "EncodedRequestUri": "L3YyL2Jsb2JsYW5kL2Jsb2JzL3VwbG9hZHMvNDU0MDczYzItODBlNy00ZmNhLTkzNzEtMTM1ZThmZjAzOThkP19ub3VwbG9hZGNhY2hlPWZhbHNlJl9zdGF0ZT1yLXg4R3BfY21SSGxWN3BiMGdLbEN5eXV3UVcxdHQzRERIcklPQXU2TUlWN0lrNWhiV1VpT2lKaWJHOWliR0Z1WkNJc0lsVlZTVVFpT2lJME5UUXdOek5qTWkwNE1HVTNMVFJtWTJFdE9UTTNNUzB4TXpWbE9HWm1NRE01T0dRaUxDSlBabVp6WlhRaU9qQXNJbE4wWVhKMFpXUkJkQ0k2SWpJd01Ua3RNRGt0TURSVU1UZzZNems2TXpFdU5UWTVOREU0TWpaYUluMCUzRA==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "5f62efc8-66df-46eb-b1f4-7a65d07393fa" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:31 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Docker-Upload-Uuid": [ - "454073c2-80e7-4fca-9371-135e8ff0398d" - ], - "Location": [ - "/v2/blobland/blobs/uploads/454073c2-80e7-4fca-9371-135e8ff0398d?_nouploadcache=false&_state=pHliboc-WJus2-NMPuPQfO9tpTQeMT-7Ksu73nqgJwZ7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiI0NTQwNzNjMi04MGU3LTRmY2EtOTM3MS0xMzVlOGZmMDM5OGQiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDktMDRUMTg6Mzk6MzFaIn0%3D" - ], - "Range": [ - "0-0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "5f62efc8-66df-46eb-b1f4-7a65d07393fa" - ], - "X-Ms-Correlation-Request-Id": [ - "92b37507-7f27-4555-bace-3ed9e62d88f5" - ], - "X-Ms-Request-Id": [ - "9590579a-f26f-4f9c-b260-d0f76ef3f657" - ] - }, - "ResponseBody": "", - "StatusCode": 204 - }, - { - "RequestUri": "/v2/blobland/blobs/uploads/454073c2-80e7-4fca-9371-135e8ff0398d?_nouploadcache=false&_state=r-x8Gp_cmRHlV7pb0gKlCyyuwQW1tt3DDHrIOAu6MIV7Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiI0NTQwNzNjMi04MGU3LTRmY2EtOTM3MS0xMzVlOGZmMDM5OGQiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDktMDRUMTg6Mzk6MzEuNTY5NDE4MjZaIn0%3D", - "EncodedRequestUri": "L3YyL2Jsb2JsYW5kL2Jsb2JzL3VwbG9hZHMvNDU0MDczYzItODBlNy00ZmNhLTkzNzEtMTM1ZThmZjAzOThkP19ub3VwbG9hZGNhY2hlPWZhbHNlJl9zdGF0ZT1yLXg4R3BfY21SSGxWN3BiMGdLbEN5eXV3UVcxdHQzRERIcklPQXU2TUlWN0lrNWhiV1VpT2lKaWJHOWliR0Z1WkNJc0lsVlZTVVFpT2lJME5UUXdOek5qTWkwNE1HVTNMVFJtWTJFdE9UTTNNUzB4TXpWbE9HWm1NRE01T0dRaUxDSlBabVp6WlhRaU9qQXNJbE4wWVhKMFpXUkJkQ0k2SWpJd01Ua3RNRGt0TURSVU1UZzZNems2TXpFdU5UWTVOREU0TWpaYUluMCUzRA==", - "RequestMethod": "DELETE", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "00de228d-9f7b-4325-8887-0efeb9cf7307" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:31 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Docker-Upload-Uuid": [ - "454073c2-80e7-4fca-9371-135e8ff0398d" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "00de228d-9f7b-4325-8887-0efeb9cf7307" - ], - "X-Ms-Correlation-Request-Id": [ - "9c8877e9-d39b-4cca-8a82-a78dbcce624d" - ], - "X-Ms-Request-Id": [ - "50c18397-e75e-4ec9-a632-63d0f7f962b3" - ] - }, - "ResponseBody": "", - "StatusCode": 204 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/MountBlob.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/MountBlob.json deleted file mode 100644 index 0c320d1f9562..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/MountBlob.json +++ /dev/null @@ -1,283 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZT9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "87ef415f-3b46-407c-add4-6fee35b51773" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11996" - ], - "x-ms-request-id": [ - "c71cf825-106a-4bb2-9e48-eab41f37ea6d" - ], - "x-ms-correlation-request-id": [ - "c71cf825-106a-4bb2-9e48-eab41f37ea6d" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183937Z:c71cf825-106a-4bb2-9e48-eab41f37ea6d" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:37 GMT" - ], - "Content-Length": [ - "489" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable\",\r\n \"name\": \"azuresdkunittestupdateable\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"creationDate\": \"2019-08-06T23:24:57.9977962Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZS9saXN0Q3JlZGVudGlhbHM/YXBpLXZlcnNpb249MjAxNy0xMC0wMQ==", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "fab1ace9-1f10-47da-97c3-ea11012e9bd8" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1198" - ], - "x-ms-request-id": [ - "ff04bf5a-d695-4e7f-9fa5-100843d4c3a6" - ], - "x-ms-correlation-request-id": [ - "ff04bf5a-d695-4e7f-9fa5-100843d4c3a6" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183938Z:ff04bf5a-d695-4e7f-9fa5-100843d4c3a6" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:38 GMT" - ], - "Content-Length": [ - "182" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittestupdateable\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"NZHS=PRPAui5NO0X4S3iZd6NyhrB4d8h\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"5sx4ISH4wwoHyYGzN/BhKIL691VoEiWx\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/somethingnew/blobs/uploads/?from=doundo%2Fbash&mount=sha256%3A16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39", - "EncodedRequestUri": "L3YyL3NvbWV0aGluZ25ldy9ibG9icy91cGxvYWRzLz9mcm9tPWRvdW5kbyUyRmJhc2gmbW91bnQ9c2hhMjU2JTNBMTY0NjNlMGM0ODFlMTYxYWFiYjczNTQzN2QzMGIzYzljNzM5MWMyNzQ3Y2M1NjRiYjkyN2U4NDNiNzNkY2IzOQ==", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "75d1b453-3c95-49c7-8a53-7b3067399696" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:38 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Location": [ - "/v2/somethingnew/blobs/sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "75d1b453-3c95-49c7-8a53-7b3067399696" - ], - "X-Ms-Correlation-Request-Id": [ - "a29ef31e-3150-4a1e-be97-731c7201cf5f" - ], - "X-Ms-Request-Id": [ - "09bd084e-d3b8-4440-915c-1f8096297333" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 201 - }, - { - "RequestUri": "/v2/somethingnew/blobs/sha256%3A16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39", - "EncodedRequestUri": "L3YyL3NvbWV0aGluZ25ldy9ibG9icy9zaGEyNTYlM0ExNjQ2M2UwYzQ4MWUxNjFhYWJiNzM1NDM3ZDMwYjNjOWM3MzkxYzI3NDdjYzU2NGJiOTI3ZTg0M2I3M2RjYjM5", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "a056fc1f-c771-4086-9e60-d61335117265" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Accept-Ranges": [ - "bytes" - ], - "ETag": [ - "\"0x8D71AC5A9F38362\"" - ], - "Server": [ - "Windows-Azure-Blob/1.0", - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-request-id": [ - "3d112e7c-e01e-006a-0350-63e64f000000" - ], - "x-ms-version": [ - "2016-05-31" - ], - "x-ms-lease-status": [ - "unlocked" - ], - "x-ms-lease-state": [ - "available" - ], - "x-ms-blob-type": [ - "AppendBlob" - ], - "x-ms-blob-committed-block-count": [ - "1" - ], - "x-ms-copy-id": [ - "0398c9bc-e99f-496e-b62c-c346defdf32f" - ], - "x-ms-copy-source": [ - "https://wusmanaged189.blob.core.windows.net/0bc8c11d4bf343ef9a06cffce9aae568-bbrnyvvx3o//docker/registry/v2/repositories/doundo/bash/_uploads/7a74af79-ab70-40db-ab17-d12c3ddf0746/data" - ], - "x-ms-copy-status": [ - "success" - ], - "x-ms-copy-progress": [ - "5635/5635" - ], - "x-ms-copy-completion-time": [ - "Tue, 06 Aug 2019 23:27:34 GMT" - ], - "x-ms-server-encrypted": [ - "true" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:38 GMT" - ], - "Content-Length": [ - "5635" - ], - "Content-Type": [ - "application/octet-stream" - ], - "Last-Modified": [ - "Tue, 06 Aug 2019 23:27:35 GMT" - ] - }, - "ResponseBody": "eyJhcmNoaXRlY3R1cmUiOiJhbWQ2NCIsImNvbmZpZyI6eyJIb3N0bmFtZSI6IiIsIkRvbWFpbm5hbWUiOiIiLCJVc2VyIjoiIiwiQXR0YWNoU3RkaW4iOmZhbHNlLCJBdHRhY2hTdGRvdXQiOmZhbHNlLCJBdHRhY2hTdGRlcnIiOmZhbHNlLCJUdHkiOmZhbHNlLCJPcGVuU3RkaW4iOmZhbHNlLCJTdGRpbk9uY2UiOmZhbHNlLCJFbnYiOlsiUEFUSD0vdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW4iLCJfQkFTSF9HUEdfS0VZPTdDMDEzNUZCMDg4QUFGNkM2NkM2NTBCOUJCNTg2OUYwNjRFQTc0QUIiLCJfQkFTSF9WRVJTSU9OPTUuMCIsIl9CQVNIX1BBVENIX0xFVkVMPTAiLCJfQkFTSF9MQVRFU1RfUEFUQ0g9NyJdLCJDbWQiOlsiYmFzaCJdLCJBcmdzRXNjYXBlZCI6dHJ1ZSwiSW1hZ2UiOiJzaGEyNTY6MzhhZDJmYmM5ZjljMGE4N2RmZTBhMmIxOWJkY2E5NGJlNDVmNDY2M2Y3M2ZkMDlmZWZlZTQ5MmFmZDJjMDE0NCIsIlZvbHVtZXMiOm51bGwsIldvcmtpbmdEaXIiOiIiLCJFbnRyeXBvaW50IjpbImRvY2tlci1lbnRyeXBvaW50LnNoIl0sIk9uQnVpbGQiOm51bGwsIkxhYmVscyI6bnVsbH0sImNvbnRhaW5lciI6IjRiMDU0NmZhNDlkZjVkY2FlZDViNjYzNzE3ZjQ0MmNlZjcxYTFiOTVjMGZmYjQyYzhjNWNlNzIzMWI5MGMwMjYiLCJjb250YWluZXJfY29uZmlnIjp7Ikhvc3RuYW1lIjoiNGIwNTQ2ZmE0OWRmIiwiRG9tYWlubmFtZSI6IiIsIlVzZXIiOiIiLCJBdHRhY2hTdGRpbiI6ZmFsc2UsIkF0dGFjaFN0ZG91dCI6ZmFsc2UsIkF0dGFjaFN0ZGVyciI6ZmFsc2UsIlR0eSI6ZmFsc2UsIk9wZW5TdGRpbiI6ZmFsc2UsIlN0ZGluT25jZSI6ZmFsc2UsIkVudiI6WyJQQVRIPS91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL3NiaW46L3Vzci9iaW46L3NiaW46L2JpbiIsIl9CQVNIX0dQR19LRVk9N0MwMTM1RkIwODhBQUY2QzY2QzY1MEI5QkI1ODY5RjA2NEVBNzRBQiIsIl9CQVNIX1ZFUlNJT049NS4wIiwiX0JBU0hfUEFUQ0hfTEVWRUw9MCIsIl9CQVNIX0xBVEVTVF9QQVRDSD03Il0sIkNtZCI6WyIvYmluL3NoIiwiLWMiLCIjKG5vcCkgIiwiQ01EIFtcImJhc2hcIl0iXSwiQXJnc0VzY2FwZWQiOnRydWUsIkltYWdlIjoic2hhMjU2OjM4YWQyZmJjOWY5YzBhODdkZmUwYTJiMTliZGNhOTRiZTQ1ZjQ2NjNmNzNmZDA5ZmVmZWU0OTJhZmQyYzAxNDQiLCJWb2x1bWVzIjpudWxsLCJXb3JraW5nRGlyIjoiIiwiRW50cnlwb2ludCI6WyJkb2NrZXItZW50cnlwb2ludC5zaCJdLCJPbkJ1aWxkIjpudWxsLCJMYWJlbHMiOnt9fSwiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTY6MDYuNTI3NTE1OTAyWiIsImRvY2tlcl92ZXJzaW9uIjoiMTguMDYuMS1jZSIsImhpc3RvcnkiOlt7ImNyZWF0ZWQiOiIyMDE5LTA3LTExVDIyOjIwOjUyLjEzOTcwOTM1NVoiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgQUREIGZpbGU6MGViNWVhMzU3NDFkMjNmZTM5Y2JhYzI0NWIzYTVkODQ4NTZlZDYzODRmNGZmMDdkNDk2MzY5ZWU2ZDk2MGJhZCBpbiAvICJ9LHsiY3JlYXRlZCI6IjIwMTktMDctMTFUMjI6MjA6NTIuMzc1Mjg2NDA0WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgQ01EIFtcIi9iaW4vc2hcIl0iLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNToxMy41Njc2Njk4MTJaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBFTlYgX0JBU0hfR1BHX0tFWT03QzAxMzVGQjA4OEFBRjZDNjZDNjUwQjlCQjU4NjlGMDY0RUE3NEFCIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTU6MTMuNzQ1NjUyMDk4WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5WIF9CQVNIX1ZFUlNJT049NS4wIiwiZW1wdHlfbGF5ZXIiOnRydWV9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTU6MTMuOTQwNDU1NDE5WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5WIF9CQVNIX1BBVENIX0xFVkVMPTAiLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNToxNC4wOTkzMDAwNzVaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgIyhub3ApICBFTlYgX0JBU0hfTEFURVNUX1BBVENIPTciLCJlbXB0eV9sYXllciI6dHJ1ZX0seyJjcmVhdGVkIjoiMjAxOS0wNy0xM1QwMToxNjowNS45Mjg0MjkyNjJaIiwiY3JlYXRlZF9ieSI6Ii9iaW4vc2ggLWMgc2V0IC1ldXg7IFx0XHRhcGsgYWRkIC0tbm8tY2FjaGUgLS12aXJ0dWFsIC5idWlsZC1kZXBzIFx0XHRiaXNvbiBcdFx0Y29yZXV0aWxzIFx0XHRkcGtnLWRldiBkcGtnIFx0XHRnY2MgXHRcdGdudXBnIFx0XHRsaWJjLWRldiBcdFx0bWFrZSBcdFx0bmN1cnNlcy1kZXYgXHRcdHBhdGNoIFx0XHR0YXIgXHQ7IFx0XHR2ZXJzaW9uPVwiJF9CQVNIX1ZFUlNJT05cIjsgXHRpZiBbIFwiJF9CQVNIX1BBVENIX0xFVkVMXCIgLWd0IDAgXTsgdGhlbiBcdFx0dmVyc2lvbj1cIiR2ZXJzaW9uLiRfQkFTSF9QQVRDSF9MRVZFTFwiOyBcdGZpOyBcdHdnZXQgLU8gYmFzaC50YXIuZ3ogXCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJHZlcnNpb24udGFyLmd6XCI7IFx0d2dldCAtTyBiYXNoLnRhci5nei5zaWcgXCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJHZlcnNpb24udGFyLmd6LnNpZ1wiOyBcdFx0aWYgWyBcIiRfQkFTSF9MQVRFU1RfUEFUQ0hcIiAtZ3QgXCIkX0JBU0hfUEFUQ0hfTEVWRUxcIiBdOyB0aGVuIFx0XHRta2RpciAtcCBiYXNoLXBhdGNoZXM7IFx0XHRmaXJzdD1cIiQocHJpbnRmICclMDNkJyBcIiQoKCBfQkFTSF9QQVRDSF9MRVZFTCArIDEgKSlcIilcIjsgXHRcdGxhc3Q9XCIkKHByaW50ZiAnJTAzZCcgXCIkX0JBU0hfTEFURVNUX1BBVENIXCIpXCI7IFx0XHRmb3IgcGF0Y2ggaW4gJChzZXEgLXcgXCIkZmlyc3RcIiBcIiRsYXN0XCIpOyBkbyBcdFx0XHR1cmw9XCJodHRwczovL2Z0cC5nbnUub3JnL2dudS9iYXNoL2Jhc2gtJF9CQVNIX1ZFUlNJT04tcGF0Y2hlcy9iYXNoJHtfQkFTSF9WRVJTSU9OLy8uL30tJHBhdGNoXCI7IFx0XHRcdHdnZXQgLU8gXCJiYXNoLXBhdGNoZXMvJHBhdGNoXCIgXCIkdXJsXCI7IFx0XHRcdHdnZXQgLU8gXCJiYXNoLXBhdGNoZXMvJHBhdGNoLnNpZ1wiIFwiJHVybC5zaWdcIjsgXHRcdGRvbmU7IFx0Zmk7IFx0XHRleHBvcnQgR05VUEdIT01FPVwiJChta3RlbXAgLWQpXCI7IFx0Z3BnIC0tYmF0Y2ggLS1rZXlzZXJ2ZXIgaGEucG9vbC5za3Mta2V5c2VydmVycy5uZXQgLS1yZWN2LWtleXMgXCIkX0JBU0hfR1BHX0tFWVwiOyBcdGdwZyAtLWJhdGNoIC0tdmVyaWZ5IGJhc2gudGFyLmd6LnNpZyBiYXNoLnRhci5nejsgXHRncGdjb25mIC0ta2lsbCBhbGw7IFx0cm0gYmFzaC50YXIuZ3ouc2lnOyBcdGlmIFsgLWQgYmFzaC1wYXRjaGVzIF07IHRoZW4gXHRcdGZvciBzaWcgaW4gYmFzaC1wYXRjaGVzLyouc2lnOyBkbyBcdFx0XHRwPVwiJHtzaWclLnNpZ31cIjsgXHRcdFx0Z3BnIC0tYmF0Y2ggLS12ZXJpZnkgXCIkc2lnXCIgXCIkcFwiOyBcdFx0XHRybSBcIiRzaWdcIjsgXHRcdGRvbmU7IFx0Zmk7IFx0cm0gLXJmIFwiJEdOVVBHSE9NRVwiOyBcdFx0bWtkaXIgLXAgL3Vzci9zcmMvYmFzaDsgXHR0YXIgXHRcdC0tZXh0cmFjdCBcdFx0LS1maWxlPWJhc2gudGFyLmd6IFx0XHQtLXN0cmlwLWNvbXBvbmVudHM9MSBcdFx0LS1kaXJlY3Rvcnk9L3Vzci9zcmMvYmFzaCBcdDsgXHRybSBiYXNoLnRhci5nejsgXHRcdGlmIFsgLWQgYmFzaC1wYXRjaGVzIF07IHRoZW4gXHRcdGZvciBwIGluIGJhc2gtcGF0Y2hlcy8qOyBkbyBcdFx0XHRwYXRjaCBcdFx0XHRcdC0tZGlyZWN0b3J5PS91c3Ivc3JjL2Jhc2ggXHRcdFx0XHQtLWlucHV0PVwiJChyZWFkbGluayAtZiBcIiRwXCIpXCIgXHRcdFx0XHQtLXN0cmlwPTAgXHRcdFx0OyBcdFx0XHRybSBcIiRwXCI7IFx0XHRkb25lOyBcdFx0cm1kaXIgYmFzaC1wYXRjaGVzOyBcdGZpOyBcdFx0Y2QgL3Vzci9zcmMvYmFzaDsgXHRnbnVBcmNoPVwiJChkcGtnLWFyY2hpdGVjdHVyZSAtLXF1ZXJ5IERFQl9CVUlMRF9HTlVfVFlQRSlcIjsgXHQuL2NvbmZpZ3VyZSBcdFx0LS1idWlsZD1cIiRnbnVBcmNoXCIgXHRcdC0tZW5hYmxlLXJlYWRsaW5lIFx0XHQtLXdpdGgtY3Vyc2VzIFx0XHQtLXdpdGhvdXQtYmFzaC1tYWxsb2MgXHR8fCB7IFx0XHRjYXQgXHUwMDNlXHUwMDI2MiBjb25maWcubG9nOyBcdFx0ZmFsc2U7IFx0fTsgXHRtYWtlIC1qIFwiJChucHJvYylcIjsgXHRtYWtlIGluc3RhbGw7IFx0Y2QgLzsgXHRybSAtciAvdXNyL3NyYy9iYXNoOyBcdFx0cm0gLXIgXHRcdC91c3IvbG9jYWwvc2hhcmUvZG9jL2Jhc2gvKi5odG1sIFx0XHQvdXNyL2xvY2FsL3NoYXJlL2luZm8gXHRcdC91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIFx0XHQvdXNyL2xvY2FsL3NoYXJlL21hbiBcdDsgXHRcdHJ1bkRlcHM9XCIkKCBcdFx0c2NhbmVsZiAtLW5lZWRlZCAtLW5vYmFubmVyIC0tZm9ybWF0ICclbiNwJyAtLXJlY3Vyc2l2ZSAvdXNyL2xvY2FsIFx0XHRcdHwgdHIgJywnICdcXG4nIFx0XHRcdHwgc29ydCAtdSBcdFx0XHR8IGF3ayAnc3lzdGVtKFwiWyAtZSAvdXNyL2xvY2FsL2xpYi9cIiAkMSBcIiBdXCIpID09IDAgeyBuZXh0IH0geyBwcmludCBcInNvOlwiICQxIH0nIFx0KVwiOyBcdGFwayBhZGQgLS1uby1jYWNoZSAtLXZpcnR1YWwgLmJhc2gtcnVuZGVwcyAkcnVuRGVwczsgXHRhcGsgZGVsIC5idWlsZC1kZXBzOyBcdFx0WyBcIiQod2hpY2ggYmFzaClcIiA9ICcvdXNyL2xvY2FsL2Jpbi9iYXNoJyBdOyBcdGJhc2ggLS12ZXJzaW9uOyBcdFsgXCIkKGJhc2ggLWMgJ2VjaG8gXCIke0JBU0hfVkVSU0lPTiUlW14wLTkuXSp9XCInKVwiID0gXCIke19CQVNIX1ZFUlNJT04lJS0qfS4kX0JBU0hfTEFURVNUX1BBVENIXCIgXTsifSx7ImNyZWF0ZWQiOiIyMDE5LTA3LTEzVDAxOjE2OjA2LjE2NDEyODQxMloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgQ09QWSBmaWxlOjY1MWIzYmViZWJhOGJlOTE2MmM1NmIzZWI1NjExOTk5MDUyMzVmM2UxYzc4MTEyMzJiNmM5ZjQ4YWMzMzM2NTEgaW4gL3Vzci9sb2NhbC9iaW4vICJ9LHsiY3JlYXRlZCI6IjIwMTktMDctMTNUMDE6MTY6MDYuMzE5Mzc1ODg0WiIsImNyZWF0ZWRfYnkiOiIvYmluL3NoIC1jICMobm9wKSAgRU5UUllQT0lOVCBbXCJkb2NrZXItZW50cnlwb2ludC5zaFwiXSIsImVtcHR5X2xheWVyIjp0cnVlfSx7ImNyZWF0ZWQiOiIyMDE5LTA3LTEzVDAxOjE2OjA2LjUyNzUxNTkwMloiLCJjcmVhdGVkX2J5IjoiL2Jpbi9zaCAtYyAjKG5vcCkgIENNRCBbXCJiYXNoXCJdIiwiZW1wdHlfbGF5ZXIiOnRydWV9XSwib3MiOiJsaW51eCIsInJvb3RmcyI6eyJ0eXBlIjoibGF5ZXJzIiwiZGlmZl9pZHMiOlsic2hhMjU2OjFiZmVlYmQ2NTMyM2I4ZGRmNWJkNmE1MWNjNzA5N2I3Mjc4OGJjOTgyZTlhYjMyODBkNTNkM2M2MTNhZGZmYTciLCJzaGEyNTY6NDgzYzk4MGFjNmFiZjYzZmM0ZDcyNjJiMTdhMTk1NGQ2MjI2NmRhYzMwMjliNWJlMzg0ZDAzYjM5MjI5ODAzZSIsInNoYTI1Njo1ZjVmOTNhOTMzMDUyMTBhOTZjYzQxN2Y1NzlkNzBhNDk2YmJmMGRiOGU4MGVhMWU5NDM2NjgyYzM3OWYyNWQ5Il19fQ==", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/UploadLayerNext.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/UploadLayerNext.json deleted file mode 100644 index 05ec7d3e116a..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/BlobTests/UploadLayerNext.json +++ /dev/null @@ -1,429 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "fa4e79d7-3212-4e11-acd0-eafeeb08649d" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "a86ec20f-905a-4e68-a8a9-960760a7e3d9" - ], - "x-ms-correlation-request-id": [ - "a86ec20f-905a-4e68-a8a9-960760a7e3d9" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183940Z:a86ec20f-905a-4e68-a8a9-960760a7e3d9" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:39 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "9f5aec19-934b-4b57-98ab-33a8d05798a5" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "e7cf4abe-9f26-4645-9ee1-32cebf89ce95" - ], - "x-ms-correlation-request-id": [ - "e7cf4abe-9f26-4645-9ee1-32cebf89ce95" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183940Z:e7cf4abe-9f26-4645-9ee1-32cebf89ce95" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:39 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/blobland/blobs/uploads/", - "EncodedRequestUri": "L3YyL2Jsb2JsYW5kL2Jsb2JzL3VwbG9hZHMv", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "17c6dc93-67ad-4d29-ae24-8a9cf9c43f06" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:40 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Docker-Upload-Uuid": [ - "da622e80-9dc5-4155-9253-38b69d0966d6" - ], - "Location": [ - "/v2/blobland/blobs/uploads/da622e80-9dc5-4155-9253-38b69d0966d6?_nouploadcache=false&_state=DFayhKNpipsNDtfD05tW4Rcv4Eg6cFyfCxWZ8T7oCd57Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiJkYTYyMmU4MC05ZGM1LTQxNTUtOTI1My0zOGI2OWQwOTY2ZDYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDktMDRUMTg6Mzk6NDAuMjg5MzA0NjQxWiJ9" - ], - "Range": [ - "0-0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "17c6dc93-67ad-4d29-ae24-8a9cf9c43f06" - ], - "X-Ms-Correlation-Request-Id": [ - "b41b8f6c-8da0-4d8f-b3a7-0711234b4aff" - ], - "X-Ms-Request-Id": [ - "c95ff0f9-34d4-4958-9770-22dcf53ad864" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 202 - }, - { - "RequestUri": "/v2/blobland/blobs/uploads/da622e80-9dc5-4155-9253-38b69d0966d6?_nouploadcache=false&_state=DFayhKNpipsNDtfD05tW4Rcv4Eg6cFyfCxWZ8T7oCd57Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiJkYTYyMmU4MC05ZGM1LTQxNTUtOTI1My0zOGI2OWQwOTY2ZDYiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTktMDktMDRUMTg6Mzk6NDAuMjg5MzA0NjQxWiJ9", - "EncodedRequestUri": "L3YyL2Jsb2JsYW5kL2Jsb2JzL3VwbG9hZHMvZGE2MjJlODAtOWRjNS00MTU1LTkyNTMtMzhiNjlkMDk2NmQ2P19ub3VwbG9hZGNhY2hlPWZhbHNlJl9zdGF0ZT1ERmF5aEtOcGlwc05EdGZEMDV0VzRSY3Y0RWc2Y0Z5ZkN4V1o4VDdvQ2Q1N0lrNWhiV1VpT2lKaWJHOWliR0Z1WkNJc0lsVlZTVVFpT2lKa1lUWXlNbVU0TUMwNVpHTTFMVFF4TlRVdE9USTFNeTB6T0dJMk9XUXdPVFkyWkRZaUxDSlBabVp6WlhRaU9qQXNJbE4wWVhKMFpXUkJkQ0k2SWpJd01Ua3RNRGt0TURSVU1UZzZNems2TkRBdU1qZzVNekEwTmpReFdpSjk=", - "RequestMethod": "PATCH", - "RequestBody": "U29tZXRoaW5nRWxzZQ==", - "RequestHeaders": { - "x-ms-client-request-id": [ - "f8ed114b-2cc5-4304-a909-8d226edbc9f9" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ], - "Content-Type": [ - "application/octet-stream" - ], - "Content-Length": [ - "13" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:40 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Docker-Upload-Uuid": [ - "da622e80-9dc5-4155-9253-38b69d0966d6" - ], - "Location": [ - "/v2/blobland/blobs/uploads/da622e80-9dc5-4155-9253-38b69d0966d6?_nouploadcache=false&_state=AQ-_qUVtJ-m3QMvJ-SIRf1LiOSTEMdNyX4KoP7FemY97Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiJkYTYyMmU4MC05ZGM1LTQxNTUtOTI1My0zOGI2OWQwOTY2ZDYiLCJPZmZzZXQiOjEzLCJTdGFydGVkQXQiOiIyMDE5LTA5LTA0VDE4OjM5OjQwWiJ9" - ], - "Range": [ - "0-12" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "f8ed114b-2cc5-4304-a909-8d226edbc9f9" - ], - "X-Ms-Correlation-Request-Id": [ - "cd34a33b-c16d-4aee-b238-ff7fffe7e2fe" - ], - "X-Ms-Request-Id": [ - "51ca0a30-770d-487d-a586-5777d1496efb" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 202 - }, - { - "RequestUri": "/v2/blobland/blobs/uploads/da622e80-9dc5-4155-9253-38b69d0966d6?_nouploadcache=false&_state=AQ-_qUVtJ-m3QMvJ-SIRf1LiOSTEMdNyX4KoP7FemY97Ik5hbWUiOiJibG9ibGFuZCIsIlVVSUQiOiJkYTYyMmU4MC05ZGM1LTQxNTUtOTI1My0zOGI2OWQwOTY2ZDYiLCJPZmZzZXQiOjEzLCJTdGFydGVkQXQiOiIyMDE5LTA5LTA0VDE4OjM5OjQwWiJ9&digest=sha256%3Aa05a7abc31b0caadd5058069eaa623cdd0538512dbddacc7ca5bad73c3957c5e", - "EncodedRequestUri": "L3YyL2Jsb2JsYW5kL2Jsb2JzL3VwbG9hZHMvZGE2MjJlODAtOWRjNS00MTU1LTkyNTMtMzhiNjlkMDk2NmQ2P19ub3VwbG9hZGNhY2hlPWZhbHNlJl9zdGF0ZT1BUS1fcVVWdEotbTNRTXZKLVNJUmYxTGlPU1RFTWROeVg0S29QN0ZlbVk5N0lrNWhiV1VpT2lKaWJHOWliR0Z1WkNJc0lsVlZTVVFpT2lKa1lUWXlNbVU0TUMwNVpHTTFMVFF4TlRVdE9USTFNeTB6T0dJMk9XUXdPVFkyWkRZaUxDSlBabVp6WlhRaU9qRXpMQ0pUZEdGeWRHVmtRWFFpT2lJeU1ERTVMVEE1TFRBMFZERTRPak01T2pRd1dpSjkmZGlnZXN0PXNoYTI1NiUzQWEwNWE3YWJjMzFiMGNhYWRkNTA1ODA2OWVhYTYyM2NkZDA1Mzg1MTJkYmRkYWNjN2NhNWJhZDczYzM5NTdjNWU=", - "RequestMethod": "PUT", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "214ba6f9-6640-4f38-8bbc-4b1aad6e5d6b" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:40 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:a05a7abc31b0caadd5058069eaa623cdd0538512dbddacc7ca5bad73c3957c5e" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Location": [ - "/v2/blobland/blobs/sha256:a05a7abc31b0caadd5058069eaa623cdd0538512dbddacc7ca5bad73c3957c5e" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "214ba6f9-6640-4f38-8bbc-4b1aad6e5d6b" - ], - "X-Ms-Correlation-Request-Id": [ - "06a71569-232b-4b20-9355-7a6e7ef401b9" - ], - "X-Ms-Request-Id": [ - "ea96f029-a3cf-45db-ba52-a9ff74f0c1ac" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 201 - }, - { - "RequestUri": "/v2/blobland/blobs/sha256%3Aa05a7abc31b0caadd5058069eaa623cdd0538512dbddacc7ca5bad73c3957c5e", - "EncodedRequestUri": "L3YyL2Jsb2JsYW5kL2Jsb2JzL3NoYTI1NiUzQWEwNWE3YWJjMzFiMGNhYWRkNTA1ODA2OWVhYTYyM2NkZDA1Mzg1MTJkYmRkYWNjN2NhNWJhZDczYzM5NTdjNWU=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "7b821589-ef08-471b-960c-4c49b22843fa" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Accept-Ranges": [ - "bytes" - ], - "ETag": [ - "\"0x8D731673EFEC8D5\"" - ], - "Server": [ - "Windows-Azure-Blob/1.0", - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-request-id": [ - "fe5ced6d-601e-00fa-7850-639c26000000" - ], - "x-ms-version": [ - "2016-05-31" - ], - "x-ms-lease-status": [ - "unlocked" - ], - "x-ms-lease-state": [ - "available" - ], - "x-ms-blob-type": [ - "AppendBlob" - ], - "x-ms-blob-committed-block-count": [ - "1" - ], - "x-ms-copy-id": [ - "e53ec0c8-36bd-4174-ab2d-aa01a8f914f0" - ], - "x-ms-copy-source": [ - "https://wusmanaged21.blob.core.windows.net/02156b439fcd43f1890fdfa4fcd260f1-hfwdwqwndv//docker/registry/v2/repositories/blobland/_uploads/c2237700-67b0-414a-b420-27a7fe93f954/data" - ], - "x-ms-copy-status": [ - "success" - ], - "x-ms-copy-progress": [ - "13/13" - ], - "x-ms-copy-completion-time": [ - "Mon, 26 Aug 2019 22:04:45 GMT" - ], - "x-ms-server-encrypted": [ - "true" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:39 GMT" - ], - "Content-Length": [ - "13" - ], - "Content-Type": [ - "application/octet-stream" - ], - "Last-Modified": [ - "Wed, 04 Sep 2019 18:39:40 GMT" - ] - }, - "ResponseBody": "U29tZXRoaW5nRWxzZQ==", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/CreateAndDeleteManifest.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/CreateAndDeleteManifest.json deleted file mode 100644 index 333afdc3abeb..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/CreateAndDeleteManifest.json +++ /dev/null @@ -1,399 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZT9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "18913cec-0a41-4f05-9e45-5ad92f41efcb" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "29542ec9-c85f-4f67-9c1e-fa3d9d4ab5a0" - ], - "x-ms-correlation-request-id": [ - "29542ec9-c85f-4f67-9c1e-fa3d9d4ab5a0" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183922Z:29542ec9-c85f-4f67-9c1e-fa3d9d4ab5a0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:22 GMT" - ], - "Content-Length": [ - "489" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable\",\r\n \"name\": \"azuresdkunittestupdateable\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"creationDate\": \"2019-08-06T23:24:57.9977962Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZS9saXN0Q3JlZGVudGlhbHM/YXBpLXZlcnNpb249MjAxNy0xMC0wMQ==", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "b8c09c8c-36ad-4101-96cc-b6fb055e90ae" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "39cd54eb-a9dc-4199-850c-004c4698225a" - ], - "x-ms-correlation-request-id": [ - "39cd54eb-a9dc-4199-850c-004c4698225a" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183922Z:39cd54eb-a9dc-4199-850c-004c4698225a" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:22 GMT" - ], - "Content-Length": [ - "182" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittestupdateable\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"NZHS=PRPAui5NO0X4S3iZd6NyhrB4d8h\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"5sx4ISH4wwoHyYGzN/BhKIL691VoEiWx\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/doundo%2Fbash/manifests/temporary", - "EncodedRequestUri": "L3YyL2RvdW5kbyUyRmJhc2gvbWFuaWZlc3RzL3RlbXBvcmFyeQ==", - "RequestMethod": "PUT", - "RequestBody": "{\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"config\": {\r\n \"mediaType\": \"application/vnd.docker.container.image.v1+json\",\r\n \"size\": 5635,\r\n \"digest\": \"sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39\"\r\n },\r\n \"layers\": [\r\n {\r\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\r\n \"size\": 2789742,\r\n \"digest\": \"sha256:0503825856099e6adb39c8297af09547f69684b7016b7f3680ed801aa310baaa\"\r\n },\r\n {\r\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\r\n \"size\": 3174556,\r\n \"digest\": \"sha256:7bf5420b55e6bbefb64ddb4fbb98ef094866f3a3facda638a155715ab6002d9b\"\r\n },\r\n {\r\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\r\n \"size\": 344,\r\n \"digest\": \"sha256:1beb2aaf8cf93eacf658fa7f7f10f89ccec1838d1ac643a273345d4d0bc813a8\"\r\n }\r\n ],\r\n \"schemaVersion\": 2\r\n}", - "RequestHeaders": { - "x-ms-client-request-id": [ - "28d03b88-8699-487d-b738-e0a9bc3e3a25" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ], - "Content-Type": [ - "application/vnd.docker.distribution.manifest.v2+json" - ], - "Content-Length": [ - "920" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:23 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:e9bf142ca148d37d4d60b2735a26237b2cfc1bf3711d248fc837346182d64264" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Location": [ - "/v2/doundo/bash/manifests/sha256:e9bf142ca148d37d4d60b2735a26237b2cfc1bf3711d248fc837346182d64264" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "28d03b88-8699-487d-b738-e0a9bc3e3a25" - ], - "X-Ms-Correlation-Request-Id": [ - "54533a60-957d-4dd9-805a-614d139ed323" - ], - "X-Ms-Request-Id": [ - "9a0b876e-862b-45da-8a15-acce9fd19223" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 201 - }, - { - "RequestUri": "/v2/doundo%2Fbash/manifests/temporary", - "EncodedRequestUri": "L3YyL2RvdW5kbyUyRmJhc2gvbWFuaWZlc3RzL3RlbXBvcmFyeQ==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "acd68008-1cf6-4126-b1bc-27e419edbef8" - ], - "Accept": [ - "application/vnd.docker.distribution.manifest.v2+json" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:23 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:e9bf142ca148d37d4d60b2735a26237b2cfc1bf3711d248fc837346182d64264" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "ETag": [ - "\"sha256:e9bf142ca148d37d4d60b2735a26237b2cfc1bf3711d248fc837346182d64264\"" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "acd68008-1cf6-4126-b1bc-27e419edbef8" - ], - "X-Ms-Correlation-Request-Id": [ - "c99e520f-4390-49a0-b33a-c4d940796a05" - ], - "X-Ms-Request-Id": [ - "98a83782-5198-4ff5-8caf-03e1f9a0d60d" - ], - "Content-Type": [ - "application/vnd.docker.distribution.manifest.v2+json" - ], - "Content-Length": [ - "920" - ] - }, - "ResponseBody": "{\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"config\": {\r\n \"mediaType\": \"application/vnd.docker.container.image.v1+json\",\r\n \"size\": 5635,\r\n \"digest\": \"sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39\"\r\n },\r\n \"layers\": [\r\n {\r\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\r\n \"size\": 2789742,\r\n \"digest\": \"sha256:0503825856099e6adb39c8297af09547f69684b7016b7f3680ed801aa310baaa\"\r\n },\r\n {\r\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\r\n \"size\": 3174556,\r\n \"digest\": \"sha256:7bf5420b55e6bbefb64ddb4fbb98ef094866f3a3facda638a155715ab6002d9b\"\r\n },\r\n {\r\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\r\n \"size\": 344,\r\n \"digest\": \"sha256:1beb2aaf8cf93eacf658fa7f7f10f89ccec1838d1ac643a273345d4d0bc813a8\"\r\n }\r\n ],\r\n \"schemaVersion\": 2\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/doundo%2Fbash/_tags/temporary", - "EncodedRequestUri": "L2Fjci92MS9kb3VuZG8lMkZiYXNoL190YWdzL3RlbXBvcmFyeQ==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "c1a10c6b-631c-4e6e-a6dc-90f38d135ad1" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:23 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "92096a2c-bc1d-40de-ab7d-d02a15cdb9d4" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "401" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"imageName\": \"doundo/bash\",\r\n \"tag\": {\r\n \"name\": \"temporary\",\r\n \"digest\": \"sha256:e9bf142ca148d37d4d60b2735a26237b2cfc1bf3711d248fc837346182d64264\",\r\n \"createdTime\": \"2019-09-04T18:39:23.6596656Z\",\r\n \"lastUpdateTime\": \"2019-09-04T18:39:23.6596656Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/doundo%2Fbash/manifests/sha256%3Ae9bf142ca148d37d4d60b2735a26237b2cfc1bf3711d248fc837346182d64264", - "EncodedRequestUri": "L3YyL2RvdW5kbyUyRmJhc2gvbWFuaWZlc3RzL3NoYTI1NiUzQWU5YmYxNDJjYTE0OGQzN2Q0ZDYwYjI3MzVhMjYyMzdiMmNmYzFiZjM3MTFkMjQ4ZmM4MzczNDYxODJkNjQyNjQ=", - "RequestMethod": "DELETE", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "339b7d43-ac31-4600-ab33-e85aa5096c02" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:24 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "339b7d43-ac31-4600-ab33-e85aa5096c02" - ], - "X-Ms-Correlation-Request-Id": [ - "1325c202-6dd9-48f1-b2e5-70800d160764" - ], - "X-Ms-Request-Id": [ - "95252d79-e7f2-4923-9848-b3926fbbdec9" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 202 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/CreateManifestList.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/CreateManifestList.json deleted file mode 100644 index c00efd73332e..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/CreateManifestList.json +++ /dev/null @@ -1,280 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "514b0726-f8b3-43b4-bbc9-2d04bb3eea4c" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "ef4793b7-0985-4bc9-ac8f-9dd57d94ef7f" - ], - "x-ms-correlation-request-id": [ - "ef4793b7-0985-4bc9-ac8f-9dd57d94ef7f" - ], - "x-ms-routing-request-id": [ - "SOUTHAFRICANORTH:20201207T102830Z:ef4793b7-0985-4bc9-ac8f-9dd57d94ef7f" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Mon, 07 Dec 2020 10:28:29 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "8a7fbb0a-aa0a-4117-a3e4-bd8ca3e3c947" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "1dfbabd0-87e9-4b93-9d2b-876e7627e18b" - ], - "x-ms-correlation-request-id": [ - "1dfbabd0-87e9-4b93-9d2b-876e7627e18b" - ], - "x-ms-routing-request-id": [ - "SOUTHAFRICANORTH:20201207T102831Z:1dfbabd0-87e9-4b93-9d2b-876e7627e18b" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Mon, 07 Dec 2020 10:28:31 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ccswPG/Y0OTXd3m8ZhBsnuZojLVSlql+\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"9i/WBxz4VBOkFBq=2P8sTqC+hUG+5Oz7\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/multi-hello-world/manifests/test-manifest-list", - "EncodedRequestUri": "L3YyL211bHRpLWhlbGxvLXdvcmxkL21hbmlmZXN0cy90ZXN0LW1hbmlmZXN0LWxpc3Q=", - "RequestMethod": "PUT", - "RequestBody": "{\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.list.v2+json\",\r\n \"manifests\": [\r\n {\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"size\": 528,\r\n \"digest\": \"sha256:4b36b0347b2c6b02adc54a3d8e8143299e7c733b4dcadb95c1d4c8b6da720172\",\r\n \"platform\": {\r\n \"architecture\": \"amd64\",\r\n \"os\": \"linux\"\r\n }\r\n },\r\n {\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"size\": 838,\r\n \"digest\": \"sha256:2542c76d5ba87f9923ebcc6711677a2167dedf33e382f61a97772ae35106274d\",\r\n \"platform\": {\r\n \"architecture\": \"amd64\",\r\n \"os\": \"windows\",\r\n \"os.version\": \"10.0.18362.295\"\r\n }\r\n }\r\n ],\r\n \"schemaVersion\": 2\r\n}", - "RequestHeaders": { - "x-ms-client-request-id": [ - "62b8060a-f822-4116-ace3-234f4b7cb567" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/1.0.0.0" - ], - "Content-Type": [ - "application/vnd.docker.distribution.manifest.list.v2+json" - ], - "Content-Length": [ - "749" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Mon, 07 Dec 2020 10:28:33 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:8269f937dbe108d31d320a91a2dacac5da6cc83ce6af8e915830b8158c9775c2" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Location": [ - "/v2/multi-hello-world/manifests/sha256:8269f937dbe108d31d320a91a2dacac5da6cc83ce6af8e915830b8158c9775c2" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "62b8060a-f822-4116-ace3-234f4b7cb567" - ], - "X-Ms-Correlation-Request-Id": [ - "61d7347b-ff86-48cb-ab80-3cadf29256a5" - ], - "X-Ms-Request-Id": [ - "84b74dcc-85e3-4131-a816-83c0b92fdaed" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 201 - }, - { - "RequestUri": "/v2/multi-hello-world/manifests/test-manifest-list", - "EncodedRequestUri": "L3YyL211bHRpLWhlbGxvLXdvcmxkL21hbmlmZXN0cy90ZXN0LW1hbmlmZXN0LWxpc3Q=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "b54375a3-6618-4419-8d1e-8c1bf51c2da4" - ], - "Accept": [ - "application/vnd.docker.distribution.manifest.list.v2+json" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/1.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Mon, 07 Dec 2020 10:28:33 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:8269f937dbe108d31d320a91a2dacac5da6cc83ce6af8e915830b8158c9775c2" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "ETag": [ - "\"sha256:8269f937dbe108d31d320a91a2dacac5da6cc83ce6af8e915830b8158c9775c2\"" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "b54375a3-6618-4419-8d1e-8c1bf51c2da4" - ], - "X-Ms-Correlation-Request-Id": [ - "08b49ae1-d4d6-4d30-b404-cb7ceccc9050" - ], - "X-Ms-Request-Id": [ - "4349702b-f42f-4815-a0b1-7d3eacd1d448" - ], - "Content-Type": [ - "application/vnd.docker.distribution.manifest.list.v2+json" - ], - "Content-Length": [ - "749" - ] - }, - "ResponseBody": "{\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.list.v2+json\",\r\n \"manifests\": [\r\n {\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"size\": 528,\r\n \"digest\": \"sha256:4b36b0347b2c6b02adc54a3d8e8143299e7c733b4dcadb95c1d4c8b6da720172\",\r\n \"platform\": {\r\n \"architecture\": \"amd64\",\r\n \"os\": \"linux\"\r\n }\r\n },\r\n {\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"size\": 838,\r\n \"digest\": \"sha256:2542c76d5ba87f9923ebcc6711677a2167dedf33e382f61a97772ae35106274d\",\r\n \"platform\": {\r\n \"architecture\": \"amd64\",\r\n \"os\": \"windows\",\r\n \"os.version\": \"10.0.18362.295\"\r\n }\r\n }\r\n ],\r\n \"schemaVersion\": 2\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/CreateOCIIndex.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/CreateOCIIndex.json deleted file mode 100644 index 4514981e9832..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/CreateOCIIndex.json +++ /dev/null @@ -1,280 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "8e096094-522f-46d8-a128-8d0c11a318de" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11998" - ], - "x-ms-request-id": [ - "58f818ef-74f4-4b0f-ac54-13cbcd145da8" - ], - "x-ms-correlation-request-id": [ - "58f818ef-74f4-4b0f-ac54-13cbcd145da8" - ], - "x-ms-routing-request-id": [ - "SOUTHAFRICANORTH:20201207T102808Z:58f818ef-74f4-4b0f-ac54-13cbcd145da8" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Mon, 07 Dec 2020 10:28:07 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "23bf3c51-ea68-425b-9d54-01878c86c52b" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1198" - ], - "x-ms-request-id": [ - "48beb30c-85d2-4483-8f4f-b9da95648a77" - ], - "x-ms-correlation-request-id": [ - "48beb30c-85d2-4483-8f4f-b9da95648a77" - ], - "x-ms-routing-request-id": [ - "SOUTHAFRICANORTH:20201207T102809Z:48beb30c-85d2-4483-8f4f-b9da95648a77" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Mon, 07 Dec 2020 10:28:08 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ccswPG/Y0OTXd3m8ZhBsnuZojLVSlql+\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"9i/WBxz4VBOkFBq=2P8sTqC+hUG+5Oz7\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/multi-hello-world/manifests/oci-index-put", - "EncodedRequestUri": "L3YyL211bHRpLWhlbGxvLXdvcmxkL21hbmlmZXN0cy9vY2ktaW5kZXgtcHV0", - "RequestMethod": "PUT", - "RequestBody": "ew0KICAibWFuaWZlc3RzIjogWw0KICAgIHsNCiAgICAgICJtZWRpYVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmRvY2tlci5kaXN0cmlidXRpb24ubWFuaWZlc3QudjIranNvbiIsDQogICAgICAic2l6ZSI6IDUyOCwNCiAgICAgICJkaWdlc3QiOiAic2hhMjU2OjRiMzZiMDM0N2IyYzZiMDJhZGM1NGEzZDhlODE0MzI5OWU3YzczM2I0ZGNhZGI5NWMxZDRjOGI2ZGE3MjAxNzIiLA0KICAgICAgInBsYXRmb3JtIjogew0KICAgICAgICAiYXJjaGl0ZWN0dXJlIjogImFtZDY0IiwNCiAgICAgICAgIm9zIjogImxpbnV4Ig0KICAgICAgfQ0KICAgIH0sDQogICAgew0KICAgICAgIm1lZGlhVHlwZSI6ICJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmRpc3RyaWJ1dGlvbi5tYW5pZmVzdC52Mitqc29uIiwNCiAgICAgICJzaXplIjogODM4LA0KICAgICAgImRpZ2VzdCI6ICJzaGEyNTY6MjU0MmM3NmQ1YmE4N2Y5OTIzZWJjYzY3MTE2NzdhMjE2N2RlZGYzM2UzODJmNjFhOTc3NzJhZTM1MTA2Mjc0ZCIsDQogICAgICAicGxhdGZvcm0iOiB7DQogICAgICAgICJhcmNoaXRlY3R1cmUiOiAiYW1kNjQiLA0KICAgICAgICAib3MiOiAid2luZG93cyIsDQogICAgICAgICJvcy52ZXJzaW9uIjogIjEwLjAuMTgzNjIuMjk1Ig0KICAgICAgfQ0KICAgIH0NCiAgXSwNCiAgImFubm90YXRpb25zIjogew0KICAgICJjb20uZXhhbXBsZS5rZXkxIjogInZhbHVlMSIsDQogICAgImNvbS5leGFtcGxlLmtleTIiOiAidmFsdWUyIg0KICB9LA0KICAibWVkaWFUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5vY2kuaW1hZ2UuaW5kZXgudjEranNvbiIsDQogICJzY2hlbWFWZXJzaW9uIjogMg0KfQ==", - "RequestHeaders": { - "x-ms-client-request-id": [ - "54da0415-067e-4d1d-bcf1-334f92f38188" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/1.0.0.0" - ], - "Content-Type": [ - "application/vnd.oci.image.index.v1+json" - ], - "Content-Length": [ - "826" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Mon, 07 Dec 2020 10:28:12 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:7995b7c61c453b2a2e5a8e64464fd2512befac28d700dc63106d3d8b918d2d1e" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Location": [ - "/v2/multi-hello-world/manifests/sha256:7995b7c61c453b2a2e5a8e64464fd2512befac28d700dc63106d3d8b918d2d1e" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "54da0415-067e-4d1d-bcf1-334f92f38188" - ], - "X-Ms-Correlation-Request-Id": [ - "a73904f6-222f-4c46-9171-5ad83484e200" - ], - "X-Ms-Request-Id": [ - "05dde8e4-07ba-4ceb-9b4c-fc50993b94f3" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 201 - }, - { - "RequestUri": "/v2/multi-hello-world/manifests/oci-index-put", - "EncodedRequestUri": "L3YyL211bHRpLWhlbGxvLXdvcmxkL21hbmlmZXN0cy9vY2ktaW5kZXgtcHV0", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "0e5658cf-be8c-4cc4-9752-92e617014444" - ], - "Accept": [ - "application/vnd.oci.image.index.v1+json" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/1.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Mon, 07 Dec 2020 10:28:13 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:7995b7c61c453b2a2e5a8e64464fd2512befac28d700dc63106d3d8b918d2d1e" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "ETag": [ - "\"sha256:7995b7c61c453b2a2e5a8e64464fd2512befac28d700dc63106d3d8b918d2d1e\"" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "0e5658cf-be8c-4cc4-9752-92e617014444" - ], - "X-Ms-Correlation-Request-Id": [ - "6e7a392a-1690-4ec7-85fb-0c9c5526ffc7" - ], - "X-Ms-Request-Id": [ - "4e526788-a479-4051-b9ad-d1029f7a01aa" - ], - "Content-Type": [ - "application/vnd.oci.image.index.v1+json" - ], - "Content-Length": [ - "826" - ] - }, - "ResponseBody": "ew0KICAibWFuaWZlc3RzIjogWw0KICAgIHsNCiAgICAgICJtZWRpYVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmRvY2tlci5kaXN0cmlidXRpb24ubWFuaWZlc3QudjIranNvbiIsDQogICAgICAic2l6ZSI6IDUyOCwNCiAgICAgICJkaWdlc3QiOiAic2hhMjU2OjRiMzZiMDM0N2IyYzZiMDJhZGM1NGEzZDhlODE0MzI5OWU3YzczM2I0ZGNhZGI5NWMxZDRjOGI2ZGE3MjAxNzIiLA0KICAgICAgInBsYXRmb3JtIjogew0KICAgICAgICAiYXJjaGl0ZWN0dXJlIjogImFtZDY0IiwNCiAgICAgICAgIm9zIjogImxpbnV4Ig0KICAgICAgfQ0KICAgIH0sDQogICAgew0KICAgICAgIm1lZGlhVHlwZSI6ICJhcHBsaWNhdGlvbi92bmQuZG9ja2VyLmRpc3RyaWJ1dGlvbi5tYW5pZmVzdC52Mitqc29uIiwNCiAgICAgICJzaXplIjogODM4LA0KICAgICAgImRpZ2VzdCI6ICJzaGEyNTY6MjU0MmM3NmQ1YmE4N2Y5OTIzZWJjYzY3MTE2NzdhMjE2N2RlZGYzM2UzODJmNjFhOTc3NzJhZTM1MTA2Mjc0ZCIsDQogICAgICAicGxhdGZvcm0iOiB7DQogICAgICAgICJhcmNoaXRlY3R1cmUiOiAiYW1kNjQiLA0KICAgICAgICAib3MiOiAid2luZG93cyIsDQogICAgICAgICJvcy52ZXJzaW9uIjogIjEwLjAuMTgzNjIuMjk1Ig0KICAgICAgfQ0KICAgIH0NCiAgXSwNCiAgImFubm90YXRpb25zIjogew0KICAgICJjb20uZXhhbXBsZS5rZXkxIjogInZhbHVlMSIsDQogICAgImNvbS5leGFtcGxlLmtleTIiOiAidmFsdWUyIg0KICB9LA0KICAibWVkaWFUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5vY2kuaW1hZ2UuaW5kZXgudjEranNvbiIsDQogICJzY2hlbWFWZXJzaW9uIjogMg0KfQ==", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/CreateOCIManifest.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/CreateOCIManifest.json deleted file mode 100644 index f5bd8ee33dbd..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/CreateOCIManifest.json +++ /dev/null @@ -1,280 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "ad42abd9-e1fd-476b-ac5e-ebe6852d55dc" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "c746eac9-cbab-480a-9a4c-b97ad94699ab" - ], - "x-ms-correlation-request-id": [ - "c746eac9-cbab-480a-9a4c-b97ad94699ab" - ], - "x-ms-routing-request-id": [ - "SOUTHAFRICANORTH:20201207T102838Z:c746eac9-cbab-480a-9a4c-b97ad94699ab" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Mon, 07 Dec 2020 10:28:38 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "16005494-0582-4135-b1bb-4b078a3e8af9" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "1dbaccb8-307c-4a6b-80a5-8b94d6fa60d1" - ], - "x-ms-correlation-request-id": [ - "1dbaccb8-307c-4a6b-80a5-8b94d6fa60d1" - ], - "x-ms-routing-request-id": [ - "SOUTHAFRICANORTH:20201207T102839Z:1dbaccb8-307c-4a6b-80a5-8b94d6fa60d1" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Mon, 07 Dec 2020 10:28:39 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ccswPG/Y0OTXd3m8ZhBsnuZojLVSlql+\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"9i/WBxz4VBOkFBq=2P8sTqC+hUG+5Oz7\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/oras/manifests/test-put-ociManifest", - "EncodedRequestUri": "L3YyL29yYXMvbWFuaWZlc3RzL3Rlc3QtcHV0LW9jaU1hbmlmZXN0", - "RequestMethod": "PUT", - "RequestBody": "ew0KICAiY29uZmlnIjogew0KICAgICJtZWRpYVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLm9jaS5pbWFnZS5jb25maWcudjEranNvbiIsDQogICAgInNpemUiOiAyLA0KICAgICJkaWdlc3QiOiAic2hhMjU2OjQ0MTM2ZmEzNTViMzY3OGExMTQ2YWQxNmY3ZTg2NDllOTRmYjRmYzIxZmU3N2U4MzEwYzA2MGY2MWNhYWZmOGEiDQogIH0sDQogICJsYXllcnMiOiBbDQogICAgew0KICAgICAgIm1lZGlhVHlwZSI6ICJhcHBsaWNhdGlvbi92bmQub2NpLmltYWdlLmxheWVyLnYxLnRhcitnemlwIiwNCiAgICAgICJzaXplIjogMjM2MDA0LA0KICAgICAgImRpZ2VzdCI6ICJzaGEyNTY6MmQxZmI3NmMxMGU4MDVjZjNkOGQxMzBhMjkyMWI4OTcyMWJjODM4Njc4NTVhYTQ2MDg4MTFmNTdjMDM1OTllYSIsDQogICAgICAiYW5ub3RhdGlvbnMiOiB7DQogICAgICAgICJvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudGl0bGUiOiAiLiIsDQogICAgICAgICJpby5kZWlzLm9yYXMuY29udGVudC5kaWdlc3QiOiAic2hhMjU2OmQ0ZDNiZGEzZTY0YmJjMWQ4NTUwYTZlZDhkMDkzMjRhMzlhNzVjODY4N2FiNWY2ZTA2YjJlOWJhZWUyOWEwMGMiLA0KICAgICAgICAiaW8uZGVpcy5vcmFzLmNvbnRlbnQudW5wYWNrIjogInRydWUiDQogICAgICB9DQogICAgfQ0KICBdLA0KICAibWVkaWFUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5vY2kuaW1hZ2UubWFuaWZlc3QudjEranNvbiIsDQogICJzY2hlbWFWZXJzaW9uIjogMg0KfQ==", - "RequestHeaders": { - "x-ms-client-request-id": [ - "aab07ed6-92d2-45ea-9dfb-73e7e165d04b" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/1.0.0.0" - ], - "Content-Type": [ - "application/vnd.oci.image.manifest.v1+json" - ], - "Content-Length": [ - "736" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Mon, 07 Dec 2020 10:28:43 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:9406b396769770fa388f8933abc12bb933bf2abe40641eaaa11b9d9520057164" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Location": [ - "/v2/oras/manifests/sha256:9406b396769770fa388f8933abc12bb933bf2abe40641eaaa11b9d9520057164" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "aab07ed6-92d2-45ea-9dfb-73e7e165d04b" - ], - "X-Ms-Correlation-Request-Id": [ - "e0ea09f7-afb8-4d94-b53a-e76e85a2c432" - ], - "X-Ms-Request-Id": [ - "21ffc211-cbe0-4fe3-9b41-5407f540a766" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 201 - }, - { - "RequestUri": "/v2/oras/manifests/test-put-ociManifest", - "EncodedRequestUri": "L3YyL29yYXMvbWFuaWZlc3RzL3Rlc3QtcHV0LW9jaU1hbmlmZXN0", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "daf3a674-fb06-4af5-96ce-d497796232fd" - ], - "Accept": [ - "application/vnd.oci.image.manifest.v1+json" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/1.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Mon, 07 Dec 2020 10:28:43 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:9406b396769770fa388f8933abc12bb933bf2abe40641eaaa11b9d9520057164" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "ETag": [ - "\"sha256:9406b396769770fa388f8933abc12bb933bf2abe40641eaaa11b9d9520057164\"" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "daf3a674-fb06-4af5-96ce-d497796232fd" - ], - "X-Ms-Correlation-Request-Id": [ - "954413a1-a987-48e9-a013-c0cff9378fb5" - ], - "X-Ms-Request-Id": [ - "951df621-4983-4495-8961-22c06ab6d628" - ], - "Content-Type": [ - "application/vnd.oci.image.manifest.v1+json" - ], - "Content-Length": [ - "736" - ] - }, - "ResponseBody": "ew0KICAiY29uZmlnIjogew0KICAgICJtZWRpYVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLm9jaS5pbWFnZS5jb25maWcudjEranNvbiIsDQogICAgInNpemUiOiAyLA0KICAgICJkaWdlc3QiOiAic2hhMjU2OjQ0MTM2ZmEzNTViMzY3OGExMTQ2YWQxNmY3ZTg2NDllOTRmYjRmYzIxZmU3N2U4MzEwYzA2MGY2MWNhYWZmOGEiDQogIH0sDQogICJsYXllcnMiOiBbDQogICAgew0KICAgICAgIm1lZGlhVHlwZSI6ICJhcHBsaWNhdGlvbi92bmQub2NpLmltYWdlLmxheWVyLnYxLnRhcitnemlwIiwNCiAgICAgICJzaXplIjogMjM2MDA0LA0KICAgICAgImRpZ2VzdCI6ICJzaGEyNTY6MmQxZmI3NmMxMGU4MDVjZjNkOGQxMzBhMjkyMWI4OTcyMWJjODM4Njc4NTVhYTQ2MDg4MTFmNTdjMDM1OTllYSIsDQogICAgICAiYW5ub3RhdGlvbnMiOiB7DQogICAgICAgICJvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudGl0bGUiOiAiLiIsDQogICAgICAgICJpby5kZWlzLm9yYXMuY29udGVudC5kaWdlc3QiOiAic2hhMjU2OmQ0ZDNiZGEzZTY0YmJjMWQ4NTUwYTZlZDhkMDkzMjRhMzlhNzVjODY4N2FiNWY2ZTA2YjJlOWJhZWUyOWEwMGMiLA0KICAgICAgICAiaW8uZGVpcy5vcmFzLmNvbnRlbnQudW5wYWNrIjogInRydWUiDQogICAgICB9DQogICAgfQ0KICBdLA0KICAibWVkaWFUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5vY2kuaW1hZ2UubWFuaWZlc3QudjEranNvbiIsDQogICJzY2hlbWFWZXJzaW9uIjogMg0KfQ==", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetAcrManifestAttributes.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetAcrManifestAttributes.json deleted file mode 100644 index e72232686768..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetAcrManifestAttributes.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "07b0f149-9598-4521-8106-9634a69de6f2" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "f1e798f2-0a26-4f24-b0a0-24f81bc18187" - ], - "x-ms-correlation-request-id": [ - "f1e798f2-0a26-4f24-b0a0-24f81bc18187" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183926Z:f1e798f2-0a26-4f24-b0a0-24f81bc18187" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:26 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "62d8e0a5-054f-4252-a29b-1a0ae8e15f40" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "89d1eb6d-9b7f-495f-8544-a5005c6a4179" - ], - "x-ms-correlation-request-id": [ - "89d1eb6d-9b7f-495f-8544-a5005c6a4179" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183926Z:89d1eb6d-9b7f-495f-8544-a5005c6a4179" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:26 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/prod%2Fbash/_manifests/sha256%3Adbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8", - "EncodedRequestUri": "L2Fjci92MS9wcm9kJTJGYmFzaC9fbWFuaWZlc3RzL3NoYTI1NiUzQWRiZWZkM2M1ODNhMjI2ZGRjZWYwMjUzNmNkNzYxZDJkODZkYzdlNmYyMWM1M2Y4Mzk1NzczNmQ2MjQ2ZTllZDg=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "fcb3349c-2709-458c-9ffc-70183e42a54e" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:26 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "904c0a25-fae8-4537-bd87-5520d007e334" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "568" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittest.azurecr.io\",\r\n \"imageName\": \"prod/bash\",\r\n \"manifest\": {\r\n \"digest\": \"sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8\",\r\n \"imageSize\": 5964642,\r\n \"createdTime\": \"2019-08-01T22:49:11.2001712Z\",\r\n \"lastUpdateTime\": \"2019-08-01T22:49:11.2001712Z\",\r\n \"architecture\": \"amd64\",\r\n \"os\": \"linux\",\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"configMediaType\": \"application/vnd.docker.container.image.v1+json\",\r\n \"tags\": [\r\n \"latest\"\r\n ],\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n }\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetAcrManifests.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetAcrManifests.json deleted file mode 100644 index aa46a14289f0..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetAcrManifests.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "0546a70b-d7ee-43b8-905c-f5061ba8c1c1" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "6d4900d1-1975-4713-88a9-c10fca5a37fe" - ], - "x-ms-correlation-request-id": [ - "6d4900d1-1975-4713-88a9-c10fca5a37fe" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183927Z:6d4900d1-1975-4713-88a9-c10fca5a37fe" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:26 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "ed26096d-c847-4443-a556-b5218091d8db" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "a5c66c16-32d3-4308-b6a8-5c8b64fede6a" - ], - "x-ms-correlation-request-id": [ - "a5c66c16-32d3-4308-b6a8-5c8b64fede6a" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183927Z:a5c66c16-32d3-4308-b6a8-5c8b64fede6a" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:27 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/prod%2Fbash/_manifests", - "EncodedRequestUri": "L2Fjci92MS9wcm9kJTJGYmFzaC9fbWFuaWZlc3Rz", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "4f18dd8b-af62-4b12-8f2d-8742ef04baa7" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:27 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "4a37d46f-7d67-4e63-a940-3468900c8761" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "1057" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittest.azurecr.io\",\r\n \"imageName\": \"prod/bash\",\r\n \"manifests\": [\r\n {\r\n \"digest\": \"sha256:3dfea53d16f8241fd606f8ceda4c8779ffae8e6b5e32c96e00f931de874ec709\",\r\n \"imageSize\": 0,\r\n \"createdTime\": \"2019-08-06T19:25:00.1548857Z\",\r\n \"lastUpdateTime\": \"2019-08-06T19:25:00.1548857Z\",\r\n \"architecture\": \"amd64\",\r\n \"os\": \"linux\",\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"configMediaType\": \"application/vnd.docker.container.image.v1+json\",\r\n \"tags\": [\r\n \"brandnew\"\r\n ],\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"digest\": \"sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8\",\r\n \"imageSize\": 5964642,\r\n \"createdTime\": \"2019-08-01T22:49:11.2001712Z\",\r\n \"lastUpdateTime\": \"2019-08-01T22:49:11.2001712Z\",\r\n \"architecture\": \"amd64\",\r\n \"os\": \"linux\",\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"configMediaType\": \"application/vnd.docker.container.image.v1+json\",\r\n \"tags\": [\r\n \"latest\"\r\n ],\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n }\r\n ]\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetManifestList.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetManifestList.json deleted file mode 100644 index 0da28c44578a..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetManifestList.json +++ /dev/null @@ -1,207 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "6228d81b-34c0-475a-818f-349d8a7a6f9e" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11997" - ], - "x-ms-request-id": [ - "c8c34f93-e58f-497a-a8d8-b5a81eb7a2d1" - ], - "x-ms-correlation-request-id": [ - "c8c34f93-e58f-497a-a8d8-b5a81eb7a2d1" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183929Z:c8c34f93-e58f-497a-a8d8-b5a81eb7a2d1" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:28 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "5b473a5f-2d02-46d6-966e-8a686245b387" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "dec444bf-c15d-4203-9784-810420db71db" - ], - "x-ms-correlation-request-id": [ - "dec444bf-c15d-4203-9784-810420db71db" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183929Z:dec444bf-c15d-4203-9784-810420db71db" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:28 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/multi-hello-world/manifests/latest", - "EncodedRequestUri": "L3YyL211bHRpLWhlbGxvLXdvcmxkL21hbmlmZXN0cy9sYXRlc3Q=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "20929bf6-e9b5-4550-82e7-96b39537cf0b" - ], - "Accept": [ - "application/vnd.docker.distribution.manifest.list.v2+json" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:29 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:6e406c4cd25fdaaf6d9c4b51b47357978a749336535631b8166acc882c9d6f2b" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "ETag": [ - "\"sha256:6e406c4cd25fdaaf6d9c4b51b47357978a749336535631b8166acc882c9d6f2b\"" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "20929bf6-e9b5-4550-82e7-96b39537cf0b" - ], - "X-Ms-Correlation-Request-Id": [ - "08c163f6-23c3-44da-8a6b-cc542caca5aa" - ], - "X-Ms-Request-Id": [ - "0a6ed81f-9cbc-4873-9558-27dded8f941b" - ], - "Content-Type": [ - "application/vnd.docker.distribution.manifest.list.v2+json" - ], - "Content-Length": [ - "787" - ] - }, - "ResponseBody": "{\r\n \"schemaVersion\": 2,\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.list.v2+json\",\r\n \"manifests\": [\r\n {\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"size\": 528,\r\n \"digest\": \"sha256:4b36b0347b2c6b02adc54a3d8e8143299e7c733b4dcadb95c1d4c8b6da720172\",\r\n \"platform\": {\r\n \"architecture\": \"amd64\",\r\n \"os\": \"linux\"\r\n }\r\n },\r\n {\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"size\": 838,\r\n \"digest\": \"sha256:2542c76d5ba87f9923ebcc6711677a2167dedf33e382f61a97772ae35106274d\",\r\n \"platform\": {\r\n \"architecture\": \"amd64\",\r\n \"os\": \"windows\",\r\n \"os.version\": \"10.0.18362.295\"\r\n }\r\n }\r\n ]\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetOCIIndex.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetOCIIndex.json deleted file mode 100644 index 0e622af9c519..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetOCIIndex.json +++ /dev/null @@ -1,207 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "97e38842-1b1d-4966-b080-5c4f7b144164" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "bbcdd523-68ae-4f32-8887-b19b3a8d11bc" - ], - "x-ms-correlation-request-id": [ - "bbcdd523-68ae-4f32-8887-b19b3a8d11bc" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183930Z:bbcdd523-68ae-4f32-8887-b19b3a8d11bc" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:30 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "5ad4b524-8158-4278-99a8-62e9a4a13b20" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "44059563-4597-488e-9ef1-09b4a89164be" - ], - "x-ms-correlation-request-id": [ - "44059563-4597-488e-9ef1-09b4a89164be" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183930Z:44059563-4597-488e-9ef1-09b4a89164be" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:30 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/multi-hello-world/manifests/oci", - "EncodedRequestUri": "L3YyL211bHRpLWhlbGxvLXdvcmxkL21hbmlmZXN0cy9vY2k=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "3198312e-4753-4c3e-8caf-5a9e27f5d569" - ], - "Accept": [ - "application/vnd.oci.image.index.v1+json" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:30 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:04bbf098cf176662986a0ac69d644a818ab30da8d1f9ac21e413c12db7f0046e" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "ETag": [ - "\"sha256:04bbf098cf176662986a0ac69d644a818ab30da8d1f9ac21e413c12db7f0046e\"" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "3198312e-4753-4c3e-8caf-5a9e27f5d569" - ], - "X-Ms-Correlation-Request-Id": [ - "baf22686-9798-4927-afae-b72f04e01725" - ], - "X-Ms-Request-Id": [ - "8c3cf77d-0e1e-4cb7-8b75-4fa12412e6cd" - ], - "Content-Type": [ - "application/vnd.oci.image.index.v1+json" - ], - "Content-Length": [ - "891" - ] - }, - "ResponseBody": "ew0KICAgInNjaGVtYVZlcnNpb24iOiAyLA0KICAgIm1lZGlhVHlwZSIgOiAiYXBwbGljYXRpb24vdm5kLm9jaS5pbWFnZS5pbmRleC52MStqc29uIiwNCiAgICJtYW5pZmVzdHMiOiBbDQogICAgICB7DQogICAgICAgICAibWVkaWFUeXBlIjogImFwcGxpY2F0aW9uL3ZuZC5kb2NrZXIuZGlzdHJpYnV0aW9uLm1hbmlmZXN0LnYyK2pzb24iLA0KICAgICAgICAgInNpemUiOiA1MjgsDQogICAgICAgICAiZGlnZXN0IjogInNoYTI1Njo0YjM2YjAzNDdiMmM2YjAyYWRjNTRhM2Q4ZTgxNDMyOTllN2M3MzNiNGRjYWRiOTVjMWQ0YzhiNmRhNzIwMTcyIiwNCiAgICAgICAgICJwbGF0Zm9ybSI6IHsNCiAgICAgICAgICAgICJhcmNoaXRlY3R1cmUiOiAiYW1kNjQiLA0KICAgICAgICAgICAgIm9zIjogImxpbnV4Ig0KICAgICAgICAgfQ0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgICJtZWRpYVR5cGUiOiAiYXBwbGljYXRpb24vdm5kLmRvY2tlci5kaXN0cmlidXRpb24ubWFuaWZlc3QudjIranNvbiIsDQogICAgICAgICAic2l6ZSI6IDgzOCwNCiAgICAgICAgICJkaWdlc3QiOiAic2hhMjU2OjI1NDJjNzZkNWJhODdmOTkyM2ViY2M2NzExNjc3YTIxNjdkZWRmMzNlMzgyZjYxYTk3NzcyYWUzNTEwNjI3NGQiLA0KICAgICAgICAgInBsYXRmb3JtIjogew0KICAgICAgICAgICAgImFyY2hpdGVjdHVyZSI6ICJhbWQ2NCIsDQogICAgICAgICAgICAib3MiOiAid2luZG93cyIsDQogICAgICAgICAgICAib3MudmVyc2lvbiI6ICIxMC4wLjE4MzYyLjI5NSINCiAgICAgICAgIH0NCiAgICAgIH0NCiAgIF0sDQogICAgImFubm90YXRpb25zIjogew0KICAgICJjb20uZXhhbXBsZS5rZXkxIjogInZhbHVlMSIsDQogICAgImNvbS5leGFtcGxlLmtleTIiOiAidmFsdWUyIg0KICB9DQp9", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetOCIManifest.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetOCIManifest.json deleted file mode 100644 index f08909199a10..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetOCIManifest.json +++ /dev/null @@ -1,207 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "96639765-4218-4ee1-b1e5-d77f9a01613f" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "2e6805f6-8f01-483e-b79f-15291bb68e39" - ], - "x-ms-correlation-request-id": [ - "2e6805f6-8f01-483e-b79f-15291bb68e39" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183921Z:2e6805f6-8f01-483e-b79f-15291bb68e39" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:21 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "cbc70de2-7a11-413c-b88e-426587128908" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "10e06ff1-5730-4c01-8e92-6bf6156cee3c" - ], - "x-ms-correlation-request-id": [ - "10e06ff1-5730-4c01-8e92-6bf6156cee3c" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183922Z:10e06ff1-5730-4c01-8e92-6bf6156cee3c" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:21 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/oras/manifests/latest", - "EncodedRequestUri": "L3YyL29yYXMvbWFuaWZlc3RzL2xhdGVzdA==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "1701e6da-b05d-4c17-8f47-15da00213956" - ], - "Accept": [ - "application/vnd.oci.image.manifest.v1+json" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:22 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:2e9698c149395e9f8f031761ef83a34afdb3aef0074d14b0016323713ab69a07" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "ETag": [ - "\"sha256:2e9698c149395e9f8f031761ef83a34afdb3aef0074d14b0016323713ab69a07\"" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "1701e6da-b05d-4c17-8f47-15da00213956" - ], - "X-Ms-Correlation-Request-Id": [ - "172ef1d1-559e-4e34-8051-6c084d554758" - ], - "X-Ms-Request-Id": [ - "4e6cce51-7549-4eae-b6f3-a5c2c597a7dd" - ], - "Content-Type": [ - "application/vnd.oci.image.manifest.v1+json" - ], - "Content-Length": [ - "539" - ] - }, - "ResponseBody": "eyJzY2hlbWFWZXJzaW9uIjoyLCJjb25maWciOnsibWVkaWFUeXBlIjoiYXBwbGljYXRpb24vdm5kLm9jaS5pbWFnZS5jb25maWcudjEranNvbiIsImRpZ2VzdCI6InNoYTI1Njo0NDEzNmZhMzU1YjM2NzhhMTE0NmFkMTZmN2U4NjQ5ZTk0ZmI0ZmMyMWZlNzdlODMxMGMwNjBmNjFjYWFmZjhhIiwic2l6ZSI6Mn0sImxheWVycyI6W3sibWVkaWFUeXBlIjoiYXBwbGljYXRpb24vdm5kLm9jaS5pbWFnZS5sYXllci52MS50YXIrZ3ppcCIsImRpZ2VzdCI6InNoYTI1NjoyZDFmYjc2YzEwZTgwNWNmM2Q4ZDEzMGEyOTIxYjg5NzIxYmM4Mzg2Nzg1NWFhNDYwODgxMWY1N2MwMzU5OWVhIiwic2l6ZSI6MjM2MDA0LCJhbm5vdGF0aW9ucyI6eyJpby5kZWlzLm9yYXMuY29udGVudC5kaWdlc3QiOiJzaGEyNTY6ZDRkM2JkYTNlNjRiYmMxZDg1NTBhNmVkOGQwOTMyNGEzOWE3NWM4Njg3YWI1ZjZlMDZiMmU5YmFlZTI5YTAwYyIsImlvLmRlaXMub3Jhcy5jb250ZW50LnVucGFjayI6InRydWUiLCJvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudGl0bGUiOiIuIn19XX0=", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetV1Manifest.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetV1Manifest.json deleted file mode 100644 index 47f0eddbdd82..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetV1Manifest.json +++ /dev/null @@ -1,204 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "f613c69e-1b46-4633-b4f7-f09c74d4294d" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "4f2242d8-a341-4342-b4f0-608e34ef15de" - ], - "x-ms-correlation-request-id": [ - "4f2242d8-a341-4342-b4f0-608e34ef15de" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183929Z:4f2242d8-a341-4342-b4f0-608e34ef15de" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:29 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "ca015966-4b67-4955-b081-3c7510acab7b" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "7e95a3d5-5f50-48e4-94c8-71681b7ca162" - ], - "x-ms-correlation-request-id": [ - "7e95a3d5-5f50-48e4-94c8-71681b7ca162" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183929Z:7e95a3d5-5f50-48e4-94c8-71681b7ca162" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:29 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/test%2Fbash/manifests/latest", - "EncodedRequestUri": "L3YyL3Rlc3QlMkZiYXNoL21hbmlmZXN0cy9sYXRlc3Q=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "ae052186-64b6-4762-a04a-c4ed73d0ff32" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:30 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:2d8bb8d85c5ab21523a575e5ccbcb21c72bfa318ab1e5b51c925239af7e63ad0" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "ETag": [ - "\"sha256:2d8bb8d85c5ab21523a575e5ccbcb21c72bfa318ab1e5b51c925239af7e63ad0\"" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "ae052186-64b6-4762-a04a-c4ed73d0ff32" - ], - "X-Ms-Correlation-Request-Id": [ - "c80087dc-9278-4590-b64a-f3fe61cfd949" - ], - "X-Ms-Request-Id": [ - "ea712b8f-bb12-4136-992d-989708d7976d" - ], - "Content-Type": [ - "application/vnd.docker.distribution.manifest.v1+prettyjws" - ], - "Content-Length": [ - "9840" - ] - }, - "ResponseBody": "{\r\n \"schemaVersion\": 1,\r\n \"name\": \"test/bash\",\r\n \"tag\": \"latest\",\r\n \"architecture\": \"amd64\",\r\n \"fsLayers\": [\r\n {\r\n \"blobSum\": \"sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4\"\r\n },\r\n {\r\n \"blobSum\": \"sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4\"\r\n },\r\n {\r\n \"blobSum\": \"sha256:1beb2aaf8cf93eacf658fa7f7f10f89ccec1838d1ac643a273345d4d0bc813a8\"\r\n },\r\n {\r\n \"blobSum\": \"sha256:7bf5420b55e6bbefb64ddb4fbb98ef094866f3a3facda638a155715ab6002d9b\"\r\n },\r\n {\r\n \"blobSum\": \"sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4\"\r\n },\r\n {\r\n \"blobSum\": \"sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4\"\r\n },\r\n {\r\n \"blobSum\": \"sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4\"\r\n },\r\n {\r\n \"blobSum\": \"sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4\"\r\n },\r\n {\r\n \"blobSum\": \"sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4\"\r\n },\r\n {\r\n \"blobSum\": \"sha256:0503825856099e6adb39c8297af09547f69684b7016b7f3680ed801aa310baaa\"\r\n }\r\n ],\r\n \"history\": [\r\n {\r\n \"v1Compatibility\": \"{\\\"architecture\\\":\\\"amd64\\\",\\\"config\\\":{\\\"Hostname\\\":\\\"\\\",\\\"Domainname\\\":\\\"\\\",\\\"User\\\":\\\"\\\",\\\"AttachStdin\\\":false,\\\"AttachStdout\\\":false,\\\"AttachStderr\\\":false,\\\"Tty\\\":false,\\\"OpenStdin\\\":false,\\\"StdinOnce\\\":false,\\\"Env\\\":[\\\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\\\",\\\"_BASH_GPG_KEY=7C0135FB088AAF6C66C650B9BB5869F064EA74AB\\\",\\\"_BASH_VERSION=5.0\\\",\\\"_BASH_PATCH_LEVEL=0\\\",\\\"_BASH_LATEST_PATCH=7\\\"],\\\"Cmd\\\":[\\\"bash\\\"],\\\"ArgsEscaped\\\":true,\\\"Image\\\":\\\"sha256:38ad2fbc9f9c0a87dfe0a2b19bdca94be45f4663f73fd09fefee492afd2c0144\\\",\\\"Volumes\\\":null,\\\"WorkingDir\\\":\\\"\\\",\\\"Entrypoint\\\":[\\\"docker-entrypoint.sh\\\"],\\\"OnBuild\\\":null,\\\"Labels\\\":null},\\\"container\\\":\\\"4b0546fa49df5dcaed5b663717f442cef71a1b95c0ffb42c8c5ce7231b90c026\\\",\\\"container_config\\\":{\\\"Hostname\\\":\\\"4b0546fa49df\\\",\\\"Domainname\\\":\\\"\\\",\\\"User\\\":\\\"\\\",\\\"AttachStdin\\\":false,\\\"AttachStdout\\\":false,\\\"AttachStderr\\\":false,\\\"Tty\\\":false,\\\"OpenStdin\\\":false,\\\"StdinOnce\\\":false,\\\"Env\\\":[\\\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\\\",\\\"_BASH_GPG_KEY=7C0135FB088AAF6C66C650B9BB5869F064EA74AB\\\",\\\"_BASH_VERSION=5.0\\\",\\\"_BASH_PATCH_LEVEL=0\\\",\\\"_BASH_LATEST_PATCH=7\\\"],\\\"Cmd\\\":[\\\"/bin/sh\\\",\\\"-c\\\",\\\"#(nop) \\\",\\\"CMD [\\\\\\\"bash\\\\\\\"]\\\"],\\\"ArgsEscaped\\\":true,\\\"Image\\\":\\\"sha256:38ad2fbc9f9c0a87dfe0a2b19bdca94be45f4663f73fd09fefee492afd2c0144\\\",\\\"Volumes\\\":null,\\\"WorkingDir\\\":\\\"\\\",\\\"Entrypoint\\\":[\\\"docker-entrypoint.sh\\\"],\\\"OnBuild\\\":null,\\\"Labels\\\":{}},\\\"created\\\":\\\"2019-07-13T01:16:06.527515902Z\\\",\\\"docker_version\\\":\\\"18.06.1-ce\\\",\\\"id\\\":\\\"cdd327e549693fe222fe507b20c7ed5c3a5e4993e0130643e9e58a9412696c4d\\\",\\\"os\\\":\\\"linux\\\",\\\"parent\\\":\\\"86618c524a0b974761e4524e869760a53053bfedd45159a51ec197ac61ddb4c4\\\",\\\"throwaway\\\":true}\"\r\n },\r\n {\r\n \"v1Compatibility\": \"{\\\"id\\\":\\\"86618c524a0b974761e4524e869760a53053bfedd45159a51ec197ac61ddb4c4\\\",\\\"parent\\\":\\\"f86921d5a49faba5ebe9ec176bab3f7c26faf027ea2a890ce4a5293d7659b3c8\\\",\\\"created\\\":\\\"2019-07-13T01:16:06.319375884Z\\\",\\\"container_config\\\":{\\\"Cmd\\\":[\\\"/bin/sh -c #(nop) ENTRYPOINT [\\\\\\\"docker-entrypoint.sh\\\\\\\"]\\\"]},\\\"throwaway\\\":true}\"\r\n },\r\n {\r\n \"v1Compatibility\": \"{\\\"id\\\":\\\"f86921d5a49faba5ebe9ec176bab3f7c26faf027ea2a890ce4a5293d7659b3c8\\\",\\\"parent\\\":\\\"fdfa36816bb7dce8b1a03d236a964554ac997f8cc5fc3951c3ce80b9ddc94b4d\\\",\\\"created\\\":\\\"2019-07-13T01:16:06.164128412Z\\\",\\\"container_config\\\":{\\\"Cmd\\\":[\\\"/bin/sh -c #(nop) COPY file:651b3bebeba8be9162c56b3eb561199905235f3e1c7811232b6c9f48ac333651 in /usr/local/bin/ \\\"]}}\"\r\n },\r\n {\r\n \"v1Compatibility\": \"{\\\"id\\\":\\\"fdfa36816bb7dce8b1a03d236a964554ac997f8cc5fc3951c3ce80b9ddc94b4d\\\",\\\"parent\\\":\\\"a868f8920a8ecf03f27df4ec46822d4fcc725647672f4a0f05888fadb7979332\\\",\\\"created\\\":\\\"2019-07-13T01:16:05.928429262Z\\\",\\\"container_config\\\":{\\\"Cmd\\\":[\\\"/bin/sh -c set -eux; \\\\t\\\\tapk add --no-cache --virtual .build-deps \\\\t\\\\tbison \\\\t\\\\tcoreutils \\\\t\\\\tdpkg-dev dpkg \\\\t\\\\tgcc \\\\t\\\\tgnupg \\\\t\\\\tlibc-dev \\\\t\\\\tmake \\\\t\\\\tncurses-dev \\\\t\\\\tpatch \\\\t\\\\ttar \\\\t; \\\\t\\\\tversion=\\\\\\\"$_BASH_VERSION\\\\\\\"; \\\\tif [ \\\\\\\"$_BASH_PATCH_LEVEL\\\\\\\" -gt 0 ]; then \\\\t\\\\tversion=\\\\\\\"$version.$_BASH_PATCH_LEVEL\\\\\\\"; \\\\tfi; \\\\twget -O bash.tar.gz \\\\\\\"https://ftp.gnu.org/gnu/bash/bash-$version.tar.gz\\\\\\\"; \\\\twget -O bash.tar.gz.sig \\\\\\\"https://ftp.gnu.org/gnu/bash/bash-$version.tar.gz.sig\\\\\\\"; \\\\t\\\\tif [ \\\\\\\"$_BASH_LATEST_PATCH\\\\\\\" -gt \\\\\\\"$_BASH_PATCH_LEVEL\\\\\\\" ]; then \\\\t\\\\tmkdir -p bash-patches; \\\\t\\\\tfirst=\\\\\\\"$(printf '%03d' \\\\\\\"$(( _BASH_PATCH_LEVEL + 1 ))\\\\\\\")\\\\\\\"; \\\\t\\\\tlast=\\\\\\\"$(printf '%03d' \\\\\\\"$_BASH_LATEST_PATCH\\\\\\\")\\\\\\\"; \\\\t\\\\tfor patch in $(seq -w \\\\\\\"$first\\\\\\\" \\\\\\\"$last\\\\\\\"); do \\\\t\\\\t\\\\turl=\\\\\\\"https://ftp.gnu.org/gnu/bash/bash-$_BASH_VERSION-patches/bash${_BASH_VERSION//./}-$patch\\\\\\\"; \\\\t\\\\t\\\\twget -O \\\\\\\"bash-patches/$patch\\\\\\\" \\\\\\\"$url\\\\\\\"; \\\\t\\\\t\\\\twget -O \\\\\\\"bash-patches/$patch.sig\\\\\\\" \\\\\\\"$url.sig\\\\\\\"; \\\\t\\\\tdone; \\\\tfi; \\\\t\\\\texport GNUPGHOME=\\\\\\\"$(mktemp -d)\\\\\\\"; \\\\tgpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys \\\\\\\"$_BASH_GPG_KEY\\\\\\\"; \\\\tgpg --batch --verify bash.tar.gz.sig bash.tar.gz; \\\\tgpgconf --kill all; \\\\trm bash.tar.gz.sig; \\\\tif [ -d bash-patches ]; then \\\\t\\\\tfor sig in bash-patches/*.sig; do \\\\t\\\\t\\\\tp=\\\\\\\"${sig%.sig}\\\\\\\"; \\\\t\\\\t\\\\tgpg --batch --verify \\\\\\\"$sig\\\\\\\" \\\\\\\"$p\\\\\\\"; \\\\t\\\\t\\\\trm \\\\\\\"$sig\\\\\\\"; \\\\t\\\\tdone; \\\\tfi; \\\\trm -rf \\\\\\\"$GNUPGHOME\\\\\\\"; \\\\t\\\\tmkdir -p /usr/src/bash; \\\\ttar \\\\t\\\\t--extract \\\\t\\\\t--file=bash.tar.gz \\\\t\\\\t--strip-components=1 \\\\t\\\\t--directory=/usr/src/bash \\\\t; \\\\trm bash.tar.gz; \\\\t\\\\tif [ -d bash-patches ]; then \\\\t\\\\tfor p in bash-patches/*; do \\\\t\\\\t\\\\tpatch \\\\t\\\\t\\\\t\\\\t--directory=/usr/src/bash \\\\t\\\\t\\\\t\\\\t--input=\\\\\\\"$(readlink -f \\\\\\\"$p\\\\\\\")\\\\\\\" \\\\t\\\\t\\\\t\\\\t--strip=0 \\\\t\\\\t\\\\t; \\\\t\\\\t\\\\trm \\\\\\\"$p\\\\\\\"; \\\\t\\\\tdone; \\\\t\\\\trmdir bash-patches; \\\\tfi; \\\\t\\\\tcd /usr/src/bash; \\\\tgnuArch=\\\\\\\"$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)\\\\\\\"; \\\\t./configure \\\\t\\\\t--build=\\\\\\\"$gnuArch\\\\\\\" \\\\t\\\\t--enable-readline \\\\t\\\\t--with-curses \\\\t\\\\t--without-bash-malloc \\\\t|| { \\\\t\\\\tcat \\\\u003e\\\\u00262 config.log; \\\\t\\\\tfalse; \\\\t}; \\\\tmake -j \\\\\\\"$(nproc)\\\\\\\"; \\\\tmake install; \\\\tcd /; \\\\trm -r /usr/src/bash; \\\\t\\\\trm -r \\\\t\\\\t/usr/local/share/doc/bash/*.html \\\\t\\\\t/usr/local/share/info \\\\t\\\\t/usr/local/share/locale \\\\t\\\\t/usr/local/share/man \\\\t; \\\\t\\\\trunDeps=\\\\\\\"$( \\\\t\\\\tscanelf --needed --nobanner --format '%n#p' --recursive /usr/local \\\\t\\\\t\\\\t| tr ',' '\\\\\\\\n' \\\\t\\\\t\\\\t| sort -u \\\\t\\\\t\\\\t| awk 'system(\\\\\\\"[ -e /usr/local/lib/\\\\\\\" $1 \\\\\\\" ]\\\\\\\") == 0 { next } { print \\\\\\\"so:\\\\\\\" $1 }' \\\\t)\\\\\\\"; \\\\tapk add --no-cache --virtual .bash-rundeps $runDeps; \\\\tapk del .build-deps; \\\\t\\\\t[ \\\\\\\"$(which bash)\\\\\\\" = '/usr/local/bin/bash' ]; \\\\tbash --version; \\\\t[ \\\\\\\"$(bash -c 'echo \\\\\\\"${BASH_VERSION%%[^0-9.]*}\\\\\\\"')\\\\\\\" = \\\\\\\"${_BASH_VERSION%%-*}.$_BASH_LATEST_PATCH\\\\\\\" ];\\\"]}}\"\r\n },\r\n {\r\n \"v1Compatibility\": \"{\\\"id\\\":\\\"a868f8920a8ecf03f27df4ec46822d4fcc725647672f4a0f05888fadb7979332\\\",\\\"parent\\\":\\\"52ea5f441a09314108d53a1fffdbd2432f7a6708b43fea16f1a6cc4371593937\\\",\\\"created\\\":\\\"2019-07-13T01:15:14.099300075Z\\\",\\\"container_config\\\":{\\\"Cmd\\\":[\\\"/bin/sh -c #(nop) ENV _BASH_LATEST_PATCH=7\\\"]},\\\"throwaway\\\":true}\"\r\n },\r\n {\r\n \"v1Compatibility\": \"{\\\"id\\\":\\\"52ea5f441a09314108d53a1fffdbd2432f7a6708b43fea16f1a6cc4371593937\\\",\\\"parent\\\":\\\"b6ebed9f2716cd5a747668c66288c5665403c9e51e9f8d51180bc5c433389052\\\",\\\"created\\\":\\\"2019-07-13T01:15:13.940455419Z\\\",\\\"container_config\\\":{\\\"Cmd\\\":[\\\"/bin/sh -c #(nop) ENV _BASH_PATCH_LEVEL=0\\\"]},\\\"throwaway\\\":true}\"\r\n },\r\n {\r\n \"v1Compatibility\": \"{\\\"id\\\":\\\"b6ebed9f2716cd5a747668c66288c5665403c9e51e9f8d51180bc5c433389052\\\",\\\"parent\\\":\\\"e49db6057936a3300c3e470ebac56e96d2da218d53ed5487459d501c88f4cfaa\\\",\\\"created\\\":\\\"2019-07-13T01:15:13.745652098Z\\\",\\\"container_config\\\":{\\\"Cmd\\\":[\\\"/bin/sh -c #(nop) ENV _BASH_VERSION=5.0\\\"]},\\\"throwaway\\\":true}\"\r\n },\r\n {\r\n \"v1Compatibility\": \"{\\\"id\\\":\\\"e49db6057936a3300c3e470ebac56e96d2da218d53ed5487459d501c88f4cfaa\\\",\\\"parent\\\":\\\"d097d7d1c0e7b077bbfcea46f6da56fa7fba28d72a1479ac785a32eb1e36c333\\\",\\\"created\\\":\\\"2019-07-13T01:15:13.567669812Z\\\",\\\"container_config\\\":{\\\"Cmd\\\":[\\\"/bin/sh -c #(nop) ENV _BASH_GPG_KEY=7C0135FB088AAF6C66C650B9BB5869F064EA74AB\\\"]},\\\"throwaway\\\":true}\"\r\n },\r\n {\r\n \"v1Compatibility\": \"{\\\"id\\\":\\\"d097d7d1c0e7b077bbfcea46f6da56fa7fba28d72a1479ac785a32eb1e36c333\\\",\\\"parent\\\":\\\"97bd3cc8bea9669bf96dd307e91be787820a0de9525e9c16aef7286489969f90\\\",\\\"created\\\":\\\"2019-07-11T22:20:52.375286404Z\\\",\\\"container_config\\\":{\\\"Cmd\\\":[\\\"/bin/sh -c #(nop) CMD [\\\\\\\"/bin/sh\\\\\\\"]\\\"]},\\\"throwaway\\\":true}\"\r\n },\r\n {\r\n \"v1Compatibility\": \"{\\\"id\\\":\\\"97bd3cc8bea9669bf96dd307e91be787820a0de9525e9c16aef7286489969f90\\\",\\\"created\\\":\\\"2019-07-11T22:20:52.139709355Z\\\",\\\"container_config\\\":{\\\"Cmd\\\":[\\\"/bin/sh -c #(nop) ADD file:0eb5ea35741d23fe39cbac245b3a5d84856ed6384f4ff07d496369ee6d960bad in / \\\"]}}\"\r\n }\r\n ],\r\n \"signatures\": [\r\n {\r\n \"header\": {\r\n \"jwk\": {\r\n \"crv\": \"P-256\",\r\n \"kid\": \"4TTU:MMCH:SGU3:MT34:BJFE:6KAI:VLHB:MRET:M2OL:4NC2:4LMB:WYEM\",\r\n \"kty\": \"EC\",\r\n \"x\": \"Y3mXw5Z4E1bs9Q7Ag16MXACxnQmFuOAksKxiMBPkD3g\",\r\n \"y\": \"fHTKjrUZUaSsc5BcOZoxEEW-dl23YeFsfcMH9VucEY4\"\r\n },\r\n \"alg\": \"ES256\"\r\n },\r\n \"signature\": \"f4OGGDXhYPMVDvhXuftxUeayYM78a9jPiTUeQTQa_5otALhGhSZvfg1SrGklKHD03pQGF3cuaEO4b73zwSWTAw\",\r\n \"protected\": \"eyJmb3JtYXRMZW5ndGgiOjkxOTMsImZvcm1hdFRhaWwiOiJDbjAiLCJ0aW1lIjoiMjAxOS0wOS0wNFQxODozOTozMFoifQ\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetV2Manifest.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetV2Manifest.json deleted file mode 100644 index a03093d1442f..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/GetV2Manifest.json +++ /dev/null @@ -1,207 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "138ab94e-f92a-4e52-8ba1-ab1bc884c833" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "45985fbe-7176-4e8e-9b99-557e3f7b4d08" - ], - "x-ms-correlation-request-id": [ - "45985fbe-7176-4e8e-9b99-557e3f7b4d08" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183920Z:45985fbe-7176-4e8e-9b99-557e3f7b4d08" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:20 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "67901fd1-b593-4a66-a39c-c8a49b79ae1b" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "1c5a9348-3c8c-4e4b-9da5-6b1ab90b6ab1" - ], - "x-ms-correlation-request-id": [ - "1c5a9348-3c8c-4e4b-9da5-6b1ab90b6ab1" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183920Z:1c5a9348-3c8c-4e4b-9da5-6b1ab90b6ab1" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:20 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/test%2Fbash/manifests/latest", - "EncodedRequestUri": "L3YyL3Rlc3QlMkZiYXNoL21hbmlmZXN0cy9sYXRlc3Q=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "58b8848f-7bde-46c3-a71a-c9c76ec32397" - ], - "Accept": [ - "application/vnd.docker.distribution.manifest.v2+json" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:21 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "ETag": [ - "\"sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8\"" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "58b8848f-7bde-46c3-a71a-c9c76ec32397" - ], - "X-Ms-Correlation-Request-Id": [ - "22995d3c-ec68-406c-82e1-de5b824a1dcc" - ], - "X-Ms-Request-Id": [ - "aa36cb85-080e-4dba-a615-6ef895244717" - ], - "Content-Type": [ - "application/vnd.docker.distribution.manifest.v2+json" - ], - "Content-Length": [ - "946" - ] - }, - "ResponseBody": "{\r\n \"schemaVersion\": 2,\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"config\": {\r\n \"mediaType\": \"application/vnd.docker.container.image.v1+json\",\r\n \"size\": 5635,\r\n \"digest\": \"sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39\"\r\n },\r\n \"layers\": [\r\n {\r\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\r\n \"size\": 2789742,\r\n \"digest\": \"sha256:0503825856099e6adb39c8297af09547f69684b7016b7f3680ed801aa310baaa\"\r\n },\r\n {\r\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\r\n \"size\": 3174556,\r\n \"digest\": \"sha256:7bf5420b55e6bbefb64ddb4fbb98ef094866f3a3facda638a155715ab6002d9b\"\r\n },\r\n {\r\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\r\n \"size\": 344,\r\n \"digest\": \"sha256:1beb2aaf8cf93eacf658fa7f7f10f89ccec1838d1ac643a273345d4d0bc813a8\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/UpdateAcrManifestAttributes.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/UpdateAcrManifestAttributes.json deleted file mode 100644 index 57aa623071f4..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ManifestTests/UpdateAcrManifestAttributes.json +++ /dev/null @@ -1,378 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZT9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "4d813418-3f7e-4c1c-bce8-3673d5f611c4" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "ee403d43-90cb-4300-b38e-ecaf837f5aac" - ], - "x-ms-correlation-request-id": [ - "ee403d43-90cb-4300-b38e-ecaf837f5aac" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183928Z:ee403d43-90cb-4300-b38e-ecaf837f5aac" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:27 GMT" - ], - "Content-Length": [ - "489" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable\",\r\n \"name\": \"azuresdkunittestupdateable\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"creationDate\": \"2019-08-06T23:24:57.9977962Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZS9saXN0Q3JlZGVudGlhbHM/YXBpLXZlcnNpb249MjAxNy0xMC0wMQ==", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "a8e97549-7ec1-4f9c-8b7a-803dbefd4fc7" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "b6dc8170-ed74-422e-96b0-a4512751327f" - ], - "x-ms-correlation-request-id": [ - "b6dc8170-ed74-422e-96b0-a4512751327f" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183928Z:b6dc8170-ed74-422e-96b0-a4512751327f" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:27 GMT" - ], - "Content-Length": [ - "182" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittestupdateable\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"NZHS=PRPAui5NO0X4S3iZd6NyhrB4d8h\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"5sx4ISH4wwoHyYGzN/BhKIL691VoEiWx\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/doundo%2Fbash/_manifests/sha256%3Adbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8", - "EncodedRequestUri": "L2Fjci92MS9kb3VuZG8lMkZiYXNoL19tYW5pZmVzdHMvc2hhMjU2JTNBZGJlZmQzYzU4M2EyMjZkZGNlZjAyNTM2Y2Q3NjFkMmQ4NmRjN2U2ZjIxYzUzZjgzOTU3NzM2ZDYyNDZlOWVkOA==", - "RequestMethod": "PATCH", - "RequestBody": "{\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": false,\r\n \"listEnabled\": true,\r\n \"readEnabled\": true\r\n}", - "RequestHeaders": { - "x-ms-client-request-id": [ - "8a2a457e-5921-4f29-a349-fbd225fb0a48" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "103" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:28 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "df6ab798-6f0d-4d09-9c1b-7c6074fe1478" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "581" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"imageName\": \"doundo/bash\",\r\n \"manifest\": {\r\n \"digest\": \"sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8\",\r\n \"imageSize\": 5964642,\r\n \"createdTime\": \"2019-08-06T23:27:35.0714076Z\",\r\n \"lastUpdateTime\": \"2019-08-06T23:27:35.0714076Z\",\r\n \"architecture\": \"amd64\",\r\n \"os\": \"linux\",\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"configMediaType\": \"application/vnd.docker.container.image.v1+json\",\r\n \"tags\": [\r\n \"latest\"\r\n ],\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": false,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/doundo%2Fbash/_manifests/sha256%3Adbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8", - "EncodedRequestUri": "L2Fjci92MS9kb3VuZG8lMkZiYXNoL19tYW5pZmVzdHMvc2hhMjU2JTNBZGJlZmQzYzU4M2EyMjZkZGNlZjAyNTM2Y2Q3NjFkMmQ4NmRjN2U2ZjIxYzUzZjgzOTU3NzM2ZDYyNDZlOWVkOA==", - "RequestMethod": "PATCH", - "RequestBody": "{\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"listEnabled\": true,\r\n \"readEnabled\": true\r\n}", - "RequestHeaders": { - "x-ms-client-request-id": [ - "04910022-23a8-44d5-9e06-dd6b630cee5f" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "102" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:28 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "883e3ce7-2bdb-424f-be43-79410fff3165" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "580" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"imageName\": \"doundo/bash\",\r\n \"manifest\": {\r\n \"digest\": \"sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8\",\r\n \"imageSize\": 5964642,\r\n \"createdTime\": \"2019-08-06T23:27:35.0714076Z\",\r\n \"lastUpdateTime\": \"2019-08-06T23:27:35.0714076Z\",\r\n \"architecture\": \"amd64\",\r\n \"os\": \"linux\",\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"configMediaType\": \"application/vnd.docker.container.image.v1+json\",\r\n \"tags\": [\r\n \"latest\"\r\n ],\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/doundo%2Fbash/_manifests/sha256%3Adbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8", - "EncodedRequestUri": "L2Fjci92MS9kb3VuZG8lMkZiYXNoL19tYW5pZmVzdHMvc2hhMjU2JTNBZGJlZmQzYzU4M2EyMjZkZGNlZjAyNTM2Y2Q3NjFkMmQ4NmRjN2U2ZjIxYzUzZjgzOTU3NzM2ZDYyNDZlOWVkOA==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "5b858638-aa24-44a5-b6b5-43b6e10e80c3" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:28 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "883ea03c-014a-4e21-b45a-787a1ea48868" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "581" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"imageName\": \"doundo/bash\",\r\n \"manifest\": {\r\n \"digest\": \"sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8\",\r\n \"imageSize\": 5964642,\r\n \"createdTime\": \"2019-08-06T23:27:35.0714076Z\",\r\n \"lastUpdateTime\": \"2019-08-06T23:27:35.0714076Z\",\r\n \"architecture\": \"amd64\",\r\n \"os\": \"linux\",\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"configMediaType\": \"application/vnd.docker.container.image.v1+json\",\r\n \"tags\": [\r\n \"latest\"\r\n ],\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": false,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/doundo%2Fbash/_manifests/sha256%3Adbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8", - "EncodedRequestUri": "L2Fjci92MS9kb3VuZG8lMkZiYXNoL19tYW5pZmVzdHMvc2hhMjU2JTNBZGJlZmQzYzU4M2EyMjZkZGNlZjAyNTM2Y2Q3NjFkMmQ4NmRjN2U2ZjIxYzUzZjgzOTU3NzM2ZDYyNDZlOWVkOA==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "fed22b48-7436-4c2c-88e6-59dedaca6775" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:28 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "b4b5f89f-af1e-4396-b14b-3b59f73e7e84" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "580" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"imageName\": \"doundo/bash\",\r\n \"manifest\": {\r\n \"digest\": \"sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8\",\r\n \"imageSize\": 5964642,\r\n \"createdTime\": \"2019-08-06T23:27:35.0714076Z\",\r\n \"lastUpdateTime\": \"2019-08-06T23:27:35.0714076Z\",\r\n \"architecture\": \"amd64\",\r\n \"os\": \"linux\",\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"configMediaType\": \"application/vnd.docker.container.image.v1+json\",\r\n \"tags\": [\r\n \"latest\"\r\n ],\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n }\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/RepositoryTests/DeleteAcrRepository.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/RepositoryTests/DeleteAcrRepository.json deleted file mode 100644 index 18ab2605104a..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/RepositoryTests/DeleteAcrRepository.json +++ /dev/null @@ -1,256 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZT9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "f7d5247b-7e29-45d5-8bf7-c8e181b8effe" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11998" - ], - "x-ms-request-id": [ - "34a1b36a-03bc-49c9-8748-56207606e52e" - ], - "x-ms-correlation-request-id": [ - "34a1b36a-03bc-49c9-8748-56207606e52e" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183948Z:34a1b36a-03bc-49c9-8748-56207606e52e" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:48 GMT" - ], - "Content-Length": [ - "489" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable\",\r\n \"name\": \"azuresdkunittestupdateable\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"creationDate\": \"2019-08-06T23:24:57.9977962Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZS9saXN0Q3JlZGVudGlhbHM/YXBpLXZlcnNpb249MjAxNy0xMC0wMQ==", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "26638482-e4f2-4d1e-a4f5-b5531cf49cdb" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1198" - ], - "x-ms-request-id": [ - "cde27cee-02de-4c29-8da4-3a42f82b4f73" - ], - "x-ms-correlation-request-id": [ - "cde27cee-02de-4c29-8da4-3a42f82b4f73" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183948Z:cde27cee-02de-4c29-8da4-3a42f82b4f73" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:48 GMT" - ], - "Content-Length": [ - "182" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittestupdateable\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"NZHS=PRPAui5NO0X4S3iZd6NyhrB4d8h\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"5sx4ISH4wwoHyYGzN/BhKIL691VoEiWx\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/_catalog", - "EncodedRequestUri": "L2Fjci92MS9fY2F0YWxvZw==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "469b17d9-08c6-490a-b42f-425a7ecea16b" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:48 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "3ec9b4ef-8ec4-4e70-9568-75274a812339" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "1374" - ] - }, - "ResponseBody": "{\r\n \"repositories\": [\r\n \"deleteable\",\r\n \"doundo/bash\",\r\n \"hello-world1\",\r\n \"hello-world10\",\r\n \"hello-world100\",\r\n \"hello-world11\",\r\n \"hello-world12\",\r\n \"hello-world13\",\r\n \"hello-world14\",\r\n \"hello-world15\",\r\n \"hello-world16\",\r\n \"hello-world17\",\r\n \"hello-world18\",\r\n \"hello-world19\",\r\n \"hello-world2\",\r\n \"hello-world20\",\r\n \"hello-world21\",\r\n \"hello-world22\",\r\n \"hello-world23\",\r\n \"hello-world24\",\r\n \"hello-world25\",\r\n \"hello-world26\",\r\n \"hello-world27\",\r\n \"hello-world28\",\r\n \"hello-world29\",\r\n \"hello-world3\",\r\n \"hello-world30\",\r\n \"hello-world31\",\r\n \"hello-world32\",\r\n \"hello-world33\",\r\n \"hello-world34\",\r\n \"hello-world35\",\r\n \"hello-world36\",\r\n \"hello-world37\",\r\n \"hello-world38\",\r\n \"hello-world39\",\r\n \"hello-world4\",\r\n \"hello-world40\",\r\n \"hello-world41\",\r\n \"hello-world42\",\r\n \"hello-world43\",\r\n \"hello-world44\",\r\n \"hello-world45\",\r\n \"hello-world46\",\r\n \"hello-world47\",\r\n \"hello-world48\",\r\n \"hello-world49\",\r\n \"hello-world5\",\r\n \"hello-world50\",\r\n \"hello-world51\",\r\n \"hello-world52\",\r\n \"hello-world53\",\r\n \"hello-world54\",\r\n \"hello-world55\",\r\n \"hello-world56\",\r\n \"hello-world57\",\r\n \"hello-world58\",\r\n \"hello-world59\",\r\n \"hello-world6\",\r\n \"hello-world60\",\r\n \"hello-world61\",\r\n \"hello-world62\",\r\n \"hello-world63\",\r\n \"hello-world64\",\r\n \"hello-world65\",\r\n \"hello-world66\",\r\n \"hello-world67\",\r\n \"hello-world68\",\r\n \"hello-world69\",\r\n \"hello-world7\",\r\n \"hello-world70\",\r\n \"hello-world71\",\r\n \"hello-world72\",\r\n \"hello-world73\",\r\n \"hello-world74\",\r\n \"hello-world75\",\r\n \"hello-world76\",\r\n \"hello-world77\",\r\n \"hello-world78\",\r\n \"hello-world79\",\r\n \"hello-world8\",\r\n \"hello-world80\",\r\n \"hello-world81\",\r\n \"hello-world82\",\r\n \"hello-world83\",\r\n \"oras\"\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/hello-world83", - "EncodedRequestUri": "L2Fjci92MS9oZWxsby13b3JsZDgz", - "RequestMethod": "DELETE", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "b82c7bdf-6788-4eb9-ac96-e275b78cfde0" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:49 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "b82c7bdf-6788-4eb9-ac96-e275b78cfde0" - ], - "X-Ms-Correlation-Request-Id": [ - "b9e02d76-ce44-45c8-a884-9a3b47b38b6c" - ], - "X-Ms-Request-Id": [ - "e14ae784-9b36-440b-bc93-313ecc1fca19" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "122" - ] - }, - "ResponseBody": "{\r\n \"manifestsDeleted\": [\r\n \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\"\r\n ],\r\n \"tagsDeleted\": [\r\n \"latest\"\r\n ]\r\n}", - "StatusCode": 202 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/RepositoryTests/GetAcrRepositoryDetails.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/RepositoryTests/GetAcrRepositoryDetails.json deleted file mode 100644 index 5b1b784f2998..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/RepositoryTests/GetAcrRepositoryDetails.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "3a0e4157-cdfe-4160-b9bc-ecbcc13fce12" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "aa424d65-dfe5-4952-92d0-049d3b413a69" - ], - "x-ms-correlation-request-id": [ - "aa424d65-dfe5-4952-92d0-049d3b413a69" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183948Z:aa424d65-dfe5-4952-92d0-049d3b413a69" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:47 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "55c94f41-fb03-4af2-9ff6-9d893e11813e" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "c2594945-49e4-4cd9-b3e1-2b9d491f0c05" - ], - "x-ms-correlation-request-id": [ - "c2594945-49e4-4cd9-b3e1-2b9d491f0c05" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183948Z:c2594945-49e4-4cd9-b3e1-2b9d491f0c05" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:48 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/prod%2Fbash", - "EncodedRequestUri": "L2Fjci92MS9wcm9kJTJGYmFzaA==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "3ad6d4d8-c351-4ef7-a984-ba4deab33d53" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:48 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "f278fc69-7e6d-47c8-9967-52b00270ffc4" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "297" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittest.azurecr.io\",\r\n \"imageName\": \"prod/bash\",\r\n \"createdTime\": \"2019-08-01T22:49:11.1632015Z\",\r\n \"lastUpdateTime\": \"2019-08-06T19:25:00.2004303Z\",\r\n \"manifestCount\": 2,\r\n \"tagCount\": 2,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": false,\r\n \"writeEnabled\": false,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/RepositoryTests/ListRepository.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/RepositoryTests/ListRepository.json deleted file mode 100644 index de87dbb8128b..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/RepositoryTests/ListRepository.json +++ /dev/null @@ -1,253 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "0686c2bc-2b34-472e-8a91-de208661a4db" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11998" - ], - "x-ms-request-id": [ - "7fc7e41e-a1fe-4374-94e0-21be4622666b" - ], - "x-ms-correlation-request-id": [ - "7fc7e41e-a1fe-4374-94e0-21be4622666b" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183947Z:7fc7e41e-a1fe-4374-94e0-21be4622666b" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:46 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "fff3657a-9010-4ab1-932d-5a41320ce52f" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1198" - ], - "x-ms-request-id": [ - "92720a0c-eab3-4497-8fdf-d4138322e09d" - ], - "x-ms-correlation-request-id": [ - "92720a0c-eab3-4497-8fdf-d4138322e09d" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183947Z:92720a0c-eab3-4497-8fdf-d4138322e09d" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:46 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/_catalog?n=1", - "EncodedRequestUri": "L2Fjci92MS9fY2F0YWxvZz9uPTE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "d3d4c4a6-1957-40cc-9142-8ebeee8420cd" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:47 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Link": [ - "; rel=\"next\"" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "d92ed153-a0df-4401-8d71-45caf4310d42" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "39" - ] - }, - "ResponseBody": "{\r\n \"repositories\": [\r\n \"multi-hello-world\"\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/_catalog", - "EncodedRequestUri": "L2Fjci92MS9fY2F0YWxvZw==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "b634c66b-8375-45fe-aeeb-aac41635f95f" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:47 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "2646e54e-e642-4c97-8dd9-686c6ab6368a" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "70" - ] - }, - "ResponseBody": "{\r\n \"repositories\": [\r\n \"multi-hello-world\",\r\n \"oras\",\r\n \"prod/bash\",\r\n \"test/bash\"\r\n ]\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/RepositoryTests/UpdateAcrRepositoryAttributes.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/RepositoryTests/UpdateAcrRepositoryAttributes.json deleted file mode 100644 index f5c7b7afb470..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/RepositoryTests/UpdateAcrRepositoryAttributes.json +++ /dev/null @@ -1,320 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZT9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "2ef6d896-a045-454d-a314-f37ce18aac30" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11997" - ], - "x-ms-request-id": [ - "fa1e6286-2085-4fee-96cb-29fcd48e948b" - ], - "x-ms-correlation-request-id": [ - "fa1e6286-2085-4fee-96cb-29fcd48e948b" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183946Z:fa1e6286-2085-4fee-96cb-29fcd48e948b" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:45 GMT" - ], - "Content-Length": [ - "489" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable\",\r\n \"name\": \"azuresdkunittestupdateable\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"creationDate\": \"2019-08-06T23:24:57.9977962Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZS9saXN0Q3JlZGVudGlhbHM/YXBpLXZlcnNpb249MjAxNy0xMC0wMQ==", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "c06ecc13-1e95-4002-be27-bae51c54beef" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1198" - ], - "x-ms-request-id": [ - "db09829d-ac1e-45c4-a832-b7a652fbfe41" - ], - "x-ms-correlation-request-id": [ - "db09829d-ac1e-45c4-a832-b7a652fbfe41" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183946Z:db09829d-ac1e-45c4-a832-b7a652fbfe41" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:45 GMT" - ], - "Content-Length": [ - "182" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittestupdateable\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"NZHS=PRPAui5NO0X4S3iZd6NyhrB4d8h\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"5sx4ISH4wwoHyYGzN/BhKIL691VoEiWx\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/doundo%2Fbash", - "EncodedRequestUri": "L2Fjci92MS9kb3VuZG8lMkZiYXNo", - "RequestMethod": "PATCH", - "RequestBody": "{\r\n \"deleteEnabled\": false,\r\n \"writeEnabled\": false,\r\n \"listEnabled\": true,\r\n \"readEnabled\": true\r\n}", - "RequestHeaders": { - "x-ms-client-request-id": [ - "1476ab3a-e244-4704-a8e9-b5ca1d77b5fd" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "104" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:46 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "6fdd1ae3-6df0-4827-b4f3-5384d93e877b" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "309" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"imageName\": \"doundo/bash\",\r\n \"createdTime\": \"2019-08-06T23:27:34.9885675Z\",\r\n \"lastUpdateTime\": \"2019-09-04T18:39:24.6715936Z\",\r\n \"manifestCount\": 1,\r\n \"tagCount\": 1,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": false,\r\n \"writeEnabled\": false,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/doundo%2Fbash", - "EncodedRequestUri": "L2Fjci92MS9kb3VuZG8lMkZiYXNo", - "RequestMethod": "PATCH", - "RequestBody": "{\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"listEnabled\": true,\r\n \"readEnabled\": true\r\n}", - "RequestHeaders": { - "x-ms-client-request-id": [ - "608bf6ea-9df3-49f5-bd3e-139452b1ba7d" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "102" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:46 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "fd1eca35-e8f7-4f67-aec4-588d62c34c3f" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "307" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"imageName\": \"doundo/bash\",\r\n \"createdTime\": \"2019-08-06T23:27:34.9885675Z\",\r\n \"lastUpdateTime\": \"2019-09-04T18:39:24.6715936Z\",\r\n \"manifestCount\": 1,\r\n \"tagCount\": 1,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/doundo%2Fbash", - "EncodedRequestUri": "L2Fjci92MS9kb3VuZG8lMkZiYXNo", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "2dd5fb56-1910-4b86-8110-4c867b28c43f" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:46 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "3f299851-5bb4-4b2f-88bd-7d7414a938d1" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "309" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"imageName\": \"doundo/bash\",\r\n \"createdTime\": \"2019-08-06T23:27:34.9885675Z\",\r\n \"lastUpdateTime\": \"2019-09-04T18:39:24.6715936Z\",\r\n \"manifestCount\": 1,\r\n \"tagCount\": 1,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": false,\r\n \"writeEnabled\": false,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ScopeTests/CreateAndGetManifest.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ScopeTests/CreateAndGetManifest.json deleted file mode 100644 index 5f8c039db7e0..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ScopeTests/CreateAndGetManifest.json +++ /dev/null @@ -1,399 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZT9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "4b2f076e-e85e-44e2-a51d-b0698a4b535e" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11996" - ], - "x-ms-request-id": [ - "ff5ddf6e-83e2-4d61-8b07-d5597e564858" - ], - "x-ms-correlation-request-id": [ - "ff5ddf6e-83e2-4d61-8b07-d5597e564858" - ], - "x-ms-routing-request-id": [ - "SOUTHAFRICANORTH:20201217T131400Z:ff5ddf6e-83e2-4d61-8b07-d5597e564858" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 17 Dec 2020 13:13:59 GMT" - ], - "Content-Length": [ - "489" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable\",\r\n \"name\": \"azuresdkunittestupdateable\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"creationDate\": \"2019-08-06T23:24:57.9977962Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZS9saXN0Q3JlZGVudGlhbHM/YXBpLXZlcnNpb249MjAxNy0xMC0wMQ==", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "96d8b360-2a05-45d0-8e1d-4cc1288e2467" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1196" - ], - "x-ms-request-id": [ - "dc3907f6-a963-4c81-b775-0d2a8faa8ded" - ], - "x-ms-correlation-request-id": [ - "dc3907f6-a963-4c81-b775-0d2a8faa8ded" - ], - "x-ms-routing-request-id": [ - "SOUTHAFRICANORTH:20201217T131402Z:dc3907f6-a963-4c81-b775-0d2a8faa8ded" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 17 Dec 2020 13:14:01 GMT" - ], - "Content-Length": [ - "182" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittestupdateable\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"tNqQ0+t2+k/2XYvJtnqBnfyzkP1HqhuR\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"ZVjBq6OaAfkf800R2yU9/mpjuCyRQ4eO\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/doundo%2Fbash/manifests/test-put", - "EncodedRequestUri": "L3YyL2RvdW5kbyUyRmJhc2gvbWFuaWZlc3RzL3Rlc3QtcHV0", - "RequestMethod": "PUT", - "RequestBody": "{\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"config\": {\r\n \"mediaType\": \"application/vnd.docker.container.image.v1+json\",\r\n \"size\": 5635,\r\n \"digest\": \"sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39\"\r\n },\r\n \"layers\": [\r\n {\r\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\r\n \"size\": 2789742,\r\n \"digest\": \"sha256:0503825856099e6adb39c8297af09547f69684b7016b7f3680ed801aa310baaa\"\r\n },\r\n {\r\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\r\n \"size\": 3174556,\r\n \"digest\": \"sha256:7bf5420b55e6bbefb64ddb4fbb98ef094866f3a3facda638a155715ab6002d9b\"\r\n },\r\n {\r\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\r\n \"size\": 344,\r\n \"digest\": \"sha256:1beb2aaf8cf93eacf658fa7f7f10f89ccec1838d1ac643a273345d4d0bc813a8\"\r\n }\r\n ],\r\n \"schemaVersion\": 2\r\n}", - "RequestHeaders": { - "x-ms-client-request-id": [ - "bd36006b-c30c-4a1e-90a0-9fc88749fb0c" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/1.0.0.0" - ], - "Content-Type": [ - "application/vnd.docker.distribution.manifest.v2+json" - ], - "Content-Length": [ - "920" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Thu, 17 Dec 2020 13:14:05 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:e9bf142ca148d37d4d60b2735a26237b2cfc1bf3711d248fc837346182d64264" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Location": [ - "/v2/doundo/bash/manifests/sha256:e9bf142ca148d37d4d60b2735a26237b2cfc1bf3711d248fc837346182d64264" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "bd36006b-c30c-4a1e-90a0-9fc88749fb0c" - ], - "X-Ms-Correlation-Request-Id": [ - "947296ff-c8a6-4de4-b60b-76dfb728f4de" - ], - "X-Ms-Request-Id": [ - "fd5d993f-7414-4edc-a4d6-54f96f33da92" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 201 - }, - { - "RequestUri": "/v2/doundo%2Fbash/manifests/test-put", - "EncodedRequestUri": "L3YyL2RvdW5kbyUyRmJhc2gvbWFuaWZlc3RzL3Rlc3QtcHV0", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "469b7e50-244e-4b3f-ace9-c3fc7feaaf34" - ], - "Accept": [ - "application/vnd.docker.distribution.manifest.v2+json" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/1.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Thu, 17 Dec 2020 13:14:05 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Content-Digest": [ - "sha256:e9bf142ca148d37d4d60b2735a26237b2cfc1bf3711d248fc837346182d64264" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "ETag": [ - "\"sha256:e9bf142ca148d37d4d60b2735a26237b2cfc1bf3711d248fc837346182d64264\"" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "469b7e50-244e-4b3f-ace9-c3fc7feaaf34" - ], - "X-Ms-Correlation-Request-Id": [ - "c197228a-a736-4289-91b0-db74cef98751" - ], - "X-Ms-Request-Id": [ - "46057cb8-a49b-4a12-867c-5ec14ee8b68b" - ], - "Content-Type": [ - "application/vnd.docker.distribution.manifest.v2+json" - ], - "Content-Length": [ - "920" - ] - }, - "ResponseBody": "{\r\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\r\n \"config\": {\r\n \"mediaType\": \"application/vnd.docker.container.image.v1+json\",\r\n \"size\": 5635,\r\n \"digest\": \"sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39\"\r\n },\r\n \"layers\": [\r\n {\r\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\r\n \"size\": 2789742,\r\n \"digest\": \"sha256:0503825856099e6adb39c8297af09547f69684b7016b7f3680ed801aa310baaa\"\r\n },\r\n {\r\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\r\n \"size\": 3174556,\r\n \"digest\": \"sha256:7bf5420b55e6bbefb64ddb4fbb98ef094866f3a3facda638a155715ab6002d9b\"\r\n },\r\n {\r\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\r\n \"size\": 344,\r\n \"digest\": \"sha256:1beb2aaf8cf93eacf658fa7f7f10f89ccec1838d1ac643a273345d4d0bc813a8\"\r\n }\r\n ],\r\n \"schemaVersion\": 2\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/doundo%2Fbash/_tags/test-put", - "EncodedRequestUri": "L2Fjci92MS9kb3VuZG8lMkZiYXNoL190YWdzL3Rlc3QtcHV0", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "a3373fc7-d004-429e-a3ec-f0479cdc217c" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/1.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Thu, 17 Dec 2020 13:14:06 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "496c3e11-ef42-4853-9adc-225e51627f8b" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "400" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"imageName\": \"doundo/bash\",\r\n \"tag\": {\r\n \"name\": \"test-put\",\r\n \"digest\": \"sha256:e9bf142ca148d37d4d60b2735a26237b2cfc1bf3711d248fc837346182d64264\",\r\n \"createdTime\": \"2020-12-17T13:14:05.1357693Z\",\r\n \"lastUpdateTime\": \"2020-12-17T13:14:05.1357693Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/v2/doundo%2Fbash/manifests/sha256%3Ae9bf142ca148d37d4d60b2735a26237b2cfc1bf3711d248fc837346182d64264", - "EncodedRequestUri": "L3YyL2RvdW5kbyUyRmJhc2gvbWFuaWZlc3RzL3NoYTI1NiUzQWU5YmYxNDJjYTE0OGQzN2Q0ZDYwYjI3MzVhMjYyMzdiMmNmYzFiZjM3MTFkMjQ4ZmM4MzczNDYxODJkNjQyNjQ=", - "RequestMethod": "DELETE", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "6ea6724d-e44b-44b1-8c9e-9a549074b44c" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/1.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Thu, 17 Dec 2020 13:14:06 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "6ea6724d-e44b-44b1-8c9e-9a549074b44c" - ], - "X-Ms-Correlation-Request-Id": [ - "d596b94e-8133-44d9-82fb-7b1c2df8700b" - ], - "X-Ms-Request-Id": [ - "ea0fcb4d-0470-42f5-bfcc-ae1acc474342" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 202 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ScopeTests/MoreScopeTests.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ScopeTests/MoreScopeTests.json deleted file mode 100644 index 6555d6c0472f..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/ScopeTests/MoreScopeTests.json +++ /dev/null @@ -1,134 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZT9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "d23ecbdb-7cf2-477a-b050-525eff65f330" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "06c18753-5216-44d0-9085-71f1c44304c2" - ], - "x-ms-correlation-request-id": [ - "06c18753-5216-44d0-9085-71f1c44304c2" - ], - "x-ms-routing-request-id": [ - "SOUTHAFRICANORTH:20201217T131512Z:06c18753-5216-44d0-9085-71f1c44304c2" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 17 Dec 2020 13:15:12 GMT" - ], - "Content-Length": [ - "489" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable\",\r\n \"name\": \"azuresdkunittestupdateable\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"creationDate\": \"2019-08-06T23:24:57.9977962Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZS9saXN0Q3JlZGVudGlhbHM/YXBpLXZlcnNpb249MjAxNy0xMC0wMQ==", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "017ff709-5f7f-4f0f-859d-422467fdb4af" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.29321.03", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.19042.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "45507a21-6abd-4b39-9238-00a444f6e94d" - ], - "x-ms-correlation-request-id": [ - "45507a21-6abd-4b39-9238-00a444f6e94d" - ], - "x-ms-routing-request-id": [ - "SOUTHAFRICANORTH:20201217T131513Z:45507a21-6abd-4b39-9238-00a444f6e94d" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 17 Dec 2020 13:15:13 GMT" - ], - "Content-Length": [ - "182" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittestupdateable\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"tNqQ0+t2+k/2XYvJtnqBnfyzkP1HqhuR\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"ZVjBq6OaAfkf800R2yU9/mpjuCyRQ4eO\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/TagTests/DeleteAcrTag.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/TagTests/DeleteAcrTag.json deleted file mode 100644 index 2f6ebd722030..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/TagTests/DeleteAcrTag.json +++ /dev/null @@ -1,314 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZT9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "0ca4672c-0d0a-4686-8867-6b56141a6d30" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11998" - ], - "x-ms-request-id": [ - "c8548957-0798-46b0-b95b-5e26ce9bd75c" - ], - "x-ms-correlation-request-id": [ - "c8548957-0798-46b0-b95b-5e26ce9bd75c" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183943Z:c8548957-0798-46b0-b95b-5e26ce9bd75c" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:43 GMT" - ], - "Content-Length": [ - "489" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable\",\r\n \"name\": \"azuresdkunittestupdateable\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"creationDate\": \"2019-08-06T23:24:57.9977962Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZS9saXN0Q3JlZGVudGlhbHM/YXBpLXZlcnNpb249MjAxNy0xMC0wMQ==", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "844e0bfc-eb59-4cd0-ad10-998a0162376d" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "043ab178-0250-4c45-b126-757d5eb3e07f" - ], - "x-ms-correlation-request-id": [ - "043ab178-0250-4c45-b126-757d5eb3e07f" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183944Z:043ab178-0250-4c45-b126-757d5eb3e07f" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:43 GMT" - ], - "Content-Length": [ - "182" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittestupdateable\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"NZHS=PRPAui5NO0X4S3iZd6NyhrB4d8h\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"5sx4ISH4wwoHyYGzN/BhKIL691VoEiWx\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/deleteable/_tags", - "EncodedRequestUri": "L2Fjci92MS9kZWxldGVhYmxlL190YWdz", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "5c485c3c-8e81-42fb-bcfa-d3631597d283" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:44 GMT" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "c0c9ed4b-ada0-43e1-b963-5ae9fd33e387" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"imageName\": \"deleteable\",\r\n \"tags\": [\r\n {\r\n \"name\": \"29\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:50:37.4370268Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:50:37.4370268Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"3\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:46:39.4778162Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:46:39.4778162Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"30\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:50:46.8834555Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:50:46.8834555Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"31\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:50:56.3767727Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:50:56.3767727Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"32\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:51:05.4233136Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:51:05.4233136Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"33\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:51:14.3553822Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:51:14.3553822Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"34\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:51:23.3598138Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:51:23.3598138Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"35\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:51:32.5474365Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:51:32.5474365Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"36\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:51:41.5355537Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:51:41.5355537Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"37\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:51:50.4100722Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:51:50.4100722Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"38\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:52:00.1764399Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:52:00.1764399Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"39\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:52:09.3009668Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:52:09.3009668Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"4\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:46:48.3456852Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:46:48.3456852Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"40\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:52:18.4998217Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:52:18.4998217Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"41\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:52:27.3786963Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:52:27.3786963Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"42\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:52:36.3294871Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:52:36.3294871Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"43\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:52:45.5895491Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:52:45.5895491Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"44\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:52:54.4227657Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:52:54.4227657Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"45\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:53:03.4401696Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:53:03.4401696Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"46\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:53:12.4683905Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:53:12.4683905Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"47\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:53:21.4755902Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:53:21.4755902Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"48\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:53:30.5816022Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:53:30.5816022Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"49\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:53:39.3958032Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:53:39.3958032Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"5\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:46:57.3080485Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:46:57.3080485Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"50\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:53:48.3848303Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:53:48.3848303Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"51\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:53:57.3622501Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:53:57.3622501Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"52\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:54:06.5220753Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:54:06.5220753Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"53\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:54:15.6206471Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:54:15.6206471Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"54\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:54:24.4526707Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:54:24.4526707Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"55\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:54:33.7137058Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:54:33.7137058Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"56\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:54:42.3426879Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:54:42.3426879Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"57\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:54:51.5934381Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:54:51.5934381Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"58\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:55:00.4551484Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:55:00.4551484Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"59\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:55:09.5583533Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:55:09.5583533Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"6\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:47:06.3815377Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:47:06.3815377Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"60\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:55:18.4566761Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:55:18.4566761Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"61\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:55:27.4245333Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:55:27.4245333Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"62\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:55:36.7150586Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:55:36.7150586Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"63\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:55:45.3230152Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:55:45.3230152Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"64\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:55:54.4574452Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:55:54.4574452Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"65\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:56:03.3593866Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:56:03.3593866Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"66\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:56:12.495316Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:56:12.495316Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"67\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:56:21.4723599Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:56:21.4723599Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"68\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:56:30.7434989Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:56:30.7434989Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"69\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:56:39.5810375Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:56:39.5810375Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"7\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:47:15.591061Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:47:15.591061Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"70\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:56:48.4660779Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:56:48.4660779Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"71\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:56:57.5554756Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:56:57.5554756Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"72\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:57:06.3349614Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:57:06.3349614Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"73\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:57:15.458819Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:57:15.458819Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"74\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:57:24.4964709Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:57:24.4964709Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"75\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:57:33.5325419Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:57:33.5325419Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"76\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:57:42.4699305Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:57:42.4699305Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"77\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:57:51.4068357Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:57:51.4068357Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"78\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:58:00.441284Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:58:00.441284Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"79\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:58:09.5084549Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:58:09.5084549Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"8\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:47:24.6553043Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:47:24.6553043Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"80\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:58:18.4784533Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:58:18.4784533Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"81\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:58:30.0562849Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:58:30.0562849Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"82\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:58:39.6208033Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:58:39.6208033Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"83\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:58:50.0686867Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:58:50.0686867Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"9\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:47:33.2875887Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:47:33.2875887Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"latest\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:45:09.790813Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:45:09.790813Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/deleteable/_tags", - "EncodedRequestUri": "L2Fjci92MS9kZWxldGVhYmxlL190YWdz", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "1bbbf834-6628-4b54-bd8c-0ab940ece82e" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:44 GMT" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "b2142e66-5c24-4064-8112-c6bd59821927" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"imageName\": \"deleteable\",\r\n \"tags\": [\r\n {\r\n \"name\": \"3\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:46:39.4778162Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:46:39.4778162Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"30\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:50:46.8834555Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:50:46.8834555Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"31\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:50:56.3767727Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:50:56.3767727Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"32\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:51:05.4233136Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:51:05.4233136Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"33\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:51:14.3553822Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:51:14.3553822Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"34\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:51:23.3598138Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:51:23.3598138Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"35\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:51:32.5474365Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:51:32.5474365Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"36\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:51:41.5355537Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:51:41.5355537Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"37\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:51:50.4100722Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:51:50.4100722Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"38\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:52:00.1764399Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:52:00.1764399Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"39\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:52:09.3009668Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:52:09.3009668Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"4\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:46:48.3456852Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:46:48.3456852Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"40\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:52:18.4998217Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:52:18.4998217Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"41\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:52:27.3786963Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:52:27.3786963Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"42\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:52:36.3294871Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:52:36.3294871Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"43\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:52:45.5895491Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:52:45.5895491Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"44\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:52:54.4227657Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:52:54.4227657Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"45\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:53:03.4401696Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:53:03.4401696Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"46\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:53:12.4683905Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:53:12.4683905Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"47\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:53:21.4755902Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:53:21.4755902Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"48\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:53:30.5816022Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:53:30.5816022Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"49\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:53:39.3958032Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:53:39.3958032Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"5\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:46:57.3080485Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:46:57.3080485Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"50\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:53:48.3848303Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:53:48.3848303Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"51\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:53:57.3622501Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:53:57.3622501Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"52\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:54:06.5220753Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:54:06.5220753Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"53\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:54:15.6206471Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:54:15.6206471Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"54\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:54:24.4526707Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:54:24.4526707Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"55\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:54:33.7137058Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:54:33.7137058Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"56\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:54:42.3426879Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:54:42.3426879Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"57\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:54:51.5934381Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:54:51.5934381Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"58\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:55:00.4551484Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:55:00.4551484Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"59\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:55:09.5583533Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:55:09.5583533Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"6\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:47:06.3815377Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:47:06.3815377Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"60\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:55:18.4566761Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:55:18.4566761Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"61\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:55:27.4245333Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:55:27.4245333Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"62\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:55:36.7150586Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:55:36.7150586Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"63\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:55:45.3230152Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:55:45.3230152Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"64\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:55:54.4574452Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:55:54.4574452Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"65\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:56:03.3593866Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:56:03.3593866Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"66\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:56:12.495316Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:56:12.495316Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"67\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:56:21.4723599Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:56:21.4723599Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"68\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:56:30.7434989Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:56:30.7434989Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"69\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:56:39.5810375Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:56:39.5810375Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"7\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:47:15.591061Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:47:15.591061Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"70\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:56:48.4660779Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:56:48.4660779Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"71\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:56:57.5554756Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:56:57.5554756Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"72\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:57:06.3349614Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:57:06.3349614Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"73\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:57:15.458819Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:57:15.458819Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"74\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:57:24.4964709Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:57:24.4964709Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"75\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:57:33.5325419Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:57:33.5325419Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"76\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:57:42.4699305Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:57:42.4699305Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"77\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:57:51.4068357Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:57:51.4068357Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"78\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:58:00.441284Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:58:00.441284Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"79\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:58:09.5084549Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:58:09.5084549Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"8\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:47:24.6553043Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:47:24.6553043Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"80\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:58:18.4784533Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:58:18.4784533Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"81\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:58:30.0562849Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:58:30.0562849Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"82\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:58:39.6208033Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:58:39.6208033Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"83\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:58:50.0686867Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:58:50.0686867Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"9\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:47:33.2875887Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:47:33.2875887Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"latest\",\r\n \"digest\": \"sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a\",\r\n \"createdTime\": \"2019-08-07T00:45:09.790813Z\",\r\n \"lastUpdateTime\": \"2019-08-07T00:45:09.790813Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/deleteable/_tags/29", - "EncodedRequestUri": "L2Fjci92MS9kZWxldGVhYmxlL190YWdzLzI5", - "RequestMethod": "DELETE", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "beb4c64a-7b06-45d7-b323-2e83c5822a5e" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:44 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Client-Request-Id": [ - "beb4c64a-7b06-45d7-b323-2e83c5822a5e" - ], - "X-Ms-Correlation-Request-Id": [ - "4f48d214-0597-4483-9c8b-7683e03d2593" - ], - "X-Ms-Int-Docker-Content-Digest": [ - "sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a" - ], - "X-Ms-Request-Id": [ - "bee0908a-75b4-4b01-a38c-7dc0d5ea362a" - ], - "Content-Length": [ - "0" - ] - }, - "ResponseBody": "", - "StatusCode": 202 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/TagTests/GetAcrTagAttributes.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/TagTests/GetAcrTagAttributes.json deleted file mode 100644 index aa59be9b127a..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/TagTests/GetAcrTagAttributes.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "54e05694-1756-46c5-bd9b-a9c0f19c264a" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11998" - ], - "x-ms-request-id": [ - "85a42dd6-d3e2-4699-acfd-ebbbd1cd968f" - ], - "x-ms-correlation-request-id": [ - "85a42dd6-d3e2-4699-acfd-ebbbd1cd968f" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183943Z:85a42dd6-d3e2-4699-acfd-ebbbd1cd968f" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:42 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "427d1453-5661-4830-842a-ef0a4e089cb4" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1198" - ], - "x-ms-request-id": [ - "882180a0-b73d-474e-94e8-26366bea577d" - ], - "x-ms-correlation-request-id": [ - "882180a0-b73d-474e-94e8-26366bea577d" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183943Z:882180a0-b73d-474e-94e8-26366bea577d" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:42 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/prod%2Fbash/_tags/latest", - "EncodedRequestUri": "L2Fjci92MS9wcm9kJTJGYmFzaC9fdGFncy9sYXRlc3Q=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "b210ec95-3616-4da7-929c-c6e649da2866" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:43 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "be11d575-ed56-48be-8659-299d4e790aae" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "386" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittest.azurecr.io\",\r\n \"imageName\": \"prod/bash\",\r\n \"tag\": {\r\n \"name\": \"latest\",\r\n \"digest\": \"sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8\",\r\n \"createdTime\": \"2019-08-01T22:49:11.2741202Z\",\r\n \"lastUpdateTime\": \"2019-08-01T22:49:11.2741202Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n }\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/TagTests/GetAcrTags.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/TagTests/GetAcrTags.json deleted file mode 100644 index 1b2ea7680154..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/TagTests/GetAcrTags.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "a9518a2c-a77d-481a-a12f-c1c91d1dd26b" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11997" - ], - "x-ms-request-id": [ - "7c7c57ce-7a55-4ef5-bf98-3cf8ae196346" - ], - "x-ms-correlation-request-id": [ - "7c7c57ce-7a55-4ef5-bf98-3cf8ae196346" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183944Z:7c7c57ce-7a55-4ef5-bf98-3cf8ae196346" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:44 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "670cf2af-f2bd-40a2-94a3-5ad3c907963e" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1198" - ], - "x-ms-request-id": [ - "2562c41d-52b7-439f-a003-e5344a576da6" - ], - "x-ms-correlation-request-id": [ - "2562c41d-52b7-439f-a003-e5344a576da6" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183945Z:2562c41d-52b7-439f-a003-e5344a576da6" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:44 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/prod%2Fbash/_tags", - "EncodedRequestUri": "L2Fjci92MS9wcm9kJTJGYmFzaC9fdGFncw==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "bd3efebd-c79b-4972-9999-d8126aaf91aa" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:45 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "747c1c79-ab86-4d55-bf67-f58e8d649bb9" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "704" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittest.azurecr.io\",\r\n \"imageName\": \"prod/bash\",\r\n \"tags\": [\r\n {\r\n \"name\": \"brandnew\",\r\n \"digest\": \"sha256:3dfea53d16f8241fd606f8ceda4c8779ffae8e6b5e32c96e00f931de874ec709\",\r\n \"createdTime\": \"2019-08-06T19:25:00.2406558Z\",\r\n \"lastUpdateTime\": \"2019-08-06T19:25:00.2406558Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"latest\",\r\n \"digest\": \"sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8\",\r\n \"createdTime\": \"2019-08-01T22:49:11.2741202Z\",\r\n \"lastUpdateTime\": \"2019-08-01T22:49:11.2741202Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n }\r\n ]\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/TagTests/GetTags.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/TagTests/GetTags.json deleted file mode 100644 index 9e97cf0b7df3..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/TagTests/GetTags.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0P2FwaS12ZXJzaW9uPTIwMTctMTAtMDE=", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "9f4a3a1c-b584-43f2-b0fa-f2e5b8ce599e" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11999" - ], - "x-ms-request-id": [ - "07320b01-4ebc-43b4-a10b-116382bb34ef" - ], - "x-ms-correlation-request-id": [ - "07320b01-4ebc-43b4-a10b-116382bb34ef" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183945Z:07320b01-4ebc-43b4-a10b-116382bb34ef" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:45 GMT" - ], - "Content-Length": [ - "459" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest\",\r\n \"name\": \"azuresdkunittest\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittest.azurecr.io\",\r\n \"creationDate\": \"2019-08-01T22:42:31.7178676Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittest/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0L2xpc3RDcmVkZW50aWFscz9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "50305069-70cd-43d3-b582-975ced543e14" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1199" - ], - "x-ms-request-id": [ - "c1fa0a9b-0fc2-4dd3-aa0b-3dbc5778d297" - ], - "x-ms-correlation-request-id": [ - "c1fa0a9b-0fc2-4dd3-aa0b-3dbc5778d297" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183945Z:c1fa0a9b-0fc2-4dd3-aa0b-3dbc5778d297" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:45 GMT" - ], - "Content-Length": [ - "172" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittest\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"ZRMyNiuZoPU8hePZd/Kikv17fsAUZflB\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"g8Lu3=nbd5RNHq9Aik9Al0OR6SmEP9Qr\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/prod%2Fbash/_tags", - "EncodedRequestUri": "L2Fjci92MS9wcm9kJTJGYmFzaC9fdGFncw==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "55b76258-1108-46de-a17f-79ad0b7e6a7c" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:45 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "fc393609-f3ab-4555-bfa7-17e29ca4c5c9" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "704" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittest.azurecr.io\",\r\n \"imageName\": \"prod/bash\",\r\n \"tags\": [\r\n {\r\n \"name\": \"brandnew\",\r\n \"digest\": \"sha256:3dfea53d16f8241fd606f8ceda4c8779ffae8e6b5e32c96e00f931de874ec709\",\r\n \"createdTime\": \"2019-08-06T19:25:00.2406558Z\",\r\n \"lastUpdateTime\": \"2019-08-06T19:25:00.2406558Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n },\r\n {\r\n \"name\": \"latest\",\r\n \"digest\": \"sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8\",\r\n \"createdTime\": \"2019-08-01T22:49:11.2741202Z\",\r\n \"lastUpdateTime\": \"2019-08-01T22:49:11.2741202Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n }\r\n ]\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/TagTests/UpdateAcrTagAttributes.json b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/TagTests/UpdateAcrTagAttributes.json deleted file mode 100644 index ad656b7e60b7..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/SessionRecords/TagTests/UpdateAcrTagAttributes.json +++ /dev/null @@ -1,378 +0,0 @@ -{ - "Entries": [ - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZT9hcGktdmVyc2lvbj0yMDE3LTEwLTAx", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "5e130289-15a9-4632-9e76-1936bcb1da44" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-reads": [ - "11998" - ], - "x-ms-request-id": [ - "2d53db65-692d-49ec-8a3f-3c81dd20757e" - ], - "x-ms-correlation-request-id": [ - "2d53db65-692d-49ec-8a3f-3c81dd20757e" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183942Z:2d53db65-692d-49ec-8a3f-3c81dd20757e" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:42 GMT" - ], - "Content-Length": [ - "489" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"type\": \"Microsoft.ContainerRegistry/registries\",\r\n \"id\": \"/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable\",\r\n \"name\": \"azuresdkunittestupdateable\",\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"loginServer\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"creationDate\": \"2019-08-06T23:24:57.9977962Z\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"adminUserEnabled\": true\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/subscriptions/dfb63c8c-7c89-4ef8-af13-75c1d873c895/resourceGroups/ereyTest/providers/Microsoft.ContainerRegistry/registries/azuresdkunittestupdateable/listCredentials?api-version=2017-10-01", - "EncodedRequestUri": "L3N1YnNjcmlwdGlvbnMvZGZiNjNjOGMtN2M4OS00ZWY4LWFmMTMtNzVjMWQ4NzNjODk1L3Jlc291cmNlR3JvdXBzL2VyZXlUZXN0L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29udGFpbmVyUmVnaXN0cnkvcmVnaXN0cmllcy9henVyZXNka3VuaXR0ZXN0dXBkYXRlYWJsZS9saXN0Q3JlZGVudGlhbHM/YXBpLXZlcnNpb249MjAxNy0xMC0wMQ==", - "RequestMethod": "POST", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "0ca90ebe-4200-4213-afbd-602fb0ae5d1d" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.Management.ContainerRegistry.ContainerRegistryManagementClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Cache-Control": [ - "no-cache" - ], - "Pragma": [ - "no-cache" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains" - ], - "Server": [ - "Microsoft-HTTPAPI/2.0" - ], - "x-ms-ratelimit-remaining-subscription-writes": [ - "1198" - ], - "x-ms-request-id": [ - "430eaa0d-fb65-464f-b150-24852e88e043" - ], - "x-ms-correlation-request-id": [ - "430eaa0d-fb65-464f-b150-24852e88e043" - ], - "x-ms-routing-request-id": [ - "WESTUS:20190904T183942Z:430eaa0d-fb65-464f-b150-24852e88e043" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:42 GMT" - ], - "Content-Length": [ - "182" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Expires": [ - "-1" - ] - }, - "ResponseBody": "{\r\n \"username\": \"azuresdkunittestupdateable\",\r\n \"passwords\": [\r\n {\r\n \"name\": \"password\",\r\n \"value\": \"NZHS=PRPAui5NO0X4S3iZd6NyhrB4d8h\"\r\n },\r\n {\r\n \"name\": \"password2\",\r\n \"value\": \"5sx4ISH4wwoHyYGzN/BhKIL691VoEiWx\"\r\n }\r\n ]\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/doundo%2Fbash/_tags/latest", - "EncodedRequestUri": "L2Fjci92MS9kb3VuZG8lMkZiYXNoL190YWdzL2xhdGVzdA==", - "RequestMethod": "PATCH", - "RequestBody": "{\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": false,\r\n \"listEnabled\": true,\r\n \"readEnabled\": true\r\n}", - "RequestHeaders": { - "x-ms-client-request-id": [ - "1813f6d0-ab9d-451c-9e65-b0d6bfd8b1b3" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "103" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:42 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "c1c2b43a-5212-4b95-8701-6fc0d3e77fe8" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "399" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"imageName\": \"doundo/bash\",\r\n \"tag\": {\r\n \"name\": \"latest\",\r\n \"digest\": \"sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8\",\r\n \"createdTime\": \"2019-08-06T23:27:35.1589403Z\",\r\n \"lastUpdateTime\": \"2019-08-06T23:27:35.1589403Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": false,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/doundo%2Fbash/_tags/latest", - "EncodedRequestUri": "L2Fjci92MS9kb3VuZG8lMkZiYXNoL190YWdzL2xhdGVzdA==", - "RequestMethod": "PATCH", - "RequestBody": "{\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"listEnabled\": true,\r\n \"readEnabled\": true\r\n}", - "RequestHeaders": { - "x-ms-client-request-id": [ - "e897137d-0f20-4978-ac26-492dc623ce37" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "102" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:42 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "b636d20f-3cdc-4efa-b4e0-2c0fa822c4e9" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "398" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"imageName\": \"doundo/bash\",\r\n \"tag\": {\r\n \"name\": \"latest\",\r\n \"digest\": \"sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8\",\r\n \"createdTime\": \"2019-08-06T23:27:35.1589403Z\",\r\n \"lastUpdateTime\": \"2019-08-06T23:27:35.1589403Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/doundo%2Fbash/_tags/latest", - "EncodedRequestUri": "L2Fjci92MS9kb3VuZG8lMkZiYXNoL190YWdzL2xhdGVzdA==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "3da30ad0-5de9-41c2-9605-76e9f21356c9" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:42 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "1b94be5d-8aac-4865-bead-fca9b1978d17" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "399" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"imageName\": \"doundo/bash\",\r\n \"tag\": {\r\n \"name\": \"latest\",\r\n \"digest\": \"sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8\",\r\n \"createdTime\": \"2019-08-06T23:27:35.1589403Z\",\r\n \"lastUpdateTime\": \"2019-08-06T23:27:35.1589403Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": false,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n }\r\n}", - "StatusCode": 200 - }, - { - "RequestUri": "/acr/v1/doundo%2Fbash/_tags/latest", - "EncodedRequestUri": "L2Fjci92MS9kb3VuZG8lMkZiYXNoL190YWdzL2xhdGVzdA==", - "RequestMethod": "GET", - "RequestBody": "", - "RequestHeaders": { - "x-ms-client-request-id": [ - "58d6c491-b355-4cd2-afc9-af3ab1db6787" - ], - "Accept-Language": [ - "en-US" - ], - "User-Agent": [ - "FxVersion/4.6.27817.01", - "OSName/Windows", - "OSVersion/Microsoft.Windows.10.0.18362.", - "Microsoft.Azure.ContainerRegistry.AzureContainerRegistryClient/2.0.0.0" - ] - }, - "ResponseHeaders": { - "Server": [ - "openresty" - ], - "Date": [ - "Wed, 04 Sep 2019 18:39:42 GMT" - ], - "Connection": [ - "keep-alive" - ], - "Access-Control-Expose-Headers": [ - "Docker-Content-Digest", - "WWW-Authenticate", - "Link", - "X-Ms-Correlation-Request-Id" - ], - "Docker-Distribution-Api-Version": [ - "registry/2.0" - ], - "Strict-Transport-Security": [ - "max-age=31536000; includeSubDomains", - "max-age=31536000; includeSubDomains" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Ms-Correlation-Request-Id": [ - "98bf7a7c-a84d-4aaf-897c-2fcdcdfcc182" - ], - "Content-Type": [ - "application/json; charset=utf-8" - ], - "Content-Length": [ - "398" - ] - }, - "ResponseBody": "{\r\n \"registry\": \"azuresdkunittestupdateable.azurecr.io\",\r\n \"imageName\": \"doundo/bash\",\r\n \"tag\": {\r\n \"name\": \"latest\",\r\n \"digest\": \"sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8\",\r\n \"createdTime\": \"2019-08-06T23:27:35.1589403Z\",\r\n \"lastUpdateTime\": \"2019-08-06T23:27:35.1589403Z\",\r\n \"signed\": false,\r\n \"changeableAttributes\": {\r\n \"deleteEnabled\": true,\r\n \"writeEnabled\": true,\r\n \"readEnabled\": true,\r\n \"listEnabled\": true\r\n }\r\n }\r\n}", - "StatusCode": 200 - } - ], - "Names": {}, - "Variables": { - "SubscriptionId": "dfb63c8c-7c89-4ef8-af13-75c1d873c895" - } -} \ No newline at end of file diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/AuthTests.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/AuthTests.cs deleted file mode 100644 index af7ad2de00f0..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/AuthTests.cs +++ /dev/null @@ -1,76 +0,0 @@ -namespace ContainerRegistry.Tests -{ - using Microsoft.Azure.ContainerRegistry; - using Microsoft.Rest.ClientRuntime.Azure.TestFramework; - using System.IdentityModel.Tokens.Jwt; - using System.Linq; - using System.Threading.Tasks; - using Xunit; - - public class AuthTests - { - [Fact] - public async Task GetAcrRefreshTokenFromExchange() - { - using (var context = MockContext.Start(GetType(), nameof(GetAcrRefreshTokenFromExchange))) - { - AzureContainerRegistryClient client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var refreshToken = await client.RefreshTokens.GetFromExchangeAsync("access_token", ACRTestUtil.ManagedTestRegistryFullName, null, null, await ACRTestUtil.GetAADAccessToken()); - ValidateRefreshToken(refreshToken.RefreshTokenProperty); - } - } - - [Fact] - public async Task GetAcrAccessToken() - { - using (var context = MockContext.Start(GetType(), nameof(GetAcrAccessToken))) - { - AzureContainerRegistryClient client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var refreshToken = await client.RefreshTokens.GetFromExchangeAsync("access_token", ACRTestUtil.ManagedTestRegistryFullName, null, null, await ACRTestUtil.GetAADAccessToken()); - var accessToken = await client.AccessTokens.GetAsync(ACRTestUtil.ManagedTestRegistryFullName, ACRTestUtil.Scope, refreshToken.RefreshTokenProperty); - ValidateAccessToken(accessToken.AccessTokenProperty); - } - } - - [Fact] - public async Task GetAcrAccessTokenFromLogin() - { - using (var context = MockContext.Start(GetType(), nameof(GetAcrAccessTokenFromLogin))) - { - AzureContainerRegistryClient client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var accessToken = await client.AccessTokens.GetFromLoginAsync(ACRTestUtil.ManagedTestRegistryFullName, ACRTestUtil.Scope); - ValidateAccessToken(accessToken.AccessTokenProperty); - } - } - - #region Validation Helpers - - private void ValidateAccessToken(string accessToken) - { - JwtSecurityTokenHandler JwtSecurityClient = new JwtSecurityTokenHandler(); - JwtSecurityToken fields = JwtSecurityClient.ReadToken(accessToken) as JwtSecurityToken; - CommonTokenValidation(fields); - Assert.Equal("access_token", fields.Payload["grant_type"]); - } - - private void ValidateRefreshToken(string refreshToken) - { - JwtSecurityTokenHandler JwtSecurityClient = new JwtSecurityTokenHandler(); - JwtSecurityToken fields = JwtSecurityClient.ReadToken(refreshToken) as JwtSecurityToken; - CommonTokenValidation(fields); - Assert.Equal("refresh_token", fields.Payload["grant_type"]); - } - - private void CommonTokenValidation(JwtSecurityToken fields) - { - Assert.Equal(ACRTestUtil.ManagedTestRegistryFullName, fields.Audiences.ToList()[0]); - Assert.Equal(ACRTestUtil.ACRJWTIssuer, fields.Issuer); - Assert.Equal("RS256", fields.Header.Alg); - Assert.Equal("JWT", fields.Header.Typ); - - //Custom - Assert.Equal("1.0", fields.Payload["version"]); - } - #endregion - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/BlobTests.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/BlobTests.cs deleted file mode 100644 index b944ce7e019c..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/BlobTests.cs +++ /dev/null @@ -1,220 +0,0 @@ -namespace ContainerRegistry.Tests -{ - using Microsoft.Azure.ContainerRegistry; - using Microsoft.Azure.ContainerRegistry.Models; - using Microsoft.Rest.ClientRuntime.Azure.TestFramework; - using System.IO; - using System.Security.Cryptography; - using System.Text; - using System.Threading.Tasks; - using Xunit; - using static Microsoft.Azure.ContainerRegistry.ContainerRegistryCredentials; - - public class BlobTests - { - string ProdConfigBlob = "{\"architecture\":\"amd64\",\"config\":{\"Hostname\":\"\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":[\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\",\"_BASH_GPG_KEY=7C0135FB088AAF6C66C650B9BB5869F064EA74AB\",\"_BASH_VERSION=5.0\",\"_BASH_PATCH_LEVEL=0\",\"_BASH_LATEST_PATCH=7\"],\"Cmd\":[\"bash\"],\"ArgsEscaped\":true,\"Image\":\"sha256:38ad2fbc9f9c0a87dfe0a2b19bdca94be45f4663f73fd09fefee492afd2c0144\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":[\"docker-entrypoint.sh\"],\"OnBuild\":null,\"Labels\":null},\"container\":\"4b0546fa49df5dcaed5b663717f442cef71a1b95c0ffb42c8c5ce7231b90c026\",\"container_config\":{\"Hostname\":\"4b0546fa49df\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":[\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\",\"_BASH_GPG_KEY=7C0135FB088AAF6C66C650B9BB5869F064EA74AB\",\"_BASH_VERSION=5.0\",\"_BASH_PATCH_LEVEL=0\",\"_BASH_LATEST_PATCH=7\"],\"Cmd\":[\"/bin/sh\",\"-c\",\"#(nop) \",\"CMD [\\\"bash\\\"]\"],\"ArgsEscaped\":true,\"Image\":\"sha256:38ad2fbc9f9c0a87dfe0a2b19bdca94be45f4663f73fd09fefee492afd2c0144\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":[\"docker-entrypoint.sh\"],\"OnBuild\":null,\"Labels\":{}},\"created\":\"2019-07-13T01:16:06.527515902Z\",\"docker_version\":\"18.06.1-ce\",\"history\":[{\"created\":\"2019-07-11T22:20:52.139709355Z\",\"created_by\":\"/bin/sh -c #(nop) ADD file:0eb5ea35741d23fe39cbac245b3a5d84856ed6384f4ff07d496369ee6d960bad in / \"},{\"created\":\"2019-07-11T22:20:52.375286404Z\",\"created_by\":\"/bin/sh -c #(nop) CMD [\\\"/bin/sh\\\"]\",\"empty_layer\":true},{\"created\":\"2019-07-13T01:15:13.567669812Z\",\"created_by\":\"/bin/sh -c #(nop) ENV _BASH_GPG_KEY=7C0135FB088AAF6C66C650B9BB5869F064EA74AB\",\"empty_layer\":true},{\"created\":\"2019-07-13T01:15:13.745652098Z\",\"created_by\":\"/bin/sh -c #(nop) ENV _BASH_VERSION=5.0\",\"empty_layer\":true},{\"created\":\"2019-07-13T01:15:13.940455419Z\",\"created_by\":\"/bin/sh -c #(nop) ENV _BASH_PATCH_LEVEL=0\",\"empty_layer\":true},{\"created\":\"2019-07-13T01:15:14.099300075Z\",\"created_by\":\"/bin/sh -c #(nop) ENV _BASH_LATEST_PATCH=7\",\"empty_layer\":true},{\"created\":\"2019-07-13T01:16:05.928429262Z\",\"created_by\":\"/bin/sh -c set -eux; \\t\\tapk add --no-cache --virtual .build-deps \\t\\tbison \\t\\tcoreutils \\t\\tdpkg-dev dpkg \\t\\tgcc \\t\\tgnupg \\t\\tlibc-dev \\t\\tmake \\t\\tncurses-dev \\t\\tpatch \\t\\ttar \\t; \\t\\tversion=\\\"$_BASH_VERSION\\\"; \\tif [ \\\"$_BASH_PATCH_LEVEL\\\" -gt 0 ]; then \\t\\tversion=\\\"$version.$_BASH_PATCH_LEVEL\\\"; \\tfi; \\twget -O bash.tar.gz \\\"https://ftp.gnu.org/gnu/bash/bash-$version.tar.gz\\\"; \\twget -O bash.tar.gz.sig \\\"https://ftp.gnu.org/gnu/bash/bash-$version.tar.gz.sig\\\"; \\t\\tif [ \\\"$_BASH_LATEST_PATCH\\\" -gt \\\"$_BASH_PATCH_LEVEL\\\" ]; then \\t\\tmkdir -p bash-patches; \\t\\tfirst=\\\"$(printf '%03d' \\\"$(( _BASH_PATCH_LEVEL + 1 ))\\\")\\\"; \\t\\tlast=\\\"$(printf '%03d' \\\"$_BASH_LATEST_PATCH\\\")\\\"; \\t\\tfor patch in $(seq -w \\\"$first\\\" \\\"$last\\\"); do \\t\\t\\turl=\\\"https://ftp.gnu.org/gnu/bash/bash-$_BASH_VERSION-patches/bash${_BASH_VERSION//./}-$patch\\\"; \\t\\t\\twget -O \\\"bash-patches/$patch\\\" \\\"$url\\\"; \\t\\t\\twget -O \\\"bash-patches/$patch.sig\\\" \\\"$url.sig\\\"; \\t\\tdone; \\tfi; \\t\\texport GNUPGHOME=\\\"$(mktemp -d)\\\"; \\tgpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys \\\"$_BASH_GPG_KEY\\\"; \\tgpg --batch --verify bash.tar.gz.sig bash.tar.gz; \\tgpgconf --kill all; \\trm bash.tar.gz.sig; \\tif [ -d bash-patches ]; then \\t\\tfor sig in bash-patches/*.sig; do \\t\\t\\tp=\\\"${sig%.sig}\\\"; \\t\\t\\tgpg --batch --verify \\\"$sig\\\" \\\"$p\\\"; \\t\\t\\trm \\\"$sig\\\"; \\t\\tdone; \\tfi; \\trm -rf \\\"$GNUPGHOME\\\"; \\t\\tmkdir -p /usr/src/bash; \\ttar \\t\\t--extract \\t\\t--file=bash.tar.gz \\t\\t--strip-components=1 \\t\\t--directory=/usr/src/bash \\t; \\trm bash.tar.gz; \\t\\tif [ -d bash-patches ]; then \\t\\tfor p in bash-patches/*; do \\t\\t\\tpatch \\t\\t\\t\\t--directory=/usr/src/bash \\t\\t\\t\\t--input=\\\"$(readlink -f \\\"$p\\\")\\\" \\t\\t\\t\\t--strip=0 \\t\\t\\t; \\t\\t\\trm \\\"$p\\\"; \\t\\tdone; \\t\\trmdir bash-patches; \\tfi; \\t\\tcd /usr/src/bash; \\tgnuArch=\\\"$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)\\\"; \\t./configure \\t\\t--build=\\\"$gnuArch\\\" \\t\\t--enable-readline \\t\\t--with-curses \\t\\t--without-bash-malloc \\t|| { \\t\\tcat \\u003e\\u00262 config.log; \\t\\tfalse; \\t}; \\tmake -j \\\"$(nproc)\\\"; \\tmake install; \\tcd /; \\trm -r /usr/src/bash; \\t\\trm -r \\t\\t/usr/local/share/doc/bash/*.html \\t\\t/usr/local/share/info \\t\\t/usr/local/share/locale \\t\\t/usr/local/share/man \\t; \\t\\trunDeps=\\\"$( \\t\\tscanelf --needed --nobanner --format '%n#p' --recursive /usr/local \\t\\t\\t| tr ',' '\\\\n' \\t\\t\\t| sort -u \\t\\t\\t| awk 'system(\\\"[ -e /usr/local/lib/\\\" $1 \\\" ]\\\") == 0 { next } { print \\\"so:\\\" $1 }' \\t)\\\"; \\tapk add --no-cache --virtual .bash-rundeps $runDeps; \\tapk del .build-deps; \\t\\t[ \\\"$(which bash)\\\" = '/usr/local/bin/bash' ]; \\tbash --version; \\t[ \\\"$(bash -c 'echo \\\"${BASH_VERSION%%[^0-9.]*}\\\"')\\\" = \\\"${_BASH_VERSION%%-*}.$_BASH_LATEST_PATCH\\\" ];\"},{\"created\":\"2019-07-13T01:16:06.164128412Z\",\"created_by\":\"/bin/sh -c #(nop) COPY file:651b3bebeba8be9162c56b3eb561199905235f3e1c7811232b6c9f48ac333651 in /usr/local/bin/ \"},{\"created\":\"2019-07-13T01:16:06.319375884Z\",\"created_by\":\"/bin/sh -c #(nop) ENTRYPOINT [\\\"docker-entrypoint.sh\\\"]\",\"empty_layer\":true},{\"created\":\"2019-07-13T01:16:06.527515902Z\",\"created_by\":\"/bin/sh -c #(nop) CMD [\\\"bash\\\"]\",\"empty_layer\":true}],\"os\":\"linux\",\"rootfs\":{\"type\":\"layers\",\"diff_ids\":[\"sha256:1bfeebd65323b8ddf5bd6a51cc7097b72788bc982e9ab3280d53d3c613adffa7\",\"sha256:483c980ac6abf63fc4d7262b17a1954d62266dac3029b5be384d03b39229803e\",\"sha256:5f5f93a93305210a96cc417f579d70a496bbf0db8e80ea1e9436682c379f25d9\"]}}"; - string ProdConfigBlobDigest = "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"; - - [Fact] - public async Task GetBlob() - { - using (var context = MockContext.Start(GetType(), nameof(GetBlob))) - { - AzureContainerRegistryClient client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - Stream blob = await client.Blob.GetAsync(ACRTestUtil.ProdRepository, ProdConfigBlobDigest); - StreamReader reader = new StreamReader(blob, Encoding.UTF8); - string originalBlob = reader.ReadToEnd(); - Assert.Equal(ProdConfigBlob, originalBlob); - } - } - - [Fact] - public async Task CheckBlob() - { - using (var context = MockContext.Start(GetType(), nameof(CheckBlob))) - { - AzureContainerRegistryClient client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var blob = await client.Blob.CheckAsync(ACRTestUtil.ProdRepository, ProdConfigBlobDigest); - Assert.Equal(blob.DockerContentDigest, ProdConfigBlobDigest); - Assert.Equal(5635, blob.ContentLength); - } - } - - [Fact] - public async Task DeleteBlob() - { - using (var context = MockContext.Start(GetType(), nameof(DeleteBlob))) - { - AzureContainerRegistryClient client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistryForChanges); - string digest = await UploadLayer(GenerateStreamFromString("Testdata"), client, ACRTestUtil.BlobTestRepository); - await client.Blob.DeleteAsync(ACRTestUtil.BlobTestRepository, digest); - // Should not find layer - Assert.Throws(() => { client.Blob.CheckAsync(ACRTestUtil.BlobTestRepository, digest).GetAwaiter().GetResult(); }); // Should error - } - } - - [Fact] - public async Task UploadLayerNext() - { - using (var context = MockContext.Start(GetType(), nameof(UploadLayerNext))) - { - AzureContainerRegistryClient client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - string digest = await UploadLayer(GenerateStreamFromString("SomethingElse"), client, ACRTestUtil.BlobTestRepository); - var blob = await client.Blob.GetAsync(ACRTestUtil.BlobTestRepository, digest); - StreamReader reader = new StreamReader(blob, Encoding.UTF8); - Assert.Equal("SomethingElse", reader.ReadToEnd()); - } - } - - [Fact] - public async Task CancelBlobUpload() - { - using (var context = MockContext.Start(GetType(), nameof(CancelBlobUpload))) - { - AzureContainerRegistryClient client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistryForChanges); - var uploadInfo = await client.Blob.StartUploadAsync(ACRTestUtil.changeableRepository); - await client.Blob.CancelUploadAsync(uploadInfo.Location); - } - } - - [Fact] - public async Task GetBlobStatus() - { - using (var context = MockContext.Start(GetType(), nameof(GetBlobStatus))) - { - AzureContainerRegistryClient client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var uploadInfo = await client.Blob.StartUploadAsync(ACRTestUtil.BlobTestRepository); - var status = await client.Blob.GetStatusAsync(uploadInfo.Location.Substring(1)); - Assert.Equal(uploadInfo.DockerUploadUUID, status.DockerUploadUUID); - Assert.Equal("0-0", status.Range); - await client.Blob.CancelUploadAsync(uploadInfo.Location); - } - } - - [Fact] - public async Task GetBlobChunk() - { - using (var context = MockContext.Start(GetType(), nameof(GetBlobChunk))) - { - AzureContainerRegistryClient client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - Stream blob = await client.Blob.GetChunkAsync(ACRTestUtil.ProdRepository, ProdConfigBlobDigest, "bytes=0-299"); - StreamReader reader = new StreamReader(blob, Encoding.UTF8); - string originalBlob = reader.ReadToEnd(); - Assert.Equal(ProdConfigBlob.Substring(0, 300), originalBlob); - } - } - - [Fact] - public async Task MountBlob() - { - using (var context = MockContext.Start(GetType(), nameof(MountBlob))) - { - AzureContainerRegistryClient client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistryForChanges); - var res = await client.Blob.MountAsync("somethingnew", "doundo/bash", "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"); - Stream blob = await client.Blob.GetAsync("somethingnew", "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39"); - StreamReader reader = new StreamReader(blob, Encoding.UTF8); - string originalBlob = reader.ReadToEnd(); - Assert.Equal(ProdConfigBlob, originalBlob); - } - } - - [Fact] - public async Task CheckBlobChunk() - { - using (var context = MockContext.Start(GetType(), nameof(CheckBlobChunk))) - { - AzureContainerRegistryClient client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var blobData = await client.Blob.CheckChunkAsync(ACRTestUtil.ProdRepository, ProdConfigBlobDigest, "bytes=0-300"); - //Range is actually ignored in this request. Ends up working quite similarly to CheckBlob - Assert.Equal(5635, blobData.ContentLength); - } - } - - /// - /// This test should be run only live. - /// HTTP calls made by the clients in and - /// aren't being mocked by the test framework. This leads to issues when trying to refresh AADTokens during "playback" as these - /// clients' requests are always "live". - /// - /// - [Fact(Skip = "Should be run only live")] - public async Task GetBlobOAuth() - { - using (var context = MockContext.Start(GetType(), nameof(GetBlobOAuth))) - { - LoginMode loginMode = LoginMode.TokenAuth; // use oauth - exchange username and password for a refreshtoken - AzureContainerRegistryClient client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry, loginMode); - Stream blob = await client.Blob.GetAsync(ACRTestUtil.ProdRepository, ProdConfigBlobDigest); - StreamReader reader = new StreamReader(blob, Encoding.UTF8); - string originalBlob = reader.ReadToEnd(); - Assert.Equal(ProdConfigBlob, originalBlob); - } - } - - /// - /// This test should be run only live. - /// HTTP calls made by the clients in and - /// aren't being mocked by the test framework. This leads to issues when trying to refresh AADTokens during "playback" as these - /// clients' requests are always "live". - /// - /// - [Fact(Skip="Should be run only live")] - public async Task GetBlobAAD() - { - using (var context = MockContext.Start(GetType(), nameof(GetBlobAAD))) - { - LoginMode loginMode = LoginMode.TokenAad; // use AAD - AzureContainerRegistryClient client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry, loginMode); - Stream blob = await client.Blob.GetAsync(ACRTestUtil.ProdRepository, ProdConfigBlobDigest); - StreamReader reader = new StreamReader(blob, Encoding.UTF8); - string originalBlob = reader.ReadToEnd(); - Assert.Equal(ProdConfigBlob, originalBlob); - } - } - - #region Helpers - private async Task UploadLayer(Stream blob, AzureContainerRegistryClient client, string repository) - { - // Make copy to obtain the ability to rewind the stream - Stream cpy = new MemoryStream(); - blob.CopyTo(cpy); - cpy.Position = 0; - - string digest = ComputeDigest(cpy); - cpy.Position = 0; - - var uploadInfo = await client.Blob.StartUploadAsync(repository); - var uploadedLayer = await client.Blob.UploadAsync(cpy, uploadInfo.Location); - var uploadedLayerEnd = await client.Blob.EndUploadAsync(digest, uploadedLayer.Location); - return uploadedLayerEnd.DockerContentDigest; - } - - private static string ComputeDigest(Stream s) - { - s.Position = 0; - StringBuilder sb = new StringBuilder(); - - using (var hash = SHA256.Create()) - { - byte[] result = hash.ComputeHash(s); - - foreach (byte b in result) - sb.Append(b.ToString("x2")); - } - - return "sha256:" + sb.ToString(); - - } - - private static Stream GenerateStreamFromString(string s) - { - var stream = new MemoryStream(); - var writer = new StreamWriter(stream); - writer.Write(s); - writer.Flush(); - stream.Position = 0; - return stream; - } - #endregion - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/ManifestTests.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/ManifestTests.cs deleted file mode 100644 index 3cb89eadd710..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/ManifestTests.cs +++ /dev/null @@ -1,645 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. - -namespace ContainerRegistry.Tests -{ - using Microsoft.Azure.ContainerRegistry; - using Microsoft.Azure.ContainerRegistry.Models; - using Microsoft.Rest.ClientRuntime.Azure.TestFramework; - using System.Collections.Generic; - using System.Linq; - using System.Threading.Tasks; - using Xunit; - - public class ManifestTests - { - #region Test Values - private static readonly ManifestAttributes ExpectedAttributesOfProdRepository = new ManifestAttributes() - { - Registry = ACRTestUtil.ManagedTestRegistryFullName, - ImageName = ACRTestUtil.ProdRepository, - Attributes = new ManifestAttributesBase - { - Digest = "sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8", - ImageSize = 5964642, - CreatedTime = "8/1/2019 10:49:11 PM", - LastUpdateTime = "8/1/2019 10:49:11 PM", - Architecture = "amd64", - Os = "linux", - MediaType = ACRTestUtil.MediatypeV2Manifest, - ConfigMediaType = ACRTestUtil.MediatypeV1Manifest, - Tags = new List { - "latest" - }, - ChangeableAttributes = new ChangeableAttributes - { - DeleteEnabled = true, - WriteEnabled = true, - ListEnabled = true, - ReadEnabled = true - } - } - }; - - private static readonly V2Manifest ExpectedV2ManifestProd = new V2Manifest() - { - SchemaVersion = 2, - MediaType = ACRTestUtil.MediatypeV2Manifest, - Config = new Descriptor - { - MediaType = ACRTestUtil.MediatypeV1Manifest, - Size = 5635, - Digest = "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39" - }, - Layers = new List - { - new Descriptor - { - MediaType = "application/vnd.docker.image.rootfs.diff.tar.gzip", - Size = 2789742, - Digest = "sha256:0503825856099e6adb39c8297af09547f69684b7016b7f3680ed801aa310baaa" - }, - new Descriptor - { - MediaType = "application/vnd.docker.image.rootfs.diff.tar.gzip", - Size = 3174556, - Digest = "sha256:7bf5420b55e6bbefb64ddb4fbb98ef094866f3a3facda638a155715ab6002d9b" - }, - new Descriptor - { - MediaType = "application/vnd.docker.image.rootfs.diff.tar.gzip", - Size = 344, - Digest = "sha256:1beb2aaf8cf93eacf658fa7f7f10f89ccec1838d1ac643a273345d4d0bc813a8" - } - } - }; - - private static readonly V1Manifest ExpectedV1ManifestProd = new V1Manifest() - { - SchemaVersion = 1, - MediaType = ACRTestUtil.MediatypeV1Manifest, - Architecture = "amd64", - Name = ACRTestUtil.TestRepository, - Tag = "latest", - FsLayers = new List - { - new FsLayer - { - BlobSum = "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" - }, - new FsLayer - { - BlobSum = "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" - }, - new FsLayer - { - BlobSum = "sha256:1beb2aaf8cf93eacf658fa7f7f10f89ccec1838d1ac643a273345d4d0bc813a8" - }, - new FsLayer - { - BlobSum = "sha256:7bf5420b55e6bbefb64ddb4fbb98ef094866f3a3facda638a155715ab6002d9b" - }, - new FsLayer - { - BlobSum = "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" - }, - new FsLayer - { - BlobSum = "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" - }, - new FsLayer - { - BlobSum = "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" - }, - new FsLayer - { - BlobSum = "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" - }, - new FsLayer - { - BlobSum = "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" - }, - new FsLayer - { - BlobSum = "sha256:0503825856099e6adb39c8297af09547f69684b7016b7f3680ed801aa310baaa" - } - }, - History = new List - { - new History - { - V1Compatibility = "{\"architecture\":\"amd64\",\"config\":{\"Hostname\":\"\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":[\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\",\"_BASH_GPG_KEY=7C0135FB088AAF6C66C650B9BB5869F064EA74AB\",\"_BASH_VERSION=5.0\",\"_BASH_PATCH_LEVEL=0\",\"_BASH_LATEST_PATCH=7\"],\"Cmd\":[\"bash\"],\"ArgsEscaped\":true,\"Image\":\"sha256:38ad2fbc9f9c0a87dfe0a2b19bdca94be45f4663f73fd09fefee492afd2c0144\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":[\"docker-entrypoint.sh\"],\"OnBuild\":null,\"Labels\":null},\"container\":\"4b0546fa49df5dcaed5b663717f442cef71a1b95c0ffb42c8c5ce7231b90c026\",\"container_config\":{\"Hostname\":\"4b0546fa49df\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":[\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\",\"_BASH_GPG_KEY=7C0135FB088AAF6C66C650B9BB5869F064EA74AB\",\"_BASH_VERSION=5.0\",\"_BASH_PATCH_LEVEL=0\",\"_BASH_LATEST_PATCH=7\"],\"Cmd\":[\"/bin/sh\",\"-c\",\"#(nop) \",\"CMD [\\\"bash\\\"]\"],\"ArgsEscaped\":true,\"Image\":\"sha256:38ad2fbc9f9c0a87dfe0a2b19bdca94be45f4663f73fd09fefee492afd2c0144\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":[\"docker-entrypoint.sh\"],\"OnBuild\":null,\"Labels\":{}},\"created\":\"2019-07-13T01:16:06.527515902Z\",\"docker_version\":\"18.06.1-ce\",\"id\":\"cdd327e549693fe222fe507b20c7ed5c3a5e4993e0130643e9e58a9412696c4d\",\"os\":\"linux\",\"parent\":\"86618c524a0b974761e4524e869760a53053bfedd45159a51ec197ac61ddb4c4\",\"throwaway\":true}" - }, - new History - { - V1Compatibility = "{\"id\":\"86618c524a0b974761e4524e869760a53053bfedd45159a51ec197ac61ddb4c4\",\"parent\":\"f86921d5a49faba5ebe9ec176bab3f7c26faf027ea2a890ce4a5293d7659b3c8\",\"created\":\"2019-07-13T01:16:06.319375884Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ENTRYPOINT [\\\"docker-entrypoint.sh\\\"]\"]},\"throwaway\":true}" - }, - new History - { - V1Compatibility = "{\"id\":\"f86921d5a49faba5ebe9ec176bab3f7c26faf027ea2a890ce4a5293d7659b3c8\",\"parent\":\"fdfa36816bb7dce8b1a03d236a964554ac997f8cc5fc3951c3ce80b9ddc94b4d\",\"created\":\"2019-07-13T01:16:06.164128412Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) COPY file:651b3bebeba8be9162c56b3eb561199905235f3e1c7811232b6c9f48ac333651 in /usr/local/bin/ \"]}}" - }, - new History - { - V1Compatibility = "{\"id\":\"fdfa36816bb7dce8b1a03d236a964554ac997f8cc5fc3951c3ce80b9ddc94b4d\",\"parent\":\"a868f8920a8ecf03f27df4ec46822d4fcc725647672f4a0f05888fadb7979332\",\"created\":\"2019-07-13T01:16:05.928429262Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c set -eux; \\t\\tapk add --no-cache --virtual .build-deps \\t\\tbison \\t\\tcoreutils \\t\\tdpkg-dev dpkg \\t\\tgcc \\t\\tgnupg \\t\\tlibc-dev \\t\\tmake \\t\\tncurses-dev \\t\\tpatch \\t\\ttar \\t; \\t\\tversion=\\\"$_BASH_VERSION\\\"; \\tif [ \\\"$_BASH_PATCH_LEVEL\\\" -gt 0 ]; then \\t\\tversion=\\\"$version.$_BASH_PATCH_LEVEL\\\"; \\tfi; \\twget -O bash.tar.gz \\\"https://ftp.gnu.org/gnu/bash/bash-$version.tar.gz\\\"; \\twget -O bash.tar.gz.sig \\\"https://ftp.gnu.org/gnu/bash/bash-$version.tar.gz.sig\\\"; \\t\\tif [ \\\"$_BASH_LATEST_PATCH\\\" -gt \\\"$_BASH_PATCH_LEVEL\\\" ]; then \\t\\tmkdir -p bash-patches; \\t\\tfirst=\\\"$(printf '%03d' \\\"$(( _BASH_PATCH_LEVEL + 1 ))\\\")\\\"; \\t\\tlast=\\\"$(printf '%03d' \\\"$_BASH_LATEST_PATCH\\\")\\\"; \\t\\tfor patch in $(seq -w \\\"$first\\\" \\\"$last\\\"); do \\t\\t\\turl=\\\"https://ftp.gnu.org/gnu/bash/bash-$_BASH_VERSION-patches/bash${_BASH_VERSION//./}-$patch\\\"; \\t\\t\\twget -O \\\"bash-patches/$patch\\\" \\\"$url\\\"; \\t\\t\\twget -O \\\"bash-patches/$patch.sig\\\" \\\"$url.sig\\\"; \\t\\tdone; \\tfi; \\t\\texport GNUPGHOME=\\\"$(mktemp -d)\\\"; \\tgpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys \\\"$_BASH_GPG_KEY\\\"; \\tgpg --batch --verify bash.tar.gz.sig bash.tar.gz; \\tgpgconf --kill all; \\trm bash.tar.gz.sig; \\tif [ -d bash-patches ]; then \\t\\tfor sig in bash-patches/*.sig; do \\t\\t\\tp=\\\"${sig%.sig}\\\"; \\t\\t\\tgpg --batch --verify \\\"$sig\\\" \\\"$p\\\"; \\t\\t\\trm \\\"$sig\\\"; \\t\\tdone; \\tfi; \\trm -rf \\\"$GNUPGHOME\\\"; \\t\\tmkdir -p /usr/src/bash; \\ttar \\t\\t--extract \\t\\t--file=bash.tar.gz \\t\\t--strip-components=1 \\t\\t--directory=/usr/src/bash \\t; \\trm bash.tar.gz; \\t\\tif [ -d bash-patches ]; then \\t\\tfor p in bash-patches/*; do \\t\\t\\tpatch \\t\\t\\t\\t--directory=/usr/src/bash \\t\\t\\t\\t--input=\\\"$(readlink -f \\\"$p\\\")\\\" \\t\\t\\t\\t--strip=0 \\t\\t\\t; \\t\\t\\trm \\\"$p\\\"; \\t\\tdone; \\t\\trmdir bash-patches; \\tfi; \\t\\tcd /usr/src/bash; \\tgnuArch=\\\"$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)\\\"; \\t./configure \\t\\t--build=\\\"$gnuArch\\\" \\t\\t--enable-readline \\t\\t--with-curses \\t\\t--without-bash-malloc \\t|| { \\t\\tcat \\u003e\\u00262 config.log; \\t\\tfalse; \\t}; \\tmake -j \\\"$(nproc)\\\"; \\tmake install; \\tcd /; \\trm -r /usr/src/bash; \\t\\trm -r \\t\\t/usr/local/share/doc/bash/*.html \\t\\t/usr/local/share/info \\t\\t/usr/local/share/locale \\t\\t/usr/local/share/man \\t; \\t\\trunDeps=\\\"$( \\t\\tscanelf --needed --nobanner --format '%n#p' --recursive /usr/local \\t\\t\\t| tr ',' '\\\\n' \\t\\t\\t| sort -u \\t\\t\\t| awk 'system(\\\"[ -e /usr/local/lib/\\\" $1 \\\" ]\\\") == 0 { next } { print \\\"so:\\\" $1 }' \\t)\\\"; \\tapk add --no-cache --virtual .bash-rundeps $runDeps; \\tapk del .build-deps; \\t\\t[ \\\"$(which bash)\\\" = '/usr/local/bin/bash' ]; \\tbash --version; \\t[ \\\"$(bash -c 'echo \\\"${BASH_VERSION%%[^0-9.]*}\\\"')\\\" = \\\"${_BASH_VERSION%%-*}.$_BASH_LATEST_PATCH\\\" ];\"]}}" - }, - new History - { - V1Compatibility = "{\"id\":\"a868f8920a8ecf03f27df4ec46822d4fcc725647672f4a0f05888fadb7979332\",\"parent\":\"52ea5f441a09314108d53a1fffdbd2432f7a6708b43fea16f1a6cc4371593937\",\"created\":\"2019-07-13T01:15:14.099300075Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ENV _BASH_LATEST_PATCH=7\"]},\"throwaway\":true}" - }, - new History - { - V1Compatibility = "{\"id\":\"52ea5f441a09314108d53a1fffdbd2432f7a6708b43fea16f1a6cc4371593937\",\"parent\":\"b6ebed9f2716cd5a747668c66288c5665403c9e51e9f8d51180bc5c433389052\",\"created\":\"2019-07-13T01:15:13.940455419Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ENV _BASH_PATCH_LEVEL=0\"]},\"throwaway\":true}" - }, - new History - { - V1Compatibility = "{\"id\":\"b6ebed9f2716cd5a747668c66288c5665403c9e51e9f8d51180bc5c433389052\",\"parent\":\"e49db6057936a3300c3e470ebac56e96d2da218d53ed5487459d501c88f4cfaa\",\"created\":\"2019-07-13T01:15:13.745652098Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ENV _BASH_VERSION=5.0\"]},\"throwaway\":true}" - }, - new History - { - V1Compatibility = "{\"id\":\"e49db6057936a3300c3e470ebac56e96d2da218d53ed5487459d501c88f4cfaa\",\"parent\":\"d097d7d1c0e7b077bbfcea46f6da56fa7fba28d72a1479ac785a32eb1e36c333\",\"created\":\"2019-07-13T01:15:13.567669812Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ENV _BASH_GPG_KEY=7C0135FB088AAF6C66C650B9BB5869F064EA74AB\"]},\"throwaway\":true}" - }, - new History - { - V1Compatibility = "{\"id\":\"d097d7d1c0e7b077bbfcea46f6da56fa7fba28d72a1479ac785a32eb1e36c333\",\"parent\":\"97bd3cc8bea9669bf96dd307e91be787820a0de9525e9c16aef7286489969f90\",\"created\":\"2019-07-11T22:20:52.375286404Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) CMD [\\\"/bin/sh\\\"]\"]},\"throwaway\":true}" - }, - new History - { - V1Compatibility = "{\"id\":\"97bd3cc8bea9669bf96dd307e91be787820a0de9525e9c16aef7286489969f90\",\"created\":\"2019-07-11T22:20:52.139709355Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) ADD file:0eb5ea35741d23fe39cbac245b3a5d84856ed6384f4ff07d496369ee6d960bad in / \"]}}" - } - }, - Signatures = new List - { - new ImageSignature - { - Header = new JWK - { - Jwk = new JWKHeader - { - Crv = "P-256", - Kid = "HJSI:F55C:W355:JBDR:IAK6:BKT3:335P:YXV4:DIQZ:4QML:QBL6:J774", - Kty = "EC", - X = "wc8C3Ty4G5b2cmJNOeWwFkk1VFZX2BqOzEA4QwCWdE8", - Y = "-ZBu1SPnQ_em5KKOj5MkVVHIuCgsM5gxPx3vbQ9rnG8" - }, - Alg = "ES256" - }, - Signature = "MYCa2ke2yHiQR2NCFAutMDHVpP2Pi7oWy0oSLk7T0NThYt8qHz0kQqoqL6H0A2xUtRNdyOHK4l622c7JHN4SSg", - ProtectedProperty = "eyJmb3JtYXRMZW5ndGgiOjkxOTMsImZvcm1hdFRhaWwiOiJDbjAiLCJ0aW1lIjoiMjAxOS0wOC0wNlQyMToyMToxOVoifQ" - } - } - }; - - private static readonly OCIManifest ExpectedOCIManifestProd = new OCIManifest() - { - MediaType = ACRTestUtil.MediatypeOCIManifest, - Config = new Descriptor - { - MediaType = "application/vnd.oci.image.config.v1+json", - Size = 2, - Digest = "sha256:44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", - Urls = null, - Annotations = null - }, - Layers = new List - { - new Descriptor - { - MediaType = "application/vnd.oci.image.layer.v1.tar+gzip", - Size = 236004, - Digest = "sha256:2d1fb76c10e805cf3d8d130a2921b89721bc83867855aa4608811f57c03599ea", - Urls = null, - Annotations = new Annotations - { - AdditionalProperties = new Dictionary - { - {"io.deis.oras.content.digest", "sha256:d4d3bda3e64bbc1d8550a6ed8d09324a39a75c8687ab5f6e06b2e9baee29a00c" }, - {"io.deis.oras.content.unpack", "true"} - }, - Created = null, - Authors = null, - Url = null, - Documentation = null, - Source = null, - Version = null, - Revision = null, - Vendor = null, - Licenses = null, - Name = null, - Title = ".", - Description = null - } - } - }, - Annotations = null, - SchemaVersion = 2 - }; - - private static readonly ManifestAttributes ExpectedAttributesChangeableRepository = new ManifestAttributes() - { - Registry = ACRTestUtil.ManagedTestRegistryForChangesFullName, - ImageName = ACRTestUtil.changeableRepository, - Attributes = new ManifestAttributesBase - { - Digest = "sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8", - ImageSize = 5964642, - CreatedTime = "8/6/2019 11:27:35 PM", - LastUpdateTime = "8/6/2019 11:27:35 PM", - Architecture = "amd64", - Os = "linux", - MediaType = ACRTestUtil.MediatypeV2Manifest, - ConfigMediaType = ACRTestUtil.MediatypeV1Manifest, - Tags = new List - { - "latest" - }, - ChangeableAttributes = new ChangeableAttributes - { - DeleteEnabled = true, - WriteEnabled = true, - ListEnabled = true, - ReadEnabled = true - } - } - }; - - private static readonly ManifestList ExpectedManifestList = new ManifestList() - { - MediaType = "application/vnd.docker.distribution.manifest.list.v2+json", - Manifests = new List - { - new ManifestListAttributes - { - MediaType = "application/vnd.docker.distribution.manifest.v2+json", - Size = 528, - Digest = "sha256:4b36b0347b2c6b02adc54a3d8e8143299e7c733b4dcadb95c1d4c8b6da720172", - Platform = new Platform - { - Architecture = "amd64", - Os = "linux", - Osversion = null, - Osfeatures = null, - Variant = null, - Features = null - } - }, - new ManifestListAttributes - { - MediaType = "application/vnd.docker.distribution.manifest.v2+json", - Size = 838, - Digest = "sha256:2542c76d5ba87f9923ebcc6711677a2167dedf33e382f61a97772ae35106274d", - Platform = new Platform - { - Architecture = "amd64", - Os = "windows", - Osversion = "10.0.18362.295", - Osfeatures = null, - Variant = null, - Features = null - } - } - }, - SchemaVersion = 2 - }; - - private static readonly OCIIndex ExpectedOCIIndex = new OCIIndex() - { - MediaType = ACRTestUtil.MediatypeOCIIndex, - Manifests = new List - { - new ManifestListAttributes - { - MediaType = "application/vnd.docker.distribution.manifest.v2+json", - Size = 528, - Digest = "sha256:4b36b0347b2c6b02adc54a3d8e8143299e7c733b4dcadb95c1d4c8b6da720172", - Platform = new Platform - { - Architecture = "amd64", - Os = "linux", - Osversion = null, - Osfeatures = null, - Variant = null, - Features = null - } - }, - new ManifestListAttributes - { - MediaType = "application/vnd.docker.distribution.manifest.v2+json", - Size = 838, - Digest = "sha256:2542c76d5ba87f9923ebcc6711677a2167dedf33e382f61a97772ae35106274d", - Platform = new Platform - { - Architecture = "amd64", - Os = "windows", - Osversion = "10.0.18362.295", - Osfeatures = null, - Variant = null, - Features = null - } - } - }, - Annotations = new Annotations - { - AdditionalProperties = new Dictionary - { - { "com.example.key1" , "value1" }, - { "com.example.key2", "value2" } - }, - Created = null, - Authors = null, - Url = null, - Documentation = null, - Source = null, - Version = null, - Revision = null, - Vendor = null, - Licenses = null, - Name = null, - Title = null, - Description = null - }, - SchemaVersion = 2 - }; - - #endregion - - [Fact] - public async Task GetAcrManifestAttributes() - { - using (var context = MockContext.Start(GetType(), nameof(GetAcrManifestAttributes))) - { - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var repositoryAttributes = await client.Manifests.GetAttributesAsync(ACRTestUtil.ProdRepository, - "sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8"); - - Assert.Equal(ExpectedAttributesOfProdRepository.ImageName, repositoryAttributes.ImageName); - Assert.Equal(ExpectedAttributesOfProdRepository.Registry, repositoryAttributes.Registry); - VerifyAcrManifestAttributesBase(ExpectedAttributesOfProdRepository.Attributes, repositoryAttributes.Attributes); - } - - - } - - [Fact] - public async Task GetAcrManifests() - { - using (var context = MockContext.Start(GetType(), nameof(GetAcrManifests))) - { - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var manifests = await client.Manifests.GetListAsync(ACRTestUtil.ProdRepository); - - Assert.Equal(ExpectedAttributesOfProdRepository.ImageName, manifests.ImageName); - Assert.Equal(ExpectedAttributesOfProdRepository.Registry, manifests.Registry); - Assert.Equal(2, manifests.ManifestsAttributes.Count); - VerifyAcrManifestAttributesBase(ExpectedAttributesOfProdRepository.Attributes, manifests.ManifestsAttributes[1]); - } - } - - [Fact] - public async Task GetV1Manifest() - { - using (var context = MockContext.Start(GetType(), nameof(GetV1Manifest))) - { - var tag = "latest"; - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var manifest = (V1Manifest)await client.Manifests.GetAsync(ACRTestUtil.TestRepository, tag); - VerifyManifest(ExpectedV1ManifestProd, manifest); - } - } - - [Fact] - public async Task GetOCIManifest() - { - using (var context = MockContext.Start(GetType(), nameof(GetOCIManifest))) - { - var tag = "latest"; - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var manifest = (OCIManifest)await client.Manifests.GetAsync(ACRTestUtil.OCITestRepository, tag, ACRTestUtil.MediatypeOCIManifest); - VerifyManifest(ExpectedOCIManifestProd, manifest); - } - } - - [Fact] - public async Task GetOCIIndex() - { - using (var context = MockContext.Start(GetType(), nameof(GetOCIIndex))) - { - var tag = "oci"; - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var manifest = (OCIIndex)await client.Manifests.GetAsync(ACRTestUtil.ManifestListTestRepository, tag, ACRTestUtil.MediatypeOCIIndex); - VerifyManifest(ExpectedOCIIndex, manifest); - } - } - - [Fact] - public async Task CreateOCIManifest() - { - using (var context = MockContext.Start(GetType(), nameof(CreateOCIManifest))) - { - var tag = "test-put-ociManifest"; - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - await client.Manifests.CreateAsync(ACRTestUtil.OCITestRepository, tag, ExpectedOCIManifestProd); - var manifest = (OCIManifest)await client.Manifests.GetAsync(ACRTestUtil.OCITestRepository, tag, ACRTestUtil.MediatypeOCIManifest); - VerifyManifest(ExpectedOCIManifestProd, manifest); - } - } - - [Fact] - public async Task CreateOCIIndex() - { - using (var context = MockContext.Start(GetType(), nameof(CreateOCIIndex))) - { - var tag = "oci-index-put"; - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - await client.Manifests.CreateAsync(ACRTestUtil.ManifestListTestRepository, tag,ExpectedOCIIndex); - var manifest = (OCIIndex)await client.Manifests.GetAsync(ACRTestUtil.ManifestListTestRepository, tag, ACRTestUtil.MediatypeOCIIndex); - VerifyManifest(ExpectedOCIIndex, manifest); - } - } - - [Fact] - public async Task CreateManifestList() - { - using (var context = MockContext.Start(GetType(), nameof(CreateManifestList))) - { - var tag = "test-manifest-list"; - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - await client.Manifests.CreateAsync(ACRTestUtil.ManifestListTestRepository, tag, ExpectedManifestList); - var manifest = (ManifestList)await client.Manifests.GetAsync(ACRTestUtil.ManifestListTestRepository, tag, ACRTestUtil.MediatypeManifestList); - VerifyManifest(ExpectedManifestList, manifest); - } - } - - [Fact] - public async Task GetManifestList() - { - using (var context = MockContext.Start(GetType(), nameof(GetManifestList))) - { - var tag = "latest"; - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var manifest = (ManifestList)await client.Manifests.GetAsync(ACRTestUtil.ManifestListTestRepository, tag, ACRTestUtil.MediatypeManifestList); - VerifyManifest(ExpectedManifestList, manifest); - } - } - - [Fact] - public async Task GetV2Manifest() - { - using (var context = MockContext.Start(GetType(), nameof(GetV2Manifest))) - { - var tag = "latest"; - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var manifest = (V2Manifest)await client.Manifests.GetAsync(ACRTestUtil.TestRepository, tag, ACRTestUtil.MediatypeV2Manifest); - VerifyManifest(ExpectedV2ManifestProd, manifest); - } - } - - - [Fact] - public async Task UpdateAcrManifestAttributes() - { - using (var context = MockContext.Start(GetType(), nameof(UpdateAcrManifestAttributes))) - { - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistryForChanges); - - var updateAttributes = new ChangeableAttributes() { DeleteEnabled = true, ListEnabled = true, ReadEnabled = true, WriteEnabled = false }; - var digest = "sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8"; - - //Update attributes - await client.Manifests.UpdateAttributesAsync(ACRTestUtil.changeableRepository, digest, updateAttributes); - var updatedManifest = await client.Manifests.GetAttributesAsync(ACRTestUtil.changeableRepository, digest); - - //Check for success - Assert.False(updatedManifest.Attributes.ChangeableAttributes.WriteEnabled); - - //Return attributes to original - updateAttributes.WriteEnabled = true; - await client.Manifests.UpdateAttributesAsync(ACRTestUtil.changeableRepository, digest, updateAttributes); - updatedManifest = await client.Manifests.GetAttributesAsync(ACRTestUtil.changeableRepository, digest); - Assert.Equal(ExpectedAttributesChangeableRepository.ImageName, updatedManifest.ImageName); - Assert.Equal(ExpectedAttributesChangeableRepository.Registry, updatedManifest.Registry); - VerifyAcrManifestAttributesBase(ExpectedAttributesChangeableRepository.Attributes, updatedManifest.Attributes); - } - } - - [Fact] - public async Task CreateAndDeleteManifest() - { - using (var context = MockContext.Start(GetType(), nameof(CreateAndDeleteManifest))) - { - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistryForChanges); - await client.Manifests.CreateAsync(ACRTestUtil.changeableRepository, "temporary", ExpectedV2ManifestProd); - - var newManifest = (V2Manifest)await client.Manifests.GetAsync(ACRTestUtil.changeableRepository, "temporary", ACRTestUtil.MediatypeV2Manifest); - var tag = await client.Tag.GetAttributesAsync(ACRTestUtil.changeableRepository, "temporary"); - - VerifyManifest(ExpectedV2ManifestProd, newManifest); - await client.Manifests.DeleteAsync(ACRTestUtil.changeableRepository, tag.Attributes.Digest); - } - } - - #region Validation Helpers - private void VerifyAcrManifestAttributesBase(ManifestAttributesBase expectedManifestBase, ManifestAttributesBase actualManifestBase) - { - Assert.Equal(expectedManifestBase.Architecture, actualManifestBase.Architecture); - Assert.Equal(expectedManifestBase.Digest, actualManifestBase.Digest); - Assert.Equal(expectedManifestBase.MediaType, actualManifestBase.MediaType); - Assert.Equal(expectedManifestBase.Os, actualManifestBase.Os); - Assert.Equal(expectedManifestBase.Tags.Count, actualManifestBase.Tags.Count); - Assert.Equal(expectedManifestBase.Tags[0], actualManifestBase.Tags[0]); - Assert.Equal(expectedManifestBase.ChangeableAttributes.DeleteEnabled, actualManifestBase.ChangeableAttributes.DeleteEnabled); - Assert.Equal(expectedManifestBase.ChangeableAttributes.ListEnabled, actualManifestBase.ChangeableAttributes.ListEnabled); - Assert.Equal(expectedManifestBase.ChangeableAttributes.ReadEnabled, actualManifestBase.ChangeableAttributes.ReadEnabled); - Assert.Equal(expectedManifestBase.ChangeableAttributes.WriteEnabled, actualManifestBase.ChangeableAttributes.WriteEnabled); - } - - private void VerifyManifest(Manifest baseManifest, Manifest actualManifest) - { - Assert.Equal(baseManifest.GetType(), actualManifest.GetType()); - Assert.Equal(baseManifest.SchemaVersion, actualManifest.SchemaVersion); - if (baseManifest.GetType() == typeof(V2Manifest)) - { - var baseManifestV2 = (V2Manifest)baseManifest; - var actualManifestV2 = (V2Manifest)baseManifest; - Assert.Equal(baseManifestV2.Layers.Count, actualManifestV2.Layers.Count); - for (int i = 0; i < baseManifestV2.Layers.Count; i++) - { - Assert.Equal(baseManifestV2.Layers[i].Digest, actualManifestV2.Layers[i].Digest); - Assert.Equal(baseManifestV2.Layers[i].MediaType, actualManifestV2.Layers[i].MediaType); - Assert.Equal(baseManifestV2.Layers[i].Size, actualManifestV2.Layers[i].Size); - } - Assert.Equal(baseManifestV2.Config.Digest, actualManifestV2.Config.Digest); - Assert.Equal(baseManifestV2.Config.MediaType, actualManifestV2.Config.MediaType); - Assert.Equal(baseManifestV2.Config.Size, actualManifestV2.Config.Size); - } - if (baseManifest.GetType() == typeof(V1Manifest)) - { - var baseManifestV1 = (V1Manifest)baseManifest; - var actualManifestV1 = (V1Manifest)baseManifest; - Assert.Equal(baseManifestV1.Architecture, actualManifestV1.Architecture); - Assert.Equal(baseManifestV1.Name, actualManifestV1.Name); - Assert.Equal(baseManifestV1.Tag, actualManifestV1.Tag); - Assert.Equal(baseManifestV1.FsLayers.Count, actualManifestV1.FsLayers.Count); - - for (int i = 0; i < baseManifestV1.FsLayers.Count; i++) - { - Assert.Equal(baseManifestV1.FsLayers[i].BlobSum, actualManifestV1.FsLayers[i].BlobSum); - } - - Assert.Equal(baseManifestV1.History.Count, actualManifestV1.History.Count); - for (int i = 0; i < baseManifestV1.History.Count; i++) - { - Assert.Equal(baseManifestV1.History[i].V1Compatibility, actualManifestV1.History[i].V1Compatibility); - } - } - if (baseManifest.GetType() == typeof(OCIManifest)) - { - var baseManifestOCI = (OCIManifest)baseManifest; - var actualManifestOCI = (OCIManifest)baseManifest; - Assert.Equal(baseManifestOCI.Layers.Count, actualManifestOCI.Layers.Count); - for (int i = 0; i < baseManifestOCI.Layers.Count; i++) - { - Assert.Equal(baseManifestOCI.Layers[i].Digest, actualManifestOCI.Layers[i].Digest); - Assert.Equal(baseManifestOCI.Layers[i].MediaType, actualManifestOCI.Layers[i].MediaType); - Assert.Equal(baseManifestOCI.Layers[i].Size, actualManifestOCI.Layers[i].Size); - Assert.Equal(baseManifestOCI.Layers[i].Annotations, actualManifestOCI.Layers[i].Annotations); - VerifyAnnotations(baseManifestOCI.Layers[i].Annotations, actualManifestOCI.Layers[i].Annotations); - } - Assert.Equal(baseManifestOCI.Config.Digest, actualManifestOCI.Config.Digest); - Assert.Equal(baseManifestOCI.Config.MediaType, actualManifestOCI.Config.MediaType); - Assert.Equal(baseManifestOCI.Config.Size, actualManifestOCI.Config.Size); - VerifyAnnotations(baseManifestOCI.Annotations, actualManifestOCI.Annotations); - } - } - - private void VerifyAnnotations(Annotations expected, Annotations actual) - { - if ((expected == null) && (actual == null)) { return; }; - Assert.True((expected == null) == (actual == null)); - Assert.Equal(expected.Authors, actual.Authors); - Assert.Equal(expected.Created, actual.Created); - Assert.Equal(expected.Description, actual.Description); - Assert.Equal(expected.Documentation, actual.Documentation); - Assert.Equal(expected.Licenses, actual.Licenses); - Assert.Equal(expected.Revision, actual.Revision); - Assert.Equal(expected.Source, actual.Source); - Assert.Equal(expected.Title, actual.Title); - Assert.Equal(expected.Url, actual.Url); - Assert.Equal(expected.Vendor, actual.Vendor); - Assert.Equal(expected.Version, actual.Version); - Assert.True((expected.AdditionalProperties == null) == (actual.AdditionalProperties == null)); - if (expected.AdditionalProperties != null) - { - Assert.Equal(expected.AdditionalProperties.Count, actual.AdditionalProperties.Count); - - var keys = actual.AdditionalProperties.Keys.ToList(); - foreach (var key in keys) - { - Assert.Equal(expected.AdditionalProperties[key], actual.AdditionalProperties[key]); - } - } - } - #endregion - } - -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/RepositoryTests.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/RepositoryTests.cs deleted file mode 100644 index bf1b8320645d..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/RepositoryTests.cs +++ /dev/null @@ -1,115 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. - -namespace ContainerRegistry.Tests -{ - using Microsoft.Azure.ContainerRegistry; - using Microsoft.Azure.ContainerRegistry.Models; - using Microsoft.Rest.ClientRuntime.Azure.TestFramework; - using System.Threading.Tasks; - using Xunit; - - public class RepositoryTests - { - - [Fact] - public async Task ListRepository() - { - using (var context = MockContext.Start(GetType(), nameof(ListRepository))) - { - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var repositories = await client.Repository.GetListAsync(null, 1); - - Assert.Equal(1, repositories.Names.Count); - Assert.Collection(repositories.Names, name => Assert.Equal(ACRTestUtil.ManifestListTestRepository, name)); - - repositories = await client.Repository.GetListAsync(); - Assert.Equal(4, repositories.Names.Count); - Assert.Collection(repositories.Names, name => Assert.Equal(ACRTestUtil.ManifestListTestRepository, name), - name => Assert.Equal(ACRTestUtil.OCITestRepository, name), - name => Assert.Equal(ACRTestUtil.ProdRepository, name), - name => Assert.Equal(ACRTestUtil.TestRepository, name)); - } - } - - [Fact] - public async Task GetAcrRepositoryDetails() - { - using (var context = MockContext.Start(GetType(), nameof(GetAcrRepositoryDetails))) - { - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var repositoryDetails = await client.Repository.GetAttributesAsync(ACRTestUtil.ProdRepository); - - Assert.Equal(ACRTestUtil.ManagedTestRegistryFullName, repositoryDetails.Registry); - Assert.Equal(2, repositoryDetails.TagCount); - Assert.Equal(2, repositoryDetails.ManifestCount); - Assert.Equal("2019-08-01T22:49:11.1632015Z", repositoryDetails.CreatedTime); - Assert.Equal(ACRTestUtil.ProdRepository, repositoryDetails.ImageName); - Assert.False(repositoryDetails.ChangeableAttributes.DeleteEnabled); - Assert.True(repositoryDetails.ChangeableAttributes.ListEnabled); - Assert.True(repositoryDetails.ChangeableAttributes.ReadEnabled); - Assert.False(repositoryDetails.ChangeableAttributes.WriteEnabled); - } - } - - - [Fact] - public async Task DeleteAcrRepository() - { - using (var context = MockContext.Start(GetType(), nameof(DeleteAcrRepository))) - { - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistryForChanges); - var repositories = await client.Repository.GetListAsync(); - - //Selects one of the previously stored hello-world repositories for deletion - string deletableRepo = ""; - foreach (var repo in repositories.Names) - { - if (repo.StartsWith("hello-world")) - { - deletableRepo = repo; - continue; - } - } - var deletedRepo = await client.Repository.DeleteAsync(deletableRepo); - - Assert.Equal(1, deletedRepo.ManifestsDeleted.Count); - Assert.Equal("sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a", deletedRepo.ManifestsDeleted[0]); - Assert.Equal(1, deletedRepo.TagsDeleted.Count); - Assert.Collection(deletedRepo.TagsDeleted, tag => Assert.Equal("latest", tag)); - } - } - - [Fact] - public async Task UpdateAcrRepositoryAttributes() - { - using (var context = MockContext.Start(GetType(), nameof(UpdateAcrRepositoryAttributes))) - { - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistryForChanges); - - //Changeable attributes - var updateAttributes = new ChangeableAttributes() { DeleteEnabled = false, ListEnabled = true, ReadEnabled = true, WriteEnabled = false }; - await client.Repository.UpdateAttributesAsync(ACRTestUtil.changeableRepository, updateAttributes); - - var repositoryDetails = await client.Repository.GetAttributesAsync(ACRTestUtil.changeableRepository); - - //Undo change in remote (in case this fails) - updateAttributes.WriteEnabled = true; - updateAttributes.DeleteEnabled = true; - await client.Repository.UpdateAttributesAsync(ACRTestUtil.changeableRepository, updateAttributes); - - //Check success - Assert.Equal(1, repositoryDetails.TagCount); - Assert.Equal(1, repositoryDetails.ManifestCount); - Assert.Equal(ACRTestUtil.changeableRepository, repositoryDetails.ImageName); - Assert.False(repositoryDetails.ChangeableAttributes.DeleteEnabled); - Assert.True(repositoryDetails.ChangeableAttributes.ListEnabled); - Assert.True(repositoryDetails.ChangeableAttributes.ReadEnabled); - Assert.False(repositoryDetails.ChangeableAttributes.WriteEnabled); - - } - } - - } -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/ScopeTests.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/ScopeTests.cs deleted file mode 100644 index f68e5a6ae78a..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/ScopeTests.cs +++ /dev/null @@ -1,111 +0,0 @@ -namespace ContainerRegistry.Tests -{ - using Microsoft.Azure.ContainerRegistry; - using Microsoft.Azure.ContainerRegistry.Models; - using Microsoft.Azure.Management.ContainerRegistry; - using Microsoft.Rest.ClientRuntime.Azure.TestFramework; - using System.Collections.Generic; - using System.Net.Http; - using System.Threading.Tasks; - using Xunit; - - public class ScopeTests - { - [Fact] - public async Task CreateAndGetManifest() - { - using (var context = MockContext.Start(GetType(), nameof(CreateAndGetManifest))) - { - var tag = "test-put"; - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistryForChanges); - await client.Manifests.CreateAsync(ACRTestUtil.changeableRepository, tag, ExpectedV2ManifestProd); - - var newManifest = (V2Manifest)await client.Manifests.GetAsync(ACRTestUtil.changeableRepository, tag, ACRTestUtil.MediatypeV2Manifest); - var tagAttributes = await client.Tag.GetAttributesAsync(ACRTestUtil.changeableRepository, tag); - - VerifyManifest(ExpectedV2ManifestProd, newManifest); - await client.Manifests.DeleteAsync(ACRTestUtil.changeableRepository, tagAttributes.Attributes.Digest); - } - } - - [Theory] - [MemberData(nameof(TestData))] - public async Task MoreScopeTests(string headerValue, string expectedScope) - { - using (var context = MockContext.Start(GetType(), nameof(MoreScopeTests))) - { - var _httpRequest = new HttpRequestMessage(); - _httpRequest.Headers.Add("Www-Authenticate", headerValue); - - var client = await ACRTestUtil.GetCredentialsAsync(context, ACRTestUtil.ManagedTestRegistryForChanges); - string actualScope = client.GetScopeFromHeaders(_httpRequest.Headers); - Assert.Equal(expectedScope, actualScope); - } - } - - public static IEnumerable TestData() - { - yield return new object[] { "Bearer realm=\"https://myregistry.azurecr-test.io/oauth2/token\",service=\"myregistry.azurecr-test.io\",scope=\"foo:bar:baz,abc\",Basic xyz=123", "foo:bar:baz,abc"}; - yield return new object[] { "Bearer realm=\"https://myregistry.azurecr-test.io/oauth2/token\",service=\"myregistry.azurecr-test.io\",scope=\"foo:bar:baz,abc\", Basic xyz=123", "foo:bar:baz,abc"}; - yield return new object[] { "Bearer realm=\"https://myregistry.azurecr-test.io/oauth2/token\",service=\"myregistry.azurecr-test.io\",scope=\"foo:bar:baz,abc\"", "foo:bar:baz,abc" }; - yield return new object[] { "Bearer realm=\"https://myregistry.azurecr-test.io/oauth2/token\",service=\"myregistry.azurecr-test.io\",scope=\"foo:bar:baz\"", "foo:bar:baz" }; - } - - private static readonly V2Manifest ExpectedV2ManifestProd = new V2Manifest() - { - SchemaVersion = 2, - MediaType = ACRTestUtil.MediatypeV2Manifest, - Config = new Descriptor - { - MediaType = ACRTestUtil.MediatypeV1Manifest, - Size = 5635, - Digest = "sha256:16463e0c481e161aabb735437d30b3c9c7391c2747cc564bb927e843b73dcb39" - }, - Layers = new List - { - new Descriptor - { - MediaType = "application/vnd.docker.image.rootfs.diff.tar.gzip", - Size = 2789742, - Digest = "sha256:0503825856099e6adb39c8297af09547f69684b7016b7f3680ed801aa310baaa" - }, - new Descriptor - { - MediaType = "application/vnd.docker.image.rootfs.diff.tar.gzip", - Size = 3174556, - Digest = "sha256:7bf5420b55e6bbefb64ddb4fbb98ef094866f3a3facda638a155715ab6002d9b" - }, - new Descriptor - { - MediaType = "application/vnd.docker.image.rootfs.diff.tar.gzip", - Size = 344, - Digest = "sha256:1beb2aaf8cf93eacf658fa7f7f10f89ccec1838d1ac643a273345d4d0bc813a8" - } - } - }; - - private void VerifyManifest(Manifest baseManifest, Manifest actualManifest) - { - Assert.Equal(baseManifest.GetType(), actualManifest.GetType()); - Assert.Equal(baseManifest.SchemaVersion, actualManifest.SchemaVersion); - - if (baseManifest is V2Manifest) - { - var baseManifestV2 = (V2Manifest)baseManifest; - var actualManifestV2 = (V2Manifest)baseManifest; - Assert.Equal(baseManifestV2.Layers.Count, actualManifestV2.Layers.Count); - for (int i = 0; i < baseManifestV2.Layers.Count; i++) - { - Assert.Equal(baseManifestV2.Layers[i].Digest, actualManifestV2.Layers[i].Digest); - Assert.Equal(baseManifestV2.Layers[i].MediaType, actualManifestV2.Layers[i].MediaType); - Assert.Equal(baseManifestV2.Layers[i].Size, actualManifestV2.Layers[i].Size); - } - Assert.Equal(baseManifestV2.Config.Digest, actualManifestV2.Config.Digest); - Assert.Equal(baseManifestV2.Config.MediaType, actualManifestV2.Config.MediaType); - Assert.Equal(baseManifestV2.Config.Size, actualManifestV2.Config.Size); - } - } - - } - -} diff --git a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/TagTests.cs b/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/TagTests.cs deleted file mode 100644 index d26df6b321c7..000000000000 --- a/sdk/containerregistry/Microsoft.Azure.ContainerRegistry/tests/Tests/TagTests.cs +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. See License.txt in the project root for -// license information. - -namespace ContainerRegistry.Tests -{ - using Microsoft.Azure.ContainerRegistry; - using Microsoft.Azure.ContainerRegistry.Models; - using Microsoft.Rest.ClientRuntime.Azure.TestFramework; - using System.Collections.Generic; - using System.Threading.Tasks; - using Xunit; - - public class TagTests - { - #region Test Values - private static readonly TagList prodTags = new TagList() - { - Registry = ACRTestUtil.ManagedTestRegistry, - ImageName = ACRTestUtil.ProdRepository, - Tags = new List{ - new TagAttributesBase - { - Name = "brandnew", - Digest = "sha256:3dfea53d16f8241fd606f8ceda4c8779ffae8e6b5e32c96e00f931de874ec709", - CreatedTime = "2019-08-06T19:25:00.2406558Z", - LastUpdateTime = "2019-08-06T19:25:00.2406558Z", - Signed = false, - ChangeableAttributes = new ChangeableAttributes - { - DeleteEnabled = true, - WriteEnabled = true, - ListEnabled = true, - ReadEnabled = true - } - }, - new TagAttributesBase - { - Name = "latest", - Digest = "sha256:dbefd3c583a226ddcef02536cd761d2d86dc7e6f21c53f83957736d6246e9ed8", - CreatedTime = "2019-08-01T22:49:11.2741202Z", - LastUpdateTime = "2019-08-01T22:49:11.2741202Z", - Signed = false, - ChangeableAttributes = new ChangeableAttributes - { - DeleteEnabled = true, - WriteEnabled = true, - ListEnabled = true, - ReadEnabled = true - } - } - } - }; - #endregion - - [Fact] - public async Task GetAcrTags() - { - using (var context = MockContext.Start(GetType(), nameof(GetAcrTags))) - { - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var tags = await client.Tag.GetListAsync(ACRTestUtil.ProdRepository); - - Assert.Equal(ACRTestUtil.ProdRepository, tags.ImageName); - Assert.Equal(ACRTestUtil.ManagedTestRegistryFullName, tags.Registry); - Assert.Equal(2, tags.Tags.Count); - ValidateTagAttributesBase(tags.Tags[0], prodTags.Tags[0]); - ValidateTagAttributesBase(tags.Tags[1], prodTags.Tags[1]); - - } - } - - [Fact] - public async Task GetTags() - { - using (var context = MockContext.Start(GetType(), nameof(GetTags))) - { - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var tags = await client.Tag.GetListAsync(ACRTestUtil.ProdRepository); - Assert.Equal(2, tags.Tags.Count); - Assert.Equal("latest", tags.Tags[1].Name); - Assert.Equal(ACRTestUtil.ProdRepository, tags.ImageName); - } - } - - [Fact] - public async Task DeleteAcrTag() - { - using (var context = MockContext.Start(GetType(), nameof(DeleteAcrTag))) - { - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistryForChanges); - var tags = await client.Tag.GetListAsync(ACRTestUtil.deleteableRepository); - await client.Tag.DeleteAsync(ACRTestUtil.deleteableRepository, tags.Tags[0].Name); - - var newTags = await client.Tag.GetListAsync(ACRTestUtil.deleteableRepository); - Assert.DoesNotContain(newTags.Tags, tag => { return tag.Equals(tags.Tags[0]); }); - } - } - - [Fact] - public async Task UpdateAcrTagAttributes() - { - using (var context = MockContext.Start(GetType(), nameof(UpdateAcrTagAttributes))) - { - var updateAttributes = new ChangeableAttributes() { DeleteEnabled = true, ListEnabled = true, ReadEnabled = true, WriteEnabled = false }; - var tag = "latest"; - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistryForChanges); - await client.Tag.UpdateAttributesAsync(ACRTestUtil.changeableRepository, tag, updateAttributes); - - var tagAttributes = await client.Tag.GetAttributesAsync(ACRTestUtil.changeableRepository, tag); - Assert.False(tagAttributes.Attributes.ChangeableAttributes.WriteEnabled); - - updateAttributes.WriteEnabled = true; - await client.Tag.UpdateAttributesAsync(ACRTestUtil.changeableRepository, tag, updateAttributes); - tagAttributes = await client.Tag.GetAttributesAsync(ACRTestUtil.changeableRepository, tag); - - Assert.True(tagAttributes.Attributes.ChangeableAttributes.WriteEnabled); - } - } - - [Fact] - public async Task GetAcrTagAttributes() - { - using (var context = MockContext.Start(GetType(), nameof(GetAcrTagAttributes))) - { - var tag = "latest"; - var client = await ACRTestUtil.GetACRClientAsync(context, ACRTestUtil.ManagedTestRegistry); - var tagAttributes = await client.Tag.GetAttributesAsync(ACRTestUtil.ProdRepository, tag); - Assert.Equal(ACRTestUtil.ProdRepository, tagAttributes.ImageName); - Assert.Equal(ACRTestUtil.ManagedTestRegistryFullName, tagAttributes.Registry); - ValidateTagAttributesBase(tagAttributes.Attributes, prodTags.Tags[1]); - } - } - - private void ValidateTagAttributesBase(TagAttributesBase toCheck, TagAttributesBase expected) - { - Assert.Equal(toCheck.Name, expected.Name); - Assert.Equal(toCheck.Digest, expected.Digest); - Assert.Equal(toCheck.CreatedTime, expected.CreatedTime); - Assert.Equal(toCheck.LastUpdateTime, expected.LastUpdateTime); - Assert.Equal(toCheck.Signed, expected.Signed); - Assert.Equal(toCheck.ChangeableAttributes.DeleteEnabled, expected.ChangeableAttributes.DeleteEnabled); - Assert.Equal(toCheck.ChangeableAttributes.ListEnabled, expected.ChangeableAttributes.ListEnabled); - Assert.Equal(toCheck.ChangeableAttributes.ReadEnabled, expected.ChangeableAttributes.ReadEnabled); - Assert.Equal(toCheck.ChangeableAttributes.WriteEnabled, expected.ChangeableAttributes.WriteEnabled); - } - } -}