示例#1
0
 /// <summary>
 /// Initializes a new instance of the Cluster class.
 /// </summary>
 /// <param name="location">Azure resource location.</param>
 /// <param name="managementEndpoint">The http management endpoint of
 /// the cluster.</param>
 /// <param name="nodeTypes">The list of node types in the
 /// cluster.</param>
 /// <param name="id">Azure resource identifier.</param>
 /// <param name="name">Azure resource name.</param>
 /// <param name="type">Azure resource type.</param>
 /// <param name="tags">Azure resource tags.</param>
 /// <param name="addOnFeatures">The list of add-on features to enable
 /// in the cluster.</param>
 /// <param name="availableClusterVersions">The Service Fabric runtime
 /// versions available for this cluster.</param>
 /// <param name="azureActiveDirectory">The AAD authentication settings
 /// of the cluster.</param>
 /// <param name="certificate">The certificate to use for securing the
 /// cluster. The certificate provided will be used for node to node
 /// security within the cluster, SSL certificate for cluster management
 /// endpoint and default admin client.</param>
 /// <param name="certificateCommonNames">Describes a list of server
 /// certificates referenced by common name that are used to secure the
 /// cluster.</param>
 /// <param name="clientCertificateCommonNames">The list of client
 /// certificates referenced by common name that are allowed to manage
 /// the cluster.</param>
 /// <param name="clientCertificateThumbprints">The list of client
 /// certificates referenced by thumbprint that are allowed to manage
 /// the cluster.</param>
 /// <param name="clusterCodeVersion">The Service Fabric runtime version
 /// of the cluster. This property can only by set the user when
 /// **upgradeMode** is set to 'Manual'. To get list of available
 /// Service Fabric versions for new clusters use [ClusterVersion
 /// API](./ClusterVersion.md). To get the list of available version for
 /// existing clusters use **availableClusterVersions**.</param>
 /// <param name="clusterEndpoint">The Azure Resource Provider endpoint.
 /// A system service in the cluster connects to this  endpoint.</param>
 /// <param name="clusterId">A service generated unique identifier for
 /// the cluster resource.</param>
 /// <param name="clusterState">The current state of the cluster.
 ///
 /// - WaitingForNodes - Indicates that the cluster resource is created
 /// and the resource provider is waiting for Service Fabric VM
 /// extension to boot up and report to it.
 /// - Deploying - Indicates that the Service Fabric runtime is being
 /// installed on the VMs. Cluster resource will be in this state until
 /// the cluster boots up and system services are up.
 /// - BaselineUpgrade - Indicates that the cluster is upgrading to
 /// establishes the cluster version. This upgrade is automatically
 /// initiated when the cluster boots up for the first time.
 /// - UpdatingUserConfiguration - Indicates that the cluster is being
 /// upgraded with the user provided configuration.
 /// - UpdatingUserCertificate - Indicates that the cluster is being
 /// upgraded with the user provided certificate.
 /// - UpdatingInfrastructure - Indicates that the cluster is being
 /// upgraded with the latest Service Fabric runtime version. This
 /// happens only when the **upgradeMode** is set to 'Automatic'.
 /// - EnforcingClusterVersion - Indicates that cluster is on a
 /// different version than expected and the cluster is being upgraded
 /// to the expected version.
 /// - UpgradeServiceUnreachable - Indicates that the system service in
 /// the cluster is no longer polling the Resource Provider. Clusters in
 /// this state cannot be managed by the Resource Provider.
 /// - AutoScale - Indicates that the ReliabilityLevel of the cluster is
 /// being adjusted.
 /// - Ready - Indicates that the cluster is in a stable state.
 /// . Possible values include: 'WaitingForNodes', 'Deploying',
 /// 'BaselineUpgrade', 'UpdatingUserConfiguration',
 /// 'UpdatingUserCertificate', 'UpdatingInfrastructure',
 /// 'EnforcingClusterVersion', 'UpgradeServiceUnreachable',
 /// 'AutoScale', 'Ready'</param>
 /// <param name="diagnosticsStorageAccountConfig">The storage account
 /// information for storing Service Fabric diagnostic logs.</param>
 /// <param name="fabricSettings">The list of custom fabric settings to
 /// configure the cluster.</param>
 /// <param name="provisioningState">The provisioning state of the
 /// cluster resource. Possible values include: 'Updating', 'Succeeded',
 /// 'Failed', 'Canceled'</param>
 /// <param name="reliabilityLevel">The reliability level sets the
 /// replica set size of system services. Learn about
 /// [ReliabilityLevel](https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-capacity).
 ///
 /// - None - Run the System services with a target replica set count of
 /// 1. This should only be used for test clusters.
 /// - Bronze - Run the System services with a target replica set count
 /// of 3. This should only be used for test clusters.
 /// - Silver - Run the System services with a target replica set count
 /// of 5.
 /// - Gold - Run the System services with a target replica set count of
 /// 7.
 /// - Platinum - Run the System services with a target replica set
 /// count of 9.
 /// . Possible values include: 'None', 'Bronze', 'Silver', 'Gold',
 /// 'Platinum'</param>
 /// <param name="reverseProxyCertificate">The server certificate used
 /// by reverse proxy.</param>
 /// <param name="reverseProxyCertificateCommonNames">Describes a list
 /// of server certificates referenced by common name that are used to
 /// secure the cluster.</param>
 /// <param name="upgradeDescription">The policy to use when upgrading
 /// the cluster.</param>
 /// <param name="upgradeMode">The upgrade mode of the cluster when new
 /// Service Fabric runtime version is available.
 ///
 /// - Automatic - The cluster will be automatically upgraded to the
 /// latest Service Fabric runtime version as soon as it is available.
 /// - Manual - The cluster will not be automatically upgraded to the
 /// latest Service Fabric runtime version. The cluster is upgraded by
 /// setting the **clusterCodeVersion** property in the cluster
 /// resource.
 /// . Possible values include: 'Automatic', 'Manual'</param>
 /// <param name="vmImage">The VM image VMSS has been configured with.
 /// Generic names such as Windows or Linux can be used.</param>
 public Cluster(string location, string managementEndpoint, IList <NodeTypeDescription> nodeTypes, string id = default(string), string name = default(string), string type = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), IList <string> addOnFeatures = default(IList <string>), IList <ClusterVersionDetails> availableClusterVersions = default(IList <ClusterVersionDetails>), AzureActiveDirectory azureActiveDirectory = default(AzureActiveDirectory), CertificateDescription certificate = default(CertificateDescription), ServerCertificateCommonNames certificateCommonNames = default(ServerCertificateCommonNames), IList <ClientCertificateCommonName> clientCertificateCommonNames = default(IList <ClientCertificateCommonName>), IList <ClientCertificateThumbprint> clientCertificateThumbprints = default(IList <ClientCertificateThumbprint>), string clusterCodeVersion = default(string), string clusterEndpoint = default(string), string clusterId = default(string), string clusterState = default(string), DiagnosticsStorageAccountConfig diagnosticsStorageAccountConfig = default(DiagnosticsStorageAccountConfig), IList <SettingsSectionDescription> fabricSettings = default(IList <SettingsSectionDescription>), string provisioningState = default(string), string reliabilityLevel = default(string), CertificateDescription reverseProxyCertificate = default(CertificateDescription), ServerCertificateCommonNames reverseProxyCertificateCommonNames = default(ServerCertificateCommonNames), ClusterUpgradePolicy upgradeDescription = default(ClusterUpgradePolicy), string upgradeMode = default(string), string vmImage = default(string))
     : base(location, id, name, type, tags)
 {
     AddOnFeatures            = addOnFeatures;
     AvailableClusterVersions = availableClusterVersions;
     AzureActiveDirectory     = azureActiveDirectory;
     Certificate                  = certificate;
     CertificateCommonNames       = certificateCommonNames;
     ClientCertificateCommonNames = clientCertificateCommonNames;
     ClientCertificateThumbprints = clientCertificateThumbprints;
     ClusterCodeVersion           = clusterCodeVersion;
     ClusterEndpoint              = clusterEndpoint;
     ClusterId    = clusterId;
     ClusterState = clusterState;
     DiagnosticsStorageAccountConfig = diagnosticsStorageAccountConfig;
     FabricSettings                     = fabricSettings;
     ManagementEndpoint                 = managementEndpoint;
     NodeTypes                          = nodeTypes;
     ProvisioningState                  = provisioningState;
     ReliabilityLevel                   = reliabilityLevel;
     ReverseProxyCertificate            = reverseProxyCertificate;
     ReverseProxyCertificateCommonNames = reverseProxyCertificateCommonNames;
     UpgradeDescription                 = upgradeDescription;
     UpgradeMode                        = upgradeMode;
     VmImage = vmImage;
     CustomInit();
 }
