Class APIServiceSpec

  • All Implemented Interfaces:
    com.marcnuri.yakc.model.Model

    public class APIServiceSpec
    extends java.lang.Object
    implements com.marcnuri.yakc.model.Model
    APIServiceSpec contains information for locating and communicating with a server. Only https is supported, though you are able to disable certificate verification.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  APIServiceSpec.Builder  
    • Constructor Summary

      Constructors 
      Constructor Description
      APIServiceSpec()  
      APIServiceSpec​(java.lang.String caBundle, java.lang.String group, @NonNull java.lang.Number groupPriorityMinimum, java.lang.Boolean insecureSkipTLSVerify, ServiceReference service, java.lang.String version, @NonNull java.lang.Number versionPriority)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static APIServiceSpec.Builder builder()  
      protected boolean canEqual​(java.lang.Object other)  
      boolean equals​(java.lang.Object o)  
      java.lang.String getCaBundle()
      CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate.
      java.lang.String getGroup()
      Group is the API group name this server hosts
      @NonNull java.lang.Number getGroupPriorityMinimum()
      GroupPriorityMininum is the priority this group should have at least.
      java.lang.Boolean getInsecureSkipTLSVerify()
      InsecureSkipTLSVerify disables TLS certificate verification when communicating with this server.
      ServiceReference getService()  
      java.lang.String getVersion()
      Version is the API version this server hosts.
      @NonNull java.lang.Number getVersionPriority()
      VersionPriority controls the ordering of this API version inside of its group.
      int hashCode()  
      void setCaBundle​(java.lang.String caBundle)
      CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate.
      void setGroup​(java.lang.String group)
      Group is the API group name this server hosts
      void setGroupPriorityMinimum​(@NonNull java.lang.Number groupPriorityMinimum)
      GroupPriorityMininum is the priority this group should have at least.
      void setInsecureSkipTLSVerify​(java.lang.Boolean insecureSkipTLSVerify)
      InsecureSkipTLSVerify disables TLS certificate verification when communicating with this server.
      void setService​(ServiceReference service)  
      void setVersion​(java.lang.String version)
      Version is the API version this server hosts.
      void setVersionPriority​(@NonNull java.lang.Number versionPriority)
      VersionPriority controls the ordering of this API version inside of its group.
      APIServiceSpec.Builder toBuilder()  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • APIServiceSpec

        public APIServiceSpec​(java.lang.String caBundle,
                              java.lang.String group,
                              @NonNull
                              @NonNull java.lang.Number groupPriorityMinimum,
                              java.lang.Boolean insecureSkipTLSVerify,
                              ServiceReference service,
                              java.lang.String version,
                              @NonNull
                              @NonNull java.lang.Number versionPriority)
      • APIServiceSpec

        public APIServiceSpec()
    • Method Detail

      • getCaBundle

        public java.lang.String getCaBundle()
        CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate. If unspecified, system trust roots on the apiserver are used.
      • getGroup

        public java.lang.String getGroup()
        Group is the API group name this server hosts
      • getGroupPriorityMinimum

        @NonNull
        public @NonNull java.lang.Number getGroupPriorityMinimum()
        GroupPriorityMininum is the priority this group should have at least. Higher priority means that the group is preferred by clients over lower priority ones. Note that other versions of this group might specify even higher GroupPriorityMininum values such that the whole group gets a higher priority. The primary sort is based on GroupPriorityMinimum, ordered highest number to lowest (20 before 10). The secondary sort is based on the alphabetical comparison of the name of the object. (v1.bar before v1.foo) We'd recommend something like: *.k8s.io (except extensions) at 18000 and PaaSes (OpenShift, Deis) are recommended to be in the 2000s
      • getInsecureSkipTLSVerify

        public java.lang.Boolean getInsecureSkipTLSVerify()
        InsecureSkipTLSVerify disables TLS certificate verification when communicating with this server. This is strongly discouraged. You should use the CABundle instead.
      • getVersion

        public java.lang.String getVersion()
        Version is the API version this server hosts. For example, "v1"
      • getVersionPriority

        @NonNull
        public @NonNull java.lang.Number getVersionPriority()
        VersionPriority controls the ordering of this API version inside of its group. Must be greater than zero. The primary sort is based on VersionPriority, ordered highest to lowest (20 before 10). Since it's inside of a group, the number can be small, probably in the 10s. In case of equal version priorities, the version string will be used to compute the order inside a group. If the version string is "kube-like", it will sort above non "kube-like" version strings, which are ordered lexicographically. "Kube-like" versions start with a "v", then are followed by a number (the major version), then optionally the string "alpha" or "beta" and another number (the minor version). These are sorted first by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing major version, then minor version. An example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.
      • setCaBundle

        public void setCaBundle​(java.lang.String caBundle)
        CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate. If unspecified, system trust roots on the apiserver are used.
      • setGroup

        public void setGroup​(java.lang.String group)
        Group is the API group name this server hosts
      • setGroupPriorityMinimum

        public void setGroupPriorityMinimum​(@NonNull
                                            @NonNull java.lang.Number groupPriorityMinimum)
        GroupPriorityMininum is the priority this group should have at least. Higher priority means that the group is preferred by clients over lower priority ones. Note that other versions of this group might specify even higher GroupPriorityMininum values such that the whole group gets a higher priority. The primary sort is based on GroupPriorityMinimum, ordered highest number to lowest (20 before 10). The secondary sort is based on the alphabetical comparison of the name of the object. (v1.bar before v1.foo) We'd recommend something like: *.k8s.io (except extensions) at 18000 and PaaSes (OpenShift, Deis) are recommended to be in the 2000s
      • setInsecureSkipTLSVerify

        public void setInsecureSkipTLSVerify​(java.lang.Boolean insecureSkipTLSVerify)
        InsecureSkipTLSVerify disables TLS certificate verification when communicating with this server. This is strongly discouraged. You should use the CABundle instead.
      • setVersion

        public void setVersion​(java.lang.String version)
        Version is the API version this server hosts. For example, "v1"
      • setVersionPriority

        public void setVersionPriority​(@NonNull
                                       @NonNull java.lang.Number versionPriority)
        VersionPriority controls the ordering of this API version inside of its group. Must be greater than zero. The primary sort is based on VersionPriority, ordered highest to lowest (20 before 10). Since it's inside of a group, the number can be small, probably in the 10s. In case of equal version priorities, the version string will be used to compute the order inside a group. If the version string is "kube-like", it will sort above non "kube-like" version strings, which are ordered lexicographically. "Kube-like" versions start with a "v", then are followed by a number (the major version), then optionally the string "alpha" or "beta" and another number (the minor version). These are sorted first by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing major version, then minor version. An example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • canEqual

        protected boolean canEqual​(java.lang.Object other)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object