UNPKG

@pulumi/kubernetes-compliance-policies

Version:

This repository contains a growing set of Compliance Policies to validate your infrastructure using Pulumi's Crossguard Policy-as-Code framework.

582 lines (581 loc) 29.9 kB
"use strict"; // Copyright 2016-2024, Pulumi Corporation. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // // ------------------------------- WARNING ------------------------------------- // This file was programmatically generated. Do not edit unless you know what // you're doing. // ------------------------------- WARNING ------------------------------------- Object.defineProperty(exports, "__esModule", { value: true }); exports.VolumeAttributesClassPatch = exports.VolumeAttributesClassList = exports.VolumeAttributesClass = exports.VolumeAttachmentPatch = exports.VolumeAttachmentList = exports.VolumeAttachment = exports.StorageClassPatch = exports.StorageClassList = exports.StorageClass = exports.CSIStorageCapacityPatch = exports.CSIStorageCapacityList = exports.CSIStorageCapacity = exports.CSINodePatch = exports.CSINodeList = exports.CSINode = exports.CSIDriverPatch = exports.CSIDriverList = exports.CSIDriver = void 0; const policy_1 = require("@pulumi/policy"); const compliance_policy_manager_1 = require("@pulumi/compliance-policy-manager"); const v1beta1_1 = require("@pulumi/kubernetes/storage/v1beta1"); const v1beta1_2 = require("@pulumi/kubernetes/storage/v1beta1"); const v1beta1_3 = require("@pulumi/kubernetes/storage/v1beta1"); const v1beta1_4 = require("@pulumi/kubernetes/storage/v1beta1"); const v1beta1_5 = require("@pulumi/kubernetes/storage/v1beta1"); const v1beta1_6 = require("@pulumi/kubernetes/storage/v1beta1"); const v1beta1_7 = require("@pulumi/kubernetes/storage/v1beta1"); const v1beta1_8 = require("@pulumi/kubernetes/storage/v1beta1"); const v1beta1_9 = require("@pulumi/kubernetes/storage/v1beta1"); const v1beta1_10 = require("@pulumi/kubernetes/storage/v1beta1"); const v1beta1_11 = require("@pulumi/kubernetes/storage/v1beta1"); const v1beta1_12 = require("@pulumi/kubernetes/storage/v1beta1"); const v1beta1_13 = require("@pulumi/kubernetes/storage/v1beta1"); const v1beta1_14 = require("@pulumi/kubernetes/storage/v1beta1"); const v1beta1_15 = require("@pulumi/kubernetes/storage/v1beta1"); const v1beta1_16 = require("@pulumi/kubernetes/storage/v1beta1"); const v1beta1_17 = require("@pulumi/kubernetes/storage/v1beta1"); const v1beta1_18 = require("@pulumi/kubernetes/storage/v1beta1"); var CSIDriver; (function (CSIDriver) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSIDriver). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ CSIDriver.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-csidriver-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSIDriver).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_1.CSIDriver, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes CSIDriver shouldn't use an unstable API (storage.v1beta1.CSIDriver)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(CSIDriver || (CSIDriver = {})); exports.CSIDriver = CSIDriver; var CSIDriverList; (function (CSIDriverList) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSIDriverList). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ CSIDriverList.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-csidriverlist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSIDriverList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_2.CSIDriverList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes CSIDriverList shouldn't use an unstable API (storage.v1beta1.CSIDriverList)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(CSIDriverList || (CSIDriverList = {})); exports.CSIDriverList = CSIDriverList; var CSIDriverPatch; (function (CSIDriverPatch) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSIDriverPatch). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ CSIDriverPatch.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-csidriverpatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSIDriverPatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_3.CSIDriverPatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes CSIDriverPatch shouldn't use an unstable API (storage.v1beta1.CSIDriverPatch)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(CSIDriverPatch || (CSIDriverPatch = {})); exports.CSIDriverPatch = CSIDriverPatch; var CSINode; (function (CSINode) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSINode). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ CSINode.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-csinode-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSINode).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_4.CSINode, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes CSINode shouldn't use an unstable API (storage.v1beta1.CSINode)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(CSINode || (CSINode = {})); exports.CSINode = CSINode; var CSINodeList; (function (CSINodeList) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSINodeList). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ CSINodeList.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-csinodelist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSINodeList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_5.CSINodeList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes CSINodeList shouldn't use an unstable API (storage.v1beta1.CSINodeList)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(CSINodeList || (CSINodeList = {})); exports.CSINodeList = CSINodeList; var CSINodePatch; (function (CSINodePatch) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSINodePatch). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ CSINodePatch.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-csinodepatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSINodePatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_6.CSINodePatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes CSINodePatch shouldn't use an unstable API (storage.v1beta1.CSINodePatch)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(CSINodePatch || (CSINodePatch = {})); exports.CSINodePatch = CSINodePatch; var CSIStorageCapacity; (function (CSIStorageCapacity) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSIStorageCapacity). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ CSIStorageCapacity.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-csistoragecapacity-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSIStorageCapacity).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_7.CSIStorageCapacity, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes CSIStorageCapacity shouldn't use an unstable API (storage.v1beta1.CSIStorageCapacity)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(CSIStorageCapacity || (CSIStorageCapacity = {})); exports.CSIStorageCapacity = CSIStorageCapacity; var CSIStorageCapacityList; (function (CSIStorageCapacityList) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSIStorageCapacityList). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ CSIStorageCapacityList.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-csistoragecapacitylist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSIStorageCapacityList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_8.CSIStorageCapacityList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes CSIStorageCapacityList shouldn't use an unstable API (storage.v1beta1.CSIStorageCapacityList)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(CSIStorageCapacityList || (CSIStorageCapacityList = {})); exports.CSIStorageCapacityList = CSIStorageCapacityList; var CSIStorageCapacityPatch; (function (CSIStorageCapacityPatch) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSIStorageCapacityPatch). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ CSIStorageCapacityPatch.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-csistoragecapacitypatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.CSIStorageCapacityPatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_9.CSIStorageCapacityPatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes CSIStorageCapacityPatch shouldn't use an unstable API (storage.v1beta1.CSIStorageCapacityPatch)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(CSIStorageCapacityPatch || (CSIStorageCapacityPatch = {})); exports.CSIStorageCapacityPatch = CSIStorageCapacityPatch; var StorageClass; (function (StorageClass) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.StorageClass). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ StorageClass.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-storageclass-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.StorageClass).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_10.StorageClass, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes StorageClass shouldn't use an unstable API (storage.v1beta1.StorageClass)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(StorageClass || (StorageClass = {})); exports.StorageClass = StorageClass; var StorageClassList; (function (StorageClassList) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.StorageClassList). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ StorageClassList.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-storageclasslist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.StorageClassList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_11.StorageClassList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes StorageClassList shouldn't use an unstable API (storage.v1beta1.StorageClassList)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(StorageClassList || (StorageClassList = {})); exports.StorageClassList = StorageClassList; var StorageClassPatch; (function (StorageClassPatch) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.StorageClassPatch). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ StorageClassPatch.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-storageclasspatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.StorageClassPatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_12.StorageClassPatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes StorageClassPatch shouldn't use an unstable API (storage.v1beta1.StorageClassPatch)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(StorageClassPatch || (StorageClassPatch = {})); exports.StorageClassPatch = StorageClassPatch; var VolumeAttachment; (function (VolumeAttachment) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.VolumeAttachment). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ VolumeAttachment.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-volumeattachment-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.VolumeAttachment).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_13.VolumeAttachment, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes VolumeAttachment shouldn't use an unstable API (storage.v1beta1.VolumeAttachment)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(VolumeAttachment || (VolumeAttachment = {})); exports.VolumeAttachment = VolumeAttachment; var VolumeAttachmentList; (function (VolumeAttachmentList) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.VolumeAttachmentList). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ VolumeAttachmentList.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-volumeattachmentlist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.VolumeAttachmentList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_14.VolumeAttachmentList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes VolumeAttachmentList shouldn't use an unstable API (storage.v1beta1.VolumeAttachmentList)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(VolumeAttachmentList || (VolumeAttachmentList = {})); exports.VolumeAttachmentList = VolumeAttachmentList; var VolumeAttachmentPatch; (function (VolumeAttachmentPatch) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.VolumeAttachmentPatch). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ VolumeAttachmentPatch.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-volumeattachmentpatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.VolumeAttachmentPatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_15.VolumeAttachmentPatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes VolumeAttachmentPatch shouldn't use an unstable API (storage.v1beta1.VolumeAttachmentPatch)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(VolumeAttachmentPatch || (VolumeAttachmentPatch = {})); exports.VolumeAttachmentPatch = VolumeAttachmentPatch; var VolumeAttributesClass; (function (VolumeAttributesClass) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.VolumeAttributesClass). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ VolumeAttributesClass.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-volumeattributesclass-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.VolumeAttributesClass).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_16.VolumeAttributesClass, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes VolumeAttributesClass shouldn't use an unstable API (storage.v1beta1.VolumeAttributesClass)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(VolumeAttributesClass || (VolumeAttributesClass = {})); exports.VolumeAttributesClass = VolumeAttributesClass; var VolumeAttributesClassList; (function (VolumeAttributesClassList) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.VolumeAttributesClassList). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ VolumeAttributesClassList.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-volumeattributesclasslist-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.VolumeAttributesClassList).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_17.VolumeAttributesClassList, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes VolumeAttributesClassList shouldn't use an unstable API (storage.v1beta1.VolumeAttributesClassList)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(VolumeAttributesClassList || (VolumeAttributesClassList = {})); exports.VolumeAttributesClassList = VolumeAttributesClassList; var VolumeAttributesClassPatch; (function (VolumeAttributesClassPatch) { /** * Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.VolumeAttributesClassPatch). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning */ VolumeAttributesClassPatch.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "kubernetes-storage-v1beta1-volumeattributesclasspatch-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) Kubernetes resouces (storage.v1beta1.VolumeAttributesClassPatch).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta1_18.VolumeAttributesClassPatch, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Kubernetes VolumeAttributesClassPatch shouldn't use an unstable API (storage.v1beta1.VolumeAttributesClassPatch)."); }), }, vendors: ["kubernetes"], services: ["storage"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(VolumeAttributesClassPatch || (VolumeAttributesClassPatch = {})); exports.VolumeAttributesClassPatch = VolumeAttributesClassPatch;