@Override public T createOrReplace(T... items) { T item = getItem(); if (items.length > 1) { throw new IllegalArgumentException("Too many items to create."); } else if (items.length == 1) { item = items[0]; } if (item == null) { throw new IllegalArgumentException("Nothing to create."); } if (Utils.isNullOrEmpty(name) && item instanceof HasMetadata) { return withName(((HasMetadata)item).getMetadata().getName()).createOrReplace(item); } if (fromServer().get() == null) { return create(item); } else { return replace(item); } }
.inNamespace(namespace) .load(NetworkPolicyExample.class.getResourceAsStream("/network-policy.yml")) .createOrReplace();
public static void main(String[] args) throws InterruptedException { Config config = new ConfigBuilder().build(); KubernetesClient client = new DefaultKubernetesClient(config); String namespace = null; if (args.length > 0) { namespace = args[0]; } if (namespace == null) { namespace = client.getNamespace(); } if (namespace == null) { namespace = "default"; } String name = "cheese"; try { Resource<ConfigMap, DoneableConfigMap> configMapResource = client.configMaps().inNamespace(namespace).withName(name); ConfigMap configMap = configMapResource.createOrReplace(new ConfigMapBuilder(). withNewMetadata().withName(name).endMetadata(). addToData("foo", "" + new Date()). addToData("bar", "beer"). build()); log("Upserted ConfigMap at " + configMap.getMetadata().getSelfLink() + " data " + configMap.getData()); } finally { client.close(); } }
@Override public T createOrReplace(T... items) { T item = getItem(); if (items.length > 1) { throw new IllegalArgumentException("Too many items to create."); } else if (items.length == 1) { item = items[0]; } if (item == null) { throw new IllegalArgumentException("Nothing to create."); } if (Utils.isNullOrEmpty(name) && item instanceof HasMetadata) { return withName(((HasMetadata)item).getMetadata().getName()).createOrReplace(item); } if (fromServer().get() == null) { return create(item); } else { return replace(item); } }
public static synchronized ConfigMap updateConfigMapStatus(KubernetesClient client, final Session session, final String status) { try { ConfigMap configMap = new ConfigMapBuilder(). withNewMetadata().withName(FABRIC8_ARQUILLIAN).addToAnnotations(createConfigMapAnnotations(session, status)).endMetadata(). build(); return client.configMaps().inNamespace(session.getNamespace()).withName(FABRIC8_ARQUILLIAN).createOrReplace(configMap); } catch (Exception e) { LOG.warn("failed to update ConfigMap " + FABRIC8_ARQUILLIAN + ". " + e, e); return null; } }
verify(mockResource, never()).patch(any()); verify(mockResource, never()).createNew(); verify(mockResource, never()).createOrReplace(any()); async.complete(); });
public void createWhenExistsIsAPatch(TestContext context, boolean cascade) { T resource = resource(); Resource mockResource = mock(resourceType()); when(mockResource.get()).thenReturn(resource); when(mockResource.cascading(cascade)).thenReturn(mockResource); NonNamespaceOperation mockNameable = mock(NonNamespaceOperation.class); when(mockNameable.withName(matches(resource.getMetadata().getName()))).thenReturn(mockResource); MixedOperation mockCms = mock(MixedOperation.class); when(mockCms.inNamespace(matches(resource.getMetadata().getNamespace()))).thenReturn(mockNameable); C mockClient = mock(clientType()); mocker(mockClient, mockCms); AbstractResourceOperator<C, T, L, D, R> op = createResourceOperations(vertx, mockClient); Async async = context.async(); Future<ReconcileResult<T>> fut = op.createOrUpdate(resource()); fut.setHandler(ar -> { if (!ar.succeeded()) { ar.cause().printStackTrace(); } assertTrue(ar.succeeded()); verify(mockResource).get(); verify(mockResource).patch(any()); verify(mockResource, never()).create(any()); verify(mockResource, never()).createNew(); verify(mockResource, never()).createOrReplace(any()); verify(mockCms, never()).createOrReplace(any()); async.complete(); }); }
verify(mockResource, never()).createOrReplace(any()); verify(mockCms, never()).createOrReplace(any()); async.complete();