kubernetes-io 1.0.0.pre.alpha2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
 - data/Gemfile +8 -0
 - data/Gemfile.lock +89 -0
 - data/README.md +1515 -0
 - data/Rakefile +8 -0
 - data/docs/AdmissionregistrationApi.md +56 -0
 - data/docs/AdmissionregistrationV1alpha1Api.md +516 -0
 - data/docs/AdmissionregistrationV1beta1Api.md +976 -0
 - data/docs/AdmissionregistrationV1beta1ServiceReference.md +10 -0
 - data/docs/AdmissionregistrationV1beta1WebhookClientConfig.md +10 -0
 - data/docs/ApiextensionsApi.md +56 -0
 - data/docs/ApiextensionsV1beta1Api.md +700 -0
 - data/docs/ApiextensionsV1beta1ServiceReference.md +10 -0
 - data/docs/ApiextensionsV1beta1WebhookClientConfig.md +10 -0
 - data/docs/ApiregistrationApi.md +56 -0
 - data/docs/ApiregistrationV1Api.md +700 -0
 - data/docs/ApiregistrationV1beta1Api.md +700 -0
 - data/docs/ApiregistrationV1beta1ServiceReference.md +9 -0
 - data/docs/ApisApi.md +56 -0
 - data/docs/AppsApi.md +56 -0
 - data/docs/AppsV1Api.md +4167 -0
 - data/docs/AppsV1beta1Api.md +2552 -0
 - data/docs/AppsV1beta1Deployment.md +12 -0
 - data/docs/AppsV1beta1DeploymentCondition.md +13 -0
 - data/docs/AppsV1beta1DeploymentList.md +11 -0
 - data/docs/AppsV1beta1DeploymentRollback.md +12 -0
 - data/docs/AppsV1beta1DeploymentSpec.md +16 -0
 - data/docs/AppsV1beta1DeploymentStatus.md +15 -0
 - data/docs/AppsV1beta1DeploymentStrategy.md +9 -0
 - data/docs/AppsV1beta1RollbackConfig.md +8 -0
 - data/docs/AppsV1beta1RollingUpdateDeployment.md +9 -0
 - data/docs/AppsV1beta1Scale.md +12 -0
 - data/docs/AppsV1beta1ScaleSpec.md +8 -0
 - data/docs/AppsV1beta1ScaleStatus.md +10 -0
 - data/docs/AppsV1beta2Api.md +4167 -0
 - data/docs/AuditregistrationApi.md +56 -0
 - data/docs/AuditregistrationV1alpha1Api.md +516 -0
 - data/docs/AuthenticationApi.md +56 -0
 - data/docs/AuthenticationV1Api.md +118 -0
 - data/docs/AuthenticationV1beta1Api.md +118 -0
 - data/docs/AuthorizationApi.md +56 -0
 - data/docs/AuthorizationV1Api.md +307 -0
 - data/docs/AuthorizationV1beta1Api.md +307 -0
 - data/docs/AutoscalingApi.md +56 -0
 - data/docs/AutoscalingV1Api.md +801 -0
 - data/docs/AutoscalingV2beta1Api.md +801 -0
 - data/docs/AutoscalingV2beta2Api.md +801 -0
 - data/docs/BatchApi.md +56 -0
 - data/docs/BatchV1Api.md +801 -0
 - data/docs/BatchV1beta1Api.md +801 -0
 - data/docs/BatchV2alpha1Api.md +801 -0
 - data/docs/CertificatesApi.md +56 -0
 - data/docs/CertificatesV1beta1Api.md +763 -0
 - data/docs/CoordinationApi.md +56 -0
 - data/docs/CoordinationV1beta1Api.md +608 -0
 - data/docs/CoreApi.md +56 -0
 - data/docs/CoreV1Api.md +13078 -0
 - data/docs/CustomObjectsApi.md +1640 -0
 - data/docs/EventsApi.md +56 -0
 - data/docs/EventsV1beta1Api.md +608 -0
 - data/docs/ExtensionsApi.md +56 -0
 - data/docs/ExtensionsV1beta1AllowedFlexVolume.md +8 -0
 - data/docs/ExtensionsV1beta1AllowedHostPath.md +9 -0
 - data/docs/ExtensionsV1beta1Api.md +4695 -0
 - data/docs/ExtensionsV1beta1Deployment.md +12 -0
 - data/docs/ExtensionsV1beta1DeploymentCondition.md +13 -0
 - data/docs/ExtensionsV1beta1DeploymentList.md +11 -0
 - data/docs/ExtensionsV1beta1DeploymentRollback.md +12 -0
 - data/docs/ExtensionsV1beta1DeploymentSpec.md +16 -0
 - data/docs/ExtensionsV1beta1DeploymentStatus.md +15 -0
 - data/docs/ExtensionsV1beta1DeploymentStrategy.md +9 -0
 - data/docs/ExtensionsV1beta1FSGroupStrategyOptions.md +9 -0
 - data/docs/ExtensionsV1beta1HostPortRange.md +9 -0
 - data/docs/ExtensionsV1beta1IDRange.md +9 -0
 - data/docs/ExtensionsV1beta1PodSecurityPolicy.md +11 -0
 - data/docs/ExtensionsV1beta1PodSecurityPolicyList.md +11 -0
 - data/docs/ExtensionsV1beta1PodSecurityPolicySpec.md +29 -0
 - data/docs/ExtensionsV1beta1RollbackConfig.md +8 -0
 - data/docs/ExtensionsV1beta1RollingUpdateDeployment.md +9 -0
 - data/docs/ExtensionsV1beta1RunAsGroupStrategyOptions.md +9 -0
 - data/docs/ExtensionsV1beta1RunAsUserStrategyOptions.md +9 -0
 - data/docs/ExtensionsV1beta1SELinuxStrategyOptions.md +9 -0
 - data/docs/ExtensionsV1beta1Scale.md +12 -0
 - data/docs/ExtensionsV1beta1ScaleSpec.md +8 -0
 - data/docs/ExtensionsV1beta1ScaleStatus.md +10 -0
 - data/docs/ExtensionsV1beta1SupplementalGroupsStrategyOptions.md +9 -0
 - data/docs/LogsApi.md +104 -0
 - data/docs/NetworkingApi.md +56 -0
 - data/docs/NetworkingV1Api.md +608 -0
 - data/docs/PolicyApi.md +56 -0
 - data/docs/PolicyV1beta1AllowedFlexVolume.md +8 -0
 - data/docs/PolicyV1beta1AllowedHostPath.md +9 -0
 - data/docs/PolicyV1beta1Api.md +1261 -0
 - data/docs/PolicyV1beta1FSGroupStrategyOptions.md +9 -0
 - data/docs/PolicyV1beta1HostPortRange.md +9 -0
 - data/docs/PolicyV1beta1IDRange.md +9 -0
 - data/docs/PolicyV1beta1PodSecurityPolicy.md +11 -0
 - data/docs/PolicyV1beta1PodSecurityPolicyList.md +11 -0
 - data/docs/PolicyV1beta1PodSecurityPolicySpec.md +29 -0
 - data/docs/PolicyV1beta1RunAsGroupStrategyOptions.md +9 -0
 - data/docs/PolicyV1beta1RunAsUserStrategyOptions.md +9 -0
 - data/docs/PolicyV1beta1SELinuxStrategyOptions.md +9 -0
 - data/docs/PolicyV1beta1SupplementalGroupsStrategyOptions.md +9 -0
 - data/docs/RbacAuthorizationApi.md +56 -0
 - data/docs/RbacAuthorizationV1Api.md +2064 -0
 - data/docs/RbacAuthorizationV1alpha1Api.md +2064 -0
 - data/docs/RbacAuthorizationV1beta1Api.md +2064 -0
 - data/docs/RuntimeRawExtension.md +8 -0
 - data/docs/SchedulingApi.md +56 -0
 - data/docs/SchedulingV1alpha1Api.md +516 -0
 - data/docs/SchedulingV1beta1Api.md +516 -0
 - data/docs/SettingsApi.md +56 -0
 - data/docs/SettingsV1alpha1Api.md +608 -0
 - data/docs/StorageApi.md +56 -0
 - data/docs/StorageV1Api.md +1160 -0
 - data/docs/StorageV1alpha1Api.md +516 -0
 - data/docs/StorageV1beta1Api.md +976 -0
 - data/docs/V1APIGroup.md +13 -0
 - data/docs/V1APIGroupList.md +10 -0
 - data/docs/V1APIResource.md +16 -0
 - data/docs/V1APIResourceList.md +11 -0
 - data/docs/V1APIService.md +12 -0
 - data/docs/V1APIServiceCondition.md +12 -0
 - data/docs/V1APIServiceList.md +11 -0
 - data/docs/V1APIServiceSpec.md +14 -0
 - data/docs/V1APIServiceStatus.md +8 -0
 - data/docs/V1APIVersions.md +11 -0
 - data/docs/V1AWSElasticBlockStoreVolumeSource.md +11 -0
 - data/docs/V1Affinity.md +10 -0
 - data/docs/V1AggregationRule.md +8 -0
 - data/docs/V1AttachedVolume.md +9 -0
 - data/docs/V1AzureDiskVolumeSource.md +13 -0
 - data/docs/V1AzureFilePersistentVolumeSource.md +11 -0
 - data/docs/V1AzureFileVolumeSource.md +10 -0
 - data/docs/V1Binding.md +11 -0
 - data/docs/V1CSIPersistentVolumeSource.md +15 -0
 - data/docs/V1Capabilities.md +9 -0
 - data/docs/V1CephFSPersistentVolumeSource.md +13 -0
 - data/docs/V1CephFSVolumeSource.md +13 -0
 - data/docs/V1CinderPersistentVolumeSource.md +11 -0
 - data/docs/V1CinderVolumeSource.md +11 -0
 - data/docs/V1ClientIPConfig.md +8 -0
 - data/docs/V1ClusterRole.md +12 -0
 - data/docs/V1ClusterRoleBinding.md +12 -0
 - data/docs/V1ClusterRoleBindingList.md +11 -0
 - data/docs/V1ClusterRoleList.md +11 -0
 - data/docs/V1ComponentCondition.md +11 -0
 - data/docs/V1ComponentStatus.md +11 -0
 - data/docs/V1ComponentStatusList.md +11 -0
 - data/docs/V1ConfigMap.md +12 -0
 - data/docs/V1ConfigMapEnvSource.md +9 -0
 - data/docs/V1ConfigMapKeySelector.md +10 -0
 - data/docs/V1ConfigMapList.md +11 -0
 - data/docs/V1ConfigMapNodeConfigSource.md +12 -0
 - data/docs/V1ConfigMapProjection.md +10 -0
 - data/docs/V1ConfigMapVolumeSource.md +11 -0
 - data/docs/V1Container.md +28 -0
 - data/docs/V1ContainerImage.md +9 -0
 - data/docs/V1ContainerPort.md +12 -0
 - data/docs/V1ContainerState.md +10 -0
 - data/docs/V1ContainerStateRunning.md +8 -0
 - data/docs/V1ContainerStateTerminated.md +14 -0
 - data/docs/V1ContainerStateWaiting.md +9 -0
 - data/docs/V1ContainerStatus.md +15 -0
 - data/docs/V1ControllerRevision.md +12 -0
 - data/docs/V1ControllerRevisionList.md +11 -0
 - data/docs/V1CrossVersionObjectReference.md +10 -0
 - data/docs/V1DaemonEndpoint.md +8 -0
 - data/docs/V1DaemonSet.md +12 -0
 - data/docs/V1DaemonSetCondition.md +12 -0
 - data/docs/V1DaemonSetList.md +11 -0
 - data/docs/V1DaemonSetSpec.md +12 -0
 - data/docs/V1DaemonSetStatus.md +17 -0
 - data/docs/V1DaemonSetUpdateStrategy.md +9 -0
 - data/docs/V1DeleteOptions.md +14 -0
 - data/docs/V1Deployment.md +12 -0
 - data/docs/V1DeploymentCondition.md +13 -0
 - data/docs/V1DeploymentList.md +11 -0
 - data/docs/V1DeploymentSpec.md +15 -0
 - data/docs/V1DeploymentStatus.md +15 -0
 - data/docs/V1DeploymentStrategy.md +9 -0
 - data/docs/V1DownwardAPIProjection.md +8 -0
 - data/docs/V1DownwardAPIVolumeFile.md +11 -0
 - data/docs/V1DownwardAPIVolumeSource.md +9 -0
 - data/docs/V1EmptyDirVolumeSource.md +9 -0
 - data/docs/V1EndpointAddress.md +11 -0
 - data/docs/V1EndpointPort.md +10 -0
 - data/docs/V1EndpointSubset.md +10 -0
 - data/docs/V1Endpoints.md +11 -0
 - data/docs/V1EndpointsList.md +11 -0
 - data/docs/V1EnvFromSource.md +10 -0
 - data/docs/V1EnvVar.md +10 -0
 - data/docs/V1EnvVarSource.md +11 -0
 - data/docs/V1Event.md +24 -0
 - data/docs/V1EventList.md +11 -0
 - data/docs/V1EventSeries.md +10 -0
 - data/docs/V1EventSource.md +9 -0
 - data/docs/V1ExecAction.md +8 -0
 - data/docs/V1FCVolumeSource.md +12 -0
 - data/docs/V1FlexPersistentVolumeSource.md +12 -0
 - data/docs/V1FlexVolumeSource.md +12 -0
 - data/docs/V1FlockerVolumeSource.md +9 -0
 - data/docs/V1GCEPersistentDiskVolumeSource.md +11 -0
 - data/docs/V1GitRepoVolumeSource.md +10 -0
 - data/docs/V1GlusterfsPersistentVolumeSource.md +11 -0
 - data/docs/V1GlusterfsVolumeSource.md +10 -0
 - data/docs/V1GroupVersionForDiscovery.md +9 -0
 - data/docs/V1HTTPGetAction.md +12 -0
 - data/docs/V1HTTPHeader.md +9 -0
 - data/docs/V1Handler.md +10 -0
 - data/docs/V1HorizontalPodAutoscaler.md +12 -0
 - data/docs/V1HorizontalPodAutoscalerList.md +11 -0
 - data/docs/V1HorizontalPodAutoscalerSpec.md +11 -0
 - data/docs/V1HorizontalPodAutoscalerStatus.md +12 -0
 - data/docs/V1HostAlias.md +9 -0
 - data/docs/V1HostPathVolumeSource.md +9 -0
 - data/docs/V1IPBlock.md +9 -0
 - data/docs/V1ISCSIPersistentVolumeSource.md +18 -0
 - data/docs/V1ISCSIVolumeSource.md +18 -0
 - data/docs/V1Initializer.md +8 -0
 - data/docs/V1Initializers.md +9 -0
 - data/docs/V1Job.md +12 -0
 - data/docs/V1JobCondition.md +13 -0
 - data/docs/V1JobList.md +11 -0
 - data/docs/V1JobSpec.md +15 -0
 - data/docs/V1JobStatus.md +13 -0
 - data/docs/V1KeyToPath.md +10 -0
 - data/docs/V1LabelSelector.md +9 -0
 - data/docs/V1LabelSelectorRequirement.md +10 -0
 - data/docs/V1Lifecycle.md +9 -0
 - data/docs/V1LimitRange.md +11 -0
 - data/docs/V1LimitRangeItem.md +13 -0
 - data/docs/V1LimitRangeList.md +11 -0
 - data/docs/V1LimitRangeSpec.md +8 -0
 - data/docs/V1ListMeta.md +10 -0
 - data/docs/V1LoadBalancerIngress.md +9 -0
 - data/docs/V1LoadBalancerStatus.md +8 -0
 - data/docs/V1LocalObjectReference.md +8 -0
 - data/docs/V1LocalSubjectAccessReview.md +12 -0
 - data/docs/V1LocalVolumeSource.md +9 -0
 - data/docs/V1NFSVolumeSource.md +10 -0
 - data/docs/V1Namespace.md +12 -0
 - data/docs/V1NamespaceList.md +11 -0
 - data/docs/V1NamespaceSpec.md +8 -0
 - data/docs/V1NamespaceStatus.md +8 -0
 - data/docs/V1NetworkPolicy.md +11 -0
 - data/docs/V1NetworkPolicyEgressRule.md +9 -0
 - data/docs/V1NetworkPolicyIngressRule.md +9 -0
 - data/docs/V1NetworkPolicyList.md +11 -0
 - data/docs/V1NetworkPolicyPeer.md +10 -0
 - data/docs/V1NetworkPolicyPort.md +9 -0
 - data/docs/V1NetworkPolicySpec.md +11 -0
 - data/docs/V1Node.md +12 -0
 - data/docs/V1NodeAddress.md +9 -0
 - data/docs/V1NodeAffinity.md +9 -0
 - data/docs/V1NodeCondition.md +13 -0
 - data/docs/V1NodeConfigSource.md +8 -0
 - data/docs/V1NodeConfigStatus.md +11 -0
 - data/docs/V1NodeDaemonEndpoints.md +8 -0
 - data/docs/V1NodeList.md +11 -0
 - data/docs/V1NodeSelector.md +8 -0
 - data/docs/V1NodeSelectorRequirement.md +10 -0
 - data/docs/V1NodeSelectorTerm.md +9 -0
 - data/docs/V1NodeSpec.md +13 -0
 - data/docs/V1NodeStatus.md +18 -0
 - data/docs/V1NodeSystemInfo.md +17 -0
 - data/docs/V1NonResourceAttributes.md +9 -0
 - data/docs/V1NonResourceRule.md +9 -0
 - data/docs/V1ObjectFieldSelector.md +9 -0
 - data/docs/V1ObjectMeta.md +23 -0
 - data/docs/V1ObjectReference.md +14 -0
 - data/docs/V1OwnerReference.md +13 -0
 - data/docs/V1PersistentVolume.md +12 -0
 - data/docs/V1PersistentVolumeClaim.md +12 -0
 - data/docs/V1PersistentVolumeClaimCondition.md +13 -0
 - data/docs/V1PersistentVolumeClaimList.md +11 -0
 - data/docs/V1PersistentVolumeClaimSpec.md +14 -0
 - data/docs/V1PersistentVolumeClaimStatus.md +11 -0
 - data/docs/V1PersistentVolumeClaimVolumeSource.md +9 -0
 - data/docs/V1PersistentVolumeList.md +11 -0
 - data/docs/V1PersistentVolumeSpec.md +37 -0
 - data/docs/V1PersistentVolumeStatus.md +10 -0
 - data/docs/V1PhotonPersistentDiskVolumeSource.md +9 -0
 - data/docs/V1Pod.md +12 -0
 - data/docs/V1PodAffinity.md +9 -0
 - data/docs/V1PodAffinityTerm.md +10 -0
 - data/docs/V1PodAntiAffinity.md +9 -0
 - data/docs/V1PodCondition.md +13 -0
 - data/docs/V1PodDNSConfig.md +10 -0
 - data/docs/V1PodDNSConfigOption.md +9 -0
 - data/docs/V1PodList.md +11 -0
 - data/docs/V1PodReadinessGate.md +8 -0
 - data/docs/V1PodSecurityContext.md +14 -0
 - data/docs/V1PodSpec.md +37 -0
 - data/docs/V1PodStatus.md +18 -0
 - data/docs/V1PodTemplate.md +11 -0
 - data/docs/V1PodTemplateList.md +11 -0
 - data/docs/V1PodTemplateSpec.md +9 -0
 - data/docs/V1PolicyRule.md +12 -0
 - data/docs/V1PortworxVolumeSource.md +10 -0
 - data/docs/V1Preconditions.md +8 -0
 - data/docs/V1PreferredSchedulingTerm.md +9 -0
 - data/docs/V1Probe.md +15 -0
 - data/docs/V1ProjectedVolumeSource.md +9 -0
 - data/docs/V1QuobyteVolumeSource.md +12 -0
 - data/docs/V1RBDPersistentVolumeSource.md +15 -0
 - data/docs/V1RBDVolumeSource.md +15 -0
 - data/docs/V1ReplicaSet.md +12 -0
 - data/docs/V1ReplicaSetCondition.md +12 -0
 - data/docs/V1ReplicaSetList.md +11 -0
 - data/docs/V1ReplicaSetSpec.md +11 -0
 - data/docs/V1ReplicaSetStatus.md +13 -0
 - data/docs/V1ReplicationController.md +12 -0
 - data/docs/V1ReplicationControllerCondition.md +12 -0
 - data/docs/V1ReplicationControllerList.md +11 -0
 - data/docs/V1ReplicationControllerSpec.md +11 -0
 - data/docs/V1ReplicationControllerStatus.md +13 -0
 - data/docs/V1ResourceAttributes.md +14 -0
 - data/docs/V1ResourceFieldSelector.md +10 -0
 - data/docs/V1ResourceQuota.md +12 -0
 - data/docs/V1ResourceQuotaList.md +11 -0
 - data/docs/V1ResourceQuotaSpec.md +10 -0
 - data/docs/V1ResourceQuotaStatus.md +9 -0
 - data/docs/V1ResourceRequirements.md +9 -0
 - data/docs/V1ResourceRule.md +11 -0
 - data/docs/V1Role.md +11 -0
 - data/docs/V1RoleBinding.md +12 -0
 - data/docs/V1RoleBindingList.md +11 -0
 - data/docs/V1RoleList.md +11 -0
 - data/docs/V1RoleRef.md +10 -0
 - data/docs/V1RollingUpdateDaemonSet.md +8 -0
 - data/docs/V1RollingUpdateDeployment.md +9 -0
 - data/docs/V1RollingUpdateStatefulSetStrategy.md +8 -0
 - data/docs/V1SELinuxOptions.md +11 -0
 - data/docs/V1Scale.md +12 -0
 - data/docs/V1ScaleIOPersistentVolumeSource.md +17 -0
 - data/docs/V1ScaleIOVolumeSource.md +17 -0
 - data/docs/V1ScaleSpec.md +8 -0
 - data/docs/V1ScaleStatus.md +9 -0
 - data/docs/V1ScopeSelector.md +8 -0
 - data/docs/V1ScopedResourceSelectorRequirement.md +10 -0
 - data/docs/V1Secret.md +13 -0
 - data/docs/V1SecretEnvSource.md +9 -0
 - data/docs/V1SecretKeySelector.md +10 -0
 - data/docs/V1SecretList.md +11 -0
 - data/docs/V1SecretProjection.md +10 -0
 - data/docs/V1SecretReference.md +9 -0
 - data/docs/V1SecretVolumeSource.md +11 -0
 - data/docs/V1SecurityContext.md +16 -0
 - data/docs/V1SelfSubjectAccessReview.md +12 -0
 - data/docs/V1SelfSubjectAccessReviewSpec.md +9 -0
 - data/docs/V1SelfSubjectRulesReview.md +12 -0
 - data/docs/V1SelfSubjectRulesReviewSpec.md +8 -0
 - data/docs/V1ServerAddressByClientCIDR.md +9 -0
 - data/docs/V1Service.md +12 -0
 - data/docs/V1ServiceAccount.md +13 -0
 - data/docs/V1ServiceAccountList.md +11 -0
 - data/docs/V1ServiceAccountTokenProjection.md +10 -0
 - data/docs/V1ServiceList.md +11 -0
 - data/docs/V1ServicePort.md +12 -0
 - data/docs/V1ServiceReference.md +9 -0
 - data/docs/V1ServiceSpec.md +20 -0
 - data/docs/V1ServiceStatus.md +8 -0
 - data/docs/V1SessionAffinityConfig.md +8 -0
 - data/docs/V1StatefulSet.md +12 -0
 - data/docs/V1StatefulSetCondition.md +12 -0
 - data/docs/V1StatefulSetList.md +11 -0
 - data/docs/V1StatefulSetSpec.md +15 -0
 - data/docs/V1StatefulSetStatus.md +16 -0
 - data/docs/V1StatefulSetUpdateStrategy.md +9 -0
 - data/docs/V1Status.md +15 -0
 - data/docs/V1StatusCause.md +10 -0
 - data/docs/V1StatusDetails.md +13 -0
 - data/docs/V1StorageClass.md +17 -0
 - data/docs/V1StorageClassList.md +11 -0
 - data/docs/V1StorageOSPersistentVolumeSource.md +12 -0
 - data/docs/V1StorageOSVolumeSource.md +12 -0
 - data/docs/V1Subject.md +11 -0
 - data/docs/V1SubjectAccessReview.md +12 -0
 - data/docs/V1SubjectAccessReviewSpec.md +13 -0
 - data/docs/V1SubjectAccessReviewStatus.md +11 -0
 - data/docs/V1SubjectRulesReviewStatus.md +11 -0
 - data/docs/V1Sysctl.md +9 -0
 - data/docs/V1TCPSocketAction.md +9 -0
 - data/docs/V1Taint.md +11 -0
 - data/docs/V1TokenReview.md +12 -0
 - data/docs/V1TokenReviewSpec.md +9 -0
 - data/docs/V1TokenReviewStatus.md +11 -0
 - data/docs/V1Toleration.md +12 -0
 - data/docs/V1TopologySelectorLabelRequirement.md +9 -0
 - data/docs/V1TopologySelectorTerm.md +8 -0
 - data/docs/V1TypedLocalObjectReference.md +10 -0
 - data/docs/V1UserInfo.md +11 -0
 - data/docs/V1Volume.md +35 -0
 - data/docs/V1VolumeAttachment.md +12 -0
 - data/docs/V1VolumeAttachmentList.md +11 -0
 - data/docs/V1VolumeAttachmentSource.md +8 -0
 - data/docs/V1VolumeAttachmentSpec.md +10 -0
 - data/docs/V1VolumeAttachmentStatus.md +11 -0
 - data/docs/V1VolumeDevice.md +9 -0
 - data/docs/V1VolumeError.md +9 -0
 - data/docs/V1VolumeMount.md +12 -0
 - data/docs/V1VolumeNodeAffinity.md +8 -0
 - data/docs/V1VolumeProjection.md +11 -0
 - data/docs/V1VsphereVirtualDiskVolumeSource.md +11 -0
 - data/docs/V1WatchEvent.md +9 -0
 - data/docs/V1WeightedPodAffinityTerm.md +9 -0
 - data/docs/V1alpha1AggregationRule.md +8 -0
 - data/docs/V1alpha1AuditSink.md +11 -0
 - data/docs/V1alpha1AuditSinkList.md +11 -0
 - data/docs/V1alpha1AuditSinkSpec.md +9 -0
 - data/docs/V1alpha1ClusterRole.md +12 -0
 - data/docs/V1alpha1ClusterRoleBinding.md +12 -0
 - data/docs/V1alpha1ClusterRoleBindingList.md +11 -0
 - data/docs/V1alpha1ClusterRoleList.md +11 -0
 - data/docs/V1alpha1Initializer.md +9 -0
 - data/docs/V1alpha1InitializerConfiguration.md +11 -0
 - data/docs/V1alpha1InitializerConfigurationList.md +11 -0
 - data/docs/V1alpha1PodPreset.md +11 -0
 - data/docs/V1alpha1PodPresetList.md +11 -0
 - data/docs/V1alpha1PodPresetSpec.md +12 -0
 - data/docs/V1alpha1Policy.md +9 -0
 - data/docs/V1alpha1PolicyRule.md +12 -0
 - data/docs/V1alpha1PriorityClass.md +13 -0
 - data/docs/V1alpha1PriorityClassList.md +11 -0
 - data/docs/V1alpha1Role.md +11 -0
 - data/docs/V1alpha1RoleBinding.md +12 -0
 - data/docs/V1alpha1RoleBindingList.md +11 -0
 - data/docs/V1alpha1RoleList.md +11 -0
 - data/docs/V1alpha1RoleRef.md +10 -0
 - data/docs/V1alpha1Rule.md +10 -0
 - data/docs/V1alpha1ServiceReference.md +10 -0
 - data/docs/V1alpha1Subject.md +11 -0
 - data/docs/V1alpha1VolumeAttachment.md +12 -0
 - data/docs/V1alpha1VolumeAttachmentList.md +11 -0
 - data/docs/V1alpha1VolumeAttachmentSource.md +8 -0
 - data/docs/V1alpha1VolumeAttachmentSpec.md +10 -0
 - data/docs/V1alpha1VolumeAttachmentStatus.md +11 -0
 - data/docs/V1alpha1VolumeError.md +9 -0
 - data/docs/V1alpha1Webhook.md +9 -0
 - data/docs/V1alpha1WebhookClientConfig.md +10 -0
 - data/docs/V1alpha1WebhookThrottleConfig.md +9 -0
 - data/docs/V1beta1APIService.md +12 -0
 - data/docs/V1beta1APIServiceCondition.md +12 -0
 - data/docs/V1beta1APIServiceList.md +11 -0
 - data/docs/V1beta1APIServiceSpec.md +14 -0
 - data/docs/V1beta1APIServiceStatus.md +8 -0
 - data/docs/V1beta1AggregationRule.md +8 -0
 - data/docs/V1beta1CertificateSigningRequest.md +12 -0
 - data/docs/V1beta1CertificateSigningRequestCondition.md +11 -0
 - data/docs/V1beta1CertificateSigningRequestList.md +11 -0
 - data/docs/V1beta1CertificateSigningRequestSpec.md +13 -0
 - data/docs/V1beta1CertificateSigningRequestStatus.md +9 -0
 - data/docs/V1beta1ClusterRole.md +12 -0
 - data/docs/V1beta1ClusterRoleBinding.md +12 -0
 - data/docs/V1beta1ClusterRoleBindingList.md +11 -0
 - data/docs/V1beta1ClusterRoleList.md +11 -0
 - data/docs/V1beta1ControllerRevision.md +12 -0
 - data/docs/V1beta1ControllerRevisionList.md +11 -0
 - data/docs/V1beta1CronJob.md +12 -0
 - data/docs/V1beta1CronJobList.md +11 -0
 - data/docs/V1beta1CronJobSpec.md +14 -0
 - data/docs/V1beta1CronJobStatus.md +9 -0
 - data/docs/V1beta1CustomResourceColumnDefinition.md +13 -0
 - data/docs/V1beta1CustomResourceConversion.md +9 -0
 - data/docs/V1beta1CustomResourceDefinition.md +12 -0
 - data/docs/V1beta1CustomResourceDefinitionCondition.md +12 -0
 - data/docs/V1beta1CustomResourceDefinitionList.md +11 -0
 - data/docs/V1beta1CustomResourceDefinitionNames.md +13 -0
 - data/docs/V1beta1CustomResourceDefinitionSpec.md +16 -0
 - data/docs/V1beta1CustomResourceDefinitionStatus.md +10 -0
 - data/docs/V1beta1CustomResourceDefinitionVersion.md +13 -0
 - data/docs/V1beta1CustomResourceSubresourceScale.md +10 -0
 - data/docs/V1beta1CustomResourceSubresources.md +9 -0
 - data/docs/V1beta1CustomResourceValidation.md +8 -0
 - data/docs/V1beta1DaemonSet.md +12 -0
 - data/docs/V1beta1DaemonSetCondition.md +12 -0
 - data/docs/V1beta1DaemonSetList.md +11 -0
 - data/docs/V1beta1DaemonSetSpec.md +13 -0
 - data/docs/V1beta1DaemonSetStatus.md +17 -0
 - data/docs/V1beta1DaemonSetUpdateStrategy.md +9 -0
 - data/docs/V1beta1Event.md +24 -0
 - data/docs/V1beta1EventList.md +11 -0
 - data/docs/V1beta1EventSeries.md +10 -0
 - data/docs/V1beta1Eviction.md +11 -0
 - data/docs/V1beta1ExternalDocumentation.md +9 -0
 - data/docs/V1beta1HTTPIngressPath.md +9 -0
 - data/docs/V1beta1HTTPIngressRuleValue.md +8 -0
 - data/docs/V1beta1IPBlock.md +9 -0
 - data/docs/V1beta1Ingress.md +12 -0
 - data/docs/V1beta1IngressBackend.md +9 -0
 - data/docs/V1beta1IngressList.md +11 -0
 - data/docs/V1beta1IngressRule.md +9 -0
 - data/docs/V1beta1IngressSpec.md +10 -0
 - data/docs/V1beta1IngressStatus.md +8 -0
 - data/docs/V1beta1IngressTLS.md +9 -0
 - data/docs/V1beta1JSONSchemaProps.md +43 -0
 - data/docs/V1beta1JobTemplateSpec.md +9 -0
 - data/docs/V1beta1Lease.md +11 -0
 - data/docs/V1beta1LeaseList.md +11 -0
 - data/docs/V1beta1LeaseSpec.md +12 -0
 - data/docs/V1beta1LocalSubjectAccessReview.md +12 -0
 - data/docs/V1beta1MutatingWebhookConfiguration.md +11 -0
 - data/docs/V1beta1MutatingWebhookConfigurationList.md +11 -0
 - data/docs/V1beta1NetworkPolicy.md +11 -0
 - data/docs/V1beta1NetworkPolicyEgressRule.md +9 -0
 - data/docs/V1beta1NetworkPolicyIngressRule.md +9 -0
 - data/docs/V1beta1NetworkPolicyList.md +11 -0
 - data/docs/V1beta1NetworkPolicyPeer.md +10 -0
 - data/docs/V1beta1NetworkPolicyPort.md +9 -0
 - data/docs/V1beta1NetworkPolicySpec.md +11 -0
 - data/docs/V1beta1NonResourceAttributes.md +9 -0
 - data/docs/V1beta1NonResourceRule.md +9 -0
 - data/docs/V1beta1PodDisruptionBudget.md +12 -0
 - data/docs/V1beta1PodDisruptionBudgetList.md +11 -0
 - data/docs/V1beta1PodDisruptionBudgetSpec.md +10 -0
 - data/docs/V1beta1PodDisruptionBudgetStatus.md +13 -0
 - data/docs/V1beta1PolicyRule.md +12 -0
 - data/docs/V1beta1PriorityClass.md +13 -0
 - data/docs/V1beta1PriorityClassList.md +11 -0
 - data/docs/V1beta1ReplicaSet.md +12 -0
 - data/docs/V1beta1ReplicaSetCondition.md +12 -0
 - data/docs/V1beta1ReplicaSetList.md +11 -0
 - data/docs/V1beta1ReplicaSetSpec.md +11 -0
 - data/docs/V1beta1ReplicaSetStatus.md +13 -0
 - data/docs/V1beta1ResourceAttributes.md +14 -0
 - data/docs/V1beta1ResourceRule.md +11 -0
 - data/docs/V1beta1Role.md +11 -0
 - data/docs/V1beta1RoleBinding.md +12 -0
 - data/docs/V1beta1RoleBindingList.md +11 -0
 - data/docs/V1beta1RoleList.md +11 -0
 - data/docs/V1beta1RoleRef.md +10 -0
 - data/docs/V1beta1RollingUpdateDaemonSet.md +8 -0
 - data/docs/V1beta1RollingUpdateStatefulSetStrategy.md +8 -0
 - data/docs/V1beta1RuleWithOperations.md +11 -0
 - data/docs/V1beta1SelfSubjectAccessReview.md +12 -0
 - data/docs/V1beta1SelfSubjectAccessReviewSpec.md +9 -0
 - data/docs/V1beta1SelfSubjectRulesReview.md +12 -0
 - data/docs/V1beta1SelfSubjectRulesReviewSpec.md +8 -0
 - data/docs/V1beta1StatefulSet.md +12 -0
 - data/docs/V1beta1StatefulSetCondition.md +12 -0
 - data/docs/V1beta1StatefulSetList.md +11 -0
 - data/docs/V1beta1StatefulSetSpec.md +15 -0
 - data/docs/V1beta1StatefulSetStatus.md +16 -0
 - data/docs/V1beta1StatefulSetUpdateStrategy.md +9 -0
 - data/docs/V1beta1StorageClass.md +17 -0
 - data/docs/V1beta1StorageClassList.md +11 -0
 - data/docs/V1beta1Subject.md +11 -0
 - data/docs/V1beta1SubjectAccessReview.md +12 -0
 - data/docs/V1beta1SubjectAccessReviewSpec.md +13 -0
 - data/docs/V1beta1SubjectAccessReviewStatus.md +11 -0
 - data/docs/V1beta1SubjectRulesReviewStatus.md +11 -0
 - data/docs/V1beta1TokenReview.md +12 -0
 - data/docs/V1beta1TokenReviewSpec.md +9 -0
 - data/docs/V1beta1TokenReviewStatus.md +11 -0
 - data/docs/V1beta1UserInfo.md +11 -0
 - data/docs/V1beta1ValidatingWebhookConfiguration.md +11 -0
 - data/docs/V1beta1ValidatingWebhookConfigurationList.md +11 -0
 - data/docs/V1beta1VolumeAttachment.md +12 -0
 - data/docs/V1beta1VolumeAttachmentList.md +11 -0
 - data/docs/V1beta1VolumeAttachmentSource.md +8 -0
 - data/docs/V1beta1VolumeAttachmentSpec.md +10 -0
 - data/docs/V1beta1VolumeAttachmentStatus.md +11 -0
 - data/docs/V1beta1VolumeError.md +9 -0
 - data/docs/V1beta1Webhook.md +13 -0
 - data/docs/V1beta2ControllerRevision.md +12 -0
 - data/docs/V1beta2ControllerRevisionList.md +11 -0
 - data/docs/V1beta2DaemonSet.md +12 -0
 - data/docs/V1beta2DaemonSetCondition.md +12 -0
 - data/docs/V1beta2DaemonSetList.md +11 -0
 - data/docs/V1beta2DaemonSetSpec.md +12 -0
 - data/docs/V1beta2DaemonSetStatus.md +17 -0
 - data/docs/V1beta2DaemonSetUpdateStrategy.md +9 -0
 - data/docs/V1beta2Deployment.md +12 -0
 - data/docs/V1beta2DeploymentCondition.md +13 -0
 - data/docs/V1beta2DeploymentList.md +11 -0
 - data/docs/V1beta2DeploymentSpec.md +15 -0
 - data/docs/V1beta2DeploymentStatus.md +15 -0
 - data/docs/V1beta2DeploymentStrategy.md +9 -0
 - data/docs/V1beta2ReplicaSet.md +12 -0
 - data/docs/V1beta2ReplicaSetCondition.md +12 -0
 - data/docs/V1beta2ReplicaSetList.md +11 -0
 - data/docs/V1beta2ReplicaSetSpec.md +11 -0
 - data/docs/V1beta2ReplicaSetStatus.md +13 -0
 - data/docs/V1beta2RollingUpdateDaemonSet.md +8 -0
 - data/docs/V1beta2RollingUpdateDeployment.md +9 -0
 - data/docs/V1beta2RollingUpdateStatefulSetStrategy.md +8 -0
 - data/docs/V1beta2Scale.md +12 -0
 - data/docs/V1beta2ScaleSpec.md +8 -0
 - data/docs/V1beta2ScaleStatus.md +10 -0
 - data/docs/V1beta2StatefulSet.md +12 -0
 - data/docs/V1beta2StatefulSetCondition.md +12 -0
 - data/docs/V1beta2StatefulSetList.md +11 -0
 - data/docs/V1beta2StatefulSetSpec.md +15 -0
 - data/docs/V1beta2StatefulSetStatus.md +16 -0
 - data/docs/V1beta2StatefulSetUpdateStrategy.md +9 -0
 - data/docs/V2alpha1CronJob.md +12 -0
 - data/docs/V2alpha1CronJobList.md +11 -0
 - data/docs/V2alpha1CronJobSpec.md +14 -0
 - data/docs/V2alpha1CronJobStatus.md +9 -0
 - data/docs/V2alpha1JobTemplateSpec.md +9 -0
 - data/docs/V2beta1CrossVersionObjectReference.md +10 -0
 - data/docs/V2beta1ExternalMetricSource.md +11 -0
 - data/docs/V2beta1ExternalMetricStatus.md +11 -0
 - data/docs/V2beta1HorizontalPodAutoscaler.md +12 -0
 - data/docs/V2beta1HorizontalPodAutoscalerCondition.md +12 -0
 - data/docs/V2beta1HorizontalPodAutoscalerList.md +11 -0
 - data/docs/V2beta1HorizontalPodAutoscalerSpec.md +11 -0
 - data/docs/V2beta1HorizontalPodAutoscalerStatus.md +13 -0
 - data/docs/V2beta1MetricSpec.md +12 -0
 - data/docs/V2beta1MetricStatus.md +12 -0
 - data/docs/V2beta1ObjectMetricSource.md +12 -0
 - data/docs/V2beta1ObjectMetricStatus.md +12 -0
 - data/docs/V2beta1PodsMetricSource.md +10 -0
 - data/docs/V2beta1PodsMetricStatus.md +10 -0
 - data/docs/V2beta1ResourceMetricSource.md +10 -0
 - data/docs/V2beta1ResourceMetricStatus.md +10 -0
 - data/docs/V2beta2CrossVersionObjectReference.md +10 -0
 - data/docs/V2beta2ExternalMetricSource.md +9 -0
 - data/docs/V2beta2ExternalMetricStatus.md +9 -0
 - data/docs/V2beta2HorizontalPodAutoscaler.md +12 -0
 - data/docs/V2beta2HorizontalPodAutoscalerCondition.md +12 -0
 - data/docs/V2beta2HorizontalPodAutoscalerList.md +11 -0
 - data/docs/V2beta2HorizontalPodAutoscalerSpec.md +11 -0
 - data/docs/V2beta2HorizontalPodAutoscalerStatus.md +13 -0
 - data/docs/V2beta2MetricIdentifier.md +9 -0
 - data/docs/V2beta2MetricSpec.md +12 -0
 - data/docs/V2beta2MetricStatus.md +12 -0
 - data/docs/V2beta2MetricTarget.md +11 -0
 - data/docs/V2beta2MetricValueStatus.md +10 -0
 - data/docs/V2beta2ObjectMetricSource.md +10 -0
 - data/docs/V2beta2ObjectMetricStatus.md +10 -0
 - data/docs/V2beta2PodsMetricSource.md +9 -0
 - data/docs/V2beta2PodsMetricStatus.md +9 -0
 - data/docs/V2beta2ResourceMetricSource.md +9 -0
 - data/docs/V2beta2ResourceMetricStatus.md +9 -0
 - data/docs/VersionApi.md +56 -0
 - data/docs/VersionInfo.md +16 -0
 - data/git_push.sh +55 -0
 - data/kubernetes.gemspec +45 -0
 - data/lib/kubernetes.rb +679 -0
 - data/lib/kubernetes/api/admissionregistration_api.rb +72 -0
 - data/lib/kubernetes/api/admissionregistration_v1alpha1_api.rb +558 -0
 - data/lib/kubernetes/api/admissionregistration_v1beta1_api.rb +1044 -0
 - data/lib/kubernetes/api/apiextensions_api.rb +72 -0
 - data/lib/kubernetes/api/apiextensions_v1beta1_api.rb +750 -0
 - data/lib/kubernetes/api/apiregistration_api.rb +72 -0
 - data/lib/kubernetes/api/apiregistration_v1_api.rb +750 -0
 - data/lib/kubernetes/api/apiregistration_v1beta1_api.rb +750 -0
 - data/lib/kubernetes/api/apis_api.rb +72 -0
 - data/lib/kubernetes/api/apps_api.rb +72 -0
 - data/lib/kubernetes/api/apps_v1_api.rb +4562 -0
 - data/lib/kubernetes/api/apps_v1beta1_api.rb +2800 -0
 - data/lib/kubernetes/api/apps_v1beta2_api.rb +4562 -0
 - data/lib/kubernetes/api/auditregistration_api.rb +72 -0
 - data/lib/kubernetes/api/auditregistration_v1alpha1_api.rb +558 -0
 - data/lib/kubernetes/api/authentication_api.rb +72 -0
 - data/lib/kubernetes/api/authentication_v1_api.rb +136 -0
 - data/lib/kubernetes/api/authentication_v1beta1_api.rb +136 -0
 - data/lib/kubernetes/api/authorization_api.rb +72 -0
 - data/lib/kubernetes/api/authorization_v1_api.rb +334 -0
 - data/lib/kubernetes/api/authorization_v1beta1_api.rb +334 -0
 - data/lib/kubernetes/api/autoscaling_api.rb +72 -0
 - data/lib/kubernetes/api/autoscaling_v1_api.rb +886 -0
 - data/lib/kubernetes/api/autoscaling_v2beta1_api.rb +886 -0
 - data/lib/kubernetes/api/autoscaling_v2beta2_api.rb +886 -0
 - data/lib/kubernetes/api/batch_api.rb +72 -0
 - data/lib/kubernetes/api/batch_v1_api.rb +886 -0
 - data/lib/kubernetes/api/batch_v1beta1_api.rb +886 -0
 - data/lib/kubernetes/api/batch_v2alpha1_api.rb +886 -0
 - data/lib/kubernetes/api/certificates_api.rb +72 -0
 - data/lib/kubernetes/api/certificates_v1beta1_api.rb +817 -0
 - data/lib/kubernetes/api/coordination_api.rb +72 -0
 - data/lib/kubernetes/api/coordination_v1beta1_api.rb +676 -0
 - data/lib/kubernetes/api/core_api.rb +72 -0
 - data/lib/kubernetes/api/core_v1_api.rb +14132 -0
 - data/lib/kubernetes/api/custom_objects_api.rb +1969 -0
 - data/lib/kubernetes/api/events_api.rb +72 -0
 - data/lib/kubernetes/api/events_v1beta1_api.rb +676 -0
 - data/lib/kubernetes/api/extensions_api.rb +72 -0
 - data/lib/kubernetes/api/extensions_v1beta1_api.rb +5124 -0
 - data/lib/kubernetes/api/logs_api.rb +117 -0
 - data/lib/kubernetes/api/networking_api.rb +72 -0
 - data/lib/kubernetes/api/networking_v1_api.rb +676 -0
 - data/lib/kubernetes/api/policy_api.rb +72 -0
 - data/lib/kubernetes/api/policy_v1beta1_api.rb +1372 -0
 - data/lib/kubernetes/api/rbac_authorization_api.rb +72 -0
 - data/lib/kubernetes/api/rbac_authorization_v1_api.rb +2228 -0
 - data/lib/kubernetes/api/rbac_authorization_v1alpha1_api.rb +2228 -0
 - data/lib/kubernetes/api/rbac_authorization_v1beta1_api.rb +2228 -0
 - data/lib/kubernetes/api/scheduling_api.rb +72 -0
 - data/lib/kubernetes/api/scheduling_v1alpha1_api.rb +558 -0
 - data/lib/kubernetes/api/scheduling_v1beta1_api.rb +558 -0
 - data/lib/kubernetes/api/settings_api.rb +72 -0
 - data/lib/kubernetes/api/settings_v1alpha1_api.rb +676 -0
 - data/lib/kubernetes/api/storage_api.rb +72 -0
 - data/lib/kubernetes/api/storage_v1_api.rb +1236 -0
 - data/lib/kubernetes/api/storage_v1alpha1_api.rb +558 -0
 - data/lib/kubernetes/api/storage_v1beta1_api.rb +1044 -0
 - data/lib/kubernetes/api/version_api.rb +72 -0
 - data/lib/kubernetes/api_client.rb +389 -0
 - data/lib/kubernetes/api_error.rb +38 -0
 - data/lib/kubernetes/configuration.rb +209 -0
 - data/lib/kubernetes/models/admissionregistration_v1beta1_service_reference.rb +219 -0
 - data/lib/kubernetes/models/admissionregistration_v1beta1_webhook_client_config.rb +225 -0
 - data/lib/kubernetes/models/apiextensions_v1beta1_service_reference.rb +219 -0
 - data/lib/kubernetes/models/apiextensions_v1beta1_webhook_client_config.rb +225 -0
 - data/lib/kubernetes/models/apiregistration_v1beta1_service_reference.rb +199 -0
 - data/lib/kubernetes/models/apps_v1beta1_deployment.rb +229 -0
 - data/lib/kubernetes/models/apps_v1beta1_deployment_condition.rb +249 -0
 - data/lib/kubernetes/models/apps_v1beta1_deployment_list.rb +226 -0
 - data/lib/kubernetes/models/apps_v1beta1_deployment_rollback.rb +241 -0
 - data/lib/kubernetes/models/apps_v1beta1_deployment_spec.rb +274 -0
 - data/lib/kubernetes/models/apps_v1beta1_deployment_status.rb +261 -0
 - data/lib/kubernetes/models/apps_v1beta1_deployment_strategy.rb +199 -0
 - data/lib/kubernetes/models/apps_v1beta1_rollback_config.rb +189 -0
 - data/lib/kubernetes/models/apps_v1beta1_rolling_update_deployment.rb +199 -0
 - data/lib/kubernetes/models/apps_v1beta1_scale.rb +229 -0
 - data/lib/kubernetes/models/apps_v1beta1_scale_spec.rb +189 -0
 - data/lib/kubernetes/models/apps_v1beta1_scale_status.rb +216 -0
 - data/lib/kubernetes/models/extensions_v1beta1_allowed_flex_volume.rb +194 -0
 - data/lib/kubernetes/models/extensions_v1beta1_allowed_host_path.rb +199 -0
 - data/lib/kubernetes/models/extensions_v1beta1_deployment.rb +229 -0
 - data/lib/kubernetes/models/extensions_v1beta1_deployment_condition.rb +249 -0
 - data/lib/kubernetes/models/extensions_v1beta1_deployment_list.rb +226 -0
 - data/lib/kubernetes/models/extensions_v1beta1_deployment_rollback.rb +241 -0
 - data/lib/kubernetes/models/extensions_v1beta1_deployment_spec.rb +274 -0
 - data/lib/kubernetes/models/extensions_v1beta1_deployment_status.rb +261 -0
 - data/lib/kubernetes/models/extensions_v1beta1_deployment_strategy.rb +199 -0
 - data/lib/kubernetes/models/extensions_v1beta1_fs_group_strategy_options.rb +201 -0
 - data/lib/kubernetes/models/extensions_v1beta1_host_port_range.rb +209 -0
 - data/lib/kubernetes/models/extensions_v1beta1_id_range.rb +209 -0
 - data/lib/kubernetes/models/extensions_v1beta1_pod_security_policy.rb +219 -0
 - data/lib/kubernetes/models/extensions_v1beta1_pod_security_policy_list.rb +226 -0
 - data/lib/kubernetes/models/extensions_v1beta1_pod_security_policy_spec.rb +439 -0
 - data/lib/kubernetes/models/extensions_v1beta1_rollback_config.rb +189 -0
 - data/lib/kubernetes/models/extensions_v1beta1_rolling_update_deployment.rb +199 -0
 - data/lib/kubernetes/models/extensions_v1beta1_run_as_group_strategy_options.rb +206 -0
 - data/lib/kubernetes/models/extensions_v1beta1_run_as_user_strategy_options.rb +206 -0
 - data/lib/kubernetes/models/extensions_v1beta1_scale.rb +229 -0
 - data/lib/kubernetes/models/extensions_v1beta1_scale_spec.rb +189 -0
 - data/lib/kubernetes/models/extensions_v1beta1_scale_status.rb +216 -0
 - data/lib/kubernetes/models/extensions_v1beta1_se_linux_strategy_options.rb +204 -0
 - data/lib/kubernetes/models/extensions_v1beta1_supplemental_groups_strategy_options.rb +201 -0
 - data/lib/kubernetes/models/policy_v1beta1_allowed_flex_volume.rb +194 -0
 - data/lib/kubernetes/models/policy_v1beta1_allowed_host_path.rb +199 -0
 - data/lib/kubernetes/models/policy_v1beta1_fs_group_strategy_options.rb +201 -0
 - data/lib/kubernetes/models/policy_v1beta1_host_port_range.rb +209 -0
 - data/lib/kubernetes/models/policy_v1beta1_id_range.rb +209 -0
 - data/lib/kubernetes/models/policy_v1beta1_pod_security_policy.rb +219 -0
 - data/lib/kubernetes/models/policy_v1beta1_pod_security_policy_list.rb +226 -0
 - data/lib/kubernetes/models/policy_v1beta1_pod_security_policy_spec.rb +439 -0
 - data/lib/kubernetes/models/policy_v1beta1_run_as_group_strategy_options.rb +206 -0
 - data/lib/kubernetes/models/policy_v1beta1_run_as_user_strategy_options.rb +206 -0
 - data/lib/kubernetes/models/policy_v1beta1_se_linux_strategy_options.rb +204 -0
 - data/lib/kubernetes/models/policy_v1beta1_supplemental_groups_strategy_options.rb +201 -0
 - data/lib/kubernetes/models/runtime_raw_extension.rb +213 -0
 - data/lib/kubernetes/models/v1_affinity.rb +209 -0
 - data/lib/kubernetes/models/v1_aggregation_rule.rb +191 -0
 - data/lib/kubernetes/models/v1_api_group.rb +253 -0
 - data/lib/kubernetes/models/v1_api_group_list.rb +216 -0
 - data/lib/kubernetes/models/v1_api_resource.rb +300 -0
 - data/lib/kubernetes/models/v1_api_resource_list.rb +231 -0
 - data/lib/kubernetes/models/v1_api_service.rb +228 -0
 - data/lib/kubernetes/models/v1_api_service_condition.rb +239 -0
 - data/lib/kubernetes/models/v1_api_service_list.rb +224 -0
 - data/lib/kubernetes/models/v1_api_service_spec.rb +280 -0
 - data/lib/kubernetes/models/v1_api_service_status.rb +191 -0
 - data/lib/kubernetes/models/v1_api_versions.rb +233 -0
 - data/lib/kubernetes/models/v1_attached_volume.rb +209 -0
 - data/lib/kubernetes/models/v1_aws_elastic_block_store_volume_source.rb +224 -0
 - data/lib/kubernetes/models/v1_azure_disk_volume_source.rb +249 -0
 - data/lib/kubernetes/models/v1_azure_file_persistent_volume_source.rb +229 -0
 - data/lib/kubernetes/models/v1_azure_file_volume_source.rb +219 -0
 - data/lib/kubernetes/models/v1_binding.rb +224 -0
 - data/lib/kubernetes/models/v1_capabilities.rb +203 -0
 - data/lib/kubernetes/models/v1_ceph_fs_persistent_volume_source.rb +246 -0
 - data/lib/kubernetes/models/v1_ceph_fs_volume_source.rb +246 -0
 - data/lib/kubernetes/models/v1_cinder_persistent_volume_source.rb +224 -0
 - data/lib/kubernetes/models/v1_cinder_volume_source.rb +224 -0
 - data/lib/kubernetes/models/v1_client_ip_config.rb +189 -0
 - data/lib/kubernetes/models/v1_cluster_role.rb +236 -0
 - data/lib/kubernetes/models/v1_cluster_role_binding.rb +236 -0
 - data/lib/kubernetes/models/v1_cluster_role_binding_list.rb +226 -0
 - data/lib/kubernetes/models/v1_cluster_role_list.rb +226 -0
 - data/lib/kubernetes/models/v1_component_condition.rb +229 -0
 - data/lib/kubernetes/models/v1_component_status.rb +221 -0
 - data/lib/kubernetes/models/v1_component_status_list.rb +226 -0
 - data/lib/kubernetes/models/v1_config_map.rb +233 -0
 - data/lib/kubernetes/models/v1_config_map_env_source.rb +199 -0
 - data/lib/kubernetes/models/v1_config_map_key_selector.rb +214 -0
 - data/lib/kubernetes/models/v1_config_map_list.rb +226 -0
 - data/lib/kubernetes/models/v1_config_map_node_config_source.rb +244 -0
 - data/lib/kubernetes/models/v1_config_map_projection.rb +211 -0
 - data/lib/kubernetes/models/v1_config_map_volume_source.rb +221 -0
 - data/lib/kubernetes/models/v1_container.rb +408 -0
 - data/lib/kubernetes/models/v1_container_image.rb +206 -0
 - data/lib/kubernetes/models/v1_container_port.rb +234 -0
 - data/lib/kubernetes/models/v1_container_state.rb +209 -0
 - data/lib/kubernetes/models/v1_container_state_running.rb +189 -0
 - data/lib/kubernetes/models/v1_container_state_terminated.rb +254 -0
 - data/lib/kubernetes/models/v1_container_state_waiting.rb +199 -0
 - data/lib/kubernetes/models/v1_container_status.rb +284 -0
 - data/lib/kubernetes/models/v1_controller_revision.rb +234 -0
 - data/lib/kubernetes/models/v1_controller_revision_list.rb +226 -0
 - data/lib/kubernetes/models/v1_cross_version_object_reference.rb +219 -0
 - data/lib/kubernetes/models/v1_csi_persistent_volume_source.rb +271 -0
 - data/lib/kubernetes/models/v1_daemon_endpoint.rb +194 -0
 - data/lib/kubernetes/models/v1_daemon_set.rb +229 -0
 - data/lib/kubernetes/models/v1_daemon_set_condition.rb +239 -0
 - data/lib/kubernetes/models/v1_daemon_set_list.rb +226 -0
 - data/lib/kubernetes/models/v1_daemon_set_spec.rb +239 -0
 - data/lib/kubernetes/models/v1_daemon_set_status.rb +301 -0
 - data/lib/kubernetes/models/v1_daemon_set_update_strategy.rb +199 -0
 - data/lib/kubernetes/models/v1_delete_options.rb +251 -0
 - data/lib/kubernetes/models/v1_deployment.rb +229 -0
 - data/lib/kubernetes/models/v1_deployment_condition.rb +249 -0
 - data/lib/kubernetes/models/v1_deployment_list.rb +226 -0
 - data/lib/kubernetes/models/v1_deployment_spec.rb +269 -0
 - data/lib/kubernetes/models/v1_deployment_status.rb +261 -0
 - data/lib/kubernetes/models/v1_deployment_strategy.rb +199 -0
 - data/lib/kubernetes/models/v1_downward_api_projection.rb +191 -0
 - data/lib/kubernetes/models/v1_downward_api_volume_file.rb +224 -0
 - data/lib/kubernetes/models/v1_downward_api_volume_source.rb +201 -0
 - data/lib/kubernetes/models/v1_empty_dir_volume_source.rb +199 -0
 - data/lib/kubernetes/models/v1_endpoint_address.rb +224 -0
 - data/lib/kubernetes/models/v1_endpoint_port.rb +214 -0
 - data/lib/kubernetes/models/v1_endpoint_subset.rb +215 -0
 - data/lib/kubernetes/models/v1_endpoints.rb +221 -0
 - data/lib/kubernetes/models/v1_endpoints_list.rb +226 -0
 - data/lib/kubernetes/models/v1_env_from_source.rb +209 -0
 - data/lib/kubernetes/models/v1_env_var.rb +214 -0
 - data/lib/kubernetes/models/v1_env_var_source.rb +219 -0
 - data/lib/kubernetes/models/v1_event.rb +359 -0
 - data/lib/kubernetes/models/v1_event_list.rb +226 -0
 - data/lib/kubernetes/models/v1_event_series.rb +209 -0
 - data/lib/kubernetes/models/v1_event_source.rb +199 -0
 - data/lib/kubernetes/models/v1_exec_action.rb +191 -0
 - data/lib/kubernetes/models/v1_fc_volume_source.rb +233 -0
 - data/lib/kubernetes/models/v1_flex_persistent_volume_source.rb +236 -0
 - data/lib/kubernetes/models/v1_flex_volume_source.rb +236 -0
 - data/lib/kubernetes/models/v1_flocker_volume_source.rb +199 -0
 - data/lib/kubernetes/models/v1_gce_persistent_disk_volume_source.rb +224 -0
 - data/lib/kubernetes/models/v1_git_repo_volume_source.rb +214 -0
 - data/lib/kubernetes/models/v1_glusterfs_persistent_volume_source.rb +229 -0
 - data/lib/kubernetes/models/v1_glusterfs_volume_source.rb +219 -0
 - data/lib/kubernetes/models/v1_group_version_for_discovery.rb +209 -0
 - data/lib/kubernetes/models/v1_handler.rb +209 -0
 - data/lib/kubernetes/models/v1_horizontal_pod_autoscaler.rb +229 -0
 - data/lib/kubernetes/models/v1_horizontal_pod_autoscaler_list.rb +226 -0
 - data/lib/kubernetes/models/v1_horizontal_pod_autoscaler_spec.rb +229 -0
 - data/lib/kubernetes/models/v1_horizontal_pod_autoscaler_status.rb +239 -0
 - data/lib/kubernetes/models/v1_host_alias.rb +201 -0
 - data/lib/kubernetes/models/v1_host_path_volume_source.rb +204 -0
 - data/lib/kubernetes/models/v1_http_get_action.rb +236 -0
 - data/lib/kubernetes/models/v1_http_header.rb +209 -0
 - data/lib/kubernetes/models/v1_initializer.rb +194 -0
 - data/lib/kubernetes/models/v1_initializers.rb +206 -0
 - data/lib/kubernetes/models/v1_ip_block.rb +206 -0
 - data/lib/kubernetes/models/v1_iscsi_persistent_volume_source.rb +306 -0
 - data/lib/kubernetes/models/v1_iscsi_volume_source.rb +306 -0
 - data/lib/kubernetes/models/v1_job.rb +229 -0
 - data/lib/kubernetes/models/v1_job_condition.rb +249 -0
 - data/lib/kubernetes/models/v1_job_list.rb +226 -0
 - data/lib/kubernetes/models/v1_job_spec.rb +264 -0
 - data/lib/kubernetes/models/v1_job_status.rb +241 -0
 - data/lib/kubernetes/models/v1_key_to_path.rb +219 -0
 - data/lib/kubernetes/models/v1_label_selector.rb +203 -0
 - data/lib/kubernetes/models/v1_label_selector_requirement.rb +221 -0
 - data/lib/kubernetes/models/v1_lifecycle.rb +199 -0
 - data/lib/kubernetes/models/v1_limit_range.rb +219 -0
 - data/lib/kubernetes/models/v1_limit_range_item.rb +249 -0
 - data/lib/kubernetes/models/v1_limit_range_list.rb +226 -0
 - data/lib/kubernetes/models/v1_limit_range_spec.rb +196 -0
 - data/lib/kubernetes/models/v1_list_meta.rb +209 -0
 - data/lib/kubernetes/models/v1_load_balancer_ingress.rb +199 -0
 - data/lib/kubernetes/models/v1_load_balancer_status.rb +191 -0
 - data/lib/kubernetes/models/v1_local_object_reference.rb +189 -0
 - data/lib/kubernetes/models/v1_local_subject_access_review.rb +233 -0
 - data/lib/kubernetes/models/v1_local_volume_source.rb +204 -0
 - data/lib/kubernetes/models/v1_namespace.rb +229 -0
 - data/lib/kubernetes/models/v1_namespace_list.rb +226 -0
 - data/lib/kubernetes/models/v1_namespace_spec.rb +191 -0
 - data/lib/kubernetes/models/v1_namespace_status.rb +189 -0
 - data/lib/kubernetes/models/v1_network_policy.rb +219 -0
 - data/lib/kubernetes/models/v1_network_policy_egress_rule.rb +203 -0
 - data/lib/kubernetes/models/v1_network_policy_ingress_rule.rb +203 -0
 - data/lib/kubernetes/models/v1_network_policy_list.rb +226 -0
 - data/lib/kubernetes/models/v1_network_policy_peer.rb +209 -0
 - data/lib/kubernetes/models/v1_network_policy_port.rb +199 -0
 - data/lib/kubernetes/models/v1_network_policy_spec.rb +230 -0
 - data/lib/kubernetes/models/v1_nfs_volume_source.rb +219 -0
 - data/lib/kubernetes/models/v1_node.rb +229 -0
 - data/lib/kubernetes/models/v1_node_address.rb +209 -0
 - data/lib/kubernetes/models/v1_node_affinity.rb +201 -0
 - data/lib/kubernetes/models/v1_node_condition.rb +249 -0
 - data/lib/kubernetes/models/v1_node_config_source.rb +189 -0
 - data/lib/kubernetes/models/v1_node_config_status.rb +219 -0
 - data/lib/kubernetes/models/v1_node_daemon_endpoints.rb +189 -0
 - data/lib/kubernetes/models/v1_node_list.rb +226 -0
 - data/lib/kubernetes/models/v1_node_selector.rb +196 -0
 - data/lib/kubernetes/models/v1_node_selector_requirement.rb +221 -0
 - data/lib/kubernetes/models/v1_node_selector_term.rb +203 -0
 - data/lib/kubernetes/models/v1_node_spec.rb +241 -0
 - data/lib/kubernetes/models/v1_node_status.rb +303 -0
 - data/lib/kubernetes/models/v1_node_system_info.rb +329 -0
 - data/lib/kubernetes/models/v1_non_resource_attributes.rb +199 -0
 - data/lib/kubernetes/models/v1_non_resource_rule.rb +208 -0
 - data/lib/kubernetes/models/v1_object_field_selector.rb +204 -0
 - data/lib/kubernetes/models/v1_object_meta.rb +347 -0
 - data/lib/kubernetes/models/v1_object_reference.rb +249 -0
 - data/lib/kubernetes/models/v1_owner_reference.rb +259 -0
 - data/lib/kubernetes/models/v1_persistent_volume.rb +229 -0
 - data/lib/kubernetes/models/v1_persistent_volume_claim.rb +229 -0
 - data/lib/kubernetes/models/v1_persistent_volume_claim_condition.rb +247 -0
 - data/lib/kubernetes/models/v1_persistent_volume_claim_list.rb +226 -0
 - data/lib/kubernetes/models/v1_persistent_volume_claim_spec.rb +251 -0
 - data/lib/kubernetes/models/v1_persistent_volume_claim_status.rb +225 -0
 - data/lib/kubernetes/models/v1_persistent_volume_claim_volume_source.rb +204 -0
 - data/lib/kubernetes/models/v1_persistent_volume_list.rb +226 -0
 - data/lib/kubernetes/models/v1_persistent_volume_spec.rb +485 -0
 - data/lib/kubernetes/models/v1_persistent_volume_status.rb +209 -0
 - data/lib/kubernetes/models/v1_photon_persistent_disk_volume_source.rb +204 -0
 - data/lib/kubernetes/models/v1_pod.rb +229 -0
 - data/lib/kubernetes/models/v1_pod_affinity.rb +203 -0
 - data/lib/kubernetes/models/v1_pod_affinity_term.rb +216 -0
 - data/lib/kubernetes/models/v1_pod_anti_affinity.rb +203 -0
 - data/lib/kubernetes/models/v1_pod_condition.rb +249 -0
 - data/lib/kubernetes/models/v1_pod_dns_config.rb +215 -0
 - data/lib/kubernetes/models/v1_pod_dns_config_option.rb +198 -0
 - data/lib/kubernetes/models/v1_pod_list.rb +226 -0
 - data/lib/kubernetes/models/v1_pod_readiness_gate.rb +194 -0
 - data/lib/kubernetes/models/v1_pod_security_context.rb +253 -0
 - data/lib/kubernetes/models/v1_pod_spec.rb +500 -0
 - data/lib/kubernetes/models/v1_pod_status.rb +295 -0
 - data/lib/kubernetes/models/v1_pod_template.rb +219 -0
 - data/lib/kubernetes/models/v1_pod_template_list.rb +226 -0
 - data/lib/kubernetes/models/v1_pod_template_spec.rb +199 -0
 - data/lib/kubernetes/models/v1_policy_rule.rb +244 -0
 - data/lib/kubernetes/models/v1_portworx_volume_source.rb +214 -0
 - data/lib/kubernetes/models/v1_preconditions.rb +189 -0
 - data/lib/kubernetes/models/v1_preferred_scheduling_term.rb +209 -0
 - data/lib/kubernetes/models/v1_probe.rb +259 -0
 - data/lib/kubernetes/models/v1_projected_volume_source.rb +206 -0
 - data/lib/kubernetes/models/v1_quobyte_volume_source.rb +239 -0
 - data/lib/kubernetes/models/v1_rbd_persistent_volume_source.rb +271 -0
 - data/lib/kubernetes/models/v1_rbd_volume_source.rb +271 -0
 - data/lib/kubernetes/models/v1_replica_set.rb +229 -0
 - data/lib/kubernetes/models/v1_replica_set_condition.rb +239 -0
 - data/lib/kubernetes/models/v1_replica_set_list.rb +226 -0
 - data/lib/kubernetes/models/v1_replica_set_spec.rb +224 -0
 - data/lib/kubernetes/models/v1_replica_set_status.rb +246 -0
 - data/lib/kubernetes/models/v1_replication_controller.rb +229 -0
 - data/lib/kubernetes/models/v1_replication_controller_condition.rb +239 -0
 - data/lib/kubernetes/models/v1_replication_controller_list.rb +226 -0
 - data/lib/kubernetes/models/v1_replication_controller_spec.rb +221 -0
 - data/lib/kubernetes/models/v1_replication_controller_status.rb +246 -0
 - data/lib/kubernetes/models/v1_resource_attributes.rb +249 -0
 - data/lib/kubernetes/models/v1_resource_field_selector.rb +214 -0
 - data/lib/kubernetes/models/v1_resource_quota.rb +229 -0
 - data/lib/kubernetes/models/v1_resource_quota_list.rb +226 -0
 - data/lib/kubernetes/models/v1_resource_quota_spec.rb +213 -0
 - data/lib/kubernetes/models/v1_resource_quota_status.rb +203 -0
 - data/lib/kubernetes/models/v1_resource_requirements.rb +203 -0
 - data/lib/kubernetes/models/v1_resource_rule.rb +232 -0
 - data/lib/kubernetes/models/v1_role.rb +226 -0
 - data/lib/kubernetes/models/v1_role_binding.rb +236 -0
 - data/lib/kubernetes/models/v1_role_binding_list.rb +226 -0
 - data/lib/kubernetes/models/v1_role_list.rb +226 -0
 - data/lib/kubernetes/models/v1_role_ref.rb +224 -0
 - data/lib/kubernetes/models/v1_rolling_update_daemon_set.rb +189 -0
 - data/lib/kubernetes/models/v1_rolling_update_deployment.rb +199 -0
 - data/lib/kubernetes/models/v1_rolling_update_stateful_set_strategy.rb +189 -0
 - data/lib/kubernetes/models/v1_scale.rb +229 -0
 - data/lib/kubernetes/models/v1_scale_io_persistent_volume_source.rb +294 -0
 - data/lib/kubernetes/models/v1_scale_io_volume_source.rb +294 -0
 - data/lib/kubernetes/models/v1_scale_spec.rb +189 -0
 - data/lib/kubernetes/models/v1_scale_status.rb +204 -0
 - data/lib/kubernetes/models/v1_scope_selector.rb +191 -0
 - data/lib/kubernetes/models/v1_scoped_resource_selector_requirement.rb +221 -0
 - data/lib/kubernetes/models/v1_se_linux_options.rb +219 -0
 - data/lib/kubernetes/models/v1_secret.rb +243 -0
 - data/lib/kubernetes/models/v1_secret_env_source.rb +199 -0
 - data/lib/kubernetes/models/v1_secret_key_selector.rb +214 -0
 - data/lib/kubernetes/models/v1_secret_list.rb +226 -0
 - data/lib/kubernetes/models/v1_secret_projection.rb +211 -0
 - data/lib/kubernetes/models/v1_secret_reference.rb +199 -0
 - data/lib/kubernetes/models/v1_secret_volume_source.rb +221 -0
 - data/lib/kubernetes/models/v1_security_context.rb +269 -0
 - data/lib/kubernetes/models/v1_self_subject_access_review.rb +233 -0
 - data/lib/kubernetes/models/v1_self_subject_access_review_spec.rb +199 -0
 - data/lib/kubernetes/models/v1_self_subject_rules_review.rb +233 -0
 - data/lib/kubernetes/models/v1_self_subject_rules_review_spec.rb +189 -0
 - data/lib/kubernetes/models/v1_server_address_by_client_cidr.rb +209 -0
 - data/lib/kubernetes/models/v1_service.rb +229 -0
 - data/lib/kubernetes/models/v1_service_account.rb +243 -0
 - data/lib/kubernetes/models/v1_service_account_list.rb +226 -0
 - data/lib/kubernetes/models/v1_service_account_token_projection.rb +214 -0
 - data/lib/kubernetes/models/v1_service_list.rb +226 -0
 - data/lib/kubernetes/models/v1_service_port.rb +234 -0
 - data/lib/kubernetes/models/v1_service_reference.rb +199 -0
 - data/lib/kubernetes/models/v1_service_spec.rb +317 -0
 - data/lib/kubernetes/models/v1_service_status.rb +189 -0
 - data/lib/kubernetes/models/v1_session_affinity_config.rb +189 -0
 - data/lib/kubernetes/models/v1_stateful_set.rb +228 -0
 - data/lib/kubernetes/models/v1_stateful_set_condition.rb +239 -0
 - data/lib/kubernetes/models/v1_stateful_set_list.rb +224 -0
 - data/lib/kubernetes/models/v1_stateful_set_spec.rb +276 -0
 - data/lib/kubernetes/models/v1_stateful_set_status.rb +276 -0
 - data/lib/kubernetes/models/v1_stateful_set_update_strategy.rb +199 -0
 - data/lib/kubernetes/models/v1_status.rb +259 -0
 - data/lib/kubernetes/models/v1_status_cause.rb +209 -0
 - data/lib/kubernetes/models/v1_status_details.rb +241 -0
 - data/lib/kubernetes/models/v1_storage_class.rb +290 -0
 - data/lib/kubernetes/models/v1_storage_class_list.rb +226 -0
 - data/lib/kubernetes/models/v1_storage_os_persistent_volume_source.rb +229 -0
 - data/lib/kubernetes/models/v1_storage_os_volume_source.rb +229 -0
 - data/lib/kubernetes/models/v1_subject.rb +229 -0
 - data/lib/kubernetes/models/v1_subject_access_review.rb +233 -0
 - data/lib/kubernetes/models/v1_subject_access_review_spec.rb +243 -0
 - data/lib/kubernetes/models/v1_subject_access_review_status.rb +224 -0
 - data/lib/kubernetes/models/v1_subject_rules_review_status.rb +238 -0
 - data/lib/kubernetes/models/v1_sysctl.rb +209 -0
 - data/lib/kubernetes/models/v1_taint.rb +229 -0
 - data/lib/kubernetes/models/v1_tcp_socket_action.rb +204 -0
 - data/lib/kubernetes/models/v1_token_review.rb +233 -0
 - data/lib/kubernetes/models/v1_token_review_spec.rb +201 -0
 - data/lib/kubernetes/models/v1_token_review_status.rb +221 -0
 - data/lib/kubernetes/models/v1_toleration.rb +229 -0
 - data/lib/kubernetes/models/v1_topology_selector_label_requirement.rb +211 -0
 - data/lib/kubernetes/models/v1_topology_selector_term.rb +191 -0
 - data/lib/kubernetes/models/v1_typed_local_object_reference.rb +219 -0
 - data/lib/kubernetes/models/v1_user_info.rb +223 -0
 - data/lib/kubernetes/models/v1_volume.rb +464 -0
 - data/lib/kubernetes/models/v1_volume_attachment.rb +234 -0
 - data/lib/kubernetes/models/v1_volume_attachment_list.rb +226 -0
 - data/lib/kubernetes/models/v1_volume_attachment_source.rb +189 -0
 - data/lib/kubernetes/models/v1_volume_attachment_spec.rb +224 -0
 - data/lib/kubernetes/models/v1_volume_attachment_status.rb +226 -0
 - data/lib/kubernetes/models/v1_volume_device.rb +209 -0
 - data/lib/kubernetes/models/v1_volume_error.rb +199 -0
 - data/lib/kubernetes/models/v1_volume_mount.rb +239 -0
 - data/lib/kubernetes/models/v1_volume_node_affinity.rb +189 -0
 - data/lib/kubernetes/models/v1_volume_projection.rb +219 -0
 - data/lib/kubernetes/models/v1_vsphere_virtual_disk_volume_source.rb +224 -0
 - data/lib/kubernetes/models/v1_watch_event.rb +208 -0
 - data/lib/kubernetes/models/v1_weighted_pod_affinity_term.rb +209 -0
 - data/lib/kubernetes/models/v1alpha1_aggregation_rule.rb +191 -0
 - data/lib/kubernetes/models/v1alpha1_audit_sink.rb +218 -0
 - data/lib/kubernetes/models/v1alpha1_audit_sink_list.rb +225 -0
 - data/lib/kubernetes/models/v1alpha1_audit_sink_spec.rb +209 -0
 - data/lib/kubernetes/models/v1alpha1_cluster_role.rb +236 -0
 - data/lib/kubernetes/models/v1alpha1_cluster_role_binding.rb +236 -0
 - data/lib/kubernetes/models/v1alpha1_cluster_role_binding_list.rb +226 -0
 - data/lib/kubernetes/models/v1alpha1_cluster_role_list.rb +226 -0
 - data/lib/kubernetes/models/v1alpha1_initializer.rb +206 -0
 - data/lib/kubernetes/models/v1alpha1_initializer_configuration.rb +221 -0
 - data/lib/kubernetes/models/v1alpha1_initializer_configuration_list.rb +226 -0
 - data/lib/kubernetes/models/v1alpha1_pod_preset.rb +217 -0
 - data/lib/kubernetes/models/v1alpha1_pod_preset_list.rb +226 -0
 - data/lib/kubernetes/models/v1alpha1_pod_preset_spec.rb +237 -0
 - data/lib/kubernetes/models/v1alpha1_policy.rb +206 -0
 - data/lib/kubernetes/models/v1alpha1_policy_rule.rb +244 -0
 - data/lib/kubernetes/models/v1alpha1_priority_class.rb +244 -0
 - data/lib/kubernetes/models/v1alpha1_priority_class_list.rb +226 -0
 - data/lib/kubernetes/models/v1alpha1_role.rb +226 -0
 - data/lib/kubernetes/models/v1alpha1_role_binding.rb +236 -0
 - data/lib/kubernetes/models/v1alpha1_role_binding_list.rb +226 -0
 - data/lib/kubernetes/models/v1alpha1_role_list.rb +226 -0
 - data/lib/kubernetes/models/v1alpha1_role_ref.rb +224 -0
 - data/lib/kubernetes/models/v1alpha1_rule.rb +215 -0
 - data/lib/kubernetes/models/v1alpha1_service_reference.rb +219 -0
 - data/lib/kubernetes/models/v1alpha1_subject.rb +229 -0
 - data/lib/kubernetes/models/v1alpha1_volume_attachment.rb +234 -0
 - data/lib/kubernetes/models/v1alpha1_volume_attachment_list.rb +226 -0
 - data/lib/kubernetes/models/v1alpha1_volume_attachment_source.rb +189 -0
 - data/lib/kubernetes/models/v1alpha1_volume_attachment_spec.rb +224 -0
 - data/lib/kubernetes/models/v1alpha1_volume_attachment_status.rb +226 -0
 - data/lib/kubernetes/models/v1alpha1_volume_error.rb +199 -0
 - data/lib/kubernetes/models/v1alpha1_webhook.rb +204 -0
 - data/lib/kubernetes/models/v1alpha1_webhook_client_config.rb +225 -0
 - data/lib/kubernetes/models/v1alpha1_webhook_throttle_config.rb +199 -0
 - data/lib/kubernetes/models/v1beta1_aggregation_rule.rb +191 -0
 - data/lib/kubernetes/models/v1beta1_api_service.rb +228 -0
 - data/lib/kubernetes/models/v1beta1_api_service_condition.rb +239 -0
 - data/lib/kubernetes/models/v1beta1_api_service_list.rb +224 -0
 - data/lib/kubernetes/models/v1beta1_api_service_spec.rb +280 -0
 - data/lib/kubernetes/models/v1beta1_api_service_status.rb +191 -0
 - data/lib/kubernetes/models/v1beta1_certificate_signing_request.rb +228 -0
 - data/lib/kubernetes/models/v1beta1_certificate_signing_request_condition.rb +224 -0
 - data/lib/kubernetes/models/v1beta1_certificate_signing_request_list.rb +224 -0
 - data/lib/kubernetes/models/v1beta1_certificate_signing_request_spec.rb +269 -0
 - data/lib/kubernetes/models/v1beta1_certificate_signing_request_status.rb +217 -0
 - data/lib/kubernetes/models/v1beta1_cluster_role.rb +236 -0
 - data/lib/kubernetes/models/v1beta1_cluster_role_binding.rb +236 -0
 - data/lib/kubernetes/models/v1beta1_cluster_role_binding_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_cluster_role_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_controller_revision.rb +234 -0
 - data/lib/kubernetes/models/v1beta1_controller_revision_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_cron_job.rb +229 -0
 - data/lib/kubernetes/models/v1beta1_cron_job_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_cron_job_spec.rb +259 -0
 - data/lib/kubernetes/models/v1beta1_cron_job_status.rb +201 -0
 - data/lib/kubernetes/models/v1beta1_custom_resource_column_definition.rb +254 -0
 - data/lib/kubernetes/models/v1beta1_custom_resource_conversion.rb +204 -0
 - data/lib/kubernetes/models/v1beta1_custom_resource_definition.rb +233 -0
 - data/lib/kubernetes/models/v1beta1_custom_resource_definition_condition.rb +239 -0
 - data/lib/kubernetes/models/v1beta1_custom_resource_definition_list.rb +225 -0
 - data/lib/kubernetes/models/v1beta1_custom_resource_definition_names.rb +253 -0
 - data/lib/kubernetes/models/v1beta1_custom_resource_definition_spec.rb +288 -0
 - data/lib/kubernetes/models/v1beta1_custom_resource_definition_status.rb +228 -0
 - data/lib/kubernetes/models/v1beta1_custom_resource_definition_version.rb +256 -0
 - data/lib/kubernetes/models/v1beta1_custom_resource_subresource_scale.rb +219 -0
 - data/lib/kubernetes/models/v1beta1_custom_resource_subresources.rb +199 -0
 - data/lib/kubernetes/models/v1beta1_custom_resource_validation.rb +189 -0
 - data/lib/kubernetes/models/v1beta1_daemon_set.rb +229 -0
 - data/lib/kubernetes/models/v1beta1_daemon_set_condition.rb +239 -0
 - data/lib/kubernetes/models/v1beta1_daemon_set_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_daemon_set_spec.rb +244 -0
 - data/lib/kubernetes/models/v1beta1_daemon_set_status.rb +301 -0
 - data/lib/kubernetes/models/v1beta1_daemon_set_update_strategy.rb +199 -0
 - data/lib/kubernetes/models/v1beta1_event.rb +353 -0
 - data/lib/kubernetes/models/v1beta1_event_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_event_series.rb +224 -0
 - data/lib/kubernetes/models/v1beta1_eviction.rb +219 -0
 - data/lib/kubernetes/models/v1beta1_external_documentation.rb +197 -0
 - data/lib/kubernetes/models/v1beta1_http_ingress_path.rb +204 -0
 - data/lib/kubernetes/models/v1beta1_http_ingress_rule_value.rb +196 -0
 - data/lib/kubernetes/models/v1beta1_ingress.rb +229 -0
 - data/lib/kubernetes/models/v1beta1_ingress_backend.rb +209 -0
 - data/lib/kubernetes/models/v1beta1_ingress_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_ingress_rule.rb +198 -0
 - data/lib/kubernetes/models/v1beta1_ingress_spec.rb +213 -0
 - data/lib/kubernetes/models/v1beta1_ingress_status.rb +189 -0
 - data/lib/kubernetes/models/v1beta1_ingress_tls.rb +201 -0
 - data/lib/kubernetes/models/v1beta1_ip_block.rb +206 -0
 - data/lib/kubernetes/models/v1beta1_job_template_spec.rb +199 -0
 - data/lib/kubernetes/models/v1beta1_json_schema_props.rb +526 -0
 - data/lib/kubernetes/models/v1beta1_lease.rb +219 -0
 - data/lib/kubernetes/models/v1beta1_lease_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_lease_spec.rb +229 -0
 - data/lib/kubernetes/models/v1beta1_local_subject_access_review.rb +233 -0
 - data/lib/kubernetes/models/v1beta1_mutating_webhook_configuration.rb +221 -0
 - data/lib/kubernetes/models/v1beta1_mutating_webhook_configuration_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_network_policy.rb +219 -0
 - data/lib/kubernetes/models/v1beta1_network_policy_egress_rule.rb +203 -0
 - data/lib/kubernetes/models/v1beta1_network_policy_ingress_rule.rb +203 -0
 - data/lib/kubernetes/models/v1beta1_network_policy_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_network_policy_peer.rb +209 -0
 - data/lib/kubernetes/models/v1beta1_network_policy_port.rb +199 -0
 - data/lib/kubernetes/models/v1beta1_network_policy_spec.rb +230 -0
 - data/lib/kubernetes/models/v1beta1_non_resource_attributes.rb +199 -0
 - data/lib/kubernetes/models/v1beta1_non_resource_rule.rb +208 -0
 - data/lib/kubernetes/models/v1beta1_pod_disruption_budget.rb +228 -0
 - data/lib/kubernetes/models/v1beta1_pod_disruption_budget_list.rb +224 -0
 - data/lib/kubernetes/models/v1beta1_pod_disruption_budget_spec.rb +209 -0
 - data/lib/kubernetes/models/v1beta1_pod_disruption_budget_status.rb +261 -0
 - data/lib/kubernetes/models/v1beta1_policy_rule.rb +244 -0
 - data/lib/kubernetes/models/v1beta1_priority_class.rb +244 -0
 - data/lib/kubernetes/models/v1beta1_priority_class_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_replica_set.rb +229 -0
 - data/lib/kubernetes/models/v1beta1_replica_set_condition.rb +239 -0
 - data/lib/kubernetes/models/v1beta1_replica_set_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_replica_set_spec.rb +219 -0
 - data/lib/kubernetes/models/v1beta1_replica_set_status.rb +246 -0
 - data/lib/kubernetes/models/v1beta1_resource_attributes.rb +249 -0
 - data/lib/kubernetes/models/v1beta1_resource_rule.rb +232 -0
 - data/lib/kubernetes/models/v1beta1_role.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_role_binding.rb +236 -0
 - data/lib/kubernetes/models/v1beta1_role_binding_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_role_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_role_ref.rb +224 -0
 - data/lib/kubernetes/models/v1beta1_rolling_update_daemon_set.rb +189 -0
 - data/lib/kubernetes/models/v1beta1_rolling_update_stateful_set_strategy.rb +189 -0
 - data/lib/kubernetes/models/v1beta1_rule_with_operations.rb +227 -0
 - data/lib/kubernetes/models/v1beta1_self_subject_access_review.rb +233 -0
 - data/lib/kubernetes/models/v1beta1_self_subject_access_review_spec.rb +199 -0
 - data/lib/kubernetes/models/v1beta1_self_subject_rules_review.rb +233 -0
 - data/lib/kubernetes/models/v1beta1_self_subject_rules_review_spec.rb +189 -0
 - data/lib/kubernetes/models/v1beta1_stateful_set.rb +228 -0
 - data/lib/kubernetes/models/v1beta1_stateful_set_condition.rb +239 -0
 - data/lib/kubernetes/models/v1beta1_stateful_set_list.rb +224 -0
 - data/lib/kubernetes/models/v1beta1_stateful_set_spec.rb +271 -0
 - data/lib/kubernetes/models/v1beta1_stateful_set_status.rb +276 -0
 - data/lib/kubernetes/models/v1beta1_stateful_set_update_strategy.rb +199 -0
 - data/lib/kubernetes/models/v1beta1_storage_class.rb +290 -0
 - data/lib/kubernetes/models/v1beta1_storage_class_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_subject.rb +229 -0
 - data/lib/kubernetes/models/v1beta1_subject_access_review.rb +233 -0
 - data/lib/kubernetes/models/v1beta1_subject_access_review_spec.rb +243 -0
 - data/lib/kubernetes/models/v1beta1_subject_access_review_status.rb +224 -0
 - data/lib/kubernetes/models/v1beta1_subject_rules_review_status.rb +238 -0
 - data/lib/kubernetes/models/v1beta1_token_review.rb +233 -0
 - data/lib/kubernetes/models/v1beta1_token_review_spec.rb +201 -0
 - data/lib/kubernetes/models/v1beta1_token_review_status.rb +221 -0
 - data/lib/kubernetes/models/v1beta1_user_info.rb +223 -0
 - data/lib/kubernetes/models/v1beta1_validating_webhook_configuration.rb +221 -0
 - data/lib/kubernetes/models/v1beta1_validating_webhook_configuration_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_volume_attachment.rb +234 -0
 - data/lib/kubernetes/models/v1beta1_volume_attachment_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_volume_attachment_source.rb +189 -0
 - data/lib/kubernetes/models/v1beta1_volume_attachment_spec.rb +224 -0
 - data/lib/kubernetes/models/v1beta1_volume_attachment_status.rb +226 -0
 - data/lib/kubernetes/models/v1beta1_volume_error.rb +199 -0
 - data/lib/kubernetes/models/v1beta1_webhook.rb +251 -0
 - data/lib/kubernetes/models/v1beta2_controller_revision.rb +234 -0
 - data/lib/kubernetes/models/v1beta2_controller_revision_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta2_daemon_set.rb +229 -0
 - data/lib/kubernetes/models/v1beta2_daemon_set_condition.rb +239 -0
 - data/lib/kubernetes/models/v1beta2_daemon_set_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta2_daemon_set_spec.rb +239 -0
 - data/lib/kubernetes/models/v1beta2_daemon_set_status.rb +301 -0
 - data/lib/kubernetes/models/v1beta2_daemon_set_update_strategy.rb +199 -0
 - data/lib/kubernetes/models/v1beta2_deployment.rb +229 -0
 - data/lib/kubernetes/models/v1beta2_deployment_condition.rb +249 -0
 - data/lib/kubernetes/models/v1beta2_deployment_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta2_deployment_spec.rb +269 -0
 - data/lib/kubernetes/models/v1beta2_deployment_status.rb +261 -0
 - data/lib/kubernetes/models/v1beta2_deployment_strategy.rb +199 -0
 - data/lib/kubernetes/models/v1beta2_replica_set.rb +229 -0
 - data/lib/kubernetes/models/v1beta2_replica_set_condition.rb +239 -0
 - data/lib/kubernetes/models/v1beta2_replica_set_list.rb +226 -0
 - data/lib/kubernetes/models/v1beta2_replica_set_spec.rb +224 -0
 - data/lib/kubernetes/models/v1beta2_replica_set_status.rb +246 -0
 - data/lib/kubernetes/models/v1beta2_rolling_update_daemon_set.rb +189 -0
 - data/lib/kubernetes/models/v1beta2_rolling_update_deployment.rb +199 -0
 - data/lib/kubernetes/models/v1beta2_rolling_update_stateful_set_strategy.rb +189 -0
 - data/lib/kubernetes/models/v1beta2_scale.rb +229 -0
 - data/lib/kubernetes/models/v1beta2_scale_spec.rb +189 -0
 - data/lib/kubernetes/models/v1beta2_scale_status.rb +216 -0
 - data/lib/kubernetes/models/v1beta2_stateful_set.rb +228 -0
 - data/lib/kubernetes/models/v1beta2_stateful_set_condition.rb +239 -0
 - data/lib/kubernetes/models/v1beta2_stateful_set_list.rb +224 -0
 - data/lib/kubernetes/models/v1beta2_stateful_set_spec.rb +276 -0
 - data/lib/kubernetes/models/v1beta2_stateful_set_status.rb +276 -0
 - data/lib/kubernetes/models/v1beta2_stateful_set_update_strategy.rb +199 -0
 - data/lib/kubernetes/models/v2alpha1_cron_job.rb +229 -0
 - data/lib/kubernetes/models/v2alpha1_cron_job_list.rb +226 -0
 - data/lib/kubernetes/models/v2alpha1_cron_job_spec.rb +259 -0
 - data/lib/kubernetes/models/v2alpha1_cron_job_status.rb +201 -0
 - data/lib/kubernetes/models/v2alpha1_job_template_spec.rb +199 -0
 - data/lib/kubernetes/models/v2beta1_cross_version_object_reference.rb +219 -0
 - data/lib/kubernetes/models/v2beta1_external_metric_source.rb +224 -0
 - data/lib/kubernetes/models/v2beta1_external_metric_status.rb +229 -0
 - data/lib/kubernetes/models/v2beta1_horizontal_pod_autoscaler.rb +229 -0
 - data/lib/kubernetes/models/v2beta1_horizontal_pod_autoscaler_condition.rb +239 -0
 - data/lib/kubernetes/models/v2beta1_horizontal_pod_autoscaler_list.rb +226 -0
 - data/lib/kubernetes/models/v2beta1_horizontal_pod_autoscaler_spec.rb +231 -0
 - data/lib/kubernetes/models/v2beta1_horizontal_pod_autoscaler_status.rb +258 -0
 - data/lib/kubernetes/models/v2beta1_metric_spec.rb +234 -0
 - data/lib/kubernetes/models/v2beta1_metric_status.rb +234 -0
 - data/lib/kubernetes/models/v2beta1_object_metric_source.rb +244 -0
 - data/lib/kubernetes/models/v2beta1_object_metric_status.rb +244 -0
 - data/lib/kubernetes/models/v2beta1_pods_metric_source.rb +219 -0
 - data/lib/kubernetes/models/v2beta1_pods_metric_status.rb +219 -0
 - data/lib/kubernetes/models/v2beta1_resource_metric_source.rb +214 -0
 - data/lib/kubernetes/models/v2beta1_resource_metric_status.rb +219 -0
 - data/lib/kubernetes/models/v2beta2_cross_version_object_reference.rb +219 -0
 - data/lib/kubernetes/models/v2beta2_external_metric_source.rb +209 -0
 - data/lib/kubernetes/models/v2beta2_external_metric_status.rb +209 -0
 - data/lib/kubernetes/models/v2beta2_horizontal_pod_autoscaler.rb +229 -0
 - data/lib/kubernetes/models/v2beta2_horizontal_pod_autoscaler_condition.rb +239 -0
 - data/lib/kubernetes/models/v2beta2_horizontal_pod_autoscaler_list.rb +226 -0
 - data/lib/kubernetes/models/v2beta2_horizontal_pod_autoscaler_spec.rb +231 -0
 - data/lib/kubernetes/models/v2beta2_horizontal_pod_autoscaler_status.rb +258 -0
 - data/lib/kubernetes/models/v2beta2_metric_identifier.rb +204 -0
 - data/lib/kubernetes/models/v2beta2_metric_spec.rb +234 -0
 - data/lib/kubernetes/models/v2beta2_metric_status.rb +234 -0
 - data/lib/kubernetes/models/v2beta2_metric_target.rb +224 -0
 - data/lib/kubernetes/models/v2beta2_metric_value_status.rb +209 -0
 - data/lib/kubernetes/models/v2beta2_object_metric_source.rb +223 -0
 - data/lib/kubernetes/models/v2beta2_object_metric_status.rb +223 -0
 - data/lib/kubernetes/models/v2beta2_pods_metric_source.rb +209 -0
 - data/lib/kubernetes/models/v2beta2_pods_metric_status.rb +209 -0
 - data/lib/kubernetes/models/v2beta2_resource_metric_source.rb +209 -0
 - data/lib/kubernetes/models/v2beta2_resource_metric_status.rb +209 -0
 - data/lib/kubernetes/models/version_info.rb +305 -0
 - data/lib/kubernetes/version.rb +15 -0
 - data/spec/config/incluster_config_spec.rb +144 -0
 - data/spec/config/kube_config_spec.rb +319 -0
 - data/spec/config/matchers.rb +29 -0
 - data/spec/fixtures/config/kube_config_hash.rb +194 -0
 - data/spec/fixtures/files/certs/ca.crt +27 -0
 - data/spec/fixtures/files/certs/client.crt +28 -0
 - data/spec/fixtures/files/certs/client.key +51 -0
 - data/spec/fixtures/files/config/.kube/config +16 -0
 - data/spec/fixtures/files/config/config +13 -0
 - data/spec/fixtures/files/config/config_2 +15 -0
 - data/spec/fixtures/files/config/empty +1 -0
 - data/spec/fixtures/files/tokens/token +1 -0
 - data/spec/helpers/file_fixtures.rb +41 -0
 - data/spec/spec_helper.rb +108 -0
 - data/spec/utils_spec.rb +118 -0
 - data/spec/watch_spec.rb +36 -0
 - data/src/kubernetes/config/error.rb +17 -0
 - data/src/kubernetes/config/incluster_config.rb +80 -0
 - data/src/kubernetes/config/kube_config.rb +171 -0
 - data/src/kubernetes/loader.rb +55 -0
 - data/src/kubernetes/utils.rb +92 -0
 - data/src/kubernetes/watch.rb +51 -0
 - data/swagger.json +89546 -0
 - metadata +1541 -0
 
    
        data/spec/utils_spec.rb
    ADDED
    
    | 
         @@ -0,0 +1,118 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Copyright 2017 The Kubernetes Authors.
         
     | 
