/** * Apply the delta instance to the current InstanceInfo * * @param delta the delta changes to applyTo * @return a new InstanceInfo with the deltas applied */ public InstanceInfo applyDelta(Delta delta) { if (!id.equals(delta.getId())) { throw new UnsupportedOperationException("Cannot apply delta to instanceInfo with non-matching id: " + delta.getId() + ", " + id); } InstanceInfo.Builder newInstanceInfoBuilder = new InstanceInfo.Builder().withInstanceInfo(this); return delta.applyTo(newInstanceInfoBuilder).build(); }
public static InstanceInfo addTimeStamp(InstanceInfo instanceInfo, long timeStamp) { return new InstanceInfo.Builder() .withInstanceInfo(instanceInfo) .withMetaData(TIME_STAMP_KEY, Long.toString(timeStamp)) .build(); }
InstanceInfo updatedInfo = new Builder().withInstanceInfo(SERVICE_A).withStatus(Status.DOWN).build(); infoSubject.onNext(updatedInfo); Thread.sleep(1000);
.withInstanceInfo(selfInfo) .withMetaData(TopologyFunctions.TIME_STAMP_KEY, Long.toString(startTime)) .build();
@Override public InstanceInfo next() { int cidx = idx.incrementAndGet(); String name = baseName + '_' + cidx; NetworkAddress publicAddress = publicAddresses.next(); NetworkAddress privateAddress = privateAddresses.next(); DataCenterInfo dataCenter = new AwsDataCenterInfo.Builder() .withAwsDataCenter(templateDataCenter) .withInstanceId(String.format("i-%s-%08d", baseName, cidx)) .withPublicHostName(publicAddress.getHostName()) .withPublicIPv4(publicAddress.getIpAddress()) .withPrivateHostName(privateAddress.getHostName()) .withPrivateIPv4(privateAddress.getIpAddress()) .build(); return new InstanceInfo.Builder() .withId("id#" + name) .withApp(template.getApp()) .withAppGroup(template.getAppGroup()) .withAsg(template.getAsg()) .withHealthCheckUrls(template.getHealthCheckUrls()) .withHomePageUrl(template.getHomePageUrl()) .withPorts(template.getPorts()) .withSecureVipAddress(template.getSecureVipAddress()) .withStatus(template.getStatus()) .withStatusPageUrl(template.getStatusPageUrl()) .withVipAddress(template.getVipAddress()) .withMetaData(template.getMetaData()) .withDataCenterInfo(dataCenter) .build(); }
public static Service createServiceOf(String serverId, Application application, DataCenterInfoGenerator dataCenterInfoGenerator) { String id = application.getServiceName(); HashSet<String> healthcheckURLs = new HashSet<>(); healthcheckURLs.add("TODO"); Map<String, String> metaData = new HashMap<>(); metaData.put("key1", "value1"); Builder builder = new Builder() .withId(id) .withApp(application.getName()) .withAppGroup(application.getName() + "_group") .withAsg(application.getName() + "_asg") .withDataCenterInfo(dataCenterInfoGenerator.next()) .withHealthCheckUrls(healthcheckURLs) .withHomePageUrl("TODO") .withMetaData(metaData) .withPorts(SampleServicePort.httpPorts()) .withVipAddress(application.getName() + "_vip") .withSecureVipAddress(application.getName() + "_secureVip") .withStatus(Status.UP) .withStatusPageUrl("TODO"); if (serverId != null) { builder.withMetaData(TopologyFunctions.SERVER_ID_KEY, serverId); } InstanceInfo selfInfo = builder.build(); return new Service(application, selfInfo); } }
@Override public InstanceInfo fromV1(com.netflix.appinfo.InstanceInfo v1Info) { InstanceInfo.Builder builder = new InstanceInfo.Builder() .withId(v1Info.getAppName() + "_" + v1Info.getId()) // instanceId is not unique for v1Data .withAppGroup(v1Info.getAppGroupName()) .withApp(v1Info.getAppName()) .withAsg(v1Info.getASGName()) .withVipAddress(v1Info.getVIPAddress()) .withSecureVipAddress(v1Info.getSecureVipAddress()) .withPorts(toSet(new ServicePort(v1Info.getPort(), false), new ServicePort(v1Info.getSecurePort(), true))) .withStatus(fromV1(v1Info.getStatus())) .withHomePageUrl(v1Info.getHomePageUrl()) .withStatusPageUrl(v1Info.getStatusPageUrl()) .withHealthCheckUrls(new HashSet<>(v1Info.getHealthCheckUrls())) .withMetaData(v1Info.getMetadata()) .withDataCenterInfo(dataCenterFromV1(v1Info)); return builder.build(); }
private ChangeNotification<InstanceInfo> toChangeNotification(InterestSetNotification message) { if (message instanceof AddInstance) { return new ChangeNotification<>(Kind.Add, ((AddInstance) message).getInstanceInfo()); } if (message instanceof UpdateInstanceInfo) { InstanceInfo instanceInfo = new Builder().withId(((UpdateInstanceInfo) message).getDelta().getId()).build(); return new ChangeNotification<>(Kind.Modify, instanceInfo); } if (message instanceof DeleteInstance) { InstanceInfo instanceInfo = new Builder().withId(((DeleteInstance) message).getInstanceId()).build(); return new ChangeNotification<>(Kind.Delete, instanceInfo); } return null; } }
public InstanceInfo build() { return builder().build(); }
private static InstanceInfo randomize(String id, InstanceInfo.Builder builder) { return builder.withId(id).build(); }
@Override public InstanceInfo call(InstanceInfo.Builder builder) { return builder.build(); } });
public static InstanceInfo addServerId(InstanceInfo instanceInfo, String serverId) { return new InstanceInfo.Builder() .withInstanceInfo(instanceInfo) .withMetaData(SERVER_ID_KEY, serverId) .build(); }