@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.
210 lines (209 loc) • 11.2 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.PriorityLevelConfigurationPatch = exports.PriorityLevelConfigurationList = exports.PriorityLevelConfiguration = exports.FlowSchemaPatch = exports.FlowSchemaList = exports.FlowSchema = void 0;
const policy_1 = require("@pulumi/policy");
const compliance_policy_manager_1 = require("@pulumi/compliance-policy-manager");
const v1beta1_1 = require("@pulumi/kubernetes/flowcontrol/v1beta1");
const v1beta1_2 = require("@pulumi/kubernetes/flowcontrol/v1beta1");
const v1beta1_3 = require("@pulumi/kubernetes/flowcontrol/v1beta1");
const v1beta1_4 = require("@pulumi/kubernetes/flowcontrol/v1beta1");
const v1beta1_5 = require("@pulumi/kubernetes/flowcontrol/v1beta1");
const v1beta1_6 = require("@pulumi/kubernetes/flowcontrol/v1beta1");
var FlowSchema;
(function (FlowSchema) {
/**
* Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta1.FlowSchema).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning
*/
FlowSchema.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "kubernetes-flowcontrol-v1beta1-flowschema-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta1.FlowSchema).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_1.FlowSchema, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Kubernetes FlowSchema shouldn't use an unstable API (flowcontrol.v1beta1.FlowSchema).");
}),
},
vendors: ["kubernetes"],
services: ["flowcontrol"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(FlowSchema || (FlowSchema = {}));
exports.FlowSchema = FlowSchema;
var FlowSchemaList;
(function (FlowSchemaList) {
/**
* Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta1.FlowSchemaList).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning
*/
FlowSchemaList.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "kubernetes-flowcontrol-v1beta1-flowschemalist-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta1.FlowSchemaList).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_2.FlowSchemaList, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Kubernetes FlowSchemaList shouldn't use an unstable API (flowcontrol.v1beta1.FlowSchemaList).");
}),
},
vendors: ["kubernetes"],
services: ["flowcontrol"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(FlowSchemaList || (FlowSchemaList = {}));
exports.FlowSchemaList = FlowSchemaList;
var FlowSchemaPatch;
(function (FlowSchemaPatch) {
/**
* Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta1.FlowSchemaPatch).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning
*/
FlowSchemaPatch.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "kubernetes-flowcontrol-v1beta1-flowschemapatch-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta1.FlowSchemaPatch).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_3.FlowSchemaPatch, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Kubernetes FlowSchemaPatch shouldn't use an unstable API (flowcontrol.v1beta1.FlowSchemaPatch).");
}),
},
vendors: ["kubernetes"],
services: ["flowcontrol"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(FlowSchemaPatch || (FlowSchemaPatch = {}));
exports.FlowSchemaPatch = FlowSchemaPatch;
var PriorityLevelConfiguration;
(function (PriorityLevelConfiguration) {
/**
* Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta1.PriorityLevelConfiguration).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning
*/
PriorityLevelConfiguration.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "kubernetes-flowcontrol-v1beta1-prioritylevelconfiguration-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta1.PriorityLevelConfiguration).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_4.PriorityLevelConfiguration, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Kubernetes PriorityLevelConfiguration shouldn't use an unstable API (flowcontrol.v1beta1.PriorityLevelConfiguration).");
}),
},
vendors: ["kubernetes"],
services: ["flowcontrol"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(PriorityLevelConfiguration || (PriorityLevelConfiguration = {}));
exports.PriorityLevelConfiguration = PriorityLevelConfiguration;
var PriorityLevelConfigurationList;
(function (PriorityLevelConfigurationList) {
/**
* Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta1.PriorityLevelConfigurationList).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning
*/
PriorityLevelConfigurationList.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "kubernetes-flowcontrol-v1beta1-prioritylevelconfigurationlist-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta1.PriorityLevelConfigurationList).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_5.PriorityLevelConfigurationList, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Kubernetes PriorityLevelConfigurationList shouldn't use an unstable API (flowcontrol.v1beta1.PriorityLevelConfigurationList).");
}),
},
vendors: ["kubernetes"],
services: ["flowcontrol"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(PriorityLevelConfigurationList || (PriorityLevelConfigurationList = {}));
exports.PriorityLevelConfigurationList = PriorityLevelConfigurationList;
var PriorityLevelConfigurationPatch;
(function (PriorityLevelConfigurationPatch) {
/**
* Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta1.PriorityLevelConfigurationPatch).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning
*/
PriorityLevelConfigurationPatch.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "kubernetes-flowcontrol-v1beta1-prioritylevelconfigurationpatch-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta1.PriorityLevelConfigurationPatch).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_6.PriorityLevelConfigurationPatch, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Kubernetes PriorityLevelConfigurationPatch shouldn't use an unstable API (flowcontrol.v1beta1.PriorityLevelConfigurationPatch).");
}),
},
vendors: ["kubernetes"],
services: ["flowcontrol"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(PriorityLevelConfigurationPatch || (PriorityLevelConfigurationPatch = {}));
exports.PriorityLevelConfigurationPatch = PriorityLevelConfigurationPatch;