Microsoft.Azure.ServiceManagemenet.Common.ProfileClient.InitializeProfile C# (CSharp) Method

InitializeProfile() public method

Initializes AzureSMProfile using passed in account and optional password.
public InitializeProfile ( AzureEnvironment environment, System.Guid subscriptionId, AzureAccount account, SecureString password, string storageAccount ) : void
environment Microsoft.Azure.Commands.Common.Authentication.Models.AzureEnvironment Environment object.
subscriptionId System.Guid Subscription Id
account Microsoft.Azure.Commands.Common.Authentication.Models.AzureAccount Azure account with AD username and tenant.
password System.Security.SecureString AD password (optional).
storageAccount string Storage account name (optional).
return void
        public void InitializeProfile(AzureEnvironment environment, Guid subscriptionId, AzureAccount account,
            SecureString password, string storageAccount)
        {
            if (environment == null)
            {
                throw new ArgumentNullException("environment");
            }
            if (account == null)
            {
                throw new ArgumentNullException("account");
            }

            // Add environment if not public
            if (!AzureEnvironment.PublicEnvironments.ContainsKey(environment.Name))
            {
                AddOrSetEnvironment(environment);
            }

            // Add account
            var azureAccount = AddAccountAndLoadSubscriptions(account, environment, password);

            // Add subscription
            if (!azureAccount.HasSubscription(subscriptionId))
            {
                throw new ArgumentException(string.Format(Resources.SubscriptionIdNotFoundMessage, subscriptionId));
            }
            var azureSubscription = GetSubscription(subscriptionId);
            if (!string.IsNullOrEmpty(storageAccount))
            {
                azureSubscription.Properties[AzureSubscription.Property.StorageAccount] = storageAccount;
            }
            AddOrSetSubscription(azureSubscription);
        }
        #endregion

Same methods

ProfileClient::InitializeProfile ( AzureEnvironment environment, System.Guid subscriptionId, X509Certificate2 certificate, string storageAccount ) : void
ProfileClient::InitializeProfile ( AzureEnvironment environment, System.Guid subscriptionId, string accessToken, string accountId, string storageAccount ) : void

Usage Example

Exemplo n.º 1
0
        private void InitializeAzureProfile(AzureSMProfile profile, string parameterSet, AzureProfileSettings settings)
        {
            var savedCache = AzureSession.TokenCache;
            AzureSession.TokenCache = TokenCache.DefaultShared;
            try
            {

                var profileClient = new ProfileClient(profile);
                if (settings.Environment == null)
                {
                    settings.Environment = AzureEnvironment.PublicEnvironments["AzureCloud"];
                }
                switch (parameterSet)
                {
                    case CertificateParameterSet:
                        profileClient.InitializeProfile(settings.Environment, new Guid(settings.SubscriptionId),
                            settings.Certificate,
                            settings.StorageAccount);
                        break;
                    case CredentialsParameterSet:
                        var userAccount = new AzureAccount
                        {
                            Id = settings.Credential.UserName,
                            Type = AzureAccount.AccountType.User
                        };
                        profileClient.InitializeProfile(settings.Environment, new Guid(settings.SubscriptionId),
                            userAccount,
                            settings.Credential.Password, settings.StorageAccount);
                        break;
                    case AccessTokenParameterSet:
                        profileClient.InitializeProfile(settings.Environment, new Guid(settings.SubscriptionId),
                            settings.AccessToken,
                            settings.AccountId, settings.StorageAccount);
                        break;
                    case ServicePrincipalParameterSet:
                        var servicePrincipalAccount = new AzureAccount
                        {
                            Id = settings.Credential.UserName,
                            Type = AzureAccount.AccountType.ServicePrincipal,
                        };
                        servicePrincipalAccount.SetOrAppendProperty(AzureAccount.Property.Tenants, settings.Tenant);
                        profileClient.InitializeProfile(settings.Environment, new Guid(settings.SubscriptionId),
                            servicePrincipalAccount,
                            settings.Credential.Password, settings.StorageAccount);
                        break;
                    case EmptyParameterSet:
                        if (!profile.Environments.ContainsKey(settings.Environment.Name))
                        {
                            profile.Environments.Add(settings.Environment.Name, settings.Environment);
                        }
                        break;
                }
            }
            finally
            {
                AzureSession.TokenCache = savedCache;
            }
        }