| 
      
 2 
     | 
    
         
            +
            #
         
     | 
| 
      
 3 
     | 
    
         
            +
            # Licensed under the Apache License, Version 2.0 (the "License");
         
     | 
| 
      
 4 
     | 
    
         
            +
            # you may not use this file except in compliance with the License.
         
     | 
| 
      
 5 
     | 
    
         
            +
            # You may obtain a copy of the License at
         
     | 
| 
      
 6 
     | 
    
         
            +
            #
         
     | 
| 
      
 7 
     | 
    
         
            +
            #     http://www.apache.org/licenses/LICENSE-2.0
         
     | 
| 
      
 8 
     | 
    
         
            +
            #
         
     | 
| 
      
 9 
     | 
    
         
            +
            # Unless required by applicable law or agreed to in writing, software
         
     | 
| 
      
 10 
     | 
    
         
            +
            # distributed under the License is distributed on an "AS IS" BASIS,
         
     | 
| 
      
 11 
     | 
    
         
            +
            # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
      
 12 
     | 
    
         
            +
            # See the License for the specific language governing permissions and
         
     | 
| 
      
 13 
     | 
    
         
            +
            # limitations under the License.
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            require 'spec_helper'
         
     | 
| 
      
 16 
     | 
    
         
            +
            require 'config/matchers'
         
     | 
