com.google.api.services.compute.model.Metadata toPb() { com.google.api.services.compute.model.Metadata metadataPb = new com.google.api.services.compute.model.Metadata(); metadataPb.setFingerprint(fingerprint); List<com.google.api.services.compute.model.Metadata.Items> itemsPb = Lists.newArrayListWithCapacity(values.size()); for (Map.Entry<String, String> entry : values.entrySet()) { itemsPb.add( new com.google.api.services.compute.model.Metadata.Items() .setKey(entry.getKey()) .setValue(entry.getValue())); } metadataPb.setItems(itemsPb); metadataPb.setFingerprint(fingerprint); return metadataPb; }
static Metadata fromPb(com.google.api.services.compute.model.Metadata metadataPb) { Builder builder = newBuilder(); if (metadataPb.getItems() != null) { Map<String, String> metadataValues = Maps.newHashMapWithExpectedSize(metadataPb.getItems().size()); for (com.google.api.services.compute.model.Metadata.Items item : metadataPb.getItems()) { metadataValues.put(item.getKey(), item.getValue()); } builder.setValues(metadataValues); } return builder.setFingerprint(metadataPb.getFingerprint()).build(); } }
Metadata.Items items = new Metadata.Items() .setKey("startup-script") .setValue(getStartupScript()); metadataItems.add(items); items = new Metadata.Items() .setKey("ssh-keys") .setValue(GoogleProviderUtils.getSshPublicKey()); metadataItems.add(items); items = new Metadata.Items() .setKey("vault_address") .setValue(connectionDetails.getAddress()); metadataItems.add(items); items = new Metadata.Items() .setKey("vault_token") .setValue(connectionDetails.getToken()); metadataItems.add(items); items = new Metadata.Items() .setKey("vault_secret") .setValue(connectionDetails.getSecret()); metadataItems.add(items); items = new Metadata.Items() .setKey("consul-members") // TODO(lwander) change to consul_members for consistency w/ vault .setValue(instancesValue);
new Metadata() .setItems(new ImmutableList.Builder<Metadata.Items>() .add(new Metadata.Items() .setKey("startup-script") .setValue(startupScript)) .build())) .setDisks(new ImmutableList.Builder<AttachedDisk>()
Metadata.Items items = new Metadata.Items() .setKey("startup-script") .setValue(getStartupScript()); metadataItems.add(items); items = new Metadata.Items() .setKey("ssh-keys") .setValue(GoogleProviderUtils.getSshPublicKey()); metadataItems.add(items); items = new Metadata.Items() .setKey("vault_address") .setValue(connectionDetails.getAddress()); metadataItems.add(items); items = new Metadata.Items() .setKey("vault_token") .setValue(connectionDetails.getToken()); metadataItems.add(items); items = new Metadata.Items() .setKey("vault_secret") .setValue(connectionDetails.getSecret()); metadataItems.add(items); items = new Metadata.Items() .setKey("consul-members") // TODO(lwander) change to consul_members for consistency w/ vault .setValue(instancesValue);
.setMetadata(new Metadata() .setItems(ImmutableList.of( new Metadata.Items() .setKey("startup-script-url") .setValue("https://storage.googleapis.com/" + projectName + "-cloud-pubsub-loadtest/" + type + "_startup_script.sh"), new Metadata.Items() .setKey("bucket") .setValue(projectName + "-cloud-pubsub-loadtest")))) .setServiceAccounts(Collections.singletonList(new ServiceAccount().setScopes( Collections.singletonList("https://www.googleapis.com/auth/cloud-platform")))));
/** * Converts the {@link Items} in an instance's {@link Metadata} to a * {@link Map}. * * @param metadata * @return */ public static Map<String, String> toMap(Metadata metadata) { if (metadata == null) { return Collections.emptyMap(); } Map<String, String> map = new HashMap<>(); for (Items item : metadata.getItems()) { map.put(item.getKey(), item.getValue()); } return map; }
/** * Takes a {@link Map} of key-value pairs and produces a corresponding list * of instance {@link Metadata} {@link Items}. * * @param map * @return */ public static List<Items> toItems(Map<String, String> map) { if (map == null) { return Collections.emptyList(); } List<Items> items = new ArrayList<>(); for (Entry<String, String> keyValuePair : map.entrySet()) { items.add(new Items().setKey(keyValuePair.getKey()).setValue(keyValuePair.getValue())); } return items; }
static Metadata fromPb(com.google.api.services.compute.model.Metadata metadataPb) { Builder builder = newBuilder(); if (metadataPb.getItems() != null) { Map<String, String> metadataValues = Maps.newHashMapWithExpectedSize(metadataPb.getItems().size()); for (com.google.api.services.compute.model.Metadata.Items item : metadataPb.getItems()) { metadataValues.put(item.getKey(), item.getValue()); } builder.setValues(metadataValues); } return builder.setFingerprint(metadataPb.getFingerprint()).build(); } }
com.google.api.services.compute.model.Metadata toPb() { com.google.api.services.compute.model.Metadata metadataPb = new com.google.api.services.compute.model.Metadata(); metadataPb.setFingerprint(fingerprint); List<com.google.api.services.compute.model.Metadata.Items> itemsPb = Lists.newArrayListWithCapacity(values.size()); for (Map.Entry<String, String> entry : values.entrySet()) { itemsPb.add(new com.google.api.services.compute.model.Metadata.Items() .setKey(entry.getKey()).setValue(entry.getValue())); } metadataPb.setItems(itemsPb); metadataPb.setFingerprint(fingerprint); return metadataPb; }
Metadata.Items item = new Metadata.Items(); item.setKey("startup-script-url"); item.setValue("gs://" + PROJECT_ID + "/vm-startup.sh"); meta.setItems(Collections.singletonList(item)); instance.setMetadata(meta);