public OperationalizationCluster CreateClusterWithoutOrchestratorProperties(string description = "Test cluster",
                                                                                    string clusterType = ClusterType.ACS, string orchestratorType = OrchestratorType.Kubernetes)
        {
            var newCluster = new OperationalizationCluster
            {
                Location         = Location,
                ClusterType      = clusterType,
                Description      = description,
                ContainerService = new AcsClusterProperties
                {
                    OrchestratorType = orchestratorType,
                }
            };

            return(Client.OperationalizationClusters.CreateOrUpdate(ResourceGroupName, ClusterName, newCluster));
        }
Пример #2
0
 public PSOperationalizationCluster(OperationalizationCluster cluster)
 {
     this.Id                         = cluster.Id;
     this.Name                       = cluster.Name;
     this.Type                       = cluster.Type;
     this.Tags                       = cluster.Tags;
     this.Location                   = cluster.Location;
     this.Description                = cluster.Description;
     this.CreatedOn                  = cluster.CreatedOn;
     this.ModifiedOn                 = cluster.ModifiedOn;
     this.ProvisioningState          = cluster.ProvisioningState;
     this.ProvisioningErrors         = cluster.ProvisioningErrors;
     this.ClusterType                = cluster.ClusterType;
     this.StorageAccount             = cluster.StorageAccount;
     this.ContainerRegistry          = cluster.ContainerRegistry;
     this.ContainerService           = cluster.ContainerService;
     this.AppInsights                = cluster.AppInsights;
     this.GlobalServiceConfiguration = cluster.GlobalServiceConfiguration;
 }
        public override void ExecuteCmdlet()
        {
            if (ShouldProcess(Name, @"Creating operationalization cluster..."))
            {
                var cluster = new OperationalizationCluster();

                if (string.Equals(this.ParameterSetName, CreateFromObjectParameterSet, StringComparison.OrdinalIgnoreCase))
                {
                    cluster = InputObject.ConvertToOperationalizationCluster();
                }
                else if (string.Equals(this.ParameterSetName, CreateFromCmdletParametersParameterSet, StringComparison.OrdinalIgnoreCase))
                {
                    cluster.Location    = Location;
                    cluster.ClusterType = ClusterType;
                    cluster.Description = Description;

                    if (StorageAccount != null)
                    {
                        cluster.StorageAccount = new StorageAccountProperties(StorageAccount);
                    }

                    if (AzureContainerRegistry != null)
                    {
                        cluster.ContainerRegistry = new ContainerRegistryProperties(AzureContainerRegistry);
                    }

                    if (GlobalServiceConfigurationETag != null)
                    {
                        cluster.GlobalServiceConfiguration      = cluster.GlobalServiceConfiguration ?? new GlobalServiceConfiguration();
                        cluster.GlobalServiceConfiguration.Etag = GlobalServiceConfigurationETag;
                    }

                    if (GlobalServiceConfigurationAdditionalProperties != null)
                    {
                        cluster.GlobalServiceConfiguration = cluster.GlobalServiceConfiguration ?? new GlobalServiceConfiguration();
                        cluster.GlobalServiceConfiguration.AdditionalProperties = GlobalServiceConfigurationAdditionalProperties.Cast <DictionaryEntry>().ToDictionary(kvp => (string)kvp.Key, kvp => kvp.Value);
                    }

                    if (SslStatus != null)
                    {
                        cluster.GlobalServiceConfiguration.Ssl        = cluster.GlobalServiceConfiguration.Ssl ?? new SslConfiguration();
                        cluster.GlobalServiceConfiguration.Ssl.Status = SslStatus;
                    }

                    if (SslCertificate != null)
                    {
                        cluster.GlobalServiceConfiguration.Ssl      = cluster.GlobalServiceConfiguration.Ssl ?? new SslConfiguration();
                        cluster.GlobalServiceConfiguration.Ssl.Cert = SslCertificate;
                    }

                    if (SslKey != null)
                    {
                        cluster.GlobalServiceConfiguration.Ssl     = cluster.GlobalServiceConfiguration.Ssl ?? new SslConfiguration();
                        cluster.GlobalServiceConfiguration.Ssl.Key = SslKey;
                    }

                    if (SslCName != null)
                    {
                        cluster.GlobalServiceConfiguration.Ssl       = cluster.GlobalServiceConfiguration.Ssl ?? new SslConfiguration();
                        cluster.GlobalServiceConfiguration.Ssl.Cname = SslCName;
                    }

                    switch (ClusterType)
                    {
                    case Management.MachineLearningCompute.Models.ClusterType.ACS:
                        cluster.ContainerService = new AcsClusterProperties
                        {
                            OrchestratorType       = OrchestratorType,
                            OrchestratorProperties = new KubernetesClusterProperties
                            {
                                ServicePrincipal = new ServicePrincipalProperties
                                {
                                    ClientId = ClientId,
                                    Secret   = Secret
                                }
                            },
                            MasterCount = MasterCount,
                            AgentCount  = AgentCount,
                            AgentVmSize = AgentVmSize
                        };

                        break;

                    case Management.MachineLearningCompute.Models.ClusterType.Local:
                        break;

                    default:
                        break;
                    }
                }

                try
                {
                    WriteObject(new PSOperationalizationCluster(MachineLearningComputeManagementClient.OperationalizationClusters.CreateOrUpdate(ResourceGroupName, Name, cluster)));
                }
                catch (Exception e)
                {
                    HandleNestedExceptionMessages(e);
                }
            }
        }
Пример #4
0
 /// <summary>
 /// Create or update an operationalization cluster.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Name of the resource group in which the cluster is located.
 /// </param>
 /// <param name='clusterName'>
 /// The name of the cluster.
 /// </param>
 /// <param name='parameters'>
 /// Parameters supplied to create or update an Operationalization cluster.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <OperationalizationCluster> CreateOrUpdateAsync(this IOperationalizationClustersOperations operations, string resourceGroupName, string clusterName, OperationalizationCluster parameters, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, clusterName, parameters, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
Пример #5
0
 /// <summary>
 /// Create or update an operationalization cluster.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// Name of the resource group in which the cluster is located.
 /// </param>
 /// <param name='clusterName'>
 /// The name of the cluster.
 /// </param>
 /// <param name='parameters'>
 /// Parameters supplied to create or update an Operationalization cluster.
 /// </param>
 public static OperationalizationCluster BeginCreateOrUpdate(this IOperationalizationClustersOperations operations, string resourceGroupName, string clusterName, OperationalizationCluster parameters)
 {
     return(operations.BeginCreateOrUpdateAsync(resourceGroupName, clusterName, parameters).GetAwaiter().GetResult());
 }