| 
      
 17 
     | 
    
         
            +
            require 'fixtures/config/kube_config_hash'
         
     | 
| 
      
 18 
     | 
    
         
            +
            require 'helpers/file_fixtures'
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            require 'kubernetes/utils'
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            # rubocop:disable BlockLength
         
     | 
| 
      
 23 
     | 
    
         
            +
            describe Kubernetes do
         
     | 
| 
      
 24 
     | 
    
         
            +
              describe '.load_incluster_config' do
         
     | 
| 
      
 25 
     | 
    
         
            +
                let(:incluster_config) do
         
     | 
| 
      
 26 
     | 
    
         
            +
                  Kubernetes::InClusterConfig.new.tap do |c|
         
     | 
| 
      
 27 
     | 
    
         
            +
                    c.instance_variable_set(
         
     | 
| 
      
 28 
     | 
    
         
            +
                      :@env,
         
     | 
| 
      
 29 
     | 
    
         
            +
                      Kubernetes::InClusterConfig::SERVICE_HOST_ENV_NAME => 'localhost',
         
     | 
| 
      
 30 
     | 
    
         
            +
                      Kubernetes::InClusterConfig::SERVICE_PORT_ENV_NAME => '443'
         
     | 
| 
      
 31 
     | 
    
         
            +
                    )
         
     | 