示例#2
0
 /// <summary>
 /// Validate the object.
 /// </summary>
 /// <exception cref="ValidationException">
 /// Thrown if validation fails
 /// </exception>
 public override void Validate()
 {
     base.Validate();
     if (ManagementEndpoint == null)
     {
         throw new ValidationException(ValidationRules.CannotBeNull, "ManagementEndpoint");
     }
     if (NodeTypes == null)
     {
         throw new ValidationException(ValidationRules.CannotBeNull, "NodeTypes");
     }
     if (Certificate != null)
     {
         Certificate.Validate();
     }
     if (ClientCertificateCommonNames != null)
     {
         foreach (var element in ClientCertificateCommonNames)
         {
             if (element != null)
             {
                 element.Validate();
             }
         }
     }
     if (ClientCertificateThumbprints != null)
     {
         foreach (var element1 in ClientCertificateThumbprints)
         {
             if (element1 != null)
             {
                 element1.Validate();
             }
         }
     }
     if (DiagnosticsStorageAccountConfig != null)
     {
         DiagnosticsStorageAccountConfig.Validate();
     }
     if (FabricSettings != null)
     {
         foreach (var element2 in FabricSettings)
         {
             if (element2 != null)
             {
                 element2.Validate();
             }
         }
     }
     if (NodeTypes != null)
     {
         foreach (var element3 in NodeTypes)
         {
             if (element3 != null)
             {
                 element3.Validate();
             }
         }
     }
     if (ReverseProxyCertificate != null)
     {
         ReverseProxyCertificate.Validate();
     }
     if (UpgradeDescription != null)
     {
         UpgradeDescription.Validate();
     }
 }