public static PSAfdSecret ToPSAfdSecret(this SdkAfdSecret sdkAfdSecret) { if (sdkAfdSecret.Parameters.GetType() == typeof(CustomerCertificateParameters)) { CustomerCertificateParameters customerCertificateParameters = (CustomerCertificateParameters)sdkAfdSecret.Parameters; return(new PSAfdSecret { Id = sdkAfdSecret.Id, Name = sdkAfdSecret.Name, Type = sdkAfdSecret.Type, ProvisioningState = sdkAfdSecret.ProvisioningState, CertificateAuthority = customerCertificateParameters.CertificateAuthority, SecretSource = customerCertificateParameters.SecretSource?.Id, SecretVersion = customerCertificateParameters.SecretVersion, SubjectAlternativeNames = (List <string>)customerCertificateParameters.SubjectAlternativeNames, UseLatestVersion = customerCertificateParameters.UseLatestVersion }); } return(new PSAfdSecret { Id = sdkAfdSecret.Id, Name = sdkAfdSecret.Name, Type = sdkAfdSecret.Type, ProvisioningState = sdkAfdSecret.ProvisioningState }); }
public void AFDSecretDeleteTest() { var handler1 = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; var handler2 = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (MockContext context = MockContext.Start(this.GetType())) { // Create clients var cdnMgmtClient = CdnTestUtilities.GetCdnManagementClient(context, handler1); var resourcesClient = CdnTestUtilities.GetResourceManagementClient(context, handler2); // Create resource group var resourceGroupName = CdnTestUtilities.CreateResourceGroup(resourcesClient); try { // Create a standard Azure frontdoor profile string profileName = TestUtilities.GenerateName("profile"); Profile createParameters = new Profile { Location = "WestUs", Sku = new Sku { Name = SkuName.StandardAzureFrontDoor }, Tags = new Dictionary <string, string> { { "key1", "value1" }, { "key2", "value2" } } }; var profile = cdnMgmtClient.Profiles.Create(resourceGroupName, profileName, createParameters); // Create a standard Azure frontdoor profile string secretName = TestUtilities.GenerateName("secretName"); var secretSource = new ResourceReference("/subscriptions/d7cfdb98-c118-458d-8bdf-246be66b1f5e/resourceGroups/cdn-powershell-test/providers/Microsoft.KeyVault/vaults/cdn-powershell-test-kv/certificates/cdn-powershell-test-cer"); CustomerCertificateParameters parameters = new CustomerCertificateParameters(secretSource) { UseLatestVersion = true, SubjectAlternativeNames = new List <string>(), }; var secret = cdnMgmtClient.Secrets.Create(resourceGroupName, profileName, secretName, parameters); cdnMgmtClient.Secrets.Delete(resourceGroupName, profileName, secretName); } finally { // Delete resource group _ = CdnTestUtilities.DeleteResourceGroupAsync(resourcesClient, resourceGroupName); } } }
private void UpdateAfdSecret() { try { CustomerCertificateParameters afdCustomerCertificate = new CustomerCertificateParameters { SecretSource = new ResourceReference(this.SecretSource), SecretVersion = this.SecretVersion, CertificateAuthority = this.CertificateAuthority, UseLatestVersion = this.UseLatestVersion.IsPresent ? true : false, SubjectAlternativeNames = this.SubjectAlternativeName }; this.CdnManagementClient.Secrets.Update(this.ResourceGroupName, this.ProfileName, this.SecretName, afdCustomerCertificate); } catch (AfdErrorResponseException errorResponseException) { throw new PSArgumentException(errorResponseException.Response.Content); } }
public void AFDCustomDomainUpdateTest() { var handler1 = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; var handler2 = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (MockContext context = MockContext.Start(this.GetType())) { // Create clients var cdnMgmtClient = CdnTestUtilities.GetCdnManagementClient(context, handler1); var resourcesClient = CdnTestUtilities.GetResourceManagementClient(context, handler2); // Create resource group var resourceGroupName = CdnTestUtilities.CreateResourceGroup(resourcesClient); try { // Create a standard Azure frontdoor profile string profileName = TestUtilities.GenerateName("profile"); Profile createParameters = new Profile { Location = "WestUs", Sku = new Sku { Name = SkuName.StandardAzureFrontDoor }, Tags = new Dictionary <string, string> { { "key1", "value1" }, { "key2", "value2" } } }; var profile = cdnMgmtClient.Profiles.Create(resourceGroupName, profileName, createParameters); // Create a standard Azure frontdoor profile secret string secretName = TestUtilities.GenerateName("secretName"); var secretSource = new ResourceReference("/subscriptions/d7cfdb98-c118-458d-8bdf-246be66b1f5e/resourceGroups/cdn-powershell-test/providers/Microsoft.KeyVault/vaults/cdn-powershell-test-kv/certificates/cdn-powershell-test-cer"); CustomerCertificateParameters parameters = new CustomerCertificateParameters(secretSource) { UseLatestVersion = true, SubjectAlternativeNames = new List <string>(), }; var secret = cdnMgmtClient.Secrets.Create(resourceGroupName, profileName, secretName, parameters); // Create a standard Azure frontdoor profile customDomain string customDomainName = TestUtilities.GenerateName("customDomainName"); var hostName = "csharpsdk.dev.cdn.azure.cn"; AFDDomain afdDomainCreateParameters = new AFDDomain() { HostName = hostName, TlsSettings = new AFDDomainHttpsParameters { CertificateType = "CustomerCertificate", MinimumTlsVersion = AfdMinimumTlsVersion.TLS12, Secret = new ResourceReference(secret.Id) }, }; //Need manualy add dns txt record var afdDomain = cdnMgmtClient.AFDCustomDomains.Create(resourceGroupName, profileName, customDomainName, afdDomainCreateParameters); Assert.NotNull(afdDomain); Assert.Equal("Approved", afdDomain.DomainValidationState); var updateTlsSettingsParams = new AFDDomainHttpsParameters { CertificateType = "CustomerCertificate", MinimumTlsVersion = AfdMinimumTlsVersion.TLS10, Secret = new ResourceReference(secret.Id) }; var updatedAfdDomain = cdnMgmtClient.AFDCustomDomains.Update(resourceGroupName, profileName, customDomainName, updateTlsSettingsParams); Assert.NotNull(updateTlsSettingsParams); Assert.Equal("Approved", updatedAfdDomain.DomainValidationState); Assert.Equal(updateTlsSettingsParams.MinimumTlsVersion, updatedAfdDomain.TlsSettings.MinimumTlsVersion); } finally { // Delete resource group _ = CdnTestUtilities.DeleteResourceGroupAsync(resourcesClient, resourceGroupName); } } }