public IRdfeIaasClustersRestClient Create(
            HttpMessageHandler defaultHttpClientHandler,
            IHDInsightSubscriptionCredentials credentials,
            IAbstractionContext context,
            bool ignoreSslErrors)
        {
            HttpRestClientRetryPolicy retryPolicy = null;
            var tokenCreds = credentials as IHDInsightAccessTokenCredential;

            var customHandlers = new List<DelegatingHandler>();

            if (context != null && context.Logger != null)
            {
                customHandlers.Add(new HttpLoggingHandler(context.Logger));
                retryPolicy = new HttpRestClientRetryPolicy(context.RetryPolicy);
            }
            else
            {
                retryPolicy = new HttpRestClientRetryPolicy(RetryPolicyFactory.CreateExponentialRetryPolicy());
                customHandlers.Add(new HttpLoggingHandler(new Logger()));
            }

            if (tokenCreds != null)
            {
                customHandlers.Add(new BearerTokenMessageHandler(tokenCreds.AccessToken));
            }

            var httpConfiguration = new HttpRestClientConfiguration(defaultHttpClientHandler, customHandlers, retryPolicy);
            var client = new RdfeIaasClustersRestClient(credentials.Endpoint, httpConfiguration);
            return client;
        }
 public IRdfeServiceRestClient Create(IHDInsightSubscriptionCredentials credentials, IAbstractionContext context, bool ignoreSslErrors)
 {
     if (credentials.Is<IHDInsightCertificateCredential>())
     {
         return new RdfeServiceRestSimulatorClient(credentials.As<IHDInsightCertificateCredential>(), context);
     }
     return new RdfeServiceRestSimulatorClient(credentials.As<IHDInsightAccessTokenCredential>(), context);
 }
 internal HDInsightManagementPocoClient(IHDInsightSubscriptionCredentials credentials, IAbstractionContext context, bool ignoreSslErrors)
 {
     this.Context = context;
     this.credentials = credentials;
     this.ignoreSslErrors = ignoreSslErrors;
     if (context.IsNotNull() && context.Logger.IsNotNull())
     {
         this.Logger = context.Logger;
     }
     else
     {
         this.Logger = new Logger();
     }
 }
        public IRdfeIaasClustersRestClient Create(
            IHDInsightSubscriptionCredentials credentials, IAbstractionContext context, bool ignoreSslErrors)
        {
            var defaultHttpClientHandler = new WebRequestHandler();
            var certCreds = credentials as IHDInsightCertificateCredential;

            if (ignoreSslErrors)
            {
                defaultHttpClientHandler.ServerCertificateValidationCallback += (sender, certificate, chain, errors) => true;
            }

            if (certCreds != null)
            {
                defaultHttpClientHandler.ClientCertificates.Add(certCreds.Certificate);
            }
            return this.Create(defaultHttpClientHandler, credentials, context, ignoreSslErrors);
        }
        public RdfeResourceTypeFinderClient(IHDInsightSubscriptionCredentials credentials, IAbstractionContext context, bool ignoreSslErrors, string schemaVersion)
        {
            if (credentials == null)
            {
                throw new ArgumentNullException("credentials");
            }

            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            this.context = context;
            this.credentials = credentials;
            this.rdfeRestClient = ServiceLocator.Instance.Locate<IRdfeClustersResourceRestClientFactory>()
                                                      .Create(credentials, context, ignoreSslErrors, schemaVersion);
        }
 public IHDInsightSubscriptionCredentials Create(IHDInsightSubscriptionCredentials credentials)
 {
     IHDInsightCertificateCredential certCreds = credentials as IHDInsightCertificateCredential;
     IHDInsightAccessTokenCredential tokenCreds = credentials as IHDInsightAccessTokenCredential;
     if (certCreds != null)
     {
         return Create(certCreds);
     }
     else if (tokenCreds != null)
     {
         return Create(tokenCreds);
     }
     else
     {
         throw new NotSupportedException("Credential Type is not supported");
     }
 }
 /// <inheritdoc />
 public IHttpClientAbstraction Create(IHDInsightSubscriptionCredentials credentials, bool ignoreSslErrors)
 {
     IHDInsightCertificateCredential certCreds = credentials as IHDInsightCertificateCredential;
     IHDInsightAccessTokenCredential tokenCreds = credentials as IHDInsightAccessTokenCredential;
     if (certCreds != null)
     {
         return
             ServiceLocator.Instance.Locate<IHttpClientAbstractionFactory>()
                           .Create(certCreds.Certificate, ignoreSslErrors);
     }
     if (tokenCreds != null)
     {
         return
             ServiceLocator.Instance.Locate<IHttpClientAbstractionFactory>()
                           .Create(tokenCreds.AccessToken, ignoreSslErrors);
     }
     throw new NotSupportedException("Credential Type is not supported");
 }
 public IRdfeServiceRestClient Create(IHDInsightSubscriptionCredentials credentials, IAbstractionContext context, bool ignoreSslErrors)
 {
     return new RdfeServiceRestClient(credentials, context, ignoreSslErrors);
 }
        public static void TestRunSetup()
        {
            // This is to ensure that all key assemblies are loaded before IOC registration is required.
            // This is only necessary for the test system as load order is correct for a production run.
            // types.Add(typeof(GetAzureHDInsightClusterCmdlet));
            var cmdletRunManager = ServiceLocator.Instance.Locate<IServiceLocationSimulationManager>();
            cmdletRunManager.RegisterType<IAzureHDInsightConnectionSessionManagerFactory, AzureHDInsightConnectionSessionManagerSimulatorFactory>();
            cmdletRunManager.RegisterType<IBufferingLogWriterFactory, BufferingLogWriterFactory>();
            cmdletRunManager.RegisterType<IAzureHDInsightStorageHandlerFactory, AzureHDInsightStorageHandlerSimulatorFactory>();
            cmdletRunManager.RegisterType<IAzureHDInsightSubscriptionResolverFactory, AzureHDInsightSubscriptionResolverSimulatorFactory>();
            cmdletRunManager.RegisterType<IAzureHDInsightClusterManagementClientFactory, AzureHDInsightClusterManagementClientSimulatorFactory>();
            cmdletRunManager.RegisterType<IAzureHDInsightJobSubmissionClientFactory, AzureHDInsightJobSubmissionClientSimulatorFactory>();
            var testManager = new IntegrationTestManager();
            AzureSession.DataStore = new MemoryDataStore();
            var profile = new AzureProfile(Path.Combine(AzureSession.ProfileDirectory, AzureSession.ProfileFile));
            AzurePSCmdlet.CurrentProfile = profile;
            TestCredentials = testManager.GetCredentials("default");
            if (TestCredentials == null)
            {
                Assert.Inconclusive("No entry was found in the credential config file for the specified test configuration.");
            }

            // Sets the certificate
            var defaultCertificate = new X509Certificate2(
                    Convert.FromBase64String(TestCredentials.Certificate), string.Empty);
            // Sets the test static properties
            ClusterPrefix = string.Format("CLITest-{0}", Environment.GetEnvironmentVariable("computername") ?? "unknown");

            // Sets the credential objects
            var tempCredentials = new HDInsightCertificateCredential
            {
                SubscriptionId = TestCredentials.SubscriptionId,
                Certificate = defaultCertificate
            };

            validCredentials = tempCredentials;
            tempCredentials = new HDInsightCertificateCredential { SubscriptionId = Guid.NewGuid(), Certificate = defaultCertificate };
            invalidSubscriptionId = tempCredentials;
            invalidCertificate = tempCredentials;
        }
 public IHDInsightClient Create(IHDInsightSubscriptionCredentials credentials)
 {
     return HDInsightClient.Connect(credentials);
 }
 public VersionFinderClient(IHDInsightSubscriptionCredentials creds, IAbstractionContext context, bool ignoreSslErrors)
 {
     this.context = context;
     this.ignoreSslErrors = ignoreSslErrors;
     this.credentials = creds;
 }
 public IHDInsightManagementRestClient Create(IHDInsightSubscriptionCredentials credentials, IAbstractionContext context, bool ignoreSslErrors)
 {
     return new HDInsightManagementRestSimulatorClient(credentials, context);
 }
 public HDInsightJobSubmissionRestClient(IHDInsightSubscriptionCredentials credentials, HDInsight.IAbstractionContext context, bool ignoreSslErrors)
 {
     this.context = context;
     this.credentials = credentials;
     this.ignoreSslErrors = ignoreSslErrors;
 }
 public IHDInsightJobSubmissionRestClient Create(IHDInsightSubscriptionCredentials credentials, IAbstractionContext context, bool ignoreSslErrors)
 {
     return new HDInsightJobSubmissionRestClient(credentials, context, ignoreSslErrors);
 }
        public static void TestRunSetup()
        {
            // Sets the simulator
            var runManager = ServiceLocator.Instance.Locate<IServiceLocationSimulationManager>();
            ServiceLocator.Instance.Locate<ILogger>().AddWriter(new ConsoleLogWriter(Severity.None, Verbosity.Diagnostic));
            runManager.RegisterType<IAsvValidatorClientFactory, AsvValidatorSimulatorClientFactory>();
            runManager.RegisterType<IHDInsightManagementRestClientFactory, HDInsightManagementRestSimulatorClientFactory>();
            runManager.RegisterType<IRdfeServiceRestClientFactory, RdfeServiceRestSimulatorClientFactory>();
            runManager.RegisterType<IAzureHDInsightClusterConfigurationAccessorFactory, AzureHDInsightClusterConfigurationAccessorSimulatorFactory>();
            runManager.RegisterInstance<IWabStorageAbstractionFactory>(StorageAccountSimulatorFactory.Instance);
            runManager.RegisterType<IRemoteHadoopJobSubmissionPocoClientFactory, HadoopJobSubmissionPocoSimulatorClientFactory>();
            runManager.RegisterType<IHDInsightJobSubmissionPocoClientFactory, HadoopJobSubmissionPocoSimulatorClientFactory>();
            runManager.RegisterType<ISubscriptionRegistrationClientFactory, SubscriptionRegistrationSimulatorClientFactory>();
            
            var testManager = new IntegrationTestManager();
            if (!testManager.RunAzureTests())
            {
                Assert.Inconclusive("Azure tests are not configured on this machine.");
            }
            IntegrationTestBase.TestCredentials = testManager.GetCredentials("default");
            if (IntegrationTestBase.TestCredentials == null)
            {
                Assert.Inconclusive("No entry was found in the credential config file for the specified test configuration.");
            }

            // Sets the certificate
            var defaultCertificate = new X509Certificate2(IntegrationTestBase.TestCredentials.Certificate);

            // Sets the test static properties
            IntegrationTestBase.ClusterPrefix = string.Format("CLITest-{0}", Environment.GetEnvironmentVariable("computername") ?? "unknown");

            // Sets the credential objects
            var tempCredentials = new HDInsightCertificateCredential()
            {
                SubscriptionId = TestCredentials.SubscriptionId,
                Certificate = defaultCertificate,
                Endpoint = new Uri(TestCredentials.Endpoint)
            };
            IntegrationTestBase.validCredentials = ServiceLocator.Instance
                                                .Locate<IHDInsightSubscriptionCredentialsFactory>()
                                                .Create(tempCredentials);
            tempCredentials = new HDInsightCertificateCredential() { SubscriptionId = Guid.NewGuid(), Certificate = defaultCertificate };
            IntegrationTestBase.invalidSubscriptionId = ServiceLocator.Instance
                                                     .Locate<IHDInsightSubscriptionCredentialsFactory>()
                                                     .Create(tempCredentials);
            tempCredentials = new HDInsightCertificateCredential()
            {
                SubscriptionId = TestCredentials.SubscriptionId,
                Certificate = new X509Certificate2(TestCredentials.InvalidCertificate),
                Endpoint = new Uri(TestCredentials.Endpoint)
            };
            IntegrationTestBase.invalidCertificate = ServiceLocator.Instance
                                                  .Locate<IHDInsightSubscriptionCredentialsFactory>()
                                                  .Create(tempCredentials);

            // Prepares the environment 
            IntegrationTestBase.CleanUpClusters();
        }
 public IVersionFinderClient Create(IHDInsightSubscriptionCredentials creds, IAbstractionContext context, bool ignoreSslErrors)
 {
     return new VersionFinderClient(creds, context, ignoreSslErrors);
 }
 /// <summary>
 /// Initializes a new instance of the HDInsightSubscriptionAbstractionContext class.
 /// </summary>
 /// <param name="credentials">
 /// The subscription credentials.
 /// </param>
 /// <param name="token">
 /// A Cancelation Token.
 /// </param>
 public HDInsightSubscriptionAbstractionContext(IHDInsightSubscriptionCredentials credentials, CancellationToken token)
     : base(token)
 {
     this.Credentials = credentials;
 }
