public override void ExecuteCmdlet() { if (ShouldProcess(Name, "Create Container Registry")) { var registryNameStatus = RegistryClient.CheckRegistryNameAvailability(Name); if (registryNameStatus?.NameAvailable != null && !registryNameStatus.NameAvailable.Value) { throw new InvalidOperationException(registryNameStatus.Message); } var tags = TagsConversionHelper.CreateTagDictionary(Tag, validate: true); if (Location == null) { Location = ResourceManagerClient.GetResourceGroupLocation(ResourceGroupName); } if (string.Equals(Sku, SkuName.Classic) && StorageAccountName == null) { DeploymentExtended result = ResourceManagerClient.CreateClassicRegistry( ResourceGroupName, Name, Location, EnableAdminUser, tags); if (result.Properties.ProvisioningState == DeploymentState.Succeeded.ToString()) { var registry = RegistryClient.GetRegistry(ResourceGroupName, Name); WriteObject(new PSContainerRegistry(registry)); } } else { var registry = new Registry { Sku = new Microsoft.Azure.Management.ContainerRegistry.Models.Sku(Sku), AdminUserEnabled = EnableAdminUser, Tags = tags, Location = Location }; if (StorageAccountName != null) { var storageAccountId = ResourceManagerClient.GetStorageAccountId(StorageAccountName); registry.StorageAccount = new StorageAccountProperties(storageAccountId); } var createdRegistry = RegistryClient.CreateRegistry(ResourceGroupName, Name, registry); WriteObject(new PSContainerRegistry(createdRegistry)); } } }
public override void ExecuteCmdlet() { var tags = TagsConversionHelper.CreateTagDictionary(Tag, validate: true); bool?adminUserEnabled = null; if (EnableAdminUser || DisableAdminUser) { adminUserEnabled = EnableAdminUser || !DisableAdminUser; } string storageAccountId = null; if (StorageAccountName != null) { storageAccountId = ResourceManagerClient.GetStorageAccountId(StorageAccountName); } if (MyInvocation.BoundParameters.ContainsKey("ResourceId") || !string.IsNullOrWhiteSpace(ResourceId)) { string resourceGroup, registryName, childResourceName; if (!ConversionUtilities.TryParseRegistryRelatedResourceId(ResourceId, out resourceGroup, out registryName, out childResourceName)) { WriteInvalidResourceIdError(InvalidRegistryResourceIdErrorMessage); return; } ResourceGroupName = resourceGroup; Name = registryName; } if (ShouldProcess(Name, "Update Container Registry")) { var registry = RegistryClient.UpdateRegistry(ResourceGroupName, Name, adminUserEnabled, Sku, storageAccountId, NetworkRuleSet, tags); WriteObject(new PSContainerRegistry(registry)); } }