/// <summary>
 /// Initializes a new instance of the ComposeDeploymentUpgradeProgressInfo class.
 /// </summary>
 /// <param name="deploymentName">The name of the target deployment.</param>
 /// <param name="applicationName">The name of the target application, including the 'fabric:' URI scheme.</param>
 /// <param name="upgradeState">The state of the compose deployment upgrade.
 /// . Possible values include: 'Invalid', 'ProvisioningTarget', 'RollingForwardInProgress', 'RollingForwardPending',
 /// 'UnprovisioningCurrent', 'RollingForwardCompleted', 'RollingBackInProgress', 'UnprovisioningTarget',
 /// 'RollingBackCompleted', 'Failed'</param>
 /// <param name="upgradeStatusDetails">Additional detailed information about the status of the pending upgrade.</param>
 /// <param name="upgradeKind">The kind of upgrade out of the following possible values. Possible values include:
 /// 'Invalid', 'Rolling'</param>
 /// <param name="rollingUpgradeMode">The mode used to monitor health during a rolling upgrade. The values are
 /// UnmonitoredAuto, UnmonitoredManual, and Monitored. Possible values include: 'Invalid', 'UnmonitoredAuto',
 /// 'UnmonitoredManual', 'Monitored'</param>
 /// <param name="forceRestart">If true, then processes are forcefully restarted during upgrade even when the code
 /// version has not changed (the upgrade only changes configuration or data).</param>
 /// <param name="upgradeReplicaSetCheckTimeoutInSeconds">The maximum amount of time to block processing of an upgrade
 /// domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of
 /// the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each
 /// upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer).</param>
 /// <param name="monitoringPolicy">Describes the parameters for monitoring an upgrade in Monitored mode.</param>
 /// <param name="applicationHealthPolicy">Defines a health policy used to evaluate the health of an application or one
 /// of its children entities.
 /// </param>
 /// <param name="targetApplicationTypeVersion">The target application type version (found in the application manifest)
 /// for the application upgrade.</param>
 /// <param name="upgradeDuration">The estimated amount of time that the overall upgrade elapsed. It is first
 /// interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number
 /// representing the total number of milliseconds.</param>
 /// <param name="currentUpgradeDomainDuration">The estimated amount of time spent processing current Upgrade Domain. It
 /// is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a
 /// number representing the total number of milliseconds.</param>
 /// <param name="applicationUnhealthyEvaluations">List of health evaluations that resulted in the current aggregated
 /// health state.</param>
 /// <param name="currentUpgradeDomainProgress">Information about the current in-progress upgrade domain.</param>
 /// <param name="startTimestampUtc">The estimated UTC datetime when the upgrade started.</param>
 /// <param name="failureTimestampUtc">The estimated UTC datetime when the upgrade failed and FailureAction was
 /// executed.</param>
 /// <param name="failureReason">The cause of an upgrade failure that resulted in FailureAction being executed. Possible
 /// values include: 'None', 'Interrupted', 'HealthCheck', 'UpgradeDomainTimeout', 'OverallUpgradeTimeout'</param>
 /// <param name="upgradeDomainProgressAtFailure">Information about the upgrade domain progress at the time of upgrade
 /// failure.</param>
 /// <param name="applicationUpgradeStatusDetails">Additional details of application upgrade including failure
 /// message.</param>
 public ComposeDeploymentUpgradeProgressInfo(
     string deploymentName  = default(string),
     string applicationName = default(string),
     ComposeDeploymentUpgradeState?upgradeState = default(ComposeDeploymentUpgradeState?),
     string upgradeStatusDetails    = default(string),
     UpgradeKind?upgradeKind        = Common.UpgradeKind.Rolling,
     UpgradeMode?rollingUpgradeMode = Common.UpgradeMode.UnmonitoredAuto,
     bool?forceRestart = default(bool?),
     long?upgradeReplicaSetCheckTimeoutInSeconds     = default(long?),
     MonitoringPolicyDescription monitoringPolicy    = default(MonitoringPolicyDescription),
     ApplicationHealthPolicy applicationHealthPolicy = default(ApplicationHealthPolicy),
     string targetApplicationTypeVersion             = default(string),
     string upgradeDuration = default(string),
     string currentUpgradeDomainDuration = default(string),
     IEnumerable <HealthEvaluationWrapper> applicationUnhealthyEvaluations = default(IEnumerable <HealthEvaluationWrapper>),
     CurrentUpgradeDomainProgressInfo currentUpgradeDomainProgress         = default(CurrentUpgradeDomainProgressInfo),
     string startTimestampUtc    = default(string),
     string failureTimestampUtc  = default(string),
     FailureReason?failureReason = default(FailureReason?),
     FailureUpgradeDomainProgressInfo upgradeDomainProgressAtFailure = default(FailureUpgradeDomainProgressInfo),
     string applicationUpgradeStatusDetails = default(string))
 {
     this.DeploymentName       = deploymentName;
     this.ApplicationName      = applicationName;
     this.UpgradeState         = upgradeState;
     this.UpgradeStatusDetails = upgradeStatusDetails;
     this.UpgradeKind          = upgradeKind;
     this.RollingUpgradeMode   = rollingUpgradeMode;
     this.ForceRestart         = forceRestart;
     this.UpgradeReplicaSetCheckTimeoutInSeconds = upgradeReplicaSetCheckTimeoutInSeconds;
     this.MonitoringPolicy             = monitoringPolicy;
     this.ApplicationHealthPolicy      = applicationHealthPolicy;
     this.TargetApplicationTypeVersion = targetApplicationTypeVersion;
     this.UpgradeDuration = upgradeDuration;
     this.CurrentUpgradeDomainDuration    = currentUpgradeDomainDuration;
     this.ApplicationUnhealthyEvaluations = applicationUnhealthyEvaluations;
     this.CurrentUpgradeDomainProgress    = currentUpgradeDomainProgress;
     this.StartTimestampUtc               = startTimestampUtc;
     this.FailureTimestampUtc             = failureTimestampUtc;
     this.FailureReason                   = failureReason;
     this.UpgradeDomainProgressAtFailure  = upgradeDomainProgressAtFailure;
     this.ApplicationUpgradeStatusDetails = applicationUpgradeStatusDetails;
 }