Exemplo n.º 18
0
 /// <summary>
 /// Initializes a new instance of the HDInsightClient class.
 /// </summary>
 /// <param name="credentials">The credential to use when operating against the service.</param>
 /// <param name="httpOperationTimeout">The HTTP operation timeout.</param>
 /// <param name="policy">The retry policy.</param>
 /// <exception cref="System.InvalidOperationException">Unable to connect to the HDInsight subscription with the supplied type of credential.</exception>
 internal HDInsightClient(IHDInsightSubscriptionCredentials credentials, TimeSpan? httpOperationTimeout = null, IRetryPolicy policy = null)
     : base(httpOperationTimeout, policy)
 {
     var asCertificateCredentials = credentials;
     if (asCertificateCredentials.IsNull())
     {
         throw new InvalidOperationException("Unable to connect to the HDInsight subscription with the supplied type of credential");
     }
     this.credentials = ServiceLocator.Instance.Locate<IHDInsightSubscriptionCredentialsFactory>().Create(asCertificateCredentials);
     this.capabilities = new Lazy<List<string>>(this.GetCapabilities);
     this.canUseClustersContract = new Lazy<bool>(this.CanUseClustersContract);
     this.PollingInterval = DefaultPollingInterval;
 }
Exemplo n.º 19
0
 /// <summary>
 /// Connects the specified credentials.
 /// </summary>
 /// <param name="credentials">The credential used to connect to the subscription.</param>
 /// <param name="httpOperationTimeout">The HTTP operation timeout.</param>
 /// <param name="policy">The retry policy to use for operations on this client.</param>
 /// <returns>
 /// A new HDInsight client.
 /// </returns>
 public static IHDInsightClient Connect(IHDInsightSubscriptionCredentials credentials, TimeSpan httpOperationTimeout, IRetryPolicy policy)
 {
     return ServiceLocator.Instance.Locate<IHDInsightClientFactory>().Create(credentials, httpOperationTimeout, policy);
 }