| 
      
 32 
     | 
    
         
            +
                    c.instance_variable_set(
         
     | 
| 
      
 33 
     | 
    
         
            +
                      :@ca_cert,
         
     | 
| 
      
 34 
     | 
    
         
            +
                      Kubernetes::Testing.file_fixture('certs/ca.crt').to_s
         
     | 
| 
      
 35 
     | 
    
         
            +
                    )
         
     | 
| 
      
 36 
     | 
    
         
            +
                    c.instance_variable_set(
         
     | 
| 
      
 37 
     | 
    
         
            +
                      :@token_file,
         
     | 
| 
      
 38 
     | 
    
         
            +
                      Kubernetes::Testing.file_fixture('tokens/token').to_s
         
     | 
| 
      
 39 
     | 
    
         
            +
                    )
         
     | 
| 
      
 40 
     | 
    
         
            +
                  end
         
     | 
| 
      
 41 
     | 
    
         
            +
                end
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                it 'should configure client configuration from in-cluster config' do
         
     | 
| 
      
 44 
     | 
    
         
            +
                  allow(Kubernetes::InClusterConfig)
         
     | 
| 
      
 45 
     | 
    
         
            +
                    .to receive(:new)
         
     | 
| 
      
 46 
     | 
    
         
            +
                    .and_return(incluster_config)
         
     | 
