protected void SetupManagementClients(String scenario) { RecoveryServicesMgmtClient = GetSiteRecoveryVaultManagementClient(scenario); SiteRecoveryMgmtClient = GetSiteRecoveryManagementClient(scenario); helper.SetupManagementClients(RecoveryServicesMgmtClient, SiteRecoveryMgmtClient); }
public T GetServiceClient <T>() where T : class { var factory = (TestEnvironmentFactory) new CSMTestEnvironmentFactory(); var testEnvironment = factory.GetTestEnvironment(); ServicePointManager.ServerCertificateValidationCallback = IgnoreCertificateErrorHandler; var credentials = new SubscriptionCredentialsAdapter( testEnvironment.AuthorizationContext.TokenCredentials[TokenAudience.Management], testEnvironment.SubscriptionId); if (typeof(T) == typeof(SiteRecoveryVaultManagementClient)) { SiteRecoveryVaultManagementClient client; if (testEnvironment.UsesCustomUri()) { client = new SiteRecoveryVaultManagementClient( "Microsoft.SiteRecoveryBVTD2", "SiteRecoveryVault", credentials, testEnvironment.BaseUri); } else { client = new SiteRecoveryVaultManagementClient( "Microsoft.SiteRecovery", "SiteRecoveryVault", credentials); } return(GetRSMServiceClient <T>(factory, client)); } else { SiteRecoveryManagementClient client; if (testEnvironment.UsesCustomUri()) { client = new SiteRecoveryManagementClient( asrVaultCreds.ResourceName, asrVaultCreds.ResourceGroupName, "Microsoft.SiteRecoveryBVTD2", "SiteRecoveryVault", credentials, testEnvironment.BaseUri); } else { client = new SiteRecoveryManagementClient( asrVaultCreds.ResourceName, asrVaultCreds.ResourceGroupName, "Microsoft.SiteRecovery", "vaults", credentials); } return(GetSRMServiceClient <T>(factory, client)); } }
public static T GetRSMServiceClient <T>(TestEnvironmentFactory factory, SiteRecoveryVaultManagementClient client) where T : class { TestEnvironment testEnvironment = factory.GetTestEnvironment(); HttpMockServer instance; try { instance = HttpMockServer.CreateInstance(); } catch (ApplicationException) { HttpMockServer.Initialize("TestEnvironment", "InitialCreation"); instance = HttpMockServer.CreateInstance(); } T obj2 = typeof(T).GetMethod("WithHandler", new Type[1] { typeof(DelegatingHandler) }).Invoke((object)client, new object[1] { (object)instance }) as T; if (HttpMockServer.Mode == HttpRecorderMode.Record) { HttpMockServer.Variables[TestEnvironment.SubscriptionIdKey] = testEnvironment.SubscriptionId; } if (HttpMockServer.Mode == HttpRecorderMode.Playback) { PropertyInfo property1 = typeof(T).GetProperty("LongRunningOperationInitialTimeout", typeof(int)); PropertyInfo property2 = typeof(T).GetProperty("LongRunningOperationRetryTimeout", typeof(int)); if (property1 != (PropertyInfo)null && property2 != (PropertyInfo)null) { property1.SetValue((object)obj2, (object)0); property2.SetValue((object)obj2, (object)0); } } return(obj2); }
/// <summary> /// Initializes a new instance of the <see cref="PSRecoveryServicesClient" /> class with /// required current subscription. /// </summary> /// <param name="azureSubscription">Azure Subscription</param> public PSRecoveryServicesClient(IAzureProfile azureProfile) { System.Configuration.Configuration siteRecoveryConfig = ConfigurationManager.OpenExeConfiguration(System.Reflection.Assembly.GetExecutingAssembly().Location); System.Configuration.AppSettingsSection appSettings = (System.Configuration.AppSettingsSection)siteRecoveryConfig.GetSection("appSettings"); string resourceNamespace = string.Empty; string resourceType = string.Empty; // Get Resource provider namespace and type from config only if Vault context is not set // (hopefully it is required only for Vault related cmdlets) if (string.IsNullOrEmpty(asrVaultCreds.ResourceNamespace) || string.IsNullOrEmpty(asrVaultCreds.ARMResourceType)) { if (appSettings.Settings.Count == 0) { resourceNamespace = "Microsoft.SiteRecovery"; // ProviderNameSpace for Production is taken as default resourceType = ARMResourceTypeConstants.SiteRecoveryVault; } else { resourceNamespace = null == appSettings.Settings["ProviderNamespace"] ? "Microsoft.SiteRecovery" : appSettings.Settings["ProviderNamespace"].Value; resourceType = null == appSettings.Settings["ResourceType"] ? ARMResourceTypeConstants.SiteRecoveryVault : appSettings.Settings["ResourceType"].Value; } Utilities.UpdateCurrentVaultContext(new ASRVaultCreds() { ResourceNamespace = resourceNamespace, ARMResourceType = resourceType }); } if (null == endPointUri) { if (appSettings.Settings.Count == 0) { endPointUri = azureProfile.Context.Environment.GetEndpointAsUri(AzureEnvironment.Endpoint.ResourceManager); } else { if (null == appSettings.Settings["RDFEProxy"]) { endPointUri = azureProfile.Context.Environment.GetEndpointAsUri(AzureEnvironment.Endpoint.ResourceManager); } else { // Setting Endpoint to RDFE Proxy if (null == ServicePointManager.ServerCertificateValidationCallback) { ServicePointManager.ServerCertificateValidationCallback = IgnoreCertificateErrorHandler; } endPointUri = new Uri(appSettings.Settings["RDFEProxy"].Value); } } } cloudCredentials = AzureSession.AuthenticationFactory.GetSubscriptionCloudCredentials(azureProfile.Context); this.recoveryServicesClient = AzureSession.ClientFactory.CreateCustomClient <SiteRecoveryVaultManagementClient>( asrVaultCreds.ResourceNamespace, asrVaultCreds.ARMResourceType, cloudCredentials, azureProfile.Context.Environment.GetEndpointAsUri(AzureEnvironment.Endpoint.ResourceManager)); }
public T GetServiceClient <T>(String scenario) where T : class { var factory = (TestEnvironmentFactory) new CSMTestEnvironmentFactory(); var testEnvironment = factory.GetTestEnvironment(); ServicePointManager.ServerCertificateValidationCallback = IgnoreCertificateErrorHandler; var credentials = new SubscriptionCredentialsAdapter( testEnvironment.AuthorizationContext.TokenCredentials[TokenAudience.Management], testEnvironment.SubscriptionId); var resourceNamespace = ""; var resourceType = ""; var resourceName = ""; var resourceGroupName = ""; switch (scenario) { case Constants.NewModel: resourceNamespace = "Microsoft.SiteRecovery"; resourceType = "SiteRecoveryVault"; resourceName = "ReleaseVault"; resourceGroupName = "ReleaseResourceGroup"; break; default: resourceNamespace = "Microsoft.SiteRecoveryBVTD2"; resourceType = "SiteRecoveryVault"; resourceName = asrVaultCreds.ResourceName; resourceGroupName = asrVaultCreds.ResourceGroupName; break; } ; if (typeof(T) == typeof(SiteRecoveryVaultManagementClient)) { SiteRecoveryVaultManagementClient client; if (testEnvironment.UsesCustomUri()) { client = new SiteRecoveryVaultManagementClient( resourceNamespace, resourceType, credentials, testEnvironment.BaseUri); } else { client = new SiteRecoveryVaultManagementClient( resourceNamespace, resourceType, credentials); } return(GetRSMServiceClient <T>(factory, client)); } else { SiteRecoveryManagementClient client; if (testEnvironment.UsesCustomUri()) { client = new SiteRecoveryManagementClient( resourceName, resourceGroupName, resourceNamespace, resourceType, credentials, testEnvironment.BaseUri); } else { client = new SiteRecoveryManagementClient( resourceName, resourceGroupName, resourceNamespace, resourceType, credentials); } return(GetSRMServiceClient <T>(factory, client)); } }