@Override public DataCenterInfo dataCenterFromV1(com.netflix.appinfo.InstanceInfo v1Info) { DataCenterInfo.DataCenterInfoBuilder builder; com.netflix.appinfo.DataCenterInfo v1DataCenterInfo = v1Info.getDataCenterInfo(); if (v1DataCenterInfo instanceof AmazonInfo) { AmazonInfo v1AmazonInfo = (AmazonInfo) v1DataCenterInfo; builder = new AwsDataCenterInfo.Builder() .withZone(v1AmazonInfo.get(AmazonInfo.MetaDataKey.availabilityZone)) .withAmiId(v1AmazonInfo.get(AmazonInfo.MetaDataKey.amiId)) .withInstanceId(v1AmazonInfo.get(AmazonInfo.MetaDataKey.instanceId)) .withInstanceType(v1AmazonInfo.get(AmazonInfo.MetaDataKey.instanceType)) .withPrivateIPv4(v1AmazonInfo.get(AmazonInfo.MetaDataKey.localIpv4)) .withPublicIPv4(v1AmazonInfo.get(AmazonInfo.MetaDataKey.publicIpv4)) .withPublicHostName(v1AmazonInfo.get(AmazonInfo.MetaDataKey.publicHostname)); } else { NetworkAddress address = aNetworkAddress() .withIpAddress(v1Info.getIPAddr()) .withHostName(v1Info.getHostName()) .withLabel(NetworkAddress.PUBLIC_ADDRESS) // best guess .withProtocolType(NetworkAddress.ProtocolType.IPv4) // best guess .build(); builder = new BasicDataCenterInfo.Builder<>() .withName(v1DataCenterInfo.getName().name()) .withAddresses(address); } return builder.build(); }
@Override public DataCenterInfo fromV1(com.netflix.appinfo.DataCenterInfo v1DataCenterInfo) { DataCenterInfo.DataCenterInfoBuilder builder; if (v1DataCenterInfo instanceof AmazonInfo) { AmazonInfo v1Info = (AmazonInfo) v1DataCenterInfo; builder = new AwsDataCenterInfo.Builder() .withZone(v1Info.get(AmazonInfo.MetaDataKey.availabilityZone)) .withAmiId(v1Info.get(AmazonInfo.MetaDataKey.amiId)) .withInstanceId(v1Info.get(AmazonInfo.MetaDataKey.instanceId)) .withInstanceType(v1Info.get(AmazonInfo.MetaDataKey.instanceType)) .withPrivateIPv4(v1Info.get(AmazonInfo.MetaDataKey.localIpv4)) .withPublicIPv4(v1Info.get(AmazonInfo.MetaDataKey.publicIpv4)) .withPublicHostName(v1Info.get(AmazonInfo.MetaDataKey.publicHostname)); } else { builder = new BasicDataCenterInfo.BasicDataCenterInfoBuilder() .withName(v1DataCenterInfo.getName().name()); } return builder.build(); }
@Override public AwsDataCenterInfo.Builder builder() { return new AwsDataCenterInfo.Builder() .withRegion("US-East-1") .withZone("US-East-1a") .withPlacementGroup("pg-1") .withAmiId("ami-12345678") .withInstanceId("id-12345678") .withInstanceType("m1.large") .withPrivateHostName("us-east-1a-vm.internal") .withPrivateIPv4("192.168.0.1") .withPublicHostName("us-east-1a-vm.public") .withPublicIPv4("11.11.0.1") .withEth0mac("mac:address") .withAccountId("myAccount") .withVpcId("someVpcId"); } },
@Override public AwsDataCenterInfo.Builder builder() { return new AwsDataCenterInfo.Builder() .withRegion("US-East-1") .withZone("US-East-1a") .withPlacementGroup("pg-1") .withAmiId("ami-12345678") .withInstanceId("id-12345678") .withInstanceType("m1.large") .withPrivateHostName("us-east-1a-vm.internal") .withPrivateIPv4("192.168.0.1") .withPublicHostName("us-east-1a-vm.public") .withPublicIPv4("11.11.0.1") .withEth0mac("mac:address") .withAccountId("myAccount"); } },
@Override public AwsDataCenterInfo.Builder builder() { return new AwsDataCenterInfo.Builder() .withRegion("US-East-1") .withZone("US-East-1a") .withPlacementGroup("pg-1") .withAmiId("ami-12345678") .withInstanceId("id-12345678") .withInstanceType("m1.large") .withPrivateHostName("us-east-1a-vm.internal") .withPrivateIPv4("192.168.0.1") .withPublicHostName("us-east-1a-vm.public") .withPublicIPv4("11.11.0.1"); } },
@Override public AwsDataCenterInfo.Builder builder() { return new AwsDataCenterInfo.Builder() .withRegion("US-East-1") .withZone("US-East-1c") .withPlacementGroup("pg-1") .withAmiId("ami-12345678") .withInstanceId("id-12345678") .withInstanceType("m1.large") .withPrivateHostName("us-east-1c-vm.test") .withPrivateIPv4("192.168.1.1") .withEth0mac("mac:address") .withAccountId("myAccount"); } };
@Override public AwsDataCenterInfo.Builder builder() { return new AwsDataCenterInfo.Builder() .withRegion("US-East-1") .withZone("US-East-1c") .withPlacementGroup("pg-1") .withAmiId("ami-12345678") .withInstanceId("id-12345678") .withInstanceType("m1.large") .withPrivateHostName("us-east-1c-vm.test") .withPrivateIPv4("192.168.1.1"); } };
@Override protected AwsDataCenterInfo.Builder doApply(AwsDataCenterInfo.Builder builder, String metaInfoValue) { return builder.withAmiId(metaInfoValue); } },