| 
      
 47 
     | 
    
         
            +
                  expected = Kubernetes::Configuration.new do |c|
         
     | 
| 
      
 48 
     | 
    
         
            +
                    c.scheme = 'https'
         
     | 
| 
      
 49 
     | 
    
         
            +
                    c.host = 'localhost:443'
         
     | 
| 
      
 50 
     | 
    
         
            +
                    c.ssl_ca_cert = Kubernetes::Testing.file_fixture('certs/ca.crt').to_s
         
     | 
| 
      
 51 
     | 
    
         
            +
                    c.api_key['authorization'] = 'Bearer token1'
         
     | 
| 
      
 52 
     | 
    
         
            +
                  end
         
     | 
| 
      
 53 
     | 
    
         
            +
                  actual = Kubernetes::Configuration.new
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
                  Kubernetes.load_incluster_config(client_configuration: actual)
         
     | 
| 
      
 56 
     | 
    
         
            +
                  expect(actual).to be_same_configuration_as(expected)
         
     | 
| 
      
 57 
     | 
    
         
            +
                end
         
     | 
| 
      
 58 
     | 
    
         
            +
              end
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
              describe '.load_kube_config' do
         
     | 
| 
      
 61 
     | 
    
         
            +
                file = Kubernetes::Testing.file_fixture('config/config').to_s
         
     | 
