public async Task ListBySubscription()
        {
            SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync();

            string            rgName = Recording.GenerateAssetName("testRg-3-");
            ResourceGroupData rgData = new ResourceGroupData(AzureLocation.WestUS2);
            var lro = await subscription.GetResourceGroups().CreateOrUpdateAsync(WaitUntil.Completed, rgName, rgData);

            ResourceGroupResource rg = lro.Value;
            string appDefName        = Recording.GenerateAssetName("appDef-L-");
            ArmApplicationDefinitionData     appDefData = CreateApplicationDefinitionData(appDefName);
            ArmApplicationDefinitionResource appDef     = (await rg.GetArmApplicationDefinitions().CreateOrUpdateAsync(WaitUntil.Completed, appDefName, appDefData)).Value;
            string             appName         = Recording.GenerateAssetName("application-L-");
            ArmApplicationData applicationData = CreateApplicationData(appDef.Id, new ResourceIdentifier(subscription.Id + Recording.GenerateAssetName("/resourceGroups/managed-3-")), Recording.GenerateAssetName("s3"));

            _ = await rg.GetArmApplications().CreateOrUpdateAsync(WaitUntil.Completed, appName, applicationData);

            int count = 0;

            await foreach (var tempApplication in subscription.GetArmApplicationsAsync())
            {
                if (tempApplication.Data.ApplicationDefinitionId == appDef.Id)
                {
                    count++;
                }
            }
            Assert.AreEqual(count, 1);
        }
Esempio n. 2
0
        public async Task DeleteApplicationDefinitions()
        {
            #region Snippet:Managing_ApplicationDefinitions_DeleteAnApplicationDefinition
            // First we need to get the application definition collection from the resource group
            ArmApplicationDefinitionCollection applicationDefinitionCollection = resourceGroup.GetArmApplicationDefinitions();
            // Now we can get the application definition with GetAsync()
            ArmApplicationDefinitionResource applicationDefinition = await applicationDefinitionCollection.GetAsync("myApplicationDefinition");

            // With DeleteAsync(), we can delete the application definition
            await applicationDefinition.DeleteAsync(WaitUntil.Completed);

            #endregion Snippet:Managing_ApplicationDefinitions_DeleteAnApplicationDefinition
        }
        public async Task Get()
        {
            SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync();

            string            rgName = Recording.GenerateAssetName("testRg-3-");
            ResourceGroupData rgData = new ResourceGroupData(AzureLocation.WestUS2);
            var lro = await subscription.GetResourceGroups().CreateOrUpdateAsync(WaitUntil.Completed, rgName, rgData);

            ResourceGroupResource rg         = lro.Value;
            string applicationDefinitionName = Recording.GenerateAssetName("appDef-G-");
            ArmApplicationDefinitionData     applicationDefinitionData = CreateApplicationDefinitionData(applicationDefinitionName);
            ArmApplicationDefinitionResource applicationDefinition     = (await rg.GetArmApplicationDefinitions().CreateOrUpdateAsync(WaitUntil.Completed, applicationDefinitionName, applicationDefinitionData)).Value;
            ArmApplicationDefinitionResource getApplicationDefinition  = await rg.GetArmApplicationDefinitions().GetAsync(applicationDefinitionName);

            AssertValidApplicationDefinition(applicationDefinition, getApplicationDefinition);
        }
        public async Task CreateOrUpdate()
        {
            SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync();

            string            rgName = Recording.GenerateAssetName("testRg-1-");
            ResourceGroupData rgData = new ResourceGroupData(AzureLocation.WestUS2);
            var lro = await subscription.GetResourceGroups().CreateOrUpdateAsync(WaitUntil.Completed, rgName, rgData);

            ResourceGroupResource rg         = lro.Value;
            string applicationDefinitionName = Recording.GenerateAssetName("appDef-C-");
            ArmApplicationDefinitionData     applicationDefinitionData = CreateApplicationDefinitionData(applicationDefinitionName);
            ArmApplicationDefinitionResource applicationDefinition     = (await rg.GetArmApplicationDefinitions().CreateOrUpdateAsync(WaitUntil.Completed, applicationDefinitionName, applicationDefinitionData)).Value;

            Assert.AreEqual(applicationDefinitionName, applicationDefinition.Data.Name);
            Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await rg.GetArmApplicationDefinitions().CreateOrUpdateAsync(WaitUntil.Completed, null, applicationDefinitionData));
            Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await rg.GetArmApplicationDefinitions().CreateOrUpdateAsync(WaitUntil.Completed, applicationDefinitionName, null));
        }
        public async Task Delete()
        {
            SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync();

            string            rgName = Recording.GenerateAssetName("testRg-4-");
            ResourceGroupData rgData = new ResourceGroupData(AzureLocation.WestUS2);
            var lro = await subscription.GetResourceGroups().CreateOrUpdateAsync(WaitUntil.Completed, rgName, rgData);

            ResourceGroupResource rg         = lro.Value;
            string applicationDefinitionName = Recording.GenerateAssetName("appDef-C-");
            ArmApplicationDefinitionData     applicationDefinitionData = CreateApplicationDefinitionData(applicationDefinitionName);
            ArmApplicationDefinitionResource applicationDefinition     = (await rg.GetArmApplicationDefinitions().CreateOrUpdateAsync(WaitUntil.Completed, applicationDefinitionName, applicationDefinitionData)).Value;
            await applicationDefinition.DeleteAsync(WaitUntil.Completed);

            var ex = Assert.ThrowsAsync <RequestFailedException>(async() => await applicationDefinition.GetAsync());

            Assert.AreEqual(404, ex.Status);
        }
