rohankanojia

Untitled

Mar 28th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.10 KB | None | 0 0
  1. package io.fabric8.kubernetes.examples;
  2.  
  3. import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinition;
  4. import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionBuilder;
  5. import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionList;
  6. import io.fabric8.kubernetes.api.model.apiextensions.CustomResourceDefinitionVersionBuilder;
  7. import io.fabric8.kubernetes.client.DefaultKubernetesClient;
  8. import io.fabric8.kubernetes.client.KubernetesClient;
  9. import org.slf4j.Logger;
  10. import org.slf4j.LoggerFactory;
  11.  
  12. import java.util.Collections;
  13.  
  14. public class CRDCreateExample {
  15.   private static Logger logger = LoggerFactory.getLogger(CRDCreateExample.class);
  16.  
  17.   public static void main(String args[]) {
  18.     try (final KubernetesClient client = new DefaultKubernetesClient()) {
  19.       // List all Custom resources.
  20.       CustomResourceDefinitionList crdList = client.customResourceDefinitions().list();
  21.       crdList.getItems().stream().map(CustomResourceDefinition::getMetadata).forEach(System.out::println);
  22.  
  23.       CustomResourceDefinition aCustomResourceDefinition = new CustomResourceDefinitionBuilder()
  24.         .withApiVersion("apiextensions.k8s.io/v1beta1")
  25.         .withNewMetadata()
  26.         .withName("crontabs.stable.example.com")
  27.         .endMetadata()
  28.         .withNewSpec()
  29.         .withGroup("stable.example.com")
  30.         .addAllToVersions(Collections.singletonList(new CustomResourceDefinitionVersionBuilder()
  31.           .withName("v1")
  32.           .withServed(true)
  33.           .withStorage(true)
  34.           .build()))
  35.         .withScope("Namespaced")
  36.         .withNewNames()
  37.         .withPlural("crontabs")
  38.         .withSingular("crontab")
  39.         .withKind("CronTab")
  40.         .withShortNames("ct")
  41.         .endNames()
  42.         .endSpec()
  43.         .build();
  44.  
  45.       client.customResourceDefinitions().create(aCustomResourceDefinition);
  46.  
  47.       log("Created CRD");
  48.     }
  49.   }
  50.  
  51.   private static void log(String action, Object obj) {
  52.     logger.info("{}: {}", action, obj);
  53.   }
  54.  
  55.   private static void log(String action) {
  56.     logger.info(action);
  57.   }
  58. }
Add Comment
Please, Sign In to add comment