Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: move interfaces to types dir to easily distinguish api resources #97

Merged
merged 1 commit into from
Feb 7, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 0 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,6 @@ k8sUnusedOpenApiFiles := \
"version_openapi.json"


.PHONY: all
all: download-schema parse-schema models core


# Download Kubernetes OpenAPI schemas to packages/cli/input-spec/*.json
.PHONY: download-schema
download-schema:
Expand Down
10 changes: 8 additions & 2 deletions packages/cli/src/moveCore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,16 @@ function main() {
for (const sourceFile of project.getSourceFiles()) {
if (sourceFile.getDirectoryPath().startsWith(modelsPath)) {
const fileName = sourceFile.getBaseNameWithoutExtension();
const schema = schemas.classes[fileName] ?? schemas.interfaces[fileName];
const classSchema = schemas.classes[fileName];
const interfaceSchema = schemas.interfaces[fileName];
const schema = classSchema ?? interfaceSchema;

/**
* In the OpenAPI spec file, classes contain .k8s.io, interfaces doesn't.
* Also, flowcontrol.apiserver.k8s.io is used in classes,
* but flowcontrol was used in interfaces.
*/
const destDir = path.join(
let destDir = path.join(
modelsPath,
schema.group
.replace('.k8s.io', '')
Expand All @@ -42,6 +44,10 @@ function main() {
schema.version,
);

if (interfaceSchema) {
destDir = path.join(destDir, 'types');
}

if (!fs.existsSync(destDir)) {
log(`Creating directory ${pc.blueBright(destDir)}`);
fs.mkdirSync(destDir, { recursive: true });
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/ApiObject.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as yaml from 'yaml';
import { ObjectMeta } from './models/meta/v1/ObjectMeta';
import { ObjectMeta } from './models/meta/v1/types/ObjectMeta';

export interface NamespacedObjectMeta extends ObjectMeta {
/**
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/Helm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import * as path from 'node:path';
import * as yaml from 'yaml';
import { ApiObject } from './ApiObject.js';
import { K8sApp } from './K8sApp.js';
import { ObjectMeta } from './models/meta/v1/ObjectMeta';
import { ObjectMeta } from './models/meta/v1/types/ObjectMeta';

interface HelmObjectArgs {
readonly apiVersion: string;
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export * from './ApiObject.js';
export * from './K8sApp.js';
export * from './models/meta/v1/ObjectMeta';
export * from './models/meta/v1/types/ObjectMeta';
export * from './Helm.js';
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { MutatingWebhook } from './MutatingWebhook';
import { ObjectMeta } from '../../meta/v1/ObjectMeta';
import { MutatingWebhook } from './types/MutatingWebhook';
import { ObjectMeta } from '../../meta/v1/types/ObjectMeta';
import { K8sApp } from '../../../K8sApp';
import { ApiObject } from '../../../ApiObject';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ValidatingAdmissionPolicySpec } from './ValidatingAdmissionPolicySpec';
import { ObjectMeta } from '../../meta/v1/ObjectMeta';
import { ValidatingAdmissionPolicySpec } from './types/ValidatingAdmissionPolicySpec';
import { ObjectMeta } from '../../meta/v1/types/ObjectMeta';
import { K8sApp } from '../../../K8sApp';
import { ApiObject } from '../../../ApiObject';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ValidatingAdmissionPolicyBindingSpec } from './ValidatingAdmissionPolicyBindingSpec';
import { ObjectMeta } from '../../meta/v1/ObjectMeta';
import { ValidatingAdmissionPolicyBindingSpec } from './types/ValidatingAdmissionPolicyBindingSpec';
import { ObjectMeta } from '../../meta/v1/types/ObjectMeta';
import { K8sApp } from '../../../K8sApp';
import { ApiObject } from '../../../ApiObject';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ValidatingWebhook } from './ValidatingWebhook';
import { ObjectMeta } from '../../meta/v1/ObjectMeta';
import { ValidatingWebhook } from './types/ValidatingWebhook';
import { ObjectMeta } from '../../meta/v1/types/ObjectMeta';
import { K8sApp } from '../../../K8sApp';
import { ApiObject } from '../../../ApiObject';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { NamedRuleWithOperations } from './NamedRuleWithOperations';
import { LabelSelector } from '../../meta/v1/LabelSelector';
import { LabelSelector } from '../../../meta/v1/types/LabelSelector';

/**
* MatchResources decides whether to run the admission control policy on an object based on whether it meets the match criteria. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { MatchCondition } from './MatchCondition';
import { RuleWithOperations } from './RuleWithOperations';
import { WebhookClientConfig } from './WebhookClientConfig';
import { LabelSelector } from '../../meta/v1/LabelSelector';
import { LabelSelector } from '../../../meta/v1/types/LabelSelector';

/**
* MutatingWebhook describes an admission webhook and the resources and operations it applies to.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { LabelSelector } from '../../meta/v1/LabelSelector';
import { LabelSelector } from '../../../meta/v1/types/LabelSelector';

/**
* ParamRef describes how to locate the params to be used as input to expressions of rules applied by a policy binding.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { MatchCondition } from './MatchCondition';
import { RuleWithOperations } from './RuleWithOperations';
import { WebhookClientConfig } from './WebhookClientConfig';
import { LabelSelector } from '../../meta/v1/LabelSelector';
import { LabelSelector } from '../../../meta/v1/types/LabelSelector';

/**
* ValidatingWebhook describes an admission webhook and the resources and operations it applies to.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { MutatingAdmissionPolicySpec } from './MutatingAdmissionPolicySpec';
import { ObjectMeta } from '../../meta/v1/ObjectMeta';
import { MutatingAdmissionPolicySpec } from './types/MutatingAdmissionPolicySpec';
import { ObjectMeta } from '../../meta/v1/types/ObjectMeta';
import { K8sApp } from '../../../K8sApp';
import { ApiObject } from '../../../ApiObject';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { MutatingAdmissionPolicyBindingSpec } from './MutatingAdmissionPolicyBindingSpec';
import { ObjectMeta } from '../../meta/v1/ObjectMeta';
import { MutatingAdmissionPolicyBindingSpec } from './types/MutatingAdmissionPolicyBindingSpec';
import { ObjectMeta } from '../../meta/v1/types/ObjectMeta';
import { K8sApp } from '../../../K8sApp';
import { ApiObject } from '../../../ApiObject';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { NamedRuleWithOperations } from './NamedRuleWithOperations';
import { LabelSelector } from '../../meta/v1/LabelSelector';
import { LabelSelector } from '../../../meta/v1/types/LabelSelector';

/**
* MatchResources decides whether to run the admission control policy on an object based on whether it meets the match criteria. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { LabelSelector } from '../../meta/v1/LabelSelector';
import { LabelSelector } from '../../../meta/v1/types/LabelSelector';

/**
* ParamRef describes how to locate the params to be used as input to expressions of rules applied by a policy binding.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ValidatingAdmissionPolicySpec } from './ValidatingAdmissionPolicySpec';
import { ObjectMeta } from '../../meta/v1/ObjectMeta';
import { ValidatingAdmissionPolicySpec } from './types/ValidatingAdmissionPolicySpec';
import { ObjectMeta } from '../../meta/v1/types/ObjectMeta';
import { K8sApp } from '../../../K8sApp';
import { ApiObject } from '../../../ApiObject';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ValidatingAdmissionPolicyBindingSpec } from './ValidatingAdmissionPolicyBindingSpec';
import { ObjectMeta } from '../../meta/v1/ObjectMeta';
import { ValidatingAdmissionPolicyBindingSpec } from './types/ValidatingAdmissionPolicyBindingSpec';
import { ObjectMeta } from '../../meta/v1/types/ObjectMeta';
import { K8sApp } from '../../../K8sApp';
import { ApiObject } from '../../../ApiObject';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { NamedRuleWithOperations } from './NamedRuleWithOperations';
import { LabelSelector } from '../../meta/v1/LabelSelector';
import { LabelSelector } from '../../../meta/v1/types/LabelSelector';

/**
* MatchResources decides whether to run the admission control policy on an object based on whether it meets the match criteria. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { LabelSelector } from '../../meta/v1/LabelSelector';
import { LabelSelector } from '../../../meta/v1/types/LabelSelector';

/**
* ParamRef describes how to locate the params to be used as input to expressions of rules applied by a policy binding.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { CustomResourceDefinitionSpec } from './CustomResourceDefinitionSpec';
import { ObjectMeta } from '../../meta/v1/ObjectMeta';
import { CustomResourceDefinitionSpec } from './types/CustomResourceDefinitionSpec';
import { ObjectMeta } from '../../meta/v1/types/ObjectMeta';
import { K8sApp } from '../../../K8sApp';
import { ApiObject } from '../../../ApiObject';

Expand Down
4 changes: 2 additions & 2 deletions packages/core/src/models/apiregistration/v1/APIService.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ObjectMeta } from '../../meta/v1/ObjectMeta';
import { APIServiceSpec } from './APIServiceSpec';
import { ObjectMeta } from '../../meta/v1/types/ObjectMeta';
import { APIServiceSpec } from './types/APIServiceSpec';
import { K8sApp } from '../../../K8sApp';
import { ApiObject } from '../../../ApiObject';

Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/models/apps/v1/DaemonSet.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { DaemonSetSpec } from './DaemonSetSpec';
import { DaemonSetSpec } from './types/DaemonSetSpec';
import { K8sApp } from '../../../K8sApp';
import { NamespacedObjectMeta, NamespacedApiObject } from '../../../ApiObject';

Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/models/apps/v1/Deployment.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { DeploymentSpec } from './DeploymentSpec';
import { DeploymentSpec } from './types/DeploymentSpec';
import { K8sApp } from '../../../K8sApp';
import { NamespacedObjectMeta, NamespacedApiObject } from '../../../ApiObject';

Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/models/apps/v1/ReplicaSet.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ReplicaSetSpec } from './ReplicaSetSpec';
import { ReplicaSetSpec } from './types/ReplicaSetSpec';
import { K8sApp } from '../../../K8sApp';
import { NamespacedObjectMeta, NamespacedApiObject } from '../../../ApiObject';

Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/models/apps/v1/StatefulSet.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { StatefulSetSpec } from './StatefulSetSpec';
import { StatefulSetSpec } from './types/StatefulSetSpec';
import { K8sApp } from '../../../K8sApp';
import { NamespacedObjectMeta, NamespacedApiObject } from '../../../ApiObject';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { DaemonSetUpdateStrategy } from './DaemonSetUpdateStrategy';
import { PodTemplateSpec } from '../../v1/PodTemplateSpec';
import { LabelSelector } from '../../meta/v1/LabelSelector';
import { PodTemplateSpec } from '../../../v1/types/PodTemplateSpec';
import { LabelSelector } from '../../../meta/v1/types/LabelSelector';

/**
* DaemonSetSpec is the specification of a daemon set.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { DeploymentStrategy } from './DeploymentStrategy';
import { PodTemplateSpec } from '../../v1/PodTemplateSpec';
import { LabelSelector } from '../../meta/v1/LabelSelector';
import { PodTemplateSpec } from '../../../v1/types/PodTemplateSpec';
import { LabelSelector } from '../../../meta/v1/types/LabelSelector';

/**
* DeploymentSpec is the specification of the desired behavior of the Deployment.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { PodTemplateSpec } from '../../v1/PodTemplateSpec';
import { LabelSelector } from '../../meta/v1/LabelSelector';
import { PodTemplateSpec } from '../../../v1/types/PodTemplateSpec';
import { LabelSelector } from '../../../meta/v1/types/LabelSelector';

/**
* ReplicaSetSpec is the specification of a ReplicaSet.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { StatefulSetOrdinals } from './StatefulSetOrdinals';
import { StatefulSetPersistentVolumeClaimRetentionPolicy } from './StatefulSetPersistentVolumeClaimRetentionPolicy';
import { StatefulSetUpdateStrategy } from './StatefulSetUpdateStrategy';
import { PersistentVolumeClaim } from '../../v1/PersistentVolumeClaim';
import { PodTemplateSpec } from '../../v1/PodTemplateSpec';
import { LabelSelector } from '../../meta/v1/LabelSelector';
import { PersistentVolumeClaim } from '../../../v1/PersistentVolumeClaim';
import { PodTemplateSpec } from '../../../v1/types/PodTemplateSpec';
import { LabelSelector } from '../../../meta/v1/types/LabelSelector';

/**
* A StatefulSetSpec is the specification of a StatefulSet.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { HorizontalPodAutoscalerSpec } from './HorizontalPodAutoscalerSpec';
import { HorizontalPodAutoscalerSpec } from './types/HorizontalPodAutoscalerSpec';
import { K8sApp } from '../../../K8sApp';
import { NamespacedObjectMeta, NamespacedApiObject } from '../../../ApiObject';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { HorizontalPodAutoscalerSpec } from './HorizontalPodAutoscalerSpec';
import { HorizontalPodAutoscalerSpec } from './types/HorizontalPodAutoscalerSpec';
import { K8sApp } from '../../../K8sApp';
import { NamespacedObjectMeta, NamespacedApiObject } from '../../../ApiObject';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { LabelSelector } from '../../meta/v1/LabelSelector';
import { LabelSelector } from '../../../meta/v1/types/LabelSelector';

/**
* MetricIdentifier defines the name and optionally selector for a metric
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/models/batch/v1/CronJob.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { CronJobSpec } from './CronJobSpec';
import { CronJobSpec } from './types/CronJobSpec';
import { K8sApp } from '../../../K8sApp';
import { NamespacedObjectMeta, NamespacedApiObject } from '../../../ApiObject';

Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/models/batch/v1/Job.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { JobSpec } from './JobSpec';
import { JobSpec } from './types/JobSpec';
import { K8sApp } from '../../../K8sApp';
import { NamespacedObjectMeta, NamespacedApiObject } from '../../../ApiObject';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { PodFailurePolicy } from './PodFailurePolicy';
import { SuccessPolicy } from './SuccessPolicy';
import { PodTemplateSpec } from '../../v1/PodTemplateSpec';
import { LabelSelector } from '../../meta/v1/LabelSelector';
import { PodTemplateSpec } from '../../../v1/types/PodTemplateSpec';
import { LabelSelector } from '../../../meta/v1/types/LabelSelector';

/**
* JobSpec describes how the job execution will look like.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { JobSpec } from './JobSpec';
import { ObjectMeta } from '../../meta/v1/ObjectMeta';
import { ObjectMeta } from '../../../meta/v1/types/ObjectMeta';

/**
* JobTemplateSpec describes the data a Job should have when created from a template
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { CertificateSigningRequestSpec } from './CertificateSigningRequestSpec';
import { ObjectMeta } from '../../meta/v1/ObjectMeta';
import { CertificateSigningRequestSpec } from './types/CertificateSigningRequestSpec';
import { ObjectMeta } from '../../meta/v1/types/ObjectMeta';
import { K8sApp } from '../../../K8sApp';
import { ApiObject } from '../../../ApiObject';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ClusterTrustBundleSpec } from './ClusterTrustBundleSpec';
import { ObjectMeta } from '../../meta/v1/ObjectMeta';
import { ClusterTrustBundleSpec } from './types/ClusterTrustBundleSpec';
import { ObjectMeta } from '../../meta/v1/types/ObjectMeta';
import { K8sApp } from '../../../K8sApp';
import { ApiObject } from '../../../ApiObject';

Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/models/coordination/v1/Lease.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { LeaseSpec } from './LeaseSpec';
import { LeaseSpec } from './types/LeaseSpec';
import { K8sApp } from '../../../K8sApp';
import { NamespacedObjectMeta, NamespacedApiObject } from '../../../ApiObject';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { LeaseCandidateSpec } from './LeaseCandidateSpec';
import { LeaseCandidateSpec } from './types/LeaseCandidateSpec';
import { K8sApp } from '../../../K8sApp';
import { NamespacedObjectMeta, NamespacedApiObject } from '../../../ApiObject';

Expand Down
4 changes: 2 additions & 2 deletions packages/core/src/models/discovery/v1/EndpointSlice.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Endpoint } from './Endpoint';
import { EndpointPort } from './EndpointPort';
import { Endpoint } from './types/Endpoint';
import { EndpointPort } from './types/EndpointPort';
import { K8sApp } from '../../../K8sApp';
import { NamespacedObjectMeta, NamespacedApiObject } from '../../../ApiObject';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ObjectReference } from '../../v1/ObjectReference';
import { ObjectReference } from '../../../v1/types/ObjectReference';
import { EndpointConditions } from './EndpointConditions';
import { EndpointHints } from './EndpointHints';

Expand Down
6 changes: 3 additions & 3 deletions packages/core/src/models/events/v1/Event.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { EventSource } from '../../v1/EventSource';
import { ObjectReference } from '../../v1/ObjectReference';
import { EventSeries } from './EventSeries';
import { EventSource } from '../../v1/types/EventSource';
import { ObjectReference } from '../../v1/types/ObjectReference';
import { EventSeries } from './types/EventSeries';
import { K8sApp } from '../../../K8sApp';
import { NamespacedObjectMeta, NamespacedApiObject } from '../../../ApiObject';

Expand Down
4 changes: 2 additions & 2 deletions packages/core/src/models/flowcontrol/v1/FlowSchema.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { FlowSchemaSpec } from './FlowSchemaSpec';
import { ObjectMeta } from '../../meta/v1/ObjectMeta';
import { FlowSchemaSpec } from './types/FlowSchemaSpec';
import { ObjectMeta } from '../../meta/v1/types/ObjectMeta';
import { K8sApp } from '../../../K8sApp';
import { ApiObject } from '../../../ApiObject';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { PriorityLevelConfigurationSpec } from './PriorityLevelConfigurationSpec';
import { ObjectMeta } from '../../meta/v1/ObjectMeta';
import { PriorityLevelConfigurationSpec } from './types/PriorityLevelConfigurationSpec';
import { ObjectMeta } from '../../meta/v1/types/ObjectMeta';
import { K8sApp } from '../../../K8sApp';
import { ApiObject } from '../../../ApiObject';

Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/models/networking/v1/Ingress.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { IngressSpec } from './IngressSpec';
import { IngressSpec } from './types/IngressSpec';
import { K8sApp } from '../../../K8sApp';
import { NamespacedObjectMeta, NamespacedApiObject } from '../../../ApiObject';

Expand Down
4 changes: 2 additions & 2 deletions packages/core/src/models/networking/v1/IngressClass.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { IngressClassSpec } from './IngressClassSpec';
import { ObjectMeta } from '../../meta/v1/ObjectMeta';
import { IngressClassSpec } from './types/IngressClassSpec';
import { ObjectMeta } from '../../meta/v1/types/ObjectMeta';
import { K8sApp } from '../../../K8sApp';
import { ApiObject } from '../../../ApiObject';

Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/models/networking/v1/NetworkPolicy.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { NetworkPolicySpec } from './NetworkPolicySpec';
import { NetworkPolicySpec } from './types/NetworkPolicySpec';
import { K8sApp } from '../../../K8sApp';
import { NamespacedObjectMeta, NamespacedApiObject } from '../../../ApiObject';

Expand Down
Loading