Esempio n. 6
0
        public async Task CreateApplicationDefinitions()
        {
            #region Snippet:Managing_ApplicationDefinitions_CreateAnApplicationDefinition
            // First we need to get the application definition collection from the resource group
            ArmApplicationDefinitionCollection applicationDefinitionCollection = resourceGroup.GetArmApplicationDefinitions();
            // Use the same location as the resource group
            string applicationDefinitionName = "myApplicationDefinition";
            var    input = new ArmApplicationDefinitionData(resourceGroup.Data.Location, ArmApplicationLockLevel.None)
            {
                DisplayName    = applicationDefinitionName,
                Description    = $"{applicationDefinitionName} description",
                PackageFileUri = new Uri("https://raw.githubusercontent.com/Azure/azure-managedapp-samples/master/Managed%20Application%20Sample%20Packages/201-managed-storage-account/managedstorage.zip")
            };
            ArmOperation <ArmApplicationDefinitionResource> lro = await applicationDefinitionCollection.CreateOrUpdateAsync(WaitUntil.Completed, applicationDefinitionName, input);

            ArmApplicationDefinitionResource applicationDefinition = lro.Value;
            #endregion Snippet:Managing_ApplicationDefinitions_CreateAnApplicationDefinition
        }
        public async Task Get()
        {
            SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync();

            string            rgName = Recording.GenerateAssetName("testRg-4-");
            ResourceGroupData rgData = new ResourceGroupData(AzureLocation.WestUS2);
            var lro = await subscription.GetResourceGroups().CreateOrUpdateAsync(WaitUntil.Completed, rgName, rgData);

            ResourceGroupResource rg = lro.Value;
            string appDefName        = Recording.GenerateAssetName("appDef-G-");
            ArmApplicationDefinitionData     appDefData = CreateApplicationDefinitionData(appDefName);
            ArmApplicationDefinitionResource appDef     = (await rg.GetArmApplicationDefinitions().CreateOrUpdateAsync(WaitUntil.Completed, appDefName, appDefData)).Value;
            string                 appName         = Recording.GenerateAssetName("application-G-");
            ArmApplicationData     applicationData = CreateApplicationData(appDef.Id, new ResourceIdentifier(subscription.Id + Recording.GenerateAssetName("/resourceGroups/managed-4-")), Recording.GenerateAssetName("s4"));
            ArmApplicationResource application     = (await rg.GetArmApplications().CreateOrUpdateAsync(WaitUntil.Completed, appName, applicationData)).Value;
            ArmApplicationResource getApplication  = await rg.GetArmApplications().GetAsync(appName);

            AssertValidApplication(application, getApplication);
            Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await rg.GetArmApplications().GetAsync(null));
        }
 private static void AssertValidApplicationDefinition(ArmApplicationDefinitionResource model, ArmApplicationDefinitionResource getResult)
 {
     Assert.AreEqual(model.Data.Name, getResult.Data.Name);
     Assert.AreEqual(model.Data.Id, getResult.Data.Id);
     Assert.AreEqual(model.Data.ResourceType, getResult.Data.ResourceType);
     Assert.AreEqual(model.Data.LockLevel, getResult.Data.LockLevel);
     Assert.AreEqual(model.Data.DisplayName, getResult.Data.DisplayName);
     Assert.AreEqual(model.Data.IsEnabled, getResult.Data.IsEnabled);
     Assert.AreEqual(model.Data.Authorizations, getResult.Data.Authorizations);
     if (model.Data.Authorizations != null || getResult.Data.Authorizations != null)
     {
         Assert.NotNull(model.Data.Authorizations);
         Assert.NotNull(getResult.Data.Authorizations);
         Assert.AreEqual(model.Data.Authorizations.Count, getResult.Data.Authorizations.Count);
         for (int i = 0; i < model.Data.Authorizations.Count; ++i)
         {
             ArmApplicationAuthorization modelAuthorizations = model.Data.Authorizations[i], getResultAuthorizations = getResult.Data.Authorizations[i];
             AssertValidAuthorizations(modelAuthorizations, getResultAuthorizations);
         }
     }
     if (model.Data.Artifacts != null || getResult.Data.Artifacts != null)
     {
         Assert.NotNull(model.Data.Artifacts);
         Assert.NotNull(getResult.Data.Artifacts);
         Assert.AreEqual(model.Data.Artifacts.Count, getResult.Data.Artifacts.Count);
         for (int i = 0; i < model.Data.Artifacts.Count; ++i)
         {
             ArmApplicationDefinitionArtifact modelArtifacts = model.Data.Artifacts[i], getResultArtifacts = getResult.Data.Artifacts[i];
             AssertValidArtifacts(modelArtifacts, getResultArtifacts);
         }
     }
     Assert.AreEqual(model.Data.Description, getResult.Data.Description);
     Assert.AreEqual(model.Data.PackageFileUri, getResult.Data.PackageFileUri);
     Assert.AreEqual(model.Data.MainTemplate, getResult.Data.MainTemplate);
     Assert.AreEqual(model.Data.CreateUiDefinition, getResult.Data.CreateUiDefinition);
     if (model.Data.NotificationPolicy != null || getResult.Data.NotificationPolicy != null)
     {
         Assert.NotNull(model.Data.NotificationPolicy);
         Assert.NotNull(getResult.Data.NotificationPolicy);
         if (model.Data.NotificationPolicy.NotificationEndpoints != null || getResult.Data.NotificationPolicy.NotificationEndpoints != null)
         {
             Assert.NotNull(model.Data.NotificationPolicy.NotificationEndpoints);
             Assert.NotNull(getResult.Data.NotificationPolicy.NotificationEndpoints);
             Assert.AreEqual(model.Data.NotificationPolicy.NotificationEndpoints.Count, getResult.Data.NotificationPolicy.NotificationEndpoints.Count);
             for (int i = 0; i < model.Data.NotificationPolicy.NotificationEndpoints.Count; ++i)
             {
                 Assert.AreEqual(model.Data.NotificationPolicy.NotificationEndpoints[i].Uri, getResult.Data.NotificationPolicy.NotificationEndpoints[i].Uri);
             }
         }
     }
     if (model.Data.LockingPolicy != null || getResult.Data.LockingPolicy != null)
     {
         Assert.NotNull(model.Data.LockingPolicy);
         Assert.NotNull(getResult.Data.LockingPolicy);
         if (model.Data.LockingPolicy.AllowedActions != null || getResult.Data.LockingPolicy.AllowedActions != null)
         {
             Assert.NotNull(model.Data.LockingPolicy.AllowedActions);
             Assert.NotNull(getResult.Data.LockingPolicy.AllowedActions);
             Assert.AreEqual(model.Data.LockingPolicy.AllowedActions.Count, getResult.Data.LockingPolicy.AllowedActions.Count);
             for (int i = 0; i < model.Data.LockingPolicy.AllowedActions.Count; ++i)
             {
                 Assert.AreEqual(model.Data.LockingPolicy.AllowedActions[i], getResult.Data.LockingPolicy.AllowedActions[i]);
             }
         }
     }
     if (model.Data.DeploymentPolicy != null || getResult.Data.DeploymentPolicy != null)
     {
         Assert.NotNull(model.Data.DeploymentPolicy);
         Assert.NotNull(getResult.Data.DeploymentPolicy);
         Assert.AreEqual(model.Data.DeploymentPolicy.DeploymentMode, getResult.Data.DeploymentPolicy.DeploymentMode);
     }
     if (model.Data.ManagementPolicy != null || getResult.Data.ManagementPolicy != null)
     {
         Assert.NotNull(model.Data.ManagementPolicy);
         Assert.NotNull(getResult.Data.ManagementPolicy);
         Assert.AreEqual(model.Data.ManagementPolicy.Mode, getResult.Data.ManagementPolicy.Mode);
     }
     if (model.Data.Policies != null || getResult.Data.Policies != null)
     {
         Assert.NotNull(model.Data.Policies);
         Assert.NotNull(getResult.Data.Policies);
         Assert.AreEqual(model.Data.Policies.Count, getResult.Data.Policies.Count);
         for (int i = 0; i < model.Data.Policies.Count; ++i)
         {
             ArmApplicationPolicy policy = model.Data.Policies[i], getPolicy = getResult.Data.Policies[i];
             AssertValidPolicy(policy, getPolicy);
         }
     }
 }