| 
      
 62 
     | 
    
         
            +
                let(:kube_config) { Kubernetes::KubeConfig.new(file, TEST_KUBE_CONFIG) }
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
                it 'should configure client configuration from kube_config' do
         
     | 
| 
      
 65 
     | 
    
         
            +
                  kubeconfig_path = 'kubeconfig/path'
         
     | 
| 
      
 66 
     | 
    
         
            +
                  allow(Kubernetes::KubeConfig)
         
     | 
| 
      
 67 
     | 
    
         
            +
                    .to receive(:new)
         
     | 
| 
      
 68 
     | 
    
         
            +
                    .with(kubeconfig_path)
         
     | 
| 
      
 69 
     | 
    
         
            +
                    .and_return(kube_config)
         
     | 
| 
      
 70 
     | 
    
         
            +
                  expected = Kubernetes::Configuration.new do |c|
         
     | 
| 
      
 71 
     | 
    
         
            +
                    c.scheme = 'https'
         
     | 
| 
      
 72 
     | 
    
         
            +
                    c.host = 'test-host:443'
         
     | 
| 
      
 73 
     | 
    
         
            +
                    c.ssl_ca_cert = Kubernetes::Testing.file_fixture('certs/ca.crt').to_s
         
     | 
| 
      
 74 
     | 
    
         
            +
                    c.cert_file = Kubernetes::Testing.file_fixture('certs/client.crt').to_s
         
     | 
