public static MachinePolicy ToModel(this MachinePolicyResource resource) { return(new MachinePolicy( new ElementIdentifier(resource.Name), resource.Description, resource.MachineHealthCheckPolicy.ToModel(), resource.MachineConnectivityPolicy.ToModel(), resource.MachineUpdatePolicy.ToModel(), resource.MachineCleanupPolicy.ToModel())); }
public static MachinePolicyResource UpdateWith(this MachinePolicyResource resource, MachinePolicy model) { resource.Name = model.Identifier.Name; resource.Description = model.Description; resource.MachineHealthCheckPolicy.UpdateWith(model.HealthCheckPolicy); resource.MachineConnectivityPolicy.UpdateWith(model.ConnectivityPolicy); resource.MachineUpdatePolicy.UpdateWith(model.UpdatePolicy); resource.MachineCleanupPolicy.UpdateWith(model.CleanupPolicy); return(resource); }
protected void ApplyBaseChanges(MachineBasedResource machine, MachinePolicyResource machinePolicy, ProxyResource proxy) { machine.Name = MachineName; if (machinePolicy != null) { machine.MachinePolicyId = machinePolicy.Id; } if (CommunicationStyle == CommunicationStyle.TentaclePassive) { var listening = new ListeningTentacleEndpointResource(); listening.Uri = new Uri("https://" + TentacleHostname.ToLowerInvariant() + ":" + TentaclePort.ToString(CultureInfo.InvariantCulture) + "/").ToString(); listening.Thumbprint = TentacleThumbprint; listening.ProxyId = proxy?.Id; machine.Endpoint = listening; } else if (CommunicationStyle == CommunicationStyle.TentacleActive) { var polling = new PollingTentacleEndpointResource(); polling.Uri = SubscriptionId.ToString(); polling.Thumbprint = TentacleThumbprint; machine.Endpoint = polling; } }
void ApplyChanges(MachineResource machine, IEnumerable <EnvironmentResource> environment, MachinePolicyResource machinePolicy, IEnumerable <TenantResource> tenants) { machine.EnvironmentIds = new ReferenceCollection(environment.Select(e => e.Id).ToArray()); machine.TenantIds = new ReferenceCollection(tenants.Select(t => t.Id).ToArray()); machine.TenantTags = new ReferenceCollection(TenantTags); machine.Roles = new ReferenceCollection(Roles); machine.Name = MachineName; if (machinePolicy != null) { machine.MachinePolicyId = machinePolicy.Id; } if (CommunicationStyle == CommunicationStyle.TentaclePassive) { var listening = new ListeningTentacleEndpointResource(); listening.Uri = new Uri("https://" + TentacleHostname.ToLowerInvariant() + ":" + TentaclePort.ToString(CultureInfo.InvariantCulture) + "/").ToString(); listening.Thumbprint = TentacleThumbprint; machine.Endpoint = listening; } else if (CommunicationStyle == CommunicationStyle.TentacleActive) { var polling = new PollingTentacleEndpointResource(); polling.Uri = SubscriptionId.ToString(); polling.Thumbprint = TentacleThumbprint; machine.Endpoint = polling; } }
private async Task <MachinePolicy> ReadMachinePolicy(MachinePolicyResource resource) { _logger.LogInformation($"Downloading {nameof(MachinePolicyResource)}: {resource.Name}"); return(await Task.FromResult(resource.ToModel())); }
/// <summary> /// Creates a machine Resources. /// </summary> /// <param name="octRepository">The repository to call against.</param> /// <param name="name">Name of the new Machine.</param> /// <param name="roles">Roles to add to the Machine.</param> /// <param name="environmentIds">Environment Ids to add to the machine.</param> /// <param name="thumbprint">Thumbprint of the machine.</param> /// <param name="machineUri">Uri of the Machine.</param> /// <param name="machinePolicy">Policy of the Machine.</param> /// <returns>MachineResource</returns> public static MachineResource CreateMachineResource(OctopusRepository octRepository, string name, List <string> roles, List <string> environmentIds, string thumbprint, string machineUri, MachinePolicyResource machinePolicy) { var rolesReferenceCollection = new ReferenceCollection(roles); var evironmentReferenceCollection = new ReferenceCollection(environmentIds); var machineToCreate = new MachineResource() { Name = name, Roles = rolesReferenceCollection, EnvironmentIds = evironmentReferenceCollection, Thumbprint = thumbprint, MachinePolicyId = machinePolicy.Id, Uri = machineUri }; return(octRepository.Machines.Create(machineToCreate)); }
internal MachinePolicy DownloadMachinePolicy(MachinePolicyResource resource) { Logger.Trace($"Downloading {nameof(MachinePolicyResource)}: {resource.Name}"); return(resource.ToModel()); }
private MachinePolicy ReadMachinePolicy(MachinePolicyResource resource) { Logger.Info($"Downloading {nameof(MachinePolicyResource)}: {resource.Name}"); return(resource.ToModel()); }