Exemple #2
0
 /// <summary>
 /// Initializes a new instance of the ApplicationUpgradeProgressInfo class.
 /// </summary>
 /// <param name="name">The name of the target application, including the 'fabric:' URI scheme.</param>
 /// <param name="typeName">The application type name as defined in the application manifest.</param>
 /// <param name="targetApplicationTypeVersion">The target application type version (found in the application manifest)
 /// for the application upgrade.</param>
 /// <param name="upgradeDomains">List of upgrade domains and their statuses. Not applicable to node-by-node
 /// upgrades.</param>
 /// <param name="upgradeUnits">List of upgrade units and their statuses.</param>
 /// <param name="upgradeState">The state of the upgrade domain. Possible values include: 'Invalid',
 /// 'RollingBackInProgress', 'RollingBackCompleted', 'RollingForwardPending', 'RollingForwardInProgress',
 /// 'RollingForwardCompleted', 'Failed'</param>
 /// <param name="nextUpgradeDomain">The name of the next upgrade domain to be processed. Not applicable to node-by-node
 /// upgrades.</param>
 /// <param name="rollingUpgradeMode">The mode used to monitor health during a rolling upgrade. The values are
 /// UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred. Possible values include: 'Invalid',
 /// 'UnmonitoredAuto', 'UnmonitoredManual', 'Monitored', 'UnmonitoredDeferred'</param>
 /// <param name="upgradeDescription">Describes the parameters for an application upgrade. Note that upgrade description
 /// replaces the existing application description. This means that if the parameters are not specified, the existing
 /// parameters on the applications will be overwritten with the empty parameters list. This would result in the
 /// application using the default value of the parameters from the application manifest. If you do not want to change
 /// any existing parameter values, please get the application parameters first using the GetApplicationInfo query and
 /// then supply those values as Parameters in this ApplicationUpgradeDescription.</param>
 /// <param name="upgradeDurationInMilliseconds">The estimated total amount of time spent processing the overall
 /// upgrade.</param>
 /// <param name="upgradeDomainDurationInMilliseconds">The estimated total amount of time spent processing the current
 /// upgrade domain.</param>
 /// <param name="unhealthyEvaluations">List of health evaluations that resulted in the current aggregated health
 /// state.</param>
 /// <param name="currentUpgradeDomainProgress">Information about the current in-progress upgrade domain. Not applicable
 /// to node-by-node upgrades.</param>
 /// <param name="currentUpgradeUnitsProgress">Information about the current in-progress upgrade units.</param>
 /// <param name="startTimestampUtc">The estimated UTC datetime when the upgrade started.</param>
 /// <param name="failureTimestampUtc">The estimated UTC datetime when the upgrade failed and FailureAction was
 /// executed.</param>
 /// <param name="failureReason">The cause of an upgrade failure that resulted in FailureAction being executed. Possible
 /// values include: 'None', 'Interrupted', 'HealthCheck', 'UpgradeDomainTimeout', 'OverallUpgradeTimeout'</param>
 /// <param name="upgradeDomainProgressAtFailure">Information about the upgrade domain progress at the time of upgrade
 /// failure.</param>
 /// <param name="upgradeStatusDetails">Additional detailed information about the status of the pending upgrade.</param>
 /// <param name="isNodeByNode">Indicates whether this upgrade is node-by-node.</param>
 public ApplicationUpgradeProgressInfo(
     string name     = default(string),
     string typeName = default(string),
     string targetApplicationTypeVersion            = default(string),
     IEnumerable <UpgradeDomainInfo> upgradeDomains = default(IEnumerable <UpgradeDomainInfo>),
     IEnumerable <UpgradeUnitInfo> upgradeUnits     = default(IEnumerable <UpgradeUnitInfo>),
     UpgradeState?upgradeState      = default(UpgradeState?),
     string nextUpgradeDomain       = default(string),
     UpgradeMode?rollingUpgradeMode = Common.UpgradeMode.UnmonitoredAuto,
     ApplicationUpgradeDescription upgradeDescription              = default(ApplicationUpgradeDescription),
     string upgradeDurationInMilliseconds                          = default(string),
     string upgradeDomainDurationInMilliseconds                    = default(string),
     IEnumerable <HealthEvaluationWrapper> unhealthyEvaluations    = default(IEnumerable <HealthEvaluationWrapper>),
     CurrentUpgradeDomainProgressInfo currentUpgradeDomainProgress = default(CurrentUpgradeDomainProgressInfo),
     CurrentUpgradeUnitsProgressInfo currentUpgradeUnitsProgress   = default(CurrentUpgradeUnitsProgressInfo),
     string startTimestampUtc    = default(string),
     string failureTimestampUtc  = default(string),
     FailureReason?failureReason = default(FailureReason?),
     FailureUpgradeDomainProgressInfo upgradeDomainProgressAtFailure = default(FailureUpgradeDomainProgressInfo),
     string upgradeStatusDetails = default(string),
     bool?isNodeByNode           = false)
 {
     this.Name     = name;
     this.TypeName = typeName;
     this.TargetApplicationTypeVersion = targetApplicationTypeVersion;
     this.UpgradeDomains                      = upgradeDomains;
     this.UpgradeUnits                        = upgradeUnits;
     this.UpgradeState                        = upgradeState;
     this.NextUpgradeDomain                   = nextUpgradeDomain;
     this.RollingUpgradeMode                  = rollingUpgradeMode;
     this.UpgradeDescription                  = upgradeDescription;
     this.UpgradeDurationInMilliseconds       = upgradeDurationInMilliseconds;
     this.UpgradeDomainDurationInMilliseconds = upgradeDomainDurationInMilliseconds;
     this.UnhealthyEvaluations                = unhealthyEvaluations;
     this.CurrentUpgradeDomainProgress        = currentUpgradeDomainProgress;
     this.CurrentUpgradeUnitsProgress         = currentUpgradeUnitsProgress;
     this.StartTimestampUtc                   = startTimestampUtc;
     this.FailureTimestampUtc                 = failureTimestampUtc;
     this.FailureReason                       = failureReason;
     this.UpgradeDomainProgressAtFailure      = upgradeDomainProgressAtFailure;
     this.UpgradeStatusDetails                = upgradeStatusDetails;
     this.IsNodeByNode                        = isNodeByNode;
 }