| 
      
 75 
     | 
    
         
            +
                    c.key_file = Kubernetes::Testing.file_fixture('certs/client.key').to_s
         
     | 
| 
      
 76 
     | 
    
         
            +
                  end
         
     | 
| 
      
 77 
     | 
    
         
            +
                  actual = Kubernetes::Configuration.new
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
                  Kubernetes.load_kube_config(
         
     | 
| 
      
 80 
     | 
    
         
            +
                    kubeconfig_path,
         
     | 
| 
      
 81 
     | 
    
         
            +
                    context: 'context_ssl',
         
     | 
| 
      
 82 
     | 
    
         
            +
                    client_configuration: actual
         
     | 
| 
      
 83 
     | 
    
         
            +
                  )
         
     | 
| 
      
 84 
     | 
    
         
            +
                  expect(actual).to be_same_configuration_as(expected)
         
     | 
| 
      
 85 
     | 
    
         
            +
                end
         
     | 
| 
      
 86 
     | 
    
         
            +
              end
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
              context '#create_temp_file_with_base64content' do
         
     | 
| 
      
 89 
     | 
    
         
            +
                before do
         
     | 
| 
      
 90 
     | 
    
         
            +
                  Kubernetes.clear_temp_files
         
     | 
| 
      
 91 
     | 
    
         
            +
                end
         
     | 
| 
      
 92 
     | 
    
         
            +
             
     | 
| 
      
 93 
     | 
    
         
            +
                context 'when it is called at first time' do
         
     | 
| 
      
 94 
     | 
    
         
            +
                  it 'should return temp file path' do
         
     | 
| 
      
 95 
     | 
    
         
            +
                    expected_path = 'tempfile-path'
         
     | 
| 
      
 96 
     | 
    
         
            +
                    content = TEST_DATA_BASE64
         
     | 
| 
      
 97 
     | 
    
         
            +
                    io = double('io')
         
     | 
| 
      
 98 
     | 
    
         
            +
                    expect(io).to receive(:path).and_return(expected_path)
         
     | 
| 
      
 99 
     | 
    
         
            +
                    expect(io).to receive(:write).with(TEST_DATA)
         
     | 
| 
      
 100 
     | 
    
         
            +
                    allow(Tempfile).to receive(:open).and_yield(io)
         
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
      
 102 
     | 
    
         
            +
                    path = Kubernetes.create_temp_file_with_base64content(content)
         
     | 
| 
      
 103 
     | 
    
         
            +
                    expect(path).to eq(expected_path)
         
     | 
| 
      
 104 
     | 
    
         
            +
                  end
         
     | 
| 
      
 105 
     | 
    
         
            +
                end
         
     | 
| 
      
 106 
     | 
    
         
            +
             
     | 
| 
      
 107 
     | 
    
         
            +
                context 'when it is already called' do
         
     | 
| 
      
 108 
     | 
    
         
            +
                  it 'should return cached value' do
         
     | 
| 
      
 109 
     | 
    
         
            +
                    content = TEST_DATA_BASE64
         
     | 
| 
      
 110 
     | 
    
         
            +
                    expected_path = Kubernetes.create_temp_file_with_base64content(content)
         
     | 
| 
      
 111 
     | 
    
         
            +
             
     | 
| 
      
 112 
     | 
    
         
            +
                    path = Kubernetes.create_temp_file_with_base64content(content)
         
     | 
| 
      
 113 
     | 
    
         
            +
                    expect(path).to eq(expected_path)
         
     | 
| 
      
 114 
     | 
    
         
            +
                  end
         
     | 
| 
      
 115 
     | 
    
         
            +
                end
         
     | 
| 
      
 116 
     | 
    
         
            +
              end
         
     | 
| 
      
 117 
     | 
    
         
            +
            end
         
     | 
| 
      
 118 
     | 
    
         
            +
            # rubocop:enable BlockLength
         
     | 
    
        data/spec/watch_spec.rb
    ADDED
    
    | 
         @@ -0,0 +1,36 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Copyright 2019 The Kubernetes Authors.
         
     | 
| 
      
 2 
     | 
    
         
            +
            #
         
     | 
| 
      
 3 
     | 
    
         
            +
            # Licensed under the Apache License, Version 2.0 (the "License");
         
     | 
| 
      
 4 
     | 
    
         
            +
            # you may not use this file except in compliance with the License.
         
     | 
| 
      
 5 
     | 
    
         
            +
            # You may obtain a copy of the License at
         
     | 
| 
      
 6 
     | 
    
         
            +
            #
         
     | 
| 
      
 7 
     | 
    
         
            +
            #     http://www.apache.org/licenses/LICENSE-2.0
         
     | 
| 
      
 8 
     | 
    
         
            +
            #
         
     | 
| 
      
 9 
     | 
    
         
            +
            # Unless required by applicable law or agreed to in writing, software
         
     | 
| 
      
 10 
     | 
    
         
            +
            # distributed under the License is distributed on an "AS IS" BASIS,
         
     | 
| 
      
 11 
     | 
    
         
            +
            # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
      
 12 
     | 
    
         
            +
            # See the License for the specific language governing permissions and
         
     | 
| 
      
 13 
     | 
    
         
            +
            # limitations under the License.
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            require 'spec_helper'
         
     | 
| 
      
 16 
     | 
    
         
            +
            require 'kubernetes/watch'
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            describe 'WatchClient' do
         
     | 
| 
      
 19 
     | 
    
         
            +
              it 'should construct correctly' do
         
     | 
| 
      
 20 
     | 
    
         
            +
                Kubernetes::Watch.new(nil)
         
     | 
| 
      
 21 
     | 
    
         
            +
              end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
              it 'should parse chunks correctly' do
         
     | 
| 
      
 24 
     | 
    
         
            +
                client = Kubernetes::Watch.new(nil)
         
     | 
| 
      
 25 
     | 
    
         
            +
                last = ''
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                last, data = client.split_lines(last, "foo\nbar\nba")
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                expect(last).to eq('ba')
         
     | 
| 
      
 30 
     | 
    
         
            +
                expect(data).to eq(%w[foo bar])
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                last, data = client.split_lines(last, "z\nblah\n")
         
     | 
| 
      
 33 
     | 
    
         
            +
                expect(last).to eq('')
         
     | 
| 
      
 34 
     | 
    
         
            +
                expect(data).to eq(%w[baz blah])
         
     | 
| 
      
 35 
     | 
    
         
            +
              end
         
     | 
| 
      
 36 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,17 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Copyright 2017 The Kubernetes Authors.
         
     | 
| 
      
 2 
     | 
    
         
            +
            #
         
     | 
| 
      
 3 
     | 
    
         
            +
            # Licensed under the Apache License, Version 2.0 (the "License");
         
     | 
| 
      
 4 
     | 
    
         
            +
            # you may not use this file except in compliance with the License.
         
     | 
| 
      
 5 
     | 
    
         
            +
            # You may obtain a copy of the License at
         
     | 
| 
      
 6 
     | 
    
         
            +
            #
         
     | 
| 
      
 7 
     | 
    
         
            +
            #     http://www.apache.org/licenses/LICENSE-2.0
         
     | 
| 
      
 8 
     | 
    
         
            +
            #
         
     | 
| 
      
 9 
     | 
    
         
            +
            # Unless required by applicable law or agreed to in writing, software
         
     | 
| 
      
 10 
     | 
    
         
            +
            # distributed under the License is distributed on an "AS IS" BASIS,
         
     | 
| 
      
 11 
     | 
    
         
            +
            # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
      
 12 
     | 
    
         
            +
            # See the License for the specific language governing permissions and
         
     | 
| 
      
 13 
     | 
    
         
            +
            # limitations under the License.
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            module Kubernetes
         
     | 
| 
      
 16 
     | 
    
         
            +
              class ConfigError < RuntimeError; end
         
     | 
| 
      
 17 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,80 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Copyright 2017 The Kubernetes Authors.
         
     | 
| 
      
 2 
     | 
    
         
            +
            #
         
     | 
| 
      
 3 
     | 
    
         
            +
            # Licensed under the Apache License, Version 2.0 (the "License");
         
     | 
| 
      
 4 
     | 
    
         
            +
            # you may not use this file except in compliance with the License.
         
     | 
| 
      
 5 
     | 
    
         
            +
            # You may obtain a copy of the License at
         
     | 
| 
      
 6 
     | 
    
         
            +
            #
         
     | 
| 
      
 7 
     | 
    
         
            +
            #     http://www.apache.org/licenses/LICENSE-2.0
         
     | 
| 
      
 8 
     | 
    
         
            +
            #
         
     | 
| 
      
 9 
     | 
    
         
            +
            # Unless required by applicable law or agreed to in writing, software
         
     | 
| 
      
 10 
     | 
    
         
            +
            # distributed under the License is distributed on an "AS IS" BASIS,
         
     | 
| 
      
 11 
     | 
    
         
            +
            # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
      
 12 
     | 
    
         
            +
            # See the License for the specific language governing permissions and
         
     | 
| 
      
 13 
     | 
    
         
            +
            # limitations under the License.
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            require 'kubernetes/configuration'
         
     | 
| 
      
 16 
     | 
    
         
            +
            require 'kubernetes/config/error'
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            module Kubernetes
         
     | 
| 
      
 19 
     | 
    
         
            +
              # The InClusterConfig class represents configuration for authn/authz in a
         
     | 
| 
      
 20 
     | 
    
         
            +
              # Kubernetes cluster.
         
     | 
| 
      
 21 
     | 
    
         
            +
              class InClusterConfig
         
     | 
| 
      
 22 
     | 
    
         
            +
                # rubocop:disable LineLength
         
     | 
| 
      
 23 
     | 
    
         
            +
                SERVICE_HOST_ENV_NAME = 'KUBERNETES_SERVICE_HOST'.freeze
         
     | 
| 
      
 24 
     | 
    
         
            +
                SERVICE_PORT_ENV_NAME = 'KUBERNETES_SERVICE_PORT'.freeze
         
     | 
| 
      
 25 
     | 
    
         
            +
                SERVICE_TOKEN_FILENAME = '/var/run/secrets/kubernetes.io/serviceaccount/token'.freeze
         
     | 
| 
      
 26 
     | 
    
         
            +
                SERVICE_CA_CERT_FILENAME = '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt'.freeze
         
     | 
| 
      
 27 
     | 
    
         
            +
                # rubocop:enable LineLength
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                attr_accessor :host
         
     | 
| 
      
 30 
     | 
    
         
            +
                attr_accessor :port
         
     | 
| 
      
 31 
     | 
    
         
            +
                attr_accessor :token
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                def validate
         
     | 
| 
      
 34 
     | 
    
         
            +
                  unless (self.host = env[SERVICE_HOST_ENV_NAME]) &&
         
     | 
| 
      
 35 
     | 
    
         
            +
                         (self.port = env[SERVICE_PORT_ENV_NAME])
         
     | 
| 
      
 36 
     | 
    
         
            +
                    raise ConfigError, 'Service host/port is not set'
         
     | 
| 
      
 37 
     | 
    
         
            +
                  end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                  # rubocop:disable LineLength
         
     | 
| 
      
 40 
     | 
    
         
            +
                  raise ConfigError, 'Service token file does not exists' unless File.file?(token_file)
         
     | 
| 
      
 41 
     | 
    
         
            +
                  raise ConfigError, 'Service token file does not exists' unless File.file?(ca_cert)
         
     | 
| 
      
 42 
     | 
    
         
            +
                  # rubocop:enable LineLength
         
     | 
| 
      
 43 
     | 
    
         
            +
                end
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
                def self.in_cluster?
         
     | 
| 
      
 46 
     | 
    
         
            +
                  File.exist?(SERVICE_TOKEN_FILENAME) &&
         
     | 
| 
      
 47 
     | 
    
         
            +
                    File.exist?(SERVICE_CA_CERT_FILENAME)
         
     | 
| 
      
 48 
     | 
    
         
            +
                end
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
                def env
         
     | 
| 
      
 51 
     | 
    
         
            +
                  @env ||= ENV
         
     | 
| 
      
 52 
     | 
    
         
            +
                  @env
         
     | 
| 
      
 53 
     | 
    
         
            +
                end
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
                def ca_cert
         
     | 
| 
      
 56 
     | 
    
         
            +
                  @ca_cert ||= SERVICE_CA_CERT_FILENAME
         
     | 
| 
      
 57 
     | 
    
         
            +
                  @ca_cert
         
     | 
| 
      
 58 
     | 
    
         
            +
                end
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
                def token_file
         
     | 
| 
      
 61 
     | 
    
         
            +
                  @token_file ||= SERVICE_TOKEN_FILENAME
         
     | 
| 
      
 62 
     | 
    
         
            +
                  @token_file
         
     | 
| 
      
 63 
     | 
    
         
            +
                end
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
                def load_token
         
     | 
| 
      
 66 
     | 
    
         
            +
                  File.open(token_file) do |io|
         
     | 
| 
      
 67 
     | 
    
         
            +
                    self.token = io.read.chomp
         
     | 
| 
      
 68 
     | 
    
         
            +
                  end
         
     | 
| 
      
 69 
     | 
    
         
            +
                end
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
                def configure(configuration)
         
     | 
| 
      
 72 
     | 
    
         
            +
                  validate
         
     | 
| 
      
 73 
     | 
    
         
            +
                  load_token
         
     | 
| 
      
 74 
     | 
    
         
            +
                  configuration.api_key['authorization'] = "Bearer #{token}"
         
     | 
| 
      
 75 
     | 
    
         
            +
                  configuration.scheme = 'https'
         
     | 
| 
      
 76 
     | 
    
         
            +
                  configuration.host = "#{host}:#{port}"
         
     | 
| 
      
 77 
     | 
    
         
            +
                  configuration.ssl_ca_cert = ca_cert
         
     | 
| 
      
 78 
     | 
    
         
            +
                end
         
     | 
| 
      
 79 
     | 
    
         
            +
              end
         
     | 
| 
      
 80 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,171 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Copyright 2017 The Kubernetes Authors.
         
     | 
| 
      
 2 
     | 
    
         
            +
            #
         
     | 
| 
      
 3 
     | 
    
         
            +
            # Licensed under the Apache License, Version 2.0 (the "License");
         
     | 
| 
      
 4 
     | 
    
         
            +
            # you may not use this file except in compliance with the License.
         
     | 