Exemplo n.º 20
0
 /// <summary>
 /// Connects to an HDInsight subscription.
 /// </summary>
 /// <param name="credentials">
 /// The credential used to connect to the subscription.
 /// </param>
 /// <returns>
 /// A new HDInsight client.
 /// </returns>
 public static IHDInsightClient Connect(IHDInsightSubscriptionCredentials credentials)
 {
     return ServiceLocator.Instance.Locate<IHDInsightClientFactory>().Create(credentials);
 }
 public ISubscriptionRegistrationClient Create(IHDInsightSubscriptionCredentials creds, IAbstractionContext context, bool ignoreSslErrors)
 {
     return new SubscriptionRegistrationSimulatorClient(creds.As<IHDInsightCertificateCredential>(), context);
 }
 public ISubscriptionRegistrationClient Create(IHDInsightSubscriptionCredentials creds, IAbstractionContext context, bool ignoreSslErrors)
 {
     return new SubscriptionRegistrationClient(creds, context, ignoreSslErrors);
 }
 internal SubscriptionRegistrationClient(IHDInsightSubscriptionCredentials credentials, HDInsight.IAbstractionContext context, bool ignoreSslErrors)
 {
     this.context = context;
     this.credentials = credentials;
     this.ignoreSslErrors = ignoreSslErrors;
 }
 public IJobSubmissionClient Create(IHDInsightSubscriptionCredentials credential, string customUserAgent)
 {
     return Help.SafeCreate(() => new HDInsightHadoopClient(credential, customUserAgent));
 }
 public HDInsightManagementRestSimulatorClient(IHDInsightSubscriptionCredentials credentials, HDInsight.IAbstractionContext context)
 {
     this.context = context;
     var cert = new X509Certificate2(IntegrationTestBase.TestCredentials.Certificate);
     this.certificates.Add(cert.Thumbprint, cert);
     this.subscriptions.Add(IntegrationTestBase.TestCredentials.SubscriptionId);
     this.credentials = credentials;
     this.Logger = new Logger();
 }
 public IHadoopApplicationHistoryClient CreateHadoopApplicationHistoryClient(IHDInsightSubscriptionCredentials credential)
 {
     throw new NotImplementedException();
 }
 /// <summary>
 /// Initializes a new instance of the HDInsightSubscriptionAbstractionContext class.
 /// </summary>
 /// <param name="credentials">
 /// The subscription credentials.
 /// </param>
 /// <param name="context">
 /// An abstraction context to clone.
 /// </param>
 public HDInsightSubscriptionAbstractionContext(IHDInsightSubscriptionCredentials credentials, IAbstractionContext context)
     : base(context)
 {
     this.Credentials = credentials;
 }
 public IHDInsightManagementPocoClient Create(IHDInsightSubscriptionCredentials credentials, IAbstractionContext context, bool ignoreSslErrors)
 {
     var client = new TestPocoClientFlowThrough(underlying.Create(credentials, context, ignoreSslErrors));
     this.Clients.Add(client);
     return client;
 }
 public AzureHDInsightClusterManagementClientSimulator(IHDInsightSubscriptionCredentials credentials)
 {
     this.credentials = credentials;
     this.logger = new Logger();
 }
 public IJobSubmissionClient Create(IHDInsightSubscriptionCredentials credential)
 {
     return Create(credential, string.Empty);
 }