├── .circleci └── config.yml ├── .gitignore ├── .scalafmt.conf ├── EXAMPLES.md ├── README.md ├── build.sbt ├── core └── src │ └── main │ └── scala │ └── com │ └── virtuslab │ └── iat │ ├── core │ └── InterpreterOps.scala │ ├── dsl │ ├── Containerized.scala │ ├── Expressions.scala │ ├── Identity.scala │ ├── KeyValue.scala │ ├── Label.scala │ ├── Peer.scala │ ├── Protocol.scala │ └── Traits.scala │ ├── kubernetes │ ├── dsl │ │ ├── Application.scala │ │ ├── ClusterDNS.scala │ │ ├── Configuration.scala │ │ ├── Gateway.scala │ │ ├── Mounts.scala │ │ ├── Namespace.scala │ │ ├── NetworkPolicy.scala │ │ ├── Secret.scala │ │ ├── Storage.scala │ │ ├── Validation.scala │ │ └── ops.scala │ └── meta │ │ └── Metadata.scala │ └── scala │ ├── FunctionOps.scala │ ├── TupleOps.scala │ ├── UnitOps.scala │ └── ops.scala ├── examples └── src │ └── main │ └── scala │ └── com │ └── virtuslab │ └── iat │ └── examples │ ├── CloudFileServer.scala │ ├── GKEIngress.scala │ ├── GuestBook.scala │ ├── OpenAPIZIO.scala │ └── SkuberApp.scala ├── hacks ├── .gitignore ├── USAGE.md ├── custom_objects_spec.json ├── generate.sh ├── preprocess_spec.py └── scala-sttp.yaml ├── kubernetes ├── .openapi-generator-ignore ├── .openapi-generator │ └── VERSION ├── README.md └── src │ ├── main │ ├── resources │ │ └── reference.conf │ └── scala │ │ └── com │ │ └── virtuslab │ │ └── kubernetes │ │ └── client │ │ ├── custom │ │ ├── B64Encoded.scala │ │ ├── IntOrString.scala │ │ ├── Quantity.scala │ │ └── package.scala │ │ └── openapi │ │ ├── api │ │ ├── AdmissionregistrationApi.scala │ │ ├── AdmissionregistrationV1beta1Api.scala │ │ ├── ApiextensionsApi.scala │ │ ├── ApiextensionsV1beta1Api.scala │ │ ├── ApiregistrationApi.scala │ │ ├── ApiregistrationV1Api.scala │ │ ├── ApiregistrationV1beta1Api.scala │ │ ├── ApisApi.scala │ │ ├── AppsApi.scala │ │ ├── AppsV1Api.scala │ │ ├── AppsV1beta1Api.scala │ │ ├── AppsV1beta2Api.scala │ │ ├── AuditregistrationApi.scala │ │ ├── AuditregistrationV1alpha1Api.scala │ │ ├── AuthenticationApi.scala │ │ ├── AuthenticationV1Api.scala │ │ ├── AuthenticationV1beta1Api.scala │ │ ├── AuthorizationApi.scala │ │ ├── AuthorizationV1Api.scala │ │ ├── AuthorizationV1beta1Api.scala │ │ ├── AutoscalingApi.scala │ │ ├── AutoscalingV1Api.scala │ │ ├── AutoscalingV2beta1Api.scala │ │ ├── AutoscalingV2beta2Api.scala │ │ ├── BatchApi.scala │ │ ├── BatchV1Api.scala │ │ ├── BatchV1beta1Api.scala │ │ ├── BatchV2alpha1Api.scala │ │ ├── CertificatesApi.scala │ │ ├── CertificatesV1beta1Api.scala │ │ ├── CoordinationApi.scala │ │ ├── CoordinationV1Api.scala │ │ ├── CoordinationV1beta1Api.scala │ │ ├── CoreApi.scala │ │ ├── CoreV1Api.scala │ │ ├── CustomObjectsApi.scala │ │ ├── EnumsSerializers.scala │ │ ├── EventsApi.scala │ │ ├── EventsV1beta1Api.scala │ │ ├── ExtensionsApi.scala │ │ ├── ExtensionsV1beta1Api.scala │ │ ├── LogsApi.scala │ │ ├── NetworkingApi.scala │ │ ├── NetworkingV1Api.scala │ │ ├── NetworkingV1beta1Api.scala │ │ ├── NodeApi.scala │ │ ├── NodeV1alpha1Api.scala │ │ ├── NodeV1beta1Api.scala │ │ ├── PolicyApi.scala │ │ ├── PolicyV1beta1Api.scala │ │ ├── RbacAuthorizationApi.scala │ │ ├── RbacAuthorizationV1Api.scala │ │ ├── RbacAuthorizationV1alpha1Api.scala │ │ ├── RbacAuthorizationV1beta1Api.scala │ │ ├── SchedulingApi.scala │ │ ├── SchedulingV1Api.scala │ │ ├── SchedulingV1alpha1Api.scala │ │ ├── SchedulingV1beta1Api.scala │ │ ├── SettingsApi.scala │ │ ├── SettingsV1alpha1Api.scala │ │ ├── StorageApi.scala │ │ ├── StorageV1Api.scala │ │ ├── StorageV1alpha1Api.scala │ │ ├── StorageV1beta1Api.scala │ │ └── VersionApi.scala │ │ ├── core │ │ ├── ApiInvoker.scala │ │ ├── Serializers.scala │ │ └── requests.scala │ │ └── model │ │ ├── APIGroup.scala │ │ ├── APIGroupList.scala │ │ ├── APIResource.scala │ │ ├── APIResourceList.scala │ │ ├── APIService.scala │ │ ├── APIServiceCondition.scala │ │ ├── APIServiceList.scala │ │ ├── APIServiceSpec.scala │ │ ├── APIServiceStatus.scala │ │ ├── APIVersions.scala │ │ ├── AWSElasticBlockStoreVolumeSource.scala │ │ ├── Affinity.scala │ │ ├── AggregationRule.scala │ │ ├── AllowedCSIDriver.scala │ │ ├── AllowedFlexVolume.scala │ │ ├── AllowedHostPath.scala │ │ ├── AttachedVolume.scala │ │ ├── AuditSink.scala │ │ ├── AuditSinkList.scala │ │ ├── AuditSinkSpec.scala │ │ ├── AzureDiskVolumeSource.scala │ │ ├── AzureFilePersistentVolumeSource.scala │ │ ├── AzureFileVolumeSource.scala │ │ ├── Binding.scala │ │ ├── CSIDriver.scala │ │ ├── CSIDriverList.scala │ │ ├── CSIDriverSpec.scala │ │ ├── CSINode.scala │ │ ├── CSINodeDriver.scala │ │ ├── CSINodeList.scala │ │ ├── CSINodeSpec.scala │ │ ├── CSIPersistentVolumeSource.scala │ │ ├── CSIVolumeSource.scala │ │ ├── Capabilities.scala │ │ ├── CephFSPersistentVolumeSource.scala │ │ ├── CephFSVolumeSource.scala │ │ ├── CertificateSigningRequest.scala │ │ ├── CertificateSigningRequestCondition.scala │ │ ├── CertificateSigningRequestList.scala │ │ ├── CertificateSigningRequestSpec.scala │ │ ├── CertificateSigningRequestStatus.scala │ │ ├── CinderPersistentVolumeSource.scala │ │ ├── CinderVolumeSource.scala │ │ ├── ClientIPConfig.scala │ │ ├── ClusterRole.scala │ │ ├── ClusterRoleBinding.scala │ │ ├── ClusterRoleBindingList.scala │ │ ├── ClusterRoleList.scala │ │ ├── ComponentCondition.scala │ │ ├── ComponentStatus.scala │ │ ├── ComponentStatusList.scala │ │ ├── ConfigMap.scala │ │ ├── ConfigMapEnvSource.scala │ │ ├── ConfigMapKeySelector.scala │ │ ├── ConfigMapList.scala │ │ ├── ConfigMapNodeConfigSource.scala │ │ ├── ConfigMapProjection.scala │ │ ├── ConfigMapVolumeSource.scala │ │ ├── Container.scala │ │ ├── ContainerImage.scala │ │ ├── ContainerPort.scala │ │ ├── ContainerState.scala │ │ ├── ContainerStateRunning.scala │ │ ├── ContainerStateTerminated.scala │ │ ├── ContainerStateWaiting.scala │ │ ├── ContainerStatus.scala │ │ ├── ControllerRevision.scala │ │ ├── ControllerRevisionList.scala │ │ ├── CronJob.scala │ │ ├── CronJobList.scala │ │ ├── CronJobSpec.scala │ │ ├── CronJobStatus.scala │ │ ├── CrossVersionObjectReference.scala │ │ ├── CustomResourceColumnDefinition.scala │ │ ├── CustomResourceConversion.scala │ │ ├── CustomResourceDefinition.scala │ │ ├── CustomResourceDefinitionCondition.scala │ │ ├── CustomResourceDefinitionList.scala │ │ ├── CustomResourceDefinitionNames.scala │ │ ├── CustomResourceDefinitionSpec.scala │ │ ├── CustomResourceDefinitionStatus.scala │ │ ├── CustomResourceDefinitionVersion.scala │ │ ├── CustomResourceSubresourceScale.scala │ │ ├── CustomResourceSubresources.scala │ │ ├── CustomResourceValidation.scala │ │ ├── DaemonEndpoint.scala │ │ ├── DaemonSet.scala │ │ ├── DaemonSetCondition.scala │ │ ├── DaemonSetList.scala │ │ ├── DaemonSetSpec.scala │ │ ├── DaemonSetStatus.scala │ │ ├── DaemonSetUpdateStrategy.scala │ │ ├── DeleteOptions.scala │ │ ├── Deployment.scala │ │ ├── DeploymentCondition.scala │ │ ├── DeploymentList.scala │ │ ├── DeploymentRollback.scala │ │ ├── DeploymentSpec.scala │ │ ├── DeploymentStatus.scala │ │ ├── DeploymentStrategy.scala │ │ ├── DownwardAPIProjection.scala │ │ ├── DownwardAPIVolumeFile.scala │ │ ├── DownwardAPIVolumeSource.scala │ │ ├── EmptyDirVolumeSource.scala │ │ ├── EndpointAddress.scala │ │ ├── EndpointPort.scala │ │ ├── EndpointSubset.scala │ │ ├── Endpoints.scala │ │ ├── EndpointsList.scala │ │ ├── EnvFromSource.scala │ │ ├── EnvVar.scala │ │ ├── EnvVarSource.scala │ │ ├── Event.scala │ │ ├── EventList.scala │ │ ├── EventSeries.scala │ │ ├── EventSource.scala │ │ ├── Eviction.scala │ │ ├── ExecAction.scala │ │ ├── ExternalDocumentation.scala │ │ ├── ExternalMetricSource.scala │ │ ├── ExternalMetricStatus.scala │ │ ├── FCVolumeSource.scala │ │ ├── FSGroupStrategyOptions.scala │ │ ├── FlexPersistentVolumeSource.scala │ │ ├── FlexVolumeSource.scala │ │ ├── FlockerVolumeSource.scala │ │ ├── GCEPersistentDiskVolumeSource.scala │ │ ├── GitRepoVolumeSource.scala │ │ ├── GlusterfsPersistentVolumeSource.scala │ │ ├── GlusterfsVolumeSource.scala │ │ ├── GroupVersionForDiscovery.scala │ │ ├── HTTPGetAction.scala │ │ ├── HTTPHeader.scala │ │ ├── HTTPIngressPath.scala │ │ ├── HTTPIngressRuleValue.scala │ │ ├── Handler.scala │ │ ├── HorizontalPodAutoscaler.scala │ │ ├── HorizontalPodAutoscalerCondition.scala │ │ ├── HorizontalPodAutoscalerList.scala │ │ ├── HorizontalPodAutoscalerSpec.scala │ │ ├── HorizontalPodAutoscalerStatus.scala │ │ ├── HostAlias.scala │ │ ├── HostPathVolumeSource.scala │ │ ├── HostPortRange.scala │ │ ├── IDRange.scala │ │ ├── IPBlock.scala │ │ ├── ISCSIPersistentVolumeSource.scala │ │ ├── ISCSIVolumeSource.scala │ │ ├── Info.scala │ │ ├── Ingress.scala │ │ ├── IngressBackend.scala │ │ ├── IngressList.scala │ │ ├── IngressRule.scala │ │ ├── IngressSpec.scala │ │ ├── IngressStatus.scala │ │ ├── IngressTLS.scala │ │ ├── Initializer.scala │ │ ├── Initializers.scala │ │ ├── JSONSchemaProps.scala │ │ ├── Job.scala │ │ ├── JobCondition.scala │ │ ├── JobList.scala │ │ ├── JobSpec.scala │ │ ├── JobStatus.scala │ │ ├── JobTemplateSpec.scala │ │ ├── KeyToPath.scala │ │ ├── LabelSelector.scala │ │ ├── LabelSelectorRequirement.scala │ │ ├── Lease.scala │ │ ├── LeaseList.scala │ │ ├── LeaseSpec.scala │ │ ├── Lifecycle.scala │ │ ├── LimitRange.scala │ │ ├── LimitRangeItem.scala │ │ ├── LimitRangeList.scala │ │ ├── LimitRangeSpec.scala │ │ ├── ListMeta.scala │ │ ├── LoadBalancerIngress.scala │ │ ├── LoadBalancerStatus.scala │ │ ├── LocalObjectReference.scala │ │ ├── LocalSubjectAccessReview.scala │ │ ├── LocalVolumeSource.scala │ │ ├── ManagedFieldsEntry.scala │ │ ├── MetricIdentifier.scala │ │ ├── MetricSpec.scala │ │ ├── MetricStatus.scala │ │ ├── MetricTarget.scala │ │ ├── MetricValueStatus.scala │ │ ├── MutatingWebhook.scala │ │ ├── MutatingWebhookConfiguration.scala │ │ ├── MutatingWebhookConfigurationList.scala │ │ ├── NFSVolumeSource.scala │ │ ├── Namespace.scala │ │ ├── NamespaceList.scala │ │ ├── NamespaceSpec.scala │ │ ├── NamespaceStatus.scala │ │ ├── NetworkPolicy.scala │ │ ├── NetworkPolicyEgressRule.scala │ │ ├── NetworkPolicyIngressRule.scala │ │ ├── NetworkPolicyList.scala │ │ ├── NetworkPolicyPeer.scala │ │ ├── NetworkPolicyPort.scala │ │ ├── NetworkPolicySpec.scala │ │ ├── Node.scala │ │ ├── NodeAddress.scala │ │ ├── NodeAffinity.scala │ │ ├── NodeCondition.scala │ │ ├── NodeConfigSource.scala │ │ ├── NodeConfigStatus.scala │ │ ├── NodeDaemonEndpoints.scala │ │ ├── NodeList.scala │ │ ├── NodeSelector.scala │ │ ├── NodeSelectorRequirement.scala │ │ ├── NodeSelectorTerm.scala │ │ ├── NodeSpec.scala │ │ ├── NodeStatus.scala │ │ ├── NodeSystemInfo.scala │ │ ├── NonResourceAttributes.scala │ │ ├── NonResourceRule.scala │ │ ├── ObjectFieldSelector.scala │ │ ├── ObjectMeta.scala │ │ ├── ObjectMetricSource.scala │ │ ├── ObjectMetricStatus.scala │ │ ├── ObjectReference.scala │ │ ├── OwnerReference.scala │ │ ├── PersistentVolume.scala │ │ ├── PersistentVolumeClaim.scala │ │ ├── PersistentVolumeClaimCondition.scala │ │ ├── PersistentVolumeClaimList.scala │ │ ├── PersistentVolumeClaimSpec.scala │ │ ├── PersistentVolumeClaimStatus.scala │ │ ├── PersistentVolumeClaimVolumeSource.scala │ │ ├── PersistentVolumeList.scala │ │ ├── PersistentVolumeSpec.scala │ │ ├── PersistentVolumeStatus.scala │ │ ├── PhotonPersistentDiskVolumeSource.scala │ │ ├── Pod.scala │ │ ├── PodAffinity.scala │ │ ├── PodAffinityTerm.scala │ │ ├── PodAntiAffinity.scala │ │ ├── PodCondition.scala │ │ ├── PodDNSConfig.scala │ │ ├── PodDNSConfigOption.scala │ │ ├── PodDisruptionBudget.scala │ │ ├── PodDisruptionBudgetList.scala │ │ ├── PodDisruptionBudgetSpec.scala │ │ ├── PodDisruptionBudgetStatus.scala │ │ ├── PodList.scala │ │ ├── PodPreset.scala │ │ ├── PodPresetList.scala │ │ ├── PodPresetSpec.scala │ │ ├── PodReadinessGate.scala │ │ ├── PodSecurityContext.scala │ │ ├── PodSecurityPolicy.scala │ │ ├── PodSecurityPolicyList.scala │ │ ├── PodSecurityPolicySpec.scala │ │ ├── PodSpec.scala │ │ ├── PodStatus.scala │ │ ├── PodTemplate.scala │ │ ├── PodTemplateList.scala │ │ ├── PodTemplateSpec.scala │ │ ├── PodsMetricSource.scala │ │ ├── PodsMetricStatus.scala │ │ ├── Policy.scala │ │ ├── PolicyRule.scala │ │ ├── PortworxVolumeSource.scala │ │ ├── Preconditions.scala │ │ ├── PreferredSchedulingTerm.scala │ │ ├── PriorityClass.scala │ │ ├── PriorityClassList.scala │ │ ├── Probe.scala │ │ ├── ProjectedVolumeSource.scala │ │ ├── QuobyteVolumeSource.scala │ │ ├── RBDPersistentVolumeSource.scala │ │ ├── RBDVolumeSource.scala │ │ ├── RawExtension.scala │ │ ├── ReplicaSet.scala │ │ ├── ReplicaSetCondition.scala │ │ ├── ReplicaSetList.scala │ │ ├── ReplicaSetSpec.scala │ │ ├── ReplicaSetStatus.scala │ │ ├── ReplicationController.scala │ │ ├── ReplicationControllerCondition.scala │ │ ├── ReplicationControllerList.scala │ │ ├── ReplicationControllerSpec.scala │ │ ├── ReplicationControllerStatus.scala │ │ ├── ResourceAttributes.scala │ │ ├── ResourceFieldSelector.scala │ │ ├── ResourceMetricSource.scala │ │ ├── ResourceMetricStatus.scala │ │ ├── ResourceQuota.scala │ │ ├── ResourceQuotaList.scala │ │ ├── ResourceQuotaSpec.scala │ │ ├── ResourceQuotaStatus.scala │ │ ├── ResourceRequirements.scala │ │ ├── ResourceRule.scala │ │ ├── Role.scala │ │ ├── RoleBinding.scala │ │ ├── RoleBindingList.scala │ │ ├── RoleList.scala │ │ ├── RoleRef.scala │ │ ├── RollbackConfig.scala │ │ ├── RollingUpdateDaemonSet.scala │ │ ├── RollingUpdateDeployment.scala │ │ ├── RollingUpdateStatefulSetStrategy.scala │ │ ├── RuleWithOperations.scala │ │ ├── RunAsGroupStrategyOptions.scala │ │ ├── RunAsUserStrategyOptions.scala │ │ ├── RuntimeClass.scala │ │ ├── RuntimeClassList.scala │ │ ├── RuntimeClassSpec.scala │ │ ├── RuntimeClassStrategyOptions.scala │ │ ├── SELinuxOptions.scala │ │ ├── SELinuxStrategyOptions.scala │ │ ├── Scale.scala │ │ ├── ScaleIOPersistentVolumeSource.scala │ │ ├── ScaleIOVolumeSource.scala │ │ ├── ScaleSpec.scala │ │ ├── ScaleStatus.scala │ │ ├── ScopeSelector.scala │ │ ├── ScopedResourceSelectorRequirement.scala │ │ ├── Secret.scala │ │ ├── SecretEnvSource.scala │ │ ├── SecretKeySelector.scala │ │ ├── SecretList.scala │ │ ├── SecretProjection.scala │ │ ├── SecretReference.scala │ │ ├── SecretVolumeSource.scala │ │ ├── SecurityContext.scala │ │ ├── SelfSubjectAccessReview.scala │ │ ├── SelfSubjectAccessReviewSpec.scala │ │ ├── SelfSubjectRulesReview.scala │ │ ├── SelfSubjectRulesReviewSpec.scala │ │ ├── ServerAddressByClientCIDR.scala │ │ ├── Service.scala │ │ ├── ServiceAccount.scala │ │ ├── ServiceAccountList.scala │ │ ├── ServiceAccountTokenProjection.scala │ │ ├── ServiceList.scala │ │ ├── ServicePort.scala │ │ ├── ServiceReference.scala │ │ ├── ServiceSpec.scala │ │ ├── ServiceStatus.scala │ │ ├── SessionAffinityConfig.scala │ │ ├── StatefulSet.scala │ │ ├── StatefulSetCondition.scala │ │ ├── StatefulSetList.scala │ │ ├── StatefulSetSpec.scala │ │ ├── StatefulSetStatus.scala │ │ ├── StatefulSetUpdateStrategy.scala │ │ ├── Status.scala │ │ ├── StatusCause.scala │ │ ├── StatusDetails.scala │ │ ├── StorageClass.scala │ │ ├── StorageClassList.scala │ │ ├── StorageOSPersistentVolumeSource.scala │ │ ├── StorageOSVolumeSource.scala │ │ ├── Subject.scala │ │ ├── SubjectAccessReview.scala │ │ ├── SubjectAccessReviewSpec.scala │ │ ├── SubjectAccessReviewStatus.scala │ │ ├── SubjectRulesReviewStatus.scala │ │ ├── SupplementalGroupsStrategyOptions.scala │ │ ├── Sysctl.scala │ │ ├── TCPSocketAction.scala │ │ ├── Taint.scala │ │ ├── TokenReview.scala │ │ ├── TokenReviewSpec.scala │ │ ├── TokenReviewStatus.scala │ │ ├── Toleration.scala │ │ ├── TopologySelectorLabelRequirement.scala │ │ ├── TopologySelectorTerm.scala │ │ ├── TypedLocalObjectReference.scala │ │ ├── UserInfo.scala │ │ ├── ValidatingWebhook.scala │ │ ├── ValidatingWebhookConfiguration.scala │ │ ├── ValidatingWebhookConfigurationList.scala │ │ ├── Volume.scala │ │ ├── VolumeAttachment.scala │ │ ├── VolumeAttachmentList.scala │ │ ├── VolumeAttachmentSource.scala │ │ ├── VolumeAttachmentSpec.scala │ │ ├── VolumeAttachmentStatus.scala │ │ ├── VolumeDevice.scala │ │ ├── VolumeError.scala │ │ ├── VolumeMount.scala │ │ ├── VolumeNodeAffinity.scala │ │ ├── VolumeProjection.scala │ │ ├── VsphereVirtualDiskVolumeSource.scala │ │ ├── WatchEvent.scala │ │ ├── Webhook.scala │ │ ├── WebhookClientConfig.scala │ │ ├── WebhookThrottleConfig.scala │ │ ├── WeightedPodAffinityTerm.scala │ │ └── WindowsSecurityContextOptions.scala │ └── test │ └── scala │ └── com │ └── virtuslab │ └── kubernetes │ └── client │ └── custom │ ├── IntOrStringTest.scala │ └── QuantityTest.scala ├── logo-square-400.png ├── logo-square.png ├── openapi └── src │ ├── main │ └── scala │ │ └── com │ │ └── virtuslab │ │ └── iat │ │ ├── json │ │ └── json4s │ │ │ └── jackson │ │ │ └── YamlMethods.scala │ │ └── openapi │ │ ├── DefaultInterpreters.scala │ │ ├── DefaultSubinterpreters.scala │ │ ├── InterpreterOps.scala │ │ ├── JValueMetadataExtractor.scala │ │ ├── JValueProcessors.scala │ │ └── syntax.scala │ └── test │ └── scala │ └── com │ └── virtuslab │ └── iat │ ├── json │ └── json4s.jackson │ │ └── YamlTest.scala │ └── openapitest │ ├── InterpreterTest.scala │ ├── MetadataExtractorTest.scala │ ├── NamespaceInterpreterSpec.scala │ ├── SecretInterpreterSpec.scala │ └── SystemTest.scala ├── project ├── Build.scala ├── build.properties └── plugins.sbt ├── scalatest └── src │ └── test │ └── scala │ └── com │ └── virtuslab │ └── iat │ └── scalatest │ ├── EnsureMatchers.scala │ ├── json4s │ └── jackson │ │ └── JsonMatchers.scala │ └── playjson │ └── JsonMatchers.scala └── skuber └── src ├── main └── scala │ └── com │ └── virtuslab │ └── iat │ └── skuber │ ├── ApiOps.scala │ ├── DefaultDeinterpreters.scala │ ├── DefaultDetails.scala │ ├── DefaultInterpreters.scala │ ├── DefaultSubinterpreters.scala │ ├── InterpreterOps.scala │ ├── PlayJsonProcessors.scala │ ├── SimpleDeployer.scala │ ├── syntax.scala │ └── yaml │ ├── Yaml.scala │ └── jackson │ └── JacksonYaml.scala └── test └── scala └── com └── virtuslab └── iat └── skubertest ├── SkuberComplexExampleSpec.scala ├── SkuberConfigurationInterpreterSpec.scala ├── SkuberConnectionTest.scala ├── SkuberDetailsTest.scala ├── SkuberGKEIngressTest.scala ├── SkuberGatewayInterpreterSpec.scala ├── SkuberGuestBookTest.scala ├── SkuberInterpretersIntegrationSpec.scala ├── SkuberLabelExpressionsTest.scala ├── SkuberMountInterpreterSpec.scala └── SkuberSecretInterpreterSpec.scala /.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | *.log 3 | 4 | dist/* 5 | target/ 6 | lib_managed/ 7 | src_managed/ 8 | project/boot/ 9 | project/plugins/project/ 10 | .history 11 | .cache 12 | .lib/ 13 | 14 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm 15 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 16 | 17 | # User-specific stuff 18 | .idea/ 19 | 20 | # File-based project format 21 | *.iws 22 | 23 | # IntelliJ 24 | out/ 25 | 26 | # mpeltonen/sbt-idea plugin 27 | .idea_modules/ 28 | 29 | # JIRA plugin 30 | atlassian-ide-plugin.xml 31 | 32 | 33 | # Crashlytics plugin (for Android Studio and IntelliJ) 34 | com_crashlytics_export_strings.xml 35 | crashlytics.properties 36 | crashlytics-build.properties 37 | fabric.properties 38 | -------------------------------------------------------------------------------- /.scalafmt.conf: -------------------------------------------------------------------------------- 1 | version=2.2.1 2 | 3 | maxColumn = 130 4 | 5 | continuationIndent.callSite = 2 6 | continuationIndent.defnSite = 4 7 | continuationIndent.extendSite = 2 8 | 9 | align = more 10 | align.openParenCallSite = true 11 | align.openParenDefnSite = true 12 | 13 | verticalMultiline.atDefnSite = true 14 | verticalMultiline.arityThreshold = 3 15 | verticalMultiline.newlineAfterOpenParen = true 16 | verticalMultiline.newlineAfterImplicitKW = true 17 | verticalAlignMultilineOperators = false 18 | 19 | rewrite.rules = [SortModifiers, SortImports] 20 | 21 | newlines.sometimesBeforeColonInMethodReturnType = true 22 | newlines.neverInResultType = true 23 | 24 | spaces.inImportCurlyBraces = true 25 | 26 | importSelectors = singleLine 27 | lineEndings = preserve 28 | -------------------------------------------------------------------------------- /EXAMPLES.md: -------------------------------------------------------------------------------- 1 | # How to run example 2 | 3 | ## Requirements 4 | 5 | List of required software: 6 | * [SBT](https://www.scala-sbt.org/) 7 | * [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) 8 | * [Minikube](https://kubernetes.io/docs/setup/learning-environment/minikube/) 9 | 10 | ## Steps 11 | 12 | 1. Start minikube cluster. If you want to run cluster with network policy functionality enabled: 13 | ```shell script 14 | $ minikube start --network-plugin=cni --enable-default-cni 15 | ``` 16 | or without network policy: 17 | ```shell script 18 | $ minikube start 19 | ``` 20 | 2. In the main directory type run command: 21 | ```shell script 22 | $ export IAT_KUBE_CONTEXT='minikube' 23 | $ sbt "examples/runMain com.virtuslab.iat.examples.GuestBook" 24 | ``` 25 | 3. Inspect if all pods are in `Running` state: 26 | ```shell script 27 | $ kubectl get po -n guestbook 28 | ``` 29 | 4. Get frontend URL from minikube: 30 | ```shell script 31 | $ minikube service -n guestbook frontend --url 32 | ``` -------------------------------------------------------------------------------- /core/src/main/scala/com/virtuslab/iat/dsl/Containerized.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.dsl 2 | 3 | import com.virtuslab.iat.dsl.Protocol.HasPort 4 | 5 | trait Containerized { 6 | def containers: List[Containerized.Container] 7 | } 8 | 9 | object Containerized { 10 | trait Container extends Named with Labeled with Patchable[Container] { 11 | def labels: List[Label] 12 | def image: String 13 | def command: List[String] 14 | def args: List[String] 15 | def envs: List[(String, String)] 16 | def ports: List[HasPort] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /core/src/main/scala/com/virtuslab/iat/dsl/Identity.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.dsl 2 | 3 | trait Identity 4 | object Identity { 5 | sealed trait Any extends Identity 6 | case object Any extends Any 7 | } 8 | 9 | trait Identities { 10 | def identities: Set[Identity] 11 | def merge(other: Identities): Identities = Identities.Some(identities ++ other.identities) 12 | } 13 | 14 | object Identities { 15 | sealed trait Any extends Identities 16 | case object Any extends Any { 17 | def identities: Set[Identity] = Set(Identity.Any) 18 | } 19 | sealed trait None extends Identities 20 | case object None extends None { 21 | override def identities: Set[Identity] = Set() 22 | } 23 | case class Some(identities: Set[Identity]) extends Identities 24 | 25 | def apply(identities: Set[Identity]): Identities = Some(identities) 26 | def apply(identities: Identity*): Identities = Some(identities.toSet) 27 | } 28 | -------------------------------------------------------------------------------- /core/src/main/scala/com/virtuslab/iat/dsl/KeyValue.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.dsl 2 | 3 | trait KeyValue extends Labeled { 4 | def data: Map[String, String] 5 | } 6 | -------------------------------------------------------------------------------- /core/src/main/scala/com/virtuslab/iat/dsl/Traits.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.dsl 2 | 3 | import com.virtuslab.iat.dsl.Label.Name 4 | 5 | trait Named { self: Labeled => 6 | def name: String = labels.collectFirst { case Name(v) => v }.getOrElse("") // TODO, make it compile time 7 | } 8 | 9 | trait Labeled { 10 | def labels: List[Label] 11 | } 12 | 13 | trait Patchable[A] { self: A => 14 | def patch(f: A => A): A = f(self) 15 | } 16 | 17 | trait Interpretable[A] extends Reference[A] { self: A => 18 | } 19 | 20 | trait Reference[A] { self: A => 21 | def reference: A = self 22 | } 23 | -------------------------------------------------------------------------------- /core/src/main/scala/com/virtuslab/iat/kubernetes/dsl/ClusterDNS.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.kubernetes.dsl 2 | 3 | import com.virtuslab.iat.dsl.{ Identity, Named, Peer } 4 | import com.virtuslab.iat.kubernetes.dsl.ClusterDNS.defaultClusterDomain 5 | 6 | case class ClusterDNS( 7 | name: String, 8 | namespace: String, 9 | clusterDomain: String = defaultClusterDomain) 10 | extends Identity { 11 | def host = s"$name.$namespace.$clusterDomain" 12 | } 13 | 14 | case class PartialClusterDNS(name: String, clusterDomain: String = defaultClusterDomain) extends Identity { 15 | def withNamespace(ns: Namespace): ClusterDNS = ClusterDNS( 16 | name = this.name, 17 | namespace = ns.name, 18 | clusterDomain = this.clusterDomain 19 | ) 20 | } 21 | 22 | object ClusterDNS { 23 | val defaultClusterDomain = "svc.cluster.local." 24 | def apply[A <: Peer[A]](namedPeer: Named with Peer[A]): PartialClusterDNS = PartialClusterDNS(namedPeer.name) 25 | } 26 | -------------------------------------------------------------------------------- /core/src/main/scala/com/virtuslab/iat/kubernetes/dsl/Configuration.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.kubernetes.dsl 2 | 3 | import com.virtuslab.iat.dsl._ 4 | 5 | case class Configuration(labels: List[Label], data: Map[String, String]) 6 | extends Named 7 | with Labeled 8 | with KeyValue 9 | with Patchable[Configuration] 10 | with Interpretable[Configuration] 11 | -------------------------------------------------------------------------------- /core/src/main/scala/com/virtuslab/iat/kubernetes/dsl/Gateway.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.kubernetes.dsl 2 | 3 | import com.virtuslab.iat.dsl._ 4 | import com.virtuslab.iat.dsl.Label.ops._ 5 | 6 | case class Gateway( 7 | labels: List[Label], 8 | inputs: Protocols = Protocols.Any, 9 | outputs: Protocols = Protocols.None) 10 | extends Named 11 | with Labeled 12 | with Patchable[Gateway] 13 | with Interpretable[Gateway] 14 | with Peer[Gateway] { 15 | override def expressions: Expressions = Expressions(labels.asExpressions.toSet) 16 | override def identities: Identities = Identities.Any 17 | override def protocols: Protocols = inputs 18 | } 19 | -------------------------------------------------------------------------------- /core/src/main/scala/com/virtuslab/iat/kubernetes/dsl/Mounts.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.kubernetes.dsl 2 | 3 | import java.nio.file.Path 4 | 5 | import com.virtuslab.iat.dsl.KeyValue 6 | 7 | trait Mount { 8 | def name: String 9 | def mountPath: Path 10 | } 11 | 12 | // FIXME not sure this is the right approach, feels unnecessary any heavy 13 | final case class KeyValueMount[S]( 14 | name: String, 15 | mountPath: Path, 16 | key: String, 17 | readOnly: Boolean, 18 | source: S) 19 | extends Mount 20 | 21 | trait Mounts { 22 | def mounts: List[Mount] 23 | } 24 | 25 | object Mountable { 26 | trait MountSource[A, S] { 27 | def source(obj: A): S 28 | } 29 | 30 | trait KeyValueMountableOps[A <: KeyValue] { 31 | def obj: A 32 | def mount[S]( 33 | name: String, 34 | path: Path, 35 | key: String = "", 36 | readOnly: Boolean = true 37 | )(implicit 38 | mountSource: MountSource[A, S] 39 | ): Mount = { 40 | KeyValueMount( 41 | name = name, 42 | key = key, 43 | mountPath = path, 44 | readOnly = readOnly, 45 | source = mountSource.source(obj) 46 | ) 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /core/src/main/scala/com/virtuslab/iat/kubernetes/dsl/Namespace.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.kubernetes.dsl 2 | 3 | import com.virtuslab.iat.dsl._ 4 | import com.virtuslab.iat.dsl.Label.ops._ 5 | 6 | case class Namespace(labels: List[Label]) 7 | extends Named 8 | with Labeled 9 | with Patchable[Namespace] 10 | with Interpretable[Namespace] 11 | with Peer[Namespace] { 12 | override def expressions: Expressions = Expressions(labels.asExpressions.toSet) 13 | override def protocols: Protocols = Protocols.Any 14 | override def identities: Identities = Identities.Any 15 | } 16 | 17 | object Namespace { 18 | case class IsNamespace(selection: Selection[Namespace]) 19 | import scala.language.implicitConversions 20 | implicit def proofIsNamespace(s: Selection[Namespace]): IsNamespace = IsNamespace(s) 21 | } 22 | -------------------------------------------------------------------------------- /core/src/main/scala/com/virtuslab/iat/kubernetes/dsl/Secret.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.kubernetes.dsl 2 | 3 | import com.virtuslab.iat.dsl._ 4 | 5 | case class Secret(labels: List[Label], data: Map[String, String]) 6 | extends Named 7 | with Labeled 8 | with KeyValue 9 | with Patchable[Secret] 10 | with Interpretable[Secret] 11 | 12 | object Secret { 13 | object ops { 14 | import java.nio.charset.StandardCharsets 15 | import java.util.Base64 16 | 17 | def base64encode(value: String): Array[Byte] = { 18 | val bytes = value.getBytes(StandardCharsets.UTF_8) 19 | Base64.getEncoder.encode(bytes) 20 | } 21 | 22 | def base64decode(value: Array[Byte]): String = { 23 | val bytes = Base64.getDecoder.decode(value) 24 | new String(bytes, StandardCharsets.UTF_8) 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /core/src/main/scala/com/virtuslab/iat/kubernetes/dsl/Storage.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.kubernetes.dsl 2 | 3 | sealed trait Storage 4 | final case class EphemeralStorage() extends Storage 5 | 6 | object PersistentStorage { 7 | final case class Config() 8 | } 9 | final case class PersistentStorage() extends Storage 10 | -------------------------------------------------------------------------------- /core/src/main/scala/com/virtuslab/iat/kubernetes/dsl/Validation.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.kubernetes.dsl 2 | 3 | object Validation { 4 | // From Kubernetes: 5 | // https://github.com/kubernetes/kubernetes/blob/v1.18.0-rc.1/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go 6 | import scala.util.matching.Regex 7 | 8 | val qualifiedNameCharFmt: String = "[A-Za-z0-9]" 9 | val qualifiedNameExtCharFmt: String = "[-A-Za-z0-9_.]" 10 | val qualifiedNameFmt: String = "(" + qualifiedNameCharFmt + qualifiedNameExtCharFmt + "*)?" + qualifiedNameCharFmt 11 | val qualifiedNameMaxLength: Int = 63 12 | 13 | val qualifiedNameRegexp: Regex = ("^" + qualifiedNameFmt + "$").r 14 | 15 | def IsQualifiedName(value: String): (Boolean, String) = { 16 | if (value.length == 0) { 17 | (false, "value is empty") 18 | } else if (value.length > qualifiedNameMaxLength) { 19 | (false, s"value length exceeds $qualifiedNameMaxLength characters") 20 | } else if (!qualifiedNameRegexp.pattern.matcher(value).matches()) { 21 | (false, s"value doesn not match pattern '$qualifiedNameRegexp'") 22 | } else { 23 | (true, "") 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /core/src/main/scala/com/virtuslab/iat/kubernetes/dsl/ops.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.kubernetes.dsl 2 | 3 | import com.virtuslab.iat.dsl.KeyValue 4 | import com.virtuslab.iat.kubernetes.dsl.Mountable.KeyValueMountableOps 5 | 6 | object ops { 7 | implicit class AKeyValueMountableOps[A <: KeyValue](val obj: A) extends KeyValueMountableOps[A] 8 | } 9 | 10 | object experimental { 11 | import com.virtuslab.iat.dsl.Interpretable 12 | 13 | implicit class NamespacedOps[A <: Interpretable[A]](obj: Interpretable[A]) { 14 | def inNamespace(ns: Namespace): (A, Namespace) = (obj.reference, ns) 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /core/src/main/scala/com/virtuslab/iat/kubernetes/meta/Metadata.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.kubernetes.meta 2 | 3 | case class Metadata( 4 | apiVersion: String, 5 | kind: String, 6 | namespace: String, 7 | name: String) { 8 | override def toString: String = (apiVersion, kind, namespace, name).toString() 9 | } 10 | -------------------------------------------------------------------------------- /core/src/main/scala/com/virtuslab/iat/scala/TupleOps.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.scala 2 | 3 | trait TupleOps { 4 | import function.ops._ 5 | 6 | implicit class TupleOps1[A1](t: Tuple1[A1]) { 7 | def map[B1](f1: A1 => B1): Tuple1[B1] = Tuple1(f1(t.untupled)) 8 | def reduce[B](f: A1 => B): B = f(t.untupled) 9 | def untupled: A1 = t._1 10 | def append[A2](a2: A2): (A1, A2) = (t._1, a2) 11 | } 12 | 13 | implicit class TupleOps2[A1, A2](t: (A1, A2)) { 14 | def map[B1, B2](f1: A1 => B1, f2: A2 => B2): (B1, B2) = map(f1.merge(f2)) 15 | def map[B1, B2](f1: (A1, A2) => (B1, B2)): (B1, B2) = f1.tupled(t) 16 | def map[B1, B2](f1: ((A1, A2)) => (B1, B2)): (B1, B2) = f1(t) 17 | def map[B1, B2](fs: (A1 => B1, A2 => B2)): (B1, B2) = map(fs._1.merge(fs._2)) 18 | 19 | def map[B1]( 20 | f1: A1 => B1 21 | )(implicit 22 | d: DummyImplicit // polymorphism hack 23 | ): (B1, A2) = (f1(t._1), t._2) 24 | def map[B2]( 25 | f2: A2 => B2 26 | )(implicit 27 | d1: DummyImplicit, 28 | d2: DummyImplicit // polymorphism hack 29 | ): (A1, B2) = (t._1, f2(t._2)) 30 | 31 | def reduce[B](f: (A1, A2) => B): B = f.tupled(t) 32 | def reduce[B](f: ((A1, A2)) => B): B = f(t) 33 | 34 | def append[A3](a3: A3): (A1, A2, A3) = (t._1, t._2, a3) 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /core/src/main/scala/com/virtuslab/iat/scala/UnitOps.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.scala 2 | 3 | trait UnitOps { 4 | implicit class UnitCastOps(self: Any) { 5 | 6 | /** Explicit cast to Unit to avoid wartremover:NonUnitStatements when discarding a non-Unit value is intended 7 | * (typically when calling side-effecting methods from Java APIs). */ 8 | def toUnit(): Unit = () 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /core/src/main/scala/com/virtuslab/iat/scala/ops.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.scala 2 | 3 | object function { 4 | object ops extends FunctionOps 5 | } 6 | 7 | object tuple { 8 | object ops extends TupleOps 9 | } 10 | 11 | object unit { 12 | object ops extends UnitOps 13 | } 14 | 15 | object ops extends TupleOps with FunctionOps 16 | -------------------------------------------------------------------------------- /hacks/.gitignore: -------------------------------------------------------------------------------- 1 | openapi-generator-cli.jar 2 | swagger.json 3 | *.log 4 | *.unprocessed -------------------------------------------------------------------------------- /hacks/USAGE.md: -------------------------------------------------------------------------------- 1 | # Hacks 2 | 3 | To download the generator JAR: 4 | ```bash 5 | wget -O openapi-generator-cli.jar https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/4.3.0/openapi-generator-cli-4.3.0.jar 6 | ``` 7 | 8 | To use a snapshot: 9 | ```bash 10 | wget -O openapi-generator-cli.jar https://oss.sonatype.org/content/repositories/snapshots/org/openapitools/openapi-generator-cli/4.3.1-SNAPSHOT/openapi-generator-cli-4.3.1-20200410.073949-59.jar 11 | ``` 12 | 13 | To download extra OpenAPI spec from the `kubernetes-client/gen` repo: 14 | ```bash 15 | wget https://raw.githubusercontent.com/kubernetes-client/gen/master/openapi/custom_objects_spec.json 16 | ``` 17 | 18 | To generate the API: 19 | ```bash 20 | ./generate.sh 21 | ``` 22 | 23 | To interact with the generator: 24 | ```bash 25 | java -jar openapi-generator-cli.jar help 26 | java -jar openapi-generator-cli.jar config-help -g scala-sttp 27 | ``` 28 | -------------------------------------------------------------------------------- /hacks/generate.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | set -o errexit 4 | set -o nounset 5 | 6 | # Download the swagger.json and pre-process 7 | python preprocess_spec.py scala v1.15.10 swagger.json kubernetes kubernetes | tee preprocess.log 8 | 9 | # Cleanup already generated stuff 10 | rm -rf ../kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi 11 | rm -rf ../kubernetes/src/main/scala/org/openapitools/client 12 | 13 | # Run the generator 14 | java -jar openapi-generator-cli.jar generate \ 15 | --config scala-sttp.yaml \ 16 | --generator-name scala-sttp \ 17 | --input-spec swagger.json \ 18 | --skip-validate-spec \ 19 | --git-user-id VirtusLab \ 20 | --git-repo-id kubernetes-client-scala \ 21 | --artifact-id kubernetes-client-scala \ 22 | --group-id com.virtuslab \ 23 | --output ../kubernetes 2>&1 | tee generate.log 24 | -------------------------------------------------------------------------------- /kubernetes/.openapi-generator-ignore: -------------------------------------------------------------------------------- 1 | # OpenAPI Generator Ignore 2 | # Generated by openapi-generator https://github.com/openapitools/openapi-generator 3 | 4 | # Use this file to prevent files from being overwritten by the generator. 5 | # The patterns follow closely to .gitignore or .dockerignore. 6 | 7 | # As an example, the C# client generator defines ApiClient.cs. 8 | # You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: 9 | #ApiClient.cs 10 | 11 | # You can match any string of characters against a directory, file or extension with a single asterisk (*): 12 | #foo/*/qux 13 | # The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux 14 | 15 | # You can recursively match patterns against a directory, file or extension with a double asterisk (**): 16 | #foo/**/qux 17 | # This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux 18 | 19 | # You can also negate patterns with an exclamation (!). 20 | # For example, you can ignore all files in a docs folder with the file extension .md: 21 | #docs/*.md 22 | # Then explicitly reverse the ignore rule for a single file: 23 | #!docs/README.md 24 | 25 | build.sbt 26 | pom.xml 27 | project/ -------------------------------------------------------------------------------- /kubernetes/.openapi-generator/VERSION: -------------------------------------------------------------------------------- 1 | 4.3.1-SNAPSHOT -------------------------------------------------------------------------------- /kubernetes/src/main/resources/reference.conf: -------------------------------------------------------------------------------- 1 | com.virtuslab.kubernetes.client.openapi { 2 | 3 | apiRequest { 4 | 5 | compression { 6 | enabled: false 7 | size-threshold: 0 8 | } 9 | 10 | trust-certificates: true 11 | 12 | connection-timeout: 5000ms 13 | 14 | default-headers { 15 | "userAgent": "kubernetes-client-scala_1.0.0" 16 | } 17 | 18 | // let you define custom http status code, as in : 19 | // { code: 601, reason: "some custom http status code", success: false } 20 | custom-codes : [] 21 | } 22 | } 23 | 24 | spray.can.host-connector.max-redirects = 10 -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/custom/B64Encoded.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.kubernetes.client.custom 2 | 3 | import java.util.Base64 4 | 5 | import org.json4s.CustomSerializer 6 | import org.json4s.JsonAST.JString 7 | 8 | case class B64Encoded private (value: String) extends AnyVal 9 | 10 | object B64Encoded { 11 | def apply(str: String): B64Encoded = { 12 | new B64Encoded(new String(Base64.getEncoder.encode(str.getBytes))) 13 | } 14 | 15 | val json4sCustomSerializer = new CustomSerializer[B64Encoded]( 16 | _ => 17 | ({ 18 | case JString(str) => B64Encoded(str) 19 | }, { 20 | case B64Encoded(value) => JString(value) 21 | }) 22 | ) 23 | } 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/custom/IntOrString.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.kubernetes.client.custom 2 | 3 | case class IntOrString(value: Either[Int, String]) { 4 | def isInt: Boolean = value.isLeft 5 | def int: Int = if (!isInt) throw new IllegalStateException("Not an integer") else value.swap.getOrElse(-1) 6 | def string: String = if (isInt) throw new IllegalStateException("Not a string") else value.getOrElse("") 7 | } 8 | 9 | object IntOrString { 10 | def apply(int: Int): IntOrString = new IntOrString(Left(int)) 11 | def apply(string: String): IntOrString = new IntOrString(Right(string)) 12 | 13 | import org.json4s.CustomSerializer 14 | import org.json4s.JsonAST._ 15 | 16 | @SuppressWarnings(Array("org.wartremover.warts.Null")) 17 | case object Serializer 18 | extends CustomSerializer[IntOrString]( 19 | _ => 20 | ({ 21 | case JInt(i) => IntOrString(Left(i.intValue)) 22 | case JString(s) => IntOrString(Right(s)) 23 | case JNull => null 24 | }, { 25 | case IntOrString(Left(i)) => JInt(i) 26 | case IntOrString(Right(s)) => JString(s) 27 | }) 28 | ) 29 | } 30 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/custom/package.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.kubernetes.client 2 | 3 | package object custom { 4 | type ArrayByte = Array[Byte] 5 | } 6 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/APIServiceCondition.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import java.time.OffsetDateTime 15 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 16 | 17 | /** 18 | * APIServiceCondition describes the state of an APIService at a particular point 19 | */ 20 | case class APIServiceCondition( 21 | /* Last time the condition transitioned from one status to another. */ 22 | lastTransitionTime: Option[OffsetDateTime] = None, 23 | /* Human-readable message indicating details about last transition. */ 24 | message: Option[String] = None, 25 | /* Unique, one-word, CamelCase reason for the condition's last transition. */ 26 | reason: Option[String] = None, 27 | /* Status is the status of the condition. Can be True, False, Unknown. */ 28 | status: String, 29 | /* Type is the type of the condition. */ 30 | `type`: String) 31 | extends ApiModel 32 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/APIServiceStatus.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * APIServiceStatus contains derived information about an API server 18 | */ 19 | case class APIServiceStatus( 20 | /* Current service state of apiService. */ 21 | conditions: Option[Seq[APIServiceCondition]] = None) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/Affinity.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Affinity is a group of affinity scheduling rules. 18 | */ 19 | case class Affinity( 20 | nodeAffinity: Option[NodeAffinity] = None, 21 | podAffinity: Option[PodAffinity] = None, 22 | podAntiAffinity: Option[PodAntiAffinity] = None) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/AggregationRule.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * AggregationRule describes how to locate ClusterRoles to aggregate into the ClusterRole 18 | */ 19 | case class AggregationRule( 20 | /* ClusterRoleSelectors holds a list of selectors which will be used to find ClusterRoles and create the rules. If any of the selectors match, then the ClusterRole's permissions will be added */ 21 | clusterRoleSelectors: Option[Seq[LabelSelector]] = None) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/AllowedCSIDriver.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * AllowedCSIDriver represents a single inline CSI Driver that is allowed to be used. 18 | */ 19 | case class AllowedCSIDriver( 20 | /* Name is the registered name of the CSI driver */ 21 | name: String) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/AllowedFlexVolume.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * AllowedFlexVolume represents a single Flexvolume that is allowed to be used. 18 | */ 19 | case class AllowedFlexVolume( 20 | /* driver is the name of the Flexvolume driver. */ 21 | driver: String) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/AllowedHostPath.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * AllowedHostPath defines the host volume conditions that will be enabled by a policy for pods to use. It requires the path prefix to be defined. 18 | */ 19 | case class AllowedHostPath( 20 | /* pathPrefix is the path prefix that the host volume must match. It does not support `*`. Trailing slashes are trimmed when validating the path prefix with a host path. Examples: `/foo` would allow `/foo`, `/foo/` and `/foo/bar` `/foo` would not allow `/food` or `/etc/foo` */ 21 | pathPrefix: Option[String] = None, 22 | /* when set to true, will allow host volumes matching the pathPrefix only if all volume mounts are readOnly. */ 23 | readOnly: Option[Boolean] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/AttachedVolume.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * AttachedVolume describes a volume attached to a node 18 | */ 19 | case class AttachedVolume( 20 | /* DevicePath represents the device path where the volume should be available */ 21 | devicePath: String, 22 | /* Name of the attached volume */ 23 | name: String) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/AuditSinkSpec.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * AuditSinkSpec holds the spec for the audit sink 18 | */ 19 | case class AuditSinkSpec(policy: Policy, webhook: Webhook) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/AzureFilePersistentVolumeSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * AzureFile represents an Azure File Service mount on the host and bind mount to the pod. 18 | */ 19 | case class AzureFilePersistentVolumeSource( 20 | /* Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. */ 21 | readOnly: Option[Boolean] = None, 22 | /* the name of secret that contains Azure Storage Account Name and Key */ 23 | secretName: String, 24 | /* the namespace of the secret that contains Azure Storage Account Name and Key default is the same as the Pod */ 25 | secretNamespace: Option[String] = None, 26 | /* Share Name */ 27 | shareName: String) 28 | extends ApiModel 29 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/AzureFileVolumeSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * AzureFile represents an Azure File Service mount on the host and bind mount to the pod. 18 | */ 19 | case class AzureFileVolumeSource( 20 | /* Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. */ 21 | readOnly: Option[Boolean] = None, 22 | /* the name of secret that contains Azure Storage Account Name and Key */ 23 | secretName: String, 24 | /* Share Name */ 25 | shareName: String) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/CSINodeSpec.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * CSINodeSpec holds information about the specification of all CSI drivers installed on a node 18 | */ 19 | case class CSINodeSpec( 20 | /* drivers is a list of information of all CSI Drivers existing on a node. If all drivers in the list are uninstalled, this can become empty. */ 21 | drivers: Seq[CSINodeDriver]) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/Capabilities.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Adds and removes POSIX capabilities from running containers. 18 | */ 19 | case class Capabilities( 20 | /* Added capabilities */ 21 | add: Option[Seq[String]] = None, 22 | /* Removed capabilities */ 23 | drop: Option[Seq[String]] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/CertificateSigningRequestCondition.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import java.time.OffsetDateTime 15 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 16 | 17 | case class CertificateSigningRequestCondition( 18 | /* timestamp for the last update to this condition */ 19 | lastUpdateTime: Option[OffsetDateTime] = None, 20 | /* human readable message with details about the request state */ 21 | message: Option[String] = None, 22 | /* brief reason for the request state */ 23 | reason: Option[String] = None, 24 | /* request approval state, currently Approved or Denied. */ 25 | `type`: String) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/CertificateSigningRequestStatus.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.custom.B64Encoded 15 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 16 | 17 | case class CertificateSigningRequestStatus( 18 | /* If request was approved, the controller will place the issued certificate here. */ 19 | certificate: Option[B64Encoded] = None, 20 | /* Conditions applied to the request, such as approval or denial. */ 21 | conditions: Option[Seq[CertificateSigningRequestCondition]] = None) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ClientIPConfig.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ClientIPConfig represents the configurations of Client IP based session affinity. 18 | */ 19 | case class ClientIPConfig( 20 | /* timeoutSeconds specifies the seconds of ClientIP type session sticky time. The value must be >0 && <=86400(for 1 day) if ServiceAffinity == \"ClientIP\". Default value is 10800(for 3 hours). */ 21 | timeoutSeconds: Option[Int] = None) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ComponentCondition.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Information about the condition of a component. 18 | */ 19 | case class ComponentCondition( 20 | /* Condition error code for a component. For example, a health check error code. */ 21 | error: Option[String] = None, 22 | /* Message about the condition for a component. For example, information about a health check. */ 23 | message: Option[String] = None, 24 | /* Status of the condition for a component. Valid values for \"Healthy\": \"True\", \"False\", or \"Unknown\". */ 25 | status: String, 26 | /* Type of condition for a component. Valid value: \"Healthy\" */ 27 | `type`: String) 28 | extends ApiModel 29 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ConfigMapEnvSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables. 18 | */ 19 | case class ConfigMapEnvSource( 20 | /* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ 21 | name: Option[String] = None, 22 | /* Specify whether the ConfigMap must be defined */ 23 | optional: Option[Boolean] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ConfigMapKeySelector.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Selects a key from a ConfigMap. 18 | */ 19 | case class ConfigMapKeySelector( 20 | /* The key to select. */ 21 | key: String, 22 | /* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ 23 | name: Option[String] = None, 24 | /* Specify whether the ConfigMap or its key must be defined */ 25 | optional: Option[Boolean] = None) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ContainerImage.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Describe a container image 18 | */ 19 | case class ContainerImage( 20 | /* Names by which this image is known. e.g. [\"k8s.gcr.io/hyperkube:v1.0.7\", \"dockerhub.io/google_containers/hyperkube:v1.0.7\"] */ 21 | names: Seq[String], 22 | /* The size of the image in bytes. */ 23 | sizeBytes: Option[Long] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ContainerState.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ContainerState holds a possible state of container. Only one of its members may be specified. If none of them is specified, the default one is ContainerStateWaiting. 18 | */ 19 | case class ContainerState( 20 | running: Option[ContainerStateRunning] = None, 21 | terminated: Option[ContainerStateTerminated] = None, 22 | waiting: Option[ContainerStateWaiting] = None) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ContainerStateRunning.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import java.time.OffsetDateTime 15 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 16 | 17 | /** 18 | * ContainerStateRunning is a running state of a container. 19 | */ 20 | case class ContainerStateRunning( 21 | /* Time at which the container was last (re-)started */ 22 | startedAt: Option[OffsetDateTime] = None) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ContainerStateWaiting.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ContainerStateWaiting is a waiting state of a container. 18 | */ 19 | case class ContainerStateWaiting( 20 | /* Message regarding why the container is not yet running. */ 21 | message: Option[String] = None, 22 | /* (brief) reason the container is not yet running. */ 23 | reason: Option[String] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/CronJobStatus.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import java.time.OffsetDateTime 15 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 16 | 17 | /** 18 | * CronJobStatus represents the current state of a cron job. 19 | */ 20 | case class CronJobStatus( 21 | /* A list of pointers to currently running jobs. */ 22 | active: Option[Seq[ObjectReference]] = None, 23 | /* Information when was the last time the job was successfully scheduled. */ 24 | lastScheduleTime: Option[OffsetDateTime] = None) 25 | extends ApiModel 26 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/CrossVersionObjectReference.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * CrossVersionObjectReference contains enough information to let you identify the referred resource. 18 | */ 19 | case class CrossVersionObjectReference( 20 | /* API version of the referent */ 21 | apiVersion: Option[String] = None, 22 | /* Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds\" */ 23 | kind: String, 24 | /* Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names */ 25 | name: String) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/CustomResourceSubresources.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import org.json4s.JObject 15 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 16 | 17 | /** 18 | * CustomResourceSubresources defines the status and scale subresources for CustomResources. 19 | */ 20 | case class CustomResourceSubresources( 21 | scale: Option[CustomResourceSubresourceScale] = None, 22 | /* Status denotes the status subresource for CustomResources */ 23 | status: Option[JObject] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/CustomResourceValidation.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * CustomResourceValidation is a list of validation methods for CustomResources. 18 | */ 19 | case class CustomResourceValidation(openAPIV3Schema: Option[JSONSchemaProps] = None) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/DaemonEndpoint.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * DaemonEndpoint contains information about a single Daemon endpoint. 18 | */ 19 | case class DaemonEndpoint( 20 | /* Port number of the given endpoint. */ 21 | port: Int) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/DaemonSetCondition.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import java.time.OffsetDateTime 15 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 16 | 17 | /** 18 | * DaemonSetCondition describes the state of a DaemonSet at a certain point. 19 | */ 20 | case class DaemonSetCondition( 21 | /* Last time the condition transitioned from one status to another. */ 22 | lastTransitionTime: Option[OffsetDateTime] = None, 23 | /* A human readable message indicating details about the transition. */ 24 | message: Option[String] = None, 25 | /* The reason for the condition's last transition. */ 26 | reason: Option[String] = None, 27 | /* Status of the condition, one of True, False, Unknown. */ 28 | status: String, 29 | /* Type of DaemonSet condition. */ 30 | `type`: String) 31 | extends ApiModel 32 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/DaemonSetUpdateStrategy.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | case class DaemonSetUpdateStrategy( 17 | rollingUpdate: Option[RollingUpdateDaemonSet] = None, 18 | /* Type of daemon set update. Can be \"RollingUpdate\" or \"OnDelete\". Default is OnDelete. */ 19 | `type`: Option[String] = None) 20 | extends ApiModel 21 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/DeploymentStrategy.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * DeploymentStrategy describes how to replace existing pods with new ones. 18 | */ 19 | case class DeploymentStrategy( 20 | rollingUpdate: Option[RollingUpdateDeployment] = None, 21 | /* Type of deployment. Can be \"Recreate\" or \"RollingUpdate\". Default is RollingUpdate. */ 22 | `type`: Option[String] = None) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/DownwardAPIProjection.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode. 18 | */ 19 | case class DownwardAPIProjection( 20 | /* Items is a list of DownwardAPIVolume file */ 21 | items: Option[Seq[DownwardAPIVolumeFile]] = None) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/DownwardAPIVolumeSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * DownwardAPIVolumeSource represents a volume containing downward API info. Downward API volumes support ownership management and SELinux relabeling. 18 | */ 19 | case class DownwardAPIVolumeSource( 20 | /* Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. */ 21 | defaultMode: Option[Int] = None, 22 | /* Items is a list of downward API volume file */ 23 | items: Option[Seq[DownwardAPIVolumeFile]] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/EndpointAddress.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * EndpointAddress is a tuple that describes single IP address. 18 | */ 19 | case class EndpointAddress( 20 | /* The Hostname of this endpoint */ 21 | hostname: Option[String] = None, 22 | /* The IP of this endpoint. May not be loopback (127.0.0.0/8), link-local (169.254.0.0/16), or link-local multicast ((224.0.0.0/24). IPv6 is also accepted but not fully supported on all platforms. Also, certain kubernetes components, like kube-proxy, are not IPv6 ready. */ 23 | ip: String, 24 | /* Optional: Node hosting this endpoint. This can be used to determine endpoints local to a node. */ 25 | nodeName: Option[String] = None, 26 | targetRef: Option[ObjectReference] = None) 27 | extends ApiModel 28 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/EndpointPort.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * EndpointPort is a tuple that describes a single port. 18 | */ 19 | case class EndpointPort( 20 | /* The name of this port (corresponds to ServicePort.Name). Must be a DNS_LABEL. Optional only if one port is defined. */ 21 | name: Option[String] = None, 22 | /* The port number of the endpoint. */ 23 | port: Int, 24 | /* The IP protocol for this port. Must be UDP, TCP, or SCTP. Default is TCP. */ 25 | protocol: Option[String] = None) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/EnvFromSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * EnvFromSource represents the source of a set of ConfigMaps 18 | */ 19 | case class EnvFromSource( 20 | configMapRef: Option[ConfigMapEnvSource] = None, 21 | /* An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. */ 22 | prefix: Option[String] = None, 23 | secretRef: Option[SecretEnvSource] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/EnvVar.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * EnvVar represents an environment variable present in a Container. 18 | */ 19 | case class EnvVar( 20 | /* Name of the environment variable. Must be a C_IDENTIFIER. */ 21 | name: String, 22 | /* Variable references $(VAR_NAME) are expanded using the previous defined environment variables in the container and any service environment variables. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to \"\". */ 23 | value: Option[String] = None, 24 | valueFrom: Option[EnvVarSource] = None) 25 | extends ApiModel 26 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/EnvVarSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * EnvVarSource represents a source for the value of an EnvVar. 18 | */ 19 | case class EnvVarSource( 20 | configMapKeyRef: Option[ConfigMapKeySelector] = None, 21 | fieldRef: Option[ObjectFieldSelector] = None, 22 | resourceFieldRef: Option[ResourceFieldSelector] = None, 23 | secretKeyRef: Option[SecretKeySelector] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/EventSeries.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import java.time.OffsetDateTime 15 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 16 | 17 | /** 18 | * EventSeries contain information on series of events, i.e. thing that was/is happening continuously for some time. 19 | */ 20 | case class EventSeries( 21 | /* Number of occurrences in this series up to the last heartbeat time */ 22 | count: Int, 23 | /* Time when last Event from the series was seen before last heartbeat. */ 24 | lastObservedTime: OffsetDateTime, 25 | /* Information whether this series is ongoing or finished. Deprecated. Planned removal for 1.18 */ 26 | state: String) 27 | extends ApiModel 28 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/EventSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * EventSource contains information for an event. 18 | */ 19 | case class EventSource( 20 | /* Component from which the event is generated. */ 21 | component: Option[String] = None, 22 | /* Node name on which the event is generated. */ 23 | host: Option[String] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ExecAction.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ExecAction describes a \"run in container\" action. 18 | */ 19 | case class ExecAction( 20 | /* Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. */ 21 | command: Option[Seq[String]] = None) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ExternalDocumentation.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ExternalDocumentation allows referencing an external resource for extended documentation. 18 | */ 19 | case class ExternalDocumentation(description: Option[String] = None, url: Option[String] = None) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ExternalMetricSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ExternalMetricSource indicates how to scale on a metric not associated with any Kubernetes object (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster). 18 | */ 19 | case class ExternalMetricSource(metric: MetricIdentifier, target: MetricTarget) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ExternalMetricStatus.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ExternalMetricStatus indicates the current value of a global metric not associated with any Kubernetes object. 18 | */ 19 | case class ExternalMetricStatus(current: MetricValueStatus, metric: MetricIdentifier) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/FSGroupStrategyOptions.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * FSGroupStrategyOptions defines the strategy type and options used to create the strategy. 18 | */ 19 | case class FSGroupStrategyOptions( 20 | /* ranges are the allowed ranges of fs groups. If you would like to force a single fs group then supply a single range with the same start and end. Required for MustRunAs. */ 21 | ranges: Option[Seq[IDRange]] = None, 22 | /* rule is the strategy that will dictate what FSGroup is used in the SecurityContext. */ 23 | rule: Option[String] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/FlockerVolumeSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Represents a Flocker volume mounted by the Flocker agent. One and only one of datasetName and datasetUUID should be set. Flocker volumes do not support ownership management or SELinux relabeling. 18 | */ 19 | case class FlockerVolumeSource( 20 | /* Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated */ 21 | datasetName: Option[String] = None, 22 | /* UUID of the dataset. This is unique identifier of a Flocker dataset */ 23 | datasetUUID: Option[String] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/GroupVersionForDiscovery.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility. 18 | */ 19 | case class GroupVersionForDiscovery( 20 | /* groupVersion specifies the API group and version in the form \"group/version\" */ 21 | groupVersion: String, 22 | /* version specifies the version in the form of \"version\". This is to save the clients the trouble of splitting the GroupVersion. */ 23 | version: String) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/HTTPHeader.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * HTTPHeader describes a custom header to be used in HTTP probes 18 | */ 19 | case class HTTPHeader( 20 | /* The header field name */ 21 | name: String, 22 | /* The header field value */ 23 | value: String) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/HTTPIngressPath.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * HTTPIngressPath associates a path regex with a backend. Incoming urls matching the path are forwarded to the backend. 18 | */ 19 | case class HTTPIngressPath( 20 | backend: IngressBackend, 21 | /* Path is an extended POSIX regex as defined by IEEE Std 1003.1, (i.e this follows the egrep/unix syntax, not the perl syntax) matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional \"path\" part of a URL as defined by RFC 3986. Paths must begin with a '/'. If unspecified, the path defaults to a catch all sending traffic to the backend. */ 22 | path: Option[String] = None) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/HTTPIngressRuleValue.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * HTTPIngressRuleValue is a list of http selectors pointing to backends. In the example: http:///? -> backend where where parts of the url correspond to RFC 3986, this resource will be used to match against everything after the last '/' and before the first '?' or '#'. 18 | */ 19 | case class HTTPIngressRuleValue( 20 | /* A collection of paths that map requests to backends. */ 21 | paths: Seq[HTTPIngressPath]) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/Handler.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Handler defines a specific action that should be taken 18 | */ 19 | case class Handler( 20 | exec: Option[ExecAction] = None, 21 | httpGet: Option[HTTPGetAction] = None, 22 | tcpSocket: Option[TCPSocketAction] = None) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/HostAlias.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file. 18 | */ 19 | case class HostAlias( 20 | /* Hostnames for the above IP address. */ 21 | hostnames: Option[Seq[String]] = None, 22 | /* IP address of the host file entry. */ 23 | ip: Option[String] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/HostPathVolumeSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Represents a host path mapped into a pod. Host path volumes do not support ownership management or SELinux relabeling. 18 | */ 19 | case class HostPathVolumeSource( 20 | /* Path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath */ 21 | path: String, 22 | /* Type for HostPath Volume Defaults to \"\" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath */ 23 | `type`: Option[String] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/HostPortRange.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * HostPortRange defines a range of host ports that will be enabled by a policy for pods to use. It requires both the start and end to be defined. 18 | */ 19 | case class HostPortRange( 20 | /* max is the end of the range, inclusive. */ 21 | max: Int, 22 | /* min is the start of the range, inclusive. */ 23 | min: Int) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/IDRange.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * IDRange provides a min/max of an allowed range of IDs. 18 | */ 19 | case class IDRange( 20 | /* max is the end of the range, inclusive. */ 21 | max: Long, 22 | /* min is the start of the range, inclusive. */ 23 | min: Long) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/IPBlock.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * IPBlock describes a particular CIDR (Ex. \"192.168.1.1/24\") that is allowed to the pods matched by a NetworkPolicySpec's podSelector. The except entry describes CIDRs that should not be included within this rule. 18 | */ 19 | case class IPBlock( 20 | /* CIDR is a string representing the IP Block Valid examples are \"192.168.1.1/24\" */ 21 | cidr: String, 22 | /* Except is a slice of CIDRs that should not be included within an IP Block Valid examples are \"192.168.1.1/24\" Except values will be rejected if they are outside the CIDR range */ 23 | except: Option[Seq[String]] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/Info.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Info contains versioning information. how we'll want to distribute that information. 18 | */ 19 | case class Info( 20 | buildDate: String, 21 | compiler: String, 22 | gitCommit: String, 23 | gitTreeState: String, 24 | gitVersion: String, 25 | goVersion: String, 26 | major: String, 27 | minor: String, 28 | platform: String) 29 | extends ApiModel 30 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/IngressBackend.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * IngressBackend describes all endpoints for a given service and port. 18 | */ 19 | case class IngressBackend( 20 | /* Specifies the name of the referenced service. */ 21 | serviceName: String, 22 | /* IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. */ 23 | servicePort: String) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/IngressSpec.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * IngressSpec describes the Ingress the user wishes to exist. 18 | */ 19 | case class IngressSpec( 20 | backend: Option[IngressBackend] = None, 21 | /* A list of host rules used to configure the Ingress. If unspecified, or no rule matches, all traffic is sent to the default backend. */ 22 | rules: Option[Seq[IngressRule]] = None, 23 | /* TLS configuration. Currently the Ingress only supports a single TLS port, 443. If multiple members of this list specify different hosts, they will be multiplexed on the same port according to the hostname specified through the SNI TLS extension, if the ingress controller fulfilling the ingress supports SNI. */ 24 | tls: Option[Seq[IngressTLS]] = None) 25 | extends ApiModel 26 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/IngressStatus.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * IngressStatus describe the current state of the Ingress. 18 | */ 19 | case class IngressStatus(loadBalancer: Option[LoadBalancerStatus] = None) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/Initializer.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Initializer is information about an initializer that has not yet completed. 18 | */ 19 | case class Initializer( 20 | /* name of the process that is responsible for initializing this object. */ 21 | name: String) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/Initializers.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Initializers tracks the progress of initialization. 18 | */ 19 | case class Initializers( 20 | /* Pending is a list of initializers that must execute in order before this object is visible. When the last pending initializer is removed, and no failing result is set, the initializers struct will be set to nil and the object is considered as initialized and visible to all clients. */ 21 | pending: Seq[Initializer], 22 | result: Option[Status] = None) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/JobCondition.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import java.time.OffsetDateTime 15 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 16 | 17 | /** 18 | * JobCondition describes current state of a job. 19 | */ 20 | case class JobCondition( 21 | /* Last time the condition was checked. */ 22 | lastProbeTime: Option[OffsetDateTime] = None, 23 | /* Last time the condition transit from one status to another. */ 24 | lastTransitionTime: Option[OffsetDateTime] = None, 25 | /* Human readable message indicating details about last transition. */ 26 | message: Option[String] = None, 27 | /* (brief) reason for the condition's last transition. */ 28 | reason: Option[String] = None, 29 | /* Status of the condition, one of True, False, Unknown. */ 30 | status: String, 31 | /* Type of job condition, Complete or Failed. */ 32 | `type`: String) 33 | extends ApiModel 34 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/JobTemplateSpec.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * JobTemplateSpec describes the data a Job should have when created from a template 18 | */ 19 | case class JobTemplateSpec(metadata: Option[ObjectMeta] = None, spec: Option[JobSpec] = None) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/KeyToPath.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Maps a string key to a path within a volume. 18 | */ 19 | case class KeyToPath( 20 | /* The key to project. */ 21 | key: String, 22 | /* Optional: mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. */ 23 | mode: Option[Int] = None, 24 | /* The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. */ 25 | path: String) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/LabelSelector.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects. 18 | */ 19 | case class LabelSelector( 20 | /* matchExpressions is a list of label selector requirements. The requirements are ANDed. */ 21 | matchExpressions: Option[Seq[LabelSelectorRequirement]] = None, 22 | /* matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed. */ 23 | matchLabels: Option[Map[String, String]] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/LabelSelectorRequirement.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. 18 | */ 19 | case class LabelSelectorRequirement( 20 | /* key is the label key that the selector applies to. */ 21 | key: String, 22 | /* operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. */ 23 | operator: String, 24 | /* values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. */ 25 | values: Option[Seq[String]] = None) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/Lifecycle.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted. 18 | */ 19 | case class Lifecycle(postStart: Option[Handler] = None, preStop: Option[Handler] = None) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/LimitRangeSpec.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * LimitRangeSpec defines a min/max usage limit for resources that match on kind. 18 | */ 19 | case class LimitRangeSpec( 20 | /* Limits is the list of LimitRangeItem objects that are enforced. */ 21 | limits: Seq[LimitRangeItem]) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/LoadBalancerIngress.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * LoadBalancerIngress represents the status of a load-balancer ingress point: traffic intended for the service should be sent to an ingress point. 18 | */ 19 | case class LoadBalancerIngress( 20 | /* Hostname is set for load-balancer ingress points that are DNS based (typically AWS load-balancers) */ 21 | hostname: Option[String] = None, 22 | /* IP is set for load-balancer ingress points that are IP based (typically GCE or OpenStack load-balancers) */ 23 | ip: Option[String] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/LoadBalancerStatus.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * LoadBalancerStatus represents the status of a load-balancer. 18 | */ 19 | case class LoadBalancerStatus( 20 | /* Ingress is a list containing ingress points for the load-balancer. Traffic intended for the service should be sent to these ingress points. */ 21 | ingress: Option[Seq[LoadBalancerIngress]] = None) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/LocalObjectReference.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. 18 | */ 19 | case class LocalObjectReference( 20 | /* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ 21 | name: Option[String] = None) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/LocalVolumeSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Local represents directly-attached storage with node affinity (Beta feature) 18 | */ 19 | case class LocalVolumeSource( 20 | /* Filesystem type to mount. It applies only when the Path is a block device. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default value is to auto-select a fileystem if unspecified. */ 21 | fsType: Option[String] = None, 22 | /* The full path to the volume on the node. It can be either a directory or block device (disk, partition, ...). */ 23 | path: String) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/MetricIdentifier.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * MetricIdentifier defines the name and optionally selector for a metric 18 | */ 19 | case class MetricIdentifier( 20 | /* name is the name of the given metric */ 21 | name: String, 22 | selector: Option[LabelSelector] = None) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/MetricSpec.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * MetricSpec specifies how to scale based on a single metric (only `type` and one other matching field should be set at once). 18 | */ 19 | case class MetricSpec( 20 | external: Option[ExternalMetricSource] = None, 21 | `object`: Option[ObjectMetricSource] = None, 22 | pods: Option[PodsMetricSource] = None, 23 | resource: Option[ResourceMetricSource] = None, 24 | /* type is the type of metric source. It should be one of \"Object\", \"Pods\" or \"Resource\", each mapping to a matching field in the object. */ 25 | `type`: String) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/MetricStatus.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * MetricStatus describes the last-read state of a single metric. 18 | */ 19 | case class MetricStatus( 20 | external: Option[ExternalMetricStatus] = None, 21 | `object`: Option[ObjectMetricStatus] = None, 22 | pods: Option[PodsMetricStatus] = None, 23 | resource: Option[ResourceMetricStatus] = None, 24 | /* type is the type of metric source. It will be one of \"Object\", \"Pods\" or \"Resource\", each corresponds to a matching field in the object. */ 25 | `type`: String) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/NFSVolumeSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Represents an NFS mount that lasts the lifetime of a pod. NFS volumes do not support ownership management or SELinux relabeling. 18 | */ 19 | case class NFSVolumeSource( 20 | /* Path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs */ 21 | path: String, 22 | /* ReadOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs */ 23 | readOnly: Option[Boolean] = None, 24 | /* Server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs */ 25 | server: String) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/NamespaceSpec.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * NamespaceSpec describes the attributes on a Namespace. 18 | */ 19 | case class NamespaceSpec( 20 | /* Finalizers is an opaque list of values that must be empty to permanently remove object from storage. More info: https://kubernetes.io/docs/tasks/administer-cluster/namespaces/ */ 21 | finalizers: Option[Seq[String]] = None) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/NamespaceStatus.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * NamespaceStatus is information about the current status of a Namespace. 18 | */ 19 | case class NamespaceStatus( 20 | /* Phase is the current lifecycle phase of the namespace. More info: https://kubernetes.io/docs/tasks/administer-cluster/namespaces/ */ 21 | phase: Option[String] = None) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/NetworkPolicyPeer.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * NetworkPolicyPeer describes a peer to allow traffic from. Only certain combinations of fields are allowed 18 | */ 19 | case class NetworkPolicyPeer( 20 | ipBlock: Option[IPBlock] = None, 21 | namespaceSelector: Option[LabelSelector] = None, 22 | podSelector: Option[LabelSelector] = None) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/NetworkPolicyPort.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * NetworkPolicyPort describes a port to allow traffic on 18 | */ 19 | case class NetworkPolicyPort( 20 | /* IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. */ 21 | port: Option[String] = None, 22 | /* The protocol (TCP, UDP, or SCTP) which traffic must match. If not specified, this field defaults to TCP. */ 23 | protocol: Option[String] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/NodeAddress.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * NodeAddress contains information for the node's address. 18 | */ 19 | case class NodeAddress( 20 | /* The node address. */ 21 | address: String, 22 | /* Node address type, one of Hostname, ExternalIP or InternalIP. */ 23 | `type`: String) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/NodeCondition.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import java.time.OffsetDateTime 15 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 16 | 17 | /** 18 | * NodeCondition contains condition information for a node. 19 | */ 20 | case class NodeCondition( 21 | /* Last time we got an update on a given condition. */ 22 | lastHeartbeatTime: Option[OffsetDateTime] = None, 23 | /* Last time the condition transit from one status to another. */ 24 | lastTransitionTime: Option[OffsetDateTime] = None, 25 | /* Human readable message indicating details about last transition. */ 26 | message: Option[String] = None, 27 | /* (brief) reason for the condition's last transition. */ 28 | reason: Option[String] = None, 29 | /* Status of the condition, one of True, False, Unknown. */ 30 | status: String, 31 | /* Type of node condition. */ 32 | `type`: String) 33 | extends ApiModel 34 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/NodeConfigSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * NodeConfigSource specifies a source of node configuration. Exactly one subfield (excluding metadata) must be non-nil. 18 | */ 19 | case class NodeConfigSource(configMap: Option[ConfigMapNodeConfigSource] = None) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/NodeDaemonEndpoints.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * NodeDaemonEndpoints lists ports opened by daemons running on the Node. 18 | */ 19 | case class NodeDaemonEndpoints(kubeletEndpoint: Option[DaemonEndpoint] = None) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/NodeSelector.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms. 18 | */ 19 | case class NodeSelector( 20 | /* Required. A list of node selector terms. The terms are ORed. */ 21 | nodeSelectorTerms: Seq[NodeSelectorTerm]) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/NodeSelectorTerm.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. 18 | */ 19 | case class NodeSelectorTerm( 20 | /* A list of node selector requirements by node's labels. */ 21 | matchExpressions: Option[Seq[NodeSelectorRequirement]] = None, 22 | /* A list of node selector requirements by node's fields. */ 23 | matchFields: Option[Seq[NodeSelectorRequirement]] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/NonResourceAttributes.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * NonResourceAttributes includes the authorization attributes available for non-resource requests to the Authorizer interface 18 | */ 19 | case class NonResourceAttributes( 20 | /* Path is the URL path of the request */ 21 | path: Option[String] = None, 22 | /* Verb is the standard HTTP verb */ 23 | verb: Option[String] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/NonResourceRule.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * NonResourceRule holds information that describes a rule for the non-resource 18 | */ 19 | case class NonResourceRule( 20 | /* NonResourceURLs is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path. \"*\" means all. */ 21 | nonResourceURLs: Option[Seq[String]] = None, 22 | /* Verb is a list of kubernetes non-resource API verbs, like: get, post, put, delete, patch, head, options. \"*\" means all. */ 23 | verbs: Seq[String]) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ObjectFieldSelector.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ObjectFieldSelector selects an APIVersioned field of an object. 18 | */ 19 | case class ObjectFieldSelector( 20 | /* Version of the schema the FieldPath is written in terms of, defaults to \"v1\". */ 21 | apiVersion: Option[String] = None, 22 | /* Path of the field to select in the specified API version. */ 23 | fieldPath: String) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ObjectMetricSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ObjectMetricSource indicates how to scale on a metric describing a kubernetes object (for example, hits-per-second on an Ingress object). 18 | */ 19 | case class ObjectMetricSource( 20 | describedObject: CrossVersionObjectReference, 21 | metric: MetricIdentifier, 22 | target: MetricTarget) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ObjectMetricStatus.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ObjectMetricStatus indicates the current value of a metric describing a kubernetes object (for example, hits-per-second on an Ingress object). 18 | */ 19 | case class ObjectMetricStatus( 20 | current: MetricValueStatus, 21 | describedObject: CrossVersionObjectReference, 22 | metric: MetricIdentifier) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/PersistentVolumeClaimVolumeSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. This volume finds the bound PV and mounts that volume for the pod. A PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another type of volume that is owned by someone else (the system). 18 | */ 19 | case class PersistentVolumeClaimVolumeSource( 20 | /* ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims */ 21 | claimName: String, 22 | /* Will force the ReadOnly setting in VolumeMounts. Default false. */ 23 | readOnly: Option[Boolean] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/PersistentVolumeStatus.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * PersistentVolumeStatus is the current status of a persistent volume. 18 | */ 19 | case class PersistentVolumeStatus( 20 | /* A human-readable message indicating details about why the volume is in this state. */ 21 | message: Option[String] = None, 22 | /* Phase indicates if a volume is available, bound to a claim, or released by a claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#phase */ 23 | phase: Option[String] = None, 24 | /* Reason is a brief CamelCase string that describes any failure and is meant for machine parsing and tidy display in the CLI. */ 25 | reason: Option[String] = None) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/PhotonPersistentDiskVolumeSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Represents a Photon Controller persistent disk resource. 18 | */ 19 | case class PhotonPersistentDiskVolumeSource( 20 | /* Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. */ 21 | fsType: Option[String] = None, 22 | /* ID that identifies Photon Controller persistent disk */ 23 | pdID: String) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/PodDNSConfigOption.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * PodDNSConfigOption defines DNS resolver options of a pod. 18 | */ 19 | case class PodDNSConfigOption( 20 | /* Required. */ 21 | name: Option[String] = None, 22 | value: Option[String] = None) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/PodDisruptionBudgetSpec.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * PodDisruptionBudgetSpec is a description of a PodDisruptionBudget. 18 | */ 19 | case class PodDisruptionBudgetSpec( 20 | /* IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. */ 21 | maxUnavailable: Option[String] = None, 22 | /* IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. */ 23 | minAvailable: Option[String] = None, 24 | selector: Option[LabelSelector] = None) 25 | extends ApiModel 26 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/PodPresetSpec.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * PodPresetSpec is a description of a pod preset. 18 | */ 19 | case class PodPresetSpec( 20 | /* Env defines the collection of EnvVar to inject into containers. */ 21 | env: Option[Seq[EnvVar]] = None, 22 | /* EnvFrom defines the collection of EnvFromSource to inject into containers. */ 23 | envFrom: Option[Seq[EnvFromSource]] = None, 24 | selector: Option[LabelSelector] = None, 25 | /* VolumeMounts defines the collection of VolumeMount to inject into containers. */ 26 | volumeMounts: Option[Seq[VolumeMount]] = None, 27 | /* Volumes defines the collection of Volume to inject into the pod. */ 28 | volumes: Option[Seq[Volume]] = None) 29 | extends ApiModel 30 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/PodReadinessGate.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * PodReadinessGate contains the reference to a pod condition 18 | */ 19 | case class PodReadinessGate( 20 | /* ConditionType refers to a condition in the pod's condition list with matching type. */ 21 | conditionType: String) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/PodTemplateSpec.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * PodTemplateSpec describes the data a pod should have when created from a template 18 | */ 19 | case class PodTemplateSpec(metadata: Option[ObjectMeta] = None, spec: Option[PodSpec] = None) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/PodsMetricSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * PodsMetricSource indicates how to scale on a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value. 18 | */ 19 | case class PodsMetricSource(metric: MetricIdentifier, target: MetricTarget) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/PodsMetricStatus.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * PodsMetricStatus indicates the current value of a metric describing each pod in the current scale target (for example, transactions-processed-per-second). 18 | */ 19 | case class PodsMetricStatus(current: MetricValueStatus, metric: MetricIdentifier) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/Policy.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Policy defines the configuration of how audit events are logged 18 | */ 19 | case class Policy( 20 | /* The Level that all requests are recorded at. available options: None, Metadata, Request, RequestResponse required */ 21 | level: String, 22 | /* Stages is a list of stages for which events are created. */ 23 | stages: Option[Seq[String]] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/PortworxVolumeSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * PortworxVolumeSource represents a Portworx volume resource. 18 | */ 19 | case class PortworxVolumeSource( 20 | /* FSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified. */ 21 | fsType: Option[String] = None, 22 | /* Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. */ 23 | readOnly: Option[Boolean] = None, 24 | /* VolumeID uniquely identifies a Portworx volume */ 25 | volumeID: String) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/Preconditions.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out. 18 | */ 19 | case class Preconditions( 20 | /* Specifies the target ResourceVersion */ 21 | resourceVersion: Option[String] = None, 22 | /* Specifies the target UID. */ 23 | uid: Option[String] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/PreferredSchedulingTerm.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). 18 | */ 19 | case class PreferredSchedulingTerm( 20 | preference: NodeSelectorTerm, 21 | /* Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. */ 22 | weight: Int) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ProjectedVolumeSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Represents a projected volume source 18 | */ 19 | case class ProjectedVolumeSource( 20 | /* Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. */ 21 | defaultMode: Option[Int] = None, 22 | /* list of volume projections */ 23 | sources: Seq[VolumeProjection]) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ReplicaSetCondition.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import java.time.OffsetDateTime 15 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 16 | 17 | /** 18 | * ReplicaSetCondition describes the state of a replica set at a certain point. 19 | */ 20 | case class ReplicaSetCondition( 21 | /* The last time the condition transitioned from one status to another. */ 22 | lastTransitionTime: Option[OffsetDateTime] = None, 23 | /* A human readable message indicating details about the transition. */ 24 | message: Option[String] = None, 25 | /* The reason for the condition's last transition. */ 26 | reason: Option[String] = None, 27 | /* Status of the condition, one of True, False, Unknown. */ 28 | status: String, 29 | /* Type of replica set condition. */ 30 | `type`: String) 31 | extends ApiModel 32 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ReplicaSetSpec.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ReplicaSetSpec is the specification of a ReplicaSet. 18 | */ 19 | case class ReplicaSetSpec( 20 | /* Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready) */ 21 | minReadySeconds: Option[Int] = None, 22 | /* Replicas is the number of desired replicas. This is a pointer to distinguish between explicit zero and unspecified. Defaults to 1. More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/#what-is-a-replicationcontroller */ 23 | replicas: Option[Int] = None, 24 | selector: Option[LabelSelector] = None, 25 | template: Option[PodTemplateSpec] = None) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ReplicationControllerCondition.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import java.time.OffsetDateTime 15 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 16 | 17 | /** 18 | * ReplicationControllerCondition describes the state of a replication controller at a certain point. 19 | */ 20 | case class ReplicationControllerCondition( 21 | /* The last time the condition transitioned from one status to another. */ 22 | lastTransitionTime: Option[OffsetDateTime] = None, 23 | /* A human readable message indicating details about the transition. */ 24 | message: Option[String] = None, 25 | /* The reason for the condition's last transition. */ 26 | reason: Option[String] = None, 27 | /* Status of the condition, one of True, False, Unknown. */ 28 | status: String, 29 | /* Type of replication controller condition. */ 30 | `type`: String) 31 | extends ApiModel 32 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ResourceMetricSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ResourceMetricSource indicates how to scale on a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). The values will be averaged together before being compared to the target. Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source. Only one \"target\" type should be set. 18 | */ 19 | case class ResourceMetricSource( 20 | /* name is the name of the resource in question. */ 21 | name: String, 22 | target: MetricTarget) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ResourceMetricStatus.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ResourceMetricStatus indicates the current value of a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source. 18 | */ 19 | case class ResourceMetricStatus( 20 | current: MetricValueStatus, 21 | /* Name is the name of the resource in question. */ 22 | name: String) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ResourceQuotaSpec.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ResourceQuotaSpec defines the desired hard limits to enforce for Quota. 18 | */ 19 | case class ResourceQuotaSpec( 20 | /* hard is the set of desired hard limits for each named resource. More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/ */ 21 | hard: Option[Map[String, String]] = None, 22 | scopeSelector: Option[ScopeSelector] = None, 23 | /* A collection of filters that must match each object tracked by a quota. If not specified, the quota matches all objects. */ 24 | scopes: Option[Seq[String]] = None) 25 | extends ApiModel 26 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ResourceQuotaStatus.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ResourceQuotaStatus defines the enforced hard limits and observed use. 18 | */ 19 | case class ResourceQuotaStatus( 20 | /* Hard is the set of enforced hard limits for each named resource. More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/ */ 21 | hard: Option[Map[String, String]] = None, 22 | /* Used is the current observed total usage of the resource in the namespace. */ 23 | used: Option[Map[String, String]] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ResourceRequirements.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ResourceRequirements describes the compute resource requirements. 18 | */ 19 | case class ResourceRequirements( 20 | /* Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ */ 21 | limits: Option[Map[String, String]] = None, 22 | /* Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ */ 23 | requests: Option[Map[String, String]] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/RoleRef.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * RoleRef contains information that points to the role being used 18 | */ 19 | case class RoleRef( 20 | /* APIGroup is the group for the resource being referenced */ 21 | apiGroup: String, 22 | /* Kind is the type of resource being referenced */ 23 | kind: String, 24 | /* Name is the name of resource being referenced */ 25 | name: String) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/RollbackConfig.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * DEPRECATED. 18 | */ 19 | case class RollbackConfig( 20 | /* The revision to rollback to. If set to 0, rollback to the last revision. */ 21 | revision: Option[Long] = None) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/RollingUpdateDaemonSet.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Spec to control the desired behavior of daemon set rolling update. 18 | */ 19 | case class RollingUpdateDaemonSet( 20 | /* IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. */ 21 | maxUnavailable: Option[String] = None) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/RollingUpdateDeployment.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Spec to control the desired behavior of rolling update. 18 | */ 19 | case class RollingUpdateDeployment( 20 | /* IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. */ 21 | maxSurge: Option[String] = None, 22 | /* IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. */ 23 | maxUnavailable: Option[String] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/RollingUpdateStatefulSetStrategy.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * RollingUpdateStatefulSetStrategy is used to communicate parameter for RollingUpdateStatefulSetStrategyType. 18 | */ 19 | case class RollingUpdateStatefulSetStrategy( 20 | /* Partition indicates the ordinal at which the StatefulSet should be partitioned. Default value is 0. */ 21 | partition: Option[Int] = None) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/RunAsGroupStrategyOptions.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * RunAsGroupStrategyOptions defines the strategy type and any options used to create the strategy. 18 | */ 19 | case class RunAsGroupStrategyOptions( 20 | /* ranges are the allowed ranges of gids that may be used. If you would like to force a single gid then supply a single range with the same start and end. Required for MustRunAs. */ 21 | ranges: Option[Seq[IDRange]] = None, 22 | /* rule is the strategy that will dictate the allowable RunAsGroup values that may be set. */ 23 | rule: String) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/RunAsUserStrategyOptions.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy. 18 | */ 19 | case class RunAsUserStrategyOptions( 20 | /* ranges are the allowed ranges of uids that may be used. If you would like to force a single uid then supply a single range with the same start and end. Required for MustRunAs. */ 21 | ranges: Option[Seq[IDRange]] = None, 22 | /* rule is the strategy that will dictate the allowable RunAsUser values that may be set. */ 23 | rule: String) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/RuntimeClassStrategyOptions.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * RuntimeClassStrategyOptions define the strategy that will dictate the allowable RuntimeClasses for a pod. 18 | */ 19 | case class RuntimeClassStrategyOptions( 20 | /* allowedRuntimeClassNames is a whitelist of RuntimeClass names that may be specified on a pod. A value of \"*\" means that any RuntimeClass name is allowed, and must be the only item in the list. An empty list requires the RuntimeClassName field to be unset. */ 21 | allowedRuntimeClassNames: Seq[String], 22 | /* defaultRuntimeClassName is the default RuntimeClassName to set on the pod. The default MUST be allowed by the allowedRuntimeClassNames list. A value of nil does not mutate the Pod. */ 23 | defaultRuntimeClassName: Option[String] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/SELinuxOptions.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * SELinuxOptions are the labels to be applied to the container 18 | */ 19 | case class SELinuxOptions( 20 | /* Level is SELinux level label that applies to the container. */ 21 | level: Option[String] = None, 22 | /* Role is a SELinux role label that applies to the container. */ 23 | role: Option[String] = None, 24 | /* Type is a SELinux type label that applies to the container. */ 25 | `type`: Option[String] = None, 26 | /* User is a SELinux user label that applies to the container. */ 27 | user: Option[String] = None) 28 | extends ApiModel 29 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/SELinuxStrategyOptions.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * SELinuxStrategyOptions defines the strategy type and any options used to create the strategy. 18 | */ 19 | case class SELinuxStrategyOptions( 20 | /* rule is the strategy that will dictate the allowable labels that may be set. */ 21 | rule: String, 22 | seLinuxOptions: Option[SELinuxOptions] = None) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ScaleSpec.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * describes the attributes of a scale subresource 18 | */ 19 | case class ScaleSpec( 20 | /* desired number of instances for the scaled object. */ 21 | replicas: Option[Int] = None) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ScopeSelector.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * A scope selector represents the AND of the selectors represented by the scoped-resource selector requirements. 18 | */ 19 | case class ScopeSelector( 20 | /* A list of scope selector requirements by scope of the resources. */ 21 | matchExpressions: Option[Seq[ScopedResourceSelectorRequirement]] = None) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ScopedResourceSelectorRequirement.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * A scoped-resource selector requirement is a selector that contains values, a scope name, and an operator that relates the scope name and values. 18 | */ 19 | case class ScopedResourceSelectorRequirement( 20 | /* Represents a scope's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. */ 21 | operator: String, 22 | /* The name of the scope that the selector applies to. */ 23 | scopeName: String, 24 | /* An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. */ 25 | values: Option[Seq[String]] = None) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/SecretEnvSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret's Data field will represent the key-value pairs as environment variables. 18 | */ 19 | case class SecretEnvSource( 20 | /* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ 21 | name: Option[String] = None, 22 | /* Specify whether the Secret must be defined */ 23 | optional: Option[Boolean] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/SecretKeySelector.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * SecretKeySelector selects a key of a Secret. 18 | */ 19 | case class SecretKeySelector( 20 | /* The key of the secret to select from. Must be a valid secret key. */ 21 | key: String, 22 | /* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */ 23 | name: Option[String] = None, 24 | /* Specify whether the Secret or its key must be defined */ 25 | optional: Option[Boolean] = None) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/SecretReference.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace 18 | */ 19 | case class SecretReference( 20 | /* Name is unique within a namespace to reference a secret resource. */ 21 | name: Option[String] = None, 22 | /* Namespace defines the space within which the secret name must be unique. */ 23 | namespace: Option[String] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/SelfSubjectAccessReviewSpec.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * SelfSubjectAccessReviewSpec is a description of the access request. Exactly one of ResourceAuthorizationAttributes and NonResourceAuthorizationAttributes must be set 18 | */ 19 | case class SelfSubjectAccessReviewSpec( 20 | nonResourceAttributes: Option[NonResourceAttributes] = None, 21 | resourceAttributes: Option[ResourceAttributes] = None) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/SelfSubjectRulesReviewSpec.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | case class SelfSubjectRulesReviewSpec( 17 | /* Namespace to evaluate rules for. Required. */ 18 | namespace: Option[String] = None) 19 | extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ServerAddressByClientCIDR.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match. 18 | */ 19 | case class ServerAddressByClientCIDR( 20 | /* The CIDR with which clients can match their IP to figure out the server address that they should use. */ 21 | clientCIDR: String, 22 | /* Address of this server, suitable for a client that matches the above CIDR. This can be a hostname, hostname:port, IP or IP:port. */ 23 | serverAddress: String) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ServiceReference.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ServiceReference holds a reference to Service.legacy.k8s.io 18 | */ 19 | case class ServiceReference( 20 | /* Name is the name of the service */ 21 | name: Option[String] = None, 22 | /* Namespace is the namespace of the service */ 23 | namespace: Option[String] = None, 24 | /* If specified, the port on the service that hosting webhook. Default to 443 for backward compatibility. `port` should be a valid port number (1-65535, inclusive). */ 25 | port: Option[Int] = None) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/ServiceStatus.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * ServiceStatus represents the current status of a service. 18 | */ 19 | case class ServiceStatus(loadBalancer: Option[LoadBalancerStatus] = None) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/SessionAffinityConfig.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * SessionAffinityConfig represents the configurations of session affinity. 18 | */ 19 | case class SessionAffinityConfig(clientIP: Option[ClientIPConfig] = None) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/StatefulSetCondition.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import java.time.OffsetDateTime 15 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 16 | 17 | /** 18 | * StatefulSetCondition describes the state of a statefulset at a certain point. 19 | */ 20 | case class StatefulSetCondition( 21 | /* Last time the condition transitioned from one status to another. */ 22 | lastTransitionTime: Option[OffsetDateTime] = None, 23 | /* A human readable message indicating details about the transition. */ 24 | message: Option[String] = None, 25 | /* The reason for the condition's last transition. */ 26 | reason: Option[String] = None, 27 | /* Status of the condition, one of True, False, Unknown. */ 28 | status: String, 29 | /* Type of statefulset condition. */ 30 | `type`: String) 31 | extends ApiModel 32 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/StatefulSetUpdateStrategy.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * StatefulSetUpdateStrategy indicates the strategy that the StatefulSet controller will use to perform updates. It includes any additional parameters necessary to perform the update for the indicated strategy. 18 | */ 19 | case class StatefulSetUpdateStrategy( 20 | rollingUpdate: Option[RollingUpdateStatefulSetStrategy] = None, 21 | /* Type indicates the type of the StatefulSetUpdateStrategy. Default is RollingUpdate. */ 22 | `type`: Option[String] = None) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/SupplementalGroupsStrategyOptions.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy. 18 | */ 19 | case class SupplementalGroupsStrategyOptions( 20 | /* ranges are the allowed ranges of supplemental groups. If you would like to force a single supplemental group then supply a single range with the same start and end. Required for MustRunAs. */ 21 | ranges: Option[Seq[IDRange]] = None, 22 | /* rule is the strategy that will dictate what supplemental groups is used in the SecurityContext. */ 23 | rule: Option[String] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/Sysctl.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Sysctl defines a kernel parameter to be set 18 | */ 19 | case class Sysctl( 20 | /* Name of a property to set */ 21 | name: String, 22 | /* Value of a property to set */ 23 | value: String) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/TCPSocketAction.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * TCPSocketAction describes an action based on opening a socket 18 | */ 19 | case class TCPSocketAction( 20 | /* Optional: Host name to connect to, defaults to the pod IP. */ 21 | host: Option[String] = None, 22 | /* IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number. */ 23 | port: String) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/Taint.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import java.time.OffsetDateTime 15 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 16 | 17 | /** 18 | * The node this Taint is attached to has the \"effect\" on any pod that does not tolerate the Taint. 19 | */ 20 | case class Taint( 21 | /* Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute. */ 22 | effect: String, 23 | /* Required. The taint key to be applied to a node. */ 24 | key: String, 25 | /* TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints. */ 26 | timeAdded: Option[OffsetDateTime] = None, 27 | /* Required. The taint value corresponding to the taint key. */ 28 | value: Option[String] = None) 29 | extends ApiModel 30 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/TokenReviewSpec.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * TokenReviewSpec is a description of the token authentication request. 18 | */ 19 | case class TokenReviewSpec( 20 | /* Audiences is a list of the identifiers that the resource server presented with the token identifies as. Audience-aware token authenticators will verify that the token was intended for at least one of the audiences in this list. If no audiences are provided, the audience will default to the audience of the Kubernetes apiserver. */ 21 | audiences: Option[Seq[String]] = None, 22 | /* Token is the opaque bearer token. */ 23 | token: Option[String] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/TopologySelectorLabelRequirement.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * A topology selector requirement is a selector that matches given label. This is an alpha feature and may change in the future. 18 | */ 19 | case class TopologySelectorLabelRequirement( 20 | /* The label key that the selector applies to. */ 21 | key: String, 22 | /* An array of string values. One value must match the label to be selected. Each entry in Values is ORed. */ 23 | values: Seq[String]) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/TopologySelectorTerm.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * A topology selector term represents the result of label queries. A null or empty topology selector term matches no objects. The requirements of them are ANDed. It provides a subset of functionality as NodeSelectorTerm. This is an alpha feature and may change in the future. 18 | */ 19 | case class TopologySelectorTerm( 20 | /* A list of topology selector requirements by labels. */ 21 | matchLabelExpressions: Option[Seq[TopologySelectorLabelRequirement]] = None) 22 | extends ApiModel 23 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/TypedLocalObjectReference.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace. 18 | */ 19 | case class TypedLocalObjectReference( 20 | /* APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. */ 21 | apiGroup: Option[String] = None, 22 | /* Kind is the type of resource being referenced */ 23 | kind: String, 24 | /* Name is the name of resource being referenced */ 25 | name: String) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/UserInfo.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * UserInfo holds the information about the user needed to implement the user.Info interface. 18 | */ 19 | case class UserInfo( 20 | /* Any additional information provided by the authenticator. */ 21 | extra: Option[Map[String, Seq[String]]] = None, 22 | /* The names of groups this user is a part of. */ 23 | groups: Option[Seq[String]] = None, 24 | /* A unique value that identifies this user across time. If this user is deleted and another user by the same name is added, they will have different UIDs. */ 25 | uid: Option[String] = None, 26 | /* The name that uniquely identifies this user among all active users. */ 27 | username: Option[String] = None) 28 | extends ApiModel 29 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/VolumeAttachmentSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * VolumeAttachmentSource represents a volume that should be attached. Right now only PersistenVolumes can be attached via external attacher, in future we may allow also inline volumes in pods. Exactly one member can be set. 18 | */ 19 | case class VolumeAttachmentSource( 20 | inlineVolumeSpec: Option[PersistentVolumeSpec] = None, 21 | /* Name of the persistent volume to attach. */ 22 | persistentVolumeName: Option[String] = None) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/VolumeAttachmentSpec.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * VolumeAttachmentSpec is the specification of a VolumeAttachment request. 18 | */ 19 | case class VolumeAttachmentSpec( 20 | /* Attacher indicates the name of the volume driver that MUST handle this request. This is the name returned by GetPluginName(). */ 21 | attacher: String, 22 | /* The node that the volume should be attached to. */ 23 | nodeName: String, 24 | source: VolumeAttachmentSource) 25 | extends ApiModel 26 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/VolumeAttachmentStatus.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * VolumeAttachmentStatus is the status of a VolumeAttachment request. 18 | */ 19 | case class VolumeAttachmentStatus( 20 | attachError: Option[VolumeError] = None, 21 | /* Indicates the volume is successfully attached. This field must only be set by the entity completing the attach operation, i.e. the external-attacher. */ 22 | attached: Boolean, 23 | /* Upon successful attach, this field is populated with any information returned by the attach operation that must be passed into subsequent WaitForAttach or Mount calls. This field must only be set by the entity completing the attach operation, i.e. the external-attacher. */ 24 | attachmentMetadata: Option[Map[String, String]] = None, 25 | detachError: Option[VolumeError] = None) 26 | extends ApiModel 27 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/VolumeDevice.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * volumeDevice describes a mapping of a raw block device within a container. 18 | */ 19 | case class VolumeDevice( 20 | /* devicePath is the path inside of the container that the device will be mapped to. */ 21 | devicePath: String, 22 | /* name must match the name of a persistentVolumeClaim in the pod */ 23 | name: String) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/VolumeError.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import java.time.OffsetDateTime 15 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 16 | 17 | /** 18 | * VolumeError captures an error encountered during a volume operation. 19 | */ 20 | case class VolumeError( 21 | /* String detailing the error encountered during Attach or Detach operation. This string may be logged, so it should not contain sensitive information. */ 22 | message: Option[String] = None, 23 | /* Time the error was encountered. */ 24 | time: Option[OffsetDateTime] = None) 25 | extends ApiModel 26 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/VolumeNodeAffinity.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * VolumeNodeAffinity defines constraints that limit what nodes this volume can be accessed from. 18 | */ 19 | case class VolumeNodeAffinity(required: Option[NodeSelector] = None) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/VolumeProjection.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Projection that may be projected along with other supported volume types 18 | */ 19 | case class VolumeProjection( 20 | configMap: Option[ConfigMapProjection] = None, 21 | downwardAPI: Option[DownwardAPIProjection] = None, 22 | secret: Option[SecretProjection] = None, 23 | serviceAccountToken: Option[ServiceAccountTokenProjection] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/VsphereVirtualDiskVolumeSource.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Represents a vSphere volume resource. 18 | */ 19 | case class VsphereVirtualDiskVolumeSource( 20 | /* Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. */ 21 | fsType: Option[String] = None, 22 | /* Storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. */ 23 | storagePolicyID: Option[String] = None, 24 | /* Storage Policy Based Management (SPBM) profile name. */ 25 | storagePolicyName: Option[String] = None, 26 | /* Path that identifies vSphere volume vmdk */ 27 | volumePath: String) 28 | extends ApiModel 29 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/WatchEvent.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Event represents a single event to a watched resource. 18 | */ 19 | case class WatchEvent(`object`: RawExtension, `type`: String) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/Webhook.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * Webhook holds the configuration of the webhook 18 | */ 19 | case class Webhook(clientConfig: WebhookClientConfig, throttle: Option[WebhookThrottleConfig] = None) extends ApiModel 20 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/WebhookThrottleConfig.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * WebhookThrottleConfig holds the configuration for throttling events 18 | */ 19 | case class WebhookThrottleConfig( 20 | /* ThrottleBurst is the maximum number of events sent at the same moment default 15 QPS */ 21 | burst: Option[Long] = None, 22 | /* ThrottleQPS maximum number of batches per second default 10 QPS */ 23 | qps: Option[Long] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/WeightedPodAffinityTerm.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) 18 | */ 19 | case class WeightedPodAffinityTerm( 20 | podAffinityTerm: PodAffinityTerm, 21 | /* weight associated with matching the corresponding podAffinityTerm, in the range 1-100. */ 22 | weight: Int) 23 | extends ApiModel 24 | -------------------------------------------------------------------------------- /kubernetes/src/main/scala/com/virtuslab/kubernetes/client/openapi/model/WindowsSecurityContextOptions.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Kubernetes 3 | * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) 4 | * 5 | * The version of the OpenAPI document: v1.15.10 6 | * 7 | * 8 | * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). 9 | * https://openapi-generator.tech 10 | * Do not edit the class manually. 11 | */ 12 | package com.virtuslab.kubernetes.client.openapi.model 13 | 14 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 15 | 16 | /** 17 | * WindowsSecurityContextOptions contain Windows-specific options and credentials. 18 | */ 19 | case class WindowsSecurityContextOptions( 20 | /* GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. This field is alpha-level and is only honored by servers that enable the WindowsGMSA feature flag. */ 21 | gmsaCredentialSpec: Option[String] = None, 22 | /* GMSACredentialSpecName is the name of the GMSA credential spec to use. This field is alpha-level and is only honored by servers that enable the WindowsGMSA feature flag. */ 23 | gmsaCredentialSpecName: Option[String] = None) 24 | extends ApiModel 25 | -------------------------------------------------------------------------------- /logo-square-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VirtusLab/infrastructure-as-types/1450dc51f6b9beabae1176b275cd14460eb43287/logo-square-400.png -------------------------------------------------------------------------------- /logo-square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VirtusLab/infrastructure-as-types/1450dc51f6b9beabae1176b275cd14460eb43287/logo-square.png -------------------------------------------------------------------------------- /openapi/src/main/scala/com/virtuslab/iat/json/json4s/jackson/YamlMethods.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.json.json4s.jackson 2 | 3 | import com.fasterxml.jackson.databind.DeserializationFeature.USE_BIG_INTEGER_FOR_INTS 4 | import com.fasterxml.jackson.databind.ObjectMapper 5 | import com.fasterxml.jackson.dataformat.yaml.{ YAMLFactory, YAMLGenerator } 6 | import com.virtuslab.iat.scala.unit.ops._ 7 | import org.json4s.JsonInput 8 | import org.json4s.jackson.{ Json4sScalaModule, JsonMethods } 9 | 10 | trait YamlMethods extends JsonMethods { 11 | private[this] lazy val yamlMapper = { 12 | val m = new ObjectMapper( 13 | new YAMLFactory() 14 | .enable(YAMLGenerator.Feature.MINIMIZE_QUOTES) 15 | .disable(YAMLGenerator.Feature.WRITE_DOC_START_MARKER) 16 | ) 17 | m.registerModule(new Json4sScalaModule).toUnit() 18 | // for backwards compatibility 19 | m.configure(USE_BIG_INTEGER_FOR_INTS, true).toUnit() 20 | m 21 | } 22 | override def mapper: ObjectMapper = yamlMapper 23 | 24 | type YamlInput = JsonInput 25 | 26 | def yamlToJson(yaml: String): String = JsonMethods.pretty(YamlMethods.parse(yaml)) 27 | } 28 | 29 | object YamlMethods extends YamlMethods 30 | -------------------------------------------------------------------------------- /openapi/src/main/scala/com/virtuslab/iat/openapi/InterpreterOps.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.openapi 2 | 3 | import com.virtuslab.iat.core 4 | import com.virtuslab.iat.dsl.{ Interpretable, Peer } 5 | import com.virtuslab.iat.kubernetes.dsl._ 6 | import com.virtuslab.kubernetes.client.openapi.core.ApiModel 7 | import com.virtuslab.kubernetes.client.openapi.model 8 | 9 | trait InterpreterOps extends core.InterpreterOps[ApiModel] { 10 | implicit class NamespaceInterpretationOps(val obj: Interpretable[Namespace]) 11 | extends RootInterpreterOps1[Namespace, model.Namespace] 12 | implicit class ApplicationInterpreterOps(val obj: Interpretable[Application]) 13 | extends InterpreterOps2[Application, Namespace, model.Service, model.Deployment] 14 | implicit class GatewayInterpretationOps(val obj: Gateway) extends InterpreterOps1[Gateway, Namespace, model.Ingress] 15 | implicit class ConfigurationInterpretationOps(val obj: Configuration) 16 | extends InterpreterOps1[Configuration, Namespace, model.ConfigMap] 17 | implicit class SecretInterpretationOps(val obj: Secret) extends InterpreterOps1[Secret, Namespace, model.Secret] 18 | implicit class NetworkPolicyInterpretationOps[A <: Peer[A], B <: Peer[B]](val obj: NetworkPolicy) 19 | extends InterpreterOps1[NetworkPolicy, Namespace, model.NetworkPolicy] 20 | } 21 | -------------------------------------------------------------------------------- /openapi/src/main/scala/com/virtuslab/iat/openapi/syntax.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.openapi 2 | 3 | import com.virtuslab.iat.scala.TupleOps 4 | import com.virtuslab.kubernetes.client.custom.B64Encoded 5 | import com.virtuslab.kubernetes.client.openapi.api.EnumsSerializers 6 | import com.virtuslab.kubernetes.client.openapi.core.Serializers 7 | import org.json4s.{ DefaultFormats, Formats } 8 | 9 | object json4s extends JValueProcessors with DefaultInterpreters with InterpreterOps with TupleOps { 10 | implicit val defaultFormats: Formats = DefaultFormats ++ EnumsSerializers.all ++ 11 | Serializers.all + B64Encoded.json4sCustomSerializer 12 | } 13 | object interpreter extends DefaultInterpreters 14 | object subinterpreter extends DefaultSubinterpreters 15 | -------------------------------------------------------------------------------- /openapi/src/test/scala/com/virtuslab/iat/json/json4s.jackson/YamlTest.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.json.json4s.jackson 2 | 3 | import org.json4s.{ Formats, NoTypeHints } 4 | import org.json4s.jackson.Serialization 5 | import org.scalatest.flatspec.AnyFlatSpec 6 | import org.scalatest.matchers.should.Matchers 7 | import com.virtuslab.iat.scalatest.json4s.jackson.JsonMatchers 8 | 9 | class YamlTest extends AnyFlatSpec with Matchers with JsonMatchers { 10 | 11 | import YamlMethods._ 12 | implicit val formats: Formats = Serialization.formats(NoTypeHints) 13 | 14 | it should "parse YAML from a string and back" in { 15 | val input = 16 | """apiVersion: networking.k8s.io/v1 17 | |kind: NetworkPolicy 18 | |metadata: 19 | | name: default-deny-all-ingress 20 | | namespace: advanced-policy-demo 21 | |spec: 22 | | podSelector: 23 | | matchLabels: {} 24 | | policyTypes: 25 | | - Ingress 26 | |""".stripMargin 27 | 28 | val expected = input 29 | val yaml = parse(input) 30 | val output = pretty(yaml) 31 | 32 | output should equal(expected) 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /openapi/src/test/scala/com/virtuslab/iat/openapitest/MetadataExtractorTest.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.openapitest 2 | 3 | import com.virtuslab.iat 4 | import com.virtuslab.iat.kubernetes.meta.Metadata 5 | import com.virtuslab.kubernetes.client.openapi.model 6 | import com.virtuslab.kubernetes.client.openapi.model.ObjectMeta 7 | import org.scalatest.flatspec.AnyFlatSpec 8 | import org.scalatest.matchers.should.Matchers 9 | 10 | class MetadataExtractorTest extends AnyFlatSpec with Matchers { 11 | it should "extract metadata from JValue" in { 12 | val ns = model.Namespace( 13 | apiVersion = Some("v1"), 14 | kind = Some("Namespace"), 15 | metadata = Some( 16 | ObjectMeta( 17 | name = Some("ns1") 18 | ) 19 | ) 20 | ) 21 | val dp = model.Deployment( 22 | apiVersion = Some("apps/v1"), 23 | kind = Some("Deployment"), 24 | metadata = Some( 25 | ObjectMeta( 26 | name = Some("app1"), 27 | namespace = Some("ns1") 28 | ) 29 | ) 30 | ) 31 | 32 | import iat.openapi.json4s._ 33 | 34 | val nsJson = asJValue(ns) 35 | val nsMeta = asMeta(nsJson) 36 | nsMeta should equal(Metadata("v1", "Namespace", "", "ns1")) 37 | 38 | val dpJson = asJValue(dp) 39 | val dpMeta = asMeta(dpJson) 40 | dpMeta should equal(Metadata("apps/v1", "Deployment", "ns1", "app1")) 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /openapi/src/test/scala/com/virtuslab/iat/openapitest/NamespaceInterpreterSpec.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.openapitest 2 | 3 | import com.virtuslab.iat 4 | import com.virtuslab.iat.dsl.Label.Name 5 | import com.virtuslab.iat.json.json4s.jackson.YamlMethods.yamlToJson 6 | import com.virtuslab.iat.kubernetes.dsl.Namespace 7 | import com.virtuslab.iat.scalatest.EnsureMatchers 8 | import com.virtuslab.iat.scalatest.json4s.jackson.JsonMatchers 9 | import org.scalatest.flatspec.AnyFlatSpec 10 | import org.scalatest.matchers.should.Matchers 11 | 12 | class NamespaceInterpreterSpec extends AnyFlatSpec with Matchers with JsonMatchers with EnsureMatchers { 13 | 14 | it should "serialize Namespace to JSON" in { 15 | val ns = Namespace(Name("foo") :: Nil) 16 | 17 | import iat.openapi.json4s._ 18 | val namespace = ns.interpret.asJValues.head 19 | 20 | namespace.should(matchJson(yamlToJson(s""" 21 | |--- 22 | |kind: Namespace 23 | |apiVersion: v1 24 | |metadata: 25 | | name: ${ns.name} 26 | | labels: 27 | | name: ${ns.name} 28 | """.stripMargin))) 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.3.12 2 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- 1 | addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.5.0") 2 | 3 | addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.2.1") 4 | 5 | addSbtPlugin("org.wartremover" % "sbt-wartremover" % "2.4.10") 6 | -------------------------------------------------------------------------------- /skuber/src/main/scala/com/virtuslab/iat/skuber/InterpreterOps.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.skuber 2 | 3 | import _root_.skuber.{ ConfigMap, ObjectResource, Service, Namespace => SNamespace, Secret => SSecret } 4 | import com.virtuslab.iat.core 5 | import com.virtuslab.iat.kubernetes.dsl._ 6 | import skuber.apps.v1.Deployment 7 | import skuber.ext.{ Ingress => SIngress } 8 | import skuber.networking.{ NetworkPolicy => SNetworkPolicy } 9 | 10 | trait InterpreterOps extends core.InterpreterOps[ObjectResource] { 11 | implicit class NamespaceInterpretationOps(val obj: Namespace) extends RootInterpreterOps1[Namespace, SNamespace] 12 | implicit class ApplicationInterpreterOps(val obj: Application) 13 | extends InterpreterOps2[Application, Namespace, Service, Deployment] 14 | implicit class GatewayInterpretationOps(val obj: Gateway) extends InterpreterOps1[Gateway, Namespace, SIngress] 15 | implicit class ConfigurationInterpretationOps(val obj: Configuration) 16 | extends InterpreterOps1[Configuration, Namespace, ConfigMap] 17 | implicit class SecretInterpretationOps(val obj: Secret) extends InterpreterOps1[Secret, Namespace, SSecret] 18 | implicit class NetworkPolicyInterpretationOps(val obj: NetworkPolicy) 19 | extends InterpreterOps1[NetworkPolicy, Namespace, SNetworkPolicy] 20 | } 21 | -------------------------------------------------------------------------------- /skuber/src/test/scala/com/virtuslab/iat/skubertest/SkuberConfigurationInterpreterSpec.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.skubertest 2 | 3 | import com.virtuslab.iat 4 | import com.virtuslab.iat.dsl.Label.{ Name, UntypedLabel } 5 | import com.virtuslab.iat.kubernetes.dsl.{ Configuration, Namespace } 6 | import com.virtuslab.iat.scalatest.EnsureMatchers 7 | import com.virtuslab.iat.scalatest.playjson.JsonMatchers 8 | import com.virtuslab.iat.skuber.yaml.Yaml.yamlToJson 9 | import org.scalatest.flatspec.AnyFlatSpec 10 | import org.scalatest.matchers.should.Matchers 11 | 12 | class SkuberConfigurationInterpreterSpec extends AnyFlatSpec with Matchers with JsonMatchers with EnsureMatchers { 13 | 14 | ignore should "ignore second label name when it's user defined" in { 15 | val ns = Namespace(Name("foo") :: Nil) 16 | val conf = Configuration( 17 | Name("foo") :: UntypedLabel("name", "bazz") :: Nil, 18 | data = Map.empty 19 | ) 20 | 21 | import iat.skuber.playjson._ 22 | import skuber.json.format._ 23 | 24 | val config = conf.interpretWith(ns).asJsValues.head 25 | 26 | config.should(matchJson(yamlToJson(s""" 27 | |--- 28 | |kind: ConfigMap 29 | |apiVersion: v1 30 | |metadata: 31 | | name: foo 32 | | namespace: "${ns.name}" 33 | | labels: 34 | | name: foo 35 | |""".stripMargin))) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /skuber/src/test/scala/com/virtuslab/iat/skubertest/SkuberLabelExpressionsTest.scala: -------------------------------------------------------------------------------- 1 | package com.virtuslab.iat.skubertest 2 | 3 | import com.virtuslab.iat 4 | import com.virtuslab.iat.dsl.Expressions 5 | import org.scalatest.flatspec.AnyFlatSpec 6 | import org.scalatest.matchers.should.Matchers 7 | import skuber.LabelSelector._ 8 | 9 | class SkuberLabelExpressionsTest extends AnyFlatSpec with Matchers { 10 | import com.virtuslab.iat.dsl.Expressions.ops._ 11 | 12 | import scala.language.postfixOps 13 | 14 | it should "allow to express all Kubernetes label selector expressions" in { 15 | import iat.skuber.subinterpreter 16 | 17 | val existence = Expressions("live") 18 | val requirement = subinterpreter.expressions(existence) 19 | requirement shouldEqual Seq(ExistsRequirement("live")) 20 | 21 | val complex = Expressions( 22 | "partition".in("customerA", "customerB"), 23 | "environment".is("qa"), 24 | "environment".isNot("dev"), 25 | "live".doesNotExist 26 | ) 27 | val requirements = subinterpreter.expressions(complex) 28 | requirements shouldEqual Seq( 29 | InRequirement("partition", List("customerA", "customerB")), 30 | IsEqualRequirement("environment", "qa"), 31 | IsNotEqualRequirement("environment", "dev"), 32 | NotExistsRequirement("live") 33 | ) 34 | } 35 | } 36 | --------------------------------------------------------------------------------