/// <summary> /// Build and prebuild steps for the deployment manager when things need to be added /// </summary> private void BuildAndPrebuildSteps() { IRoleReference roleReference = new RoleReference(_manager); _manager.CloudConfigChanges.Add((ICloudConfig) roleReference); foreach (ICloudConfig item in _manager.CloudConfigChanges) { // check to see whether they are populated depending on the path we get here we may get a null reference exception otherwise // in only some cases will there be a need to parse both of these files sometimes we may not want to depending on whether // we only want to apply settings updates to the cscfg if (_manager.CscfgFileInstance != null) _manager.CscfgFileInstance.NewVersion = item.ChangeConfig(_manager.CscfgFileInstance.NewVersion); if (_manager.CsdefFileInstance != null) _manager.CsdefFileInstance.NewVersion = item.ChangeDefinition(_manager.CsdefFileInstance.NewVersion); } _manager.Base64CsfgFile = _manager.ReturnBase64AmmendedString(); _manager.BuildActivity.Build(); }
/// <summary> /// Waits until all of the role instances are running in a deployment before releasing /// </summary> /// <returns></returns> IServiceCompleteActivity IRoleReference.WaitUntilAllRoleInstancesAreRunning() { IRoleReference roleReference = new RoleReference(this); return roleReference.WaitUntilAllRoleInstancesAreRunning(); }
/// <summary> /// Replaces a configuration with a new .cscfg configuration /// </summary> IRoleReference IRoleReference.ReplaceConfiguration(string filename) { IRoleReference roleReference = new RoleReference(this); return roleReference.ReplaceConfiguration(filename); }
IServiceCompleteActivity IRoleReference.ReturnWithoutWaitingForRunningRoles() { IRoleReference roleReference = new RoleReference(this); return roleReference.ReturnWithoutWaitingForRunningRoles(); }
/// <summary> /// Defines which role a particular operation should be done on /// </summary> IRoleActivity IRoleReference.ForRole(string name) { IRoleReference roleReference = new RoleReference(this); return roleReference.ForRole(name); }