| 
      
 5 
     | 
    
         
            +
            # You may obtain a copy of the License at
         
     | 
| 
      
 6 
     | 
    
         
            +
            #
         
     | 
| 
      
 7 
     | 
    
         
            +
            #     http://www.apache.org/licenses/LICENSE-2.0
         
     | 
| 
      
 8 
     | 
    
         
            +
            #
         
     | 
| 
      
 9 
     | 
    
         
            +
            # Unless required by applicable law or agreed to in writing, software
         
     | 
| 
      
 10 
     | 
    
         
            +
            # distributed under the License is distributed on an "AS IS" BASIS,
         
     | 
| 
      
 11 
     | 
    
         
            +
            # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
      
 12 
     | 
    
         
            +
            # See the License for the specific language governing permissions and
         
     | 
| 
      
 13 
     | 
    
         
            +
            # limitations under the License.
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            require 'base64'
         
     | 
| 
      
 16 
     | 
    
         
            +
            require 'yaml'
         
     | 
| 
      
 17 
     | 
    
         
            +
            require 'tempfile'
         
     | 
| 
      
 18 
     | 
    
         
            +
            require 'uri'
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            require 'kubernetes/api_client'
         
     | 
| 
      
 21 
     | 
    
         
            +
            require 'kubernetes/configuration'
         
     | 
| 
      
 22 
     | 
    
         
            +
            require 'kubernetes/config/error'
         
     | 
| 
      
 23 
     | 
    
         
            +
            require 'kubernetes/utils'
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            module Kubernetes
         
     | 
| 
      
 26 
     | 
    
         
            +
              # rubocop:disable ClassLength
         
     | 
| 
      
 27 
     | 
    
         
            +
              # The KubeConfig class represents configuration based on a YAML
         
     | 
| 
      
 28 
     | 
    
         
            +
              # representation.
         
     | 
| 
      
 29 
     | 
    
         
            +
              class KubeConfig
         
     | 
| 
      
 30 
     | 
    
         
            +
                KUBE_CONFIG_DEFAULT_LOCATION = File.expand_path('~/.kube/config')
         
     | 
| 
      
 31 
     | 
    
         
            +
                AUTH_KEY = 'authorization'.freeze
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                class << self
         
     | 
| 
      
 34 
     | 
    
         
            +
                  def list_context_names(config_file = KUBE_CONFIG_DEFAULT_LOCATION)
         
     | 
| 
      
 35 
     | 
    
         
            +
                    config = new(config_file)
         
     | 
| 
      
 36 
     | 
    
         
            +
                    config.list_context_names
         
     | 
| 
      
 37 
     | 
    
         
            +
                  end
         
     | 
| 
      
 38 
     | 
    
         
            +
                end
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                attr_accessor :path
         
     | 
| 
      
 41 
     | 
    
         
            +
                attr_writer :config
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                def initialize(path, config_hash = nil)
         
     | 
| 
      
 44 
     | 
    
         
            +
                  @path = path
         
     | 
| 
      
 45 
     | 
    
         
            +
                  @config = config_hash
         
     | 
| 
      
 46 
     | 
    
         
            +
                end
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                def base_path
         
     | 
| 
      
 49 
     | 
    
         
            +
                  File.dirname(path)
         
     | 
| 
      
 50 
     | 
    
         
            +
                end
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                def config
         
     | 
| 
      
 53 
     | 
    
         
            +
                  @config ||= File.open(path) do |io|
         
     | 
| 
      
 54 
     | 
    
         
            +
                    ::YAML.safe_load(io.read)
         
     | 
| 
      
 55 
     | 
    
         
            +
                  end
         
     | 
| 
      
 56 
     | 
    
         
            +
                end
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
                def configure(configuration, context_name = nil)
         
     | 
| 
      
 59 
     | 
    
         
            +
                  context = context_name ? find_context(context_name) : current_context
         
     | 
| 
      
 60 
     | 
    
         
            +
                  return unless context
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
                  user = context['user'] || {}
         
     | 
| 
      
 63 
     | 
    
         
            +
                  cluster = context['cluster'] || {}
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
                  configuration.tap do |c|
         
     | 
| 
      
 66 
     | 
    
         
            +
                    c.api_key[AUTH_KEY] = user[AUTH_KEY] if user[AUTH_KEY]
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
                    init_server(cluster, user, c)
         
     | 
| 
      
 69 
     | 
    
         
            +
                  end
         
     | 
| 
      
 70 
     | 
    
         
            +
                end
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
                def init_server(cluster, user, config)
         
     | 
| 
      
 73 
     | 
    
         
            +
                  return unless (server = cluster['server'])
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
                  server = URI.parse(server)
         
     | 
| 
      
 76 
     | 
    
         
            +
                  config.scheme = server.scheme
         
     | 
| 
      
 77 
     | 
    
         
            +
                  host = "#{server.host}:#{server.port}"
         
     | 
| 
      
 78 
     | 
    
         
            +
                  host = "#{server.userinfo}@#{host}" if server.userinfo
         
     | 
| 
      
 79 
     | 
    
         
            +
                  config.host = host
         
     | 
| 
      
 80 
     | 
    
         
            +
                  config.base_path = server.path
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
      
 82 
     | 
    
         
            +
                  return unless server.scheme == 'https'
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
                  setup_ssl(cluster, user, config)
         
     | 
| 
      
 85 
     | 
    
         
            +
                end
         
     | 
| 
      
 86 
     | 
    
         
            +
             
     | 
| 
      
 87 
     | 
    
         
            +
                def setup_ssl(cluster, user, config)
         
     | 
| 
      
 88 
     | 
    
         
            +
                  # rubocop:disable DoubleNegation
         
     | 
| 
      
 89 
     | 
    
         
            +
                  config.verify_ssl = !!cluster['verify-ssl']
         
     | 
| 
      
 90 
     | 
    
         
            +
                  config.verify_ssl_host = !!cluster['verify-ssl']
         
     | 
| 
      
 91 
     | 
    
         
            +
                  # rubocop:enable DoubleNegation
         
     | 
| 
      
 92 
     | 
    
         
            +
             
     | 
| 
      
 93 
     | 
    
         
            +
                  config.ssl_ca_cert = cluster['certificate-authority']
         
     | 
| 
      
 94 
     | 
    
         
            +
                  config.cert_file = user['client-certificate']
         
     | 
| 
      
 95 
     | 
    
         
            +
                  config.key_file = user['client-key']
         
     | 
| 
      
 96 
     | 
    
         
            +
                end
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
                def find_cluster(name)
         
     | 
| 
      
 99 
     | 
    
         
            +
                  find_by_name(config['clusters'], 'cluster', name).tap do |cluster|
         
     | 
| 
      
 100 
     | 
    
         
            +
                    Kubernetes.create_temp_file_and_set(cluster, 'certificate-authority')
         
     | 
| 
      
 101 
     | 
    
         
            +
                    cluster['verify_ssl'] = !cluster['insecure-skip-tls-verify']
         
     | 
| 
      
 102 
     | 
    
         
            +
                  end
         
     | 
| 
      
 103 
     | 
    
         
            +
                end
         
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
      
 105 
     | 
    
         
            +
                def find_user(name)
         
     | 
| 
      
 106 
     | 
    
         
            +
                  find_by_name(config['users'], 'user', name).tap do |user|
         
     | 
| 
      
 107 
     | 
    
         
            +
                    next unless user
         
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
      
 109 
     | 
    
         
            +
                    Kubernetes.create_temp_file_and_set(user, 'client-certificate')
         
     | 
| 
      
 110 
     | 
    
         
            +
                    Kubernetes.create_temp_file_and_set(user, 'client-key')
         
     | 
| 
      
 111 
     | 
    
         
            +
                    load_token_file(user)
         
     | 
| 
      
 112 
     | 
    
         
            +
                    setup_auth(user)
         
     | 
| 
      
 113 
     | 
    
         
            +
                  end
         
     | 
| 
      
 114 
     | 
    
         
            +
                end
         
     | 
| 
      
 115 
     | 
    
         
            +
             
     | 
| 
      
 116 
     | 
    
         
            +
                def load_token_file(user)
         
     | 
| 
      
 117 
     | 
    
         
            +
                  # If tokenFile is specified, then set token
         
     | 
| 
      
 118 
     | 
    
         
            +
                  return unless !user['token'] && user['tokenFile']
         
     | 
| 
      
 119 
     | 
    
         
            +
             
     | 
| 
      
 120 
     | 
    
         
            +
                  File.open(user['tokenFile']) do |io|
         
     | 
| 
      
 121 
     | 
    
         
            +
                    user['token'] = io.read.chomp
         
     | 
| 
      
 122 
     | 
    
         
            +
                  end
         
     | 
| 
      
 123 
     | 
    
         
            +
                end
         
     | 
| 
      
 124 
     | 
    
         
            +
             
     | 
| 
      
 125 
     | 
    
         
            +
                # rubocop:disable AbcSize
         
     | 
| 
      
 126 
     | 
    
         
            +
                def setup_auth(user)
         
     | 
| 
      
 127 
     | 
    
         
            +
                  # Convert token field to http header
         
     | 
| 
      
 128 
     | 
    
         
            +
                  if user['token']
         
     | 
| 
      
 129 
     | 
    
         
            +
                    user['authorization'] = "Bearer #{user['token']}"
         
     | 
| 
      
 130 
     | 
    
         
            +
                  elsif user['username'] && user['password']
         
     | 
| 
      
 131 
     | 
    
         
            +
                    user_pass = "#{user['username']}:#{user['password']}"
         
     | 
| 
      
 132 
     | 
    
         
            +
                    user['authorization'] = "Basic #{Base64.strict_encode64(user_pass)}"
         
     | 
| 
      
 133 
     | 
    
         
            +
                  elsif user['auth-provider'] && user['auth-provider']['name'] == 'azure'
         
     | 
| 
      
 134 
     | 
    
         
            +
                    token = user['auth-provider']['config']['access-token']
         
     | 
| 
      
 135 
     | 
    
         
            +
                    user['authorization'] = "Bearer #{token}"
         
     | 
| 
      
 136 
     | 
    
         
            +
                  end
         
     | 
| 
      
 137 
     | 
    
         
            +
                end
         
     | 
| 
      
 138 
     | 
    
         
            +
                # rubocop:enable AbcSize
         
     | 
| 
      
 139 
     | 
    
         
            +
             
     | 
| 
      
 140 
     | 
    
         
            +
                def list_context_names
         
     | 
| 
      
 141 
     | 
    
         
            +
                  config['contexts'].map { |e| e['name'] }
         
     | 
| 
      
 142 
     | 
    
         
            +
                end
         
     | 
| 
      
 143 
     | 
    
         
            +
             
     | 
| 
      
 144 
     | 
    
         
            +
                def find_context(name)
         
     | 
| 
      
 145 
     | 
    
         
            +
                  find_by_name(config['contexts'], 'context', name).tap do |context|
         
     | 
| 
      
 146 
     | 
    
         
            +
                    if context['cluster']
         
     | 
| 
      
 147 
     | 
    
         
            +
                      context['cluster'] = find_cluster(context['cluster'])
         
     | 
| 
      
 148 
     | 
    
         
            +
                    end
         
     | 
| 
      
 149 
     | 
    
         
            +
                    if context['user'] && !context['user'].empty?
         
     | 
| 
      
 150 
     | 
    
         
            +
                      context['user'] = find_user(context['user'])
         
     | 
| 
      
 151 
     | 
    
         
            +
                    end
         
     | 
| 
      
 152 
     | 
    
         
            +
                  end
         
     | 
| 
      
 153 
     | 
    
         
            +
                end
         
     | 
| 
      
 154 
     | 
    
         
            +
             
     | 
| 
      
 155 
     | 
    
         
            +
                def current_context
         
     | 
| 
      
 156 
     | 
    
         
            +
                  return unless config
         
     | 
| 
      
 157 
     | 
    
         
            +
             
     | 
| 
      
 158 
     | 
    
         
            +
                  find_context(config['current-context'])
         
     | 
| 
      
 159 
     | 
    
         
            +
                end
         
     | 
| 
      
 160 
     | 
    
         
            +
             
     | 
| 
      
 161 
     | 
    
         
            +
                protected
         
     | 
| 
      
 162 
     | 
    
         
            +
             
     | 
| 
      
 163 
     | 
    
         
            +
                def find_by_name(list, key, name)
         
     | 
| 
      
 164 
     | 
    
         
            +
                  obj = list.find { |item| item['name'] == name }
         
     | 
| 
      
 165 
     | 
    
         
            +
                  raise ConfigError, "#{key}: #{name} not found" unless obj
         
     | 
| 
      
 166 
     | 
    
         
            +
             
     | 
| 
      
 167 
     | 
    
         
            +
                  obj[key].dup if obj[key]
         
     | 
| 
      
 168 
     | 
    
         
            +
                end
         
     | 
| 
      
 169 
     | 
    
         
            +
              end
         
     | 
| 
      
 170 
     | 
    
         
            +
              # rubocop:enable ClassLength
         
     | 
| 
      
 171 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,55 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Copyright 2019 The Kubernetes Authors.
         
     | 
| 
      
 2 
     | 
    
         
            +
            #
         
     | 
| 
      
 3 
     | 
    
         
            +
            # Licensed under the Apache License, Version 2.0 (the "License");
         
     | 
| 
      
 4 
     | 
    
         
            +
            # you may not use this file except in compliance with the License.
         
     | 
| 
      
 5 
     | 
    
         
            +
            # You may obtain a copy of the License at
         
     | 
| 
      
 6 
     | 
    
         
            +
            #
         
     | 
| 
      
 7 
     | 
    
         
            +
            #     http://www.apache.org/licenses/LICENSE-2.0
         
     | 
| 
      
 8 
     | 
    
         
            +
            #
         
     | 
| 
      
 9 
     | 
    
         
            +
            # Unless required by applicable law or agreed to in writing, software
         
     | 
| 
      
 10 
     | 
    
         
            +
            # distributed under the License is distributed on an "AS IS" BASIS,
         
     | 
| 
      
 11 
     | 
    
         
            +
            # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
         
     | 
| 
      
 12 
     | 
    
         
            +
            # See the License for the specific language governing permissions and
         
     | 
| 
      
 13 
     | 
    
         
            +
            # limitations under the License.
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            require 'kubernetes/config/incluster_config'
         
     | 
| 
      
 16 
     | 
    
         
            +
            require 'kubernetes/config/kube_config'
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            module Kubernetes
         
     | 
| 
      
 19 
     | 
    
         
            +
              # Configuration is a utility class for loading kubernetes configurations
         
     | 
| 
      
 20 
     | 
    
         
            +
              class Configuration
         
     | 
| 
      
 21 
     | 
    
         
            +
                def self.default_config
         
     | 
| 
      
 22 
     | 
    
         
            +
                  result = Configuration.new
         
     | 
| 
      
 23 
     | 
    
         
            +
                  return result if load_local_config(result)
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                  # In cluster config
         
     | 
| 
      
 26 
     | 
    
         
            +
                  if InClusterConfig.in_cluster?
         
     | 
| 
      
 27 
     | 
    
         
            +
                    k_config = InClusterConfig.new
         
     | 
| 
      
 28 
     | 
    
         
            +
                    k_config.configure(result)
         
     | 
| 
      
 29 
     | 
    
         
            +
                    return result
         
     | 
| 
      
 30 
     | 
    
         
            +
                  end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                  result.scheme = 'http'
         
     | 
| 
      
 33 
     | 
    
         
            +
                  result.host = 'localhost:8080'
         
     | 
| 
      
 34 
     | 
    
         
            +
                  result
         
     | 
| 
      
 35 
     | 
    
         
            +
                end
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
                def self.load_local_config(result)
         
     | 
| 
      
 38 
     | 
    
         
            +
                  # KUBECONFIG environment variable
         
     | 
| 
      
 39 
     | 
    
         
            +
                  kc = (ENV['KUBECONFIG']).to_s
         
     | 
| 
      
 40 
     | 
    
         
            +
                  return load_file_config(kc, result) if File.exist?(kc)
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                  # default home location
         
     | 
| 
      
 43 
     | 
    
         
            +
                  kc = "#{ENV['HOME']}/.kube/config"
         
     | 
| 
      
 44 
     | 
    
         
            +
                  return unless File.exist?(kc)
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
                  load_file_config(kc, result)
         
     | 
| 
      
 47 
     | 
    
         
            +
                end
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
                def self.load_file_config(file, result)
         
     | 
| 
      
 50 
     | 
    
         
            +
                  k_config = KubeConfig.new(file)
         
     | 
| 
      
 51 
     | 
    
         
            +
                  k_config.configure(result)
         
     | 
| 
      
 52 
     | 
    
         
            +
                  result
         
     | 
| 
      
 53 
     | 
    
         
            +
                end
         
     | 
| 
      
 54 
     | 
    
         
            +
              end
         
     | 
| 
      
 55 
     | 
    
         
            +
            end
         
     |