@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
JavaScript
"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;