@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 v1beta3_1 = require("@pulumi/kubernetes/flowcontrol/v1beta3");
const v1beta3_2 = require("@pulumi/kubernetes/flowcontrol/v1beta3");
const v1beta3_3 = require("@pulumi/kubernetes/flowcontrol/v1beta3");
const v1beta3_4 = require("@pulumi/kubernetes/flowcontrol/v1beta3");
const v1beta3_5 = require("@pulumi/kubernetes/flowcontrol/v1beta3");
const v1beta3_6 = require("@pulumi/kubernetes/flowcontrol/v1beta3");
var FlowSchema;
(function (FlowSchema) {
/**
* Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta3.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-v1beta3-flowschema-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta3.FlowSchema).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta3_1.FlowSchema, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Kubernetes FlowSchema shouldn't use an unstable API (flowcontrol.v1beta3.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.v1beta3.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-v1beta3-flowschemalist-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta3.FlowSchemaList).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta3_2.FlowSchemaList, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Kubernetes FlowSchemaList shouldn't use an unstable API (flowcontrol.v1beta3.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.v1beta3.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-v1beta3-flowschemapatch-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta3.FlowSchemaPatch).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta3_3.FlowSchemaPatch, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Kubernetes FlowSchemaPatch shouldn't use an unstable API (flowcontrol.v1beta3.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.v1beta3.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-v1beta3-prioritylevelconfiguration-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta3.PriorityLevelConfiguration).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta3_4.PriorityLevelConfiguration, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Kubernetes PriorityLevelConfiguration shouldn't use an unstable API (flowcontrol.v1beta3.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.v1beta3.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-v1beta3-prioritylevelconfigurationlist-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta3.PriorityLevelConfigurationList).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta3_5.PriorityLevelConfigurationList, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Kubernetes PriorityLevelConfigurationList shouldn't use an unstable API (flowcontrol.v1beta3.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.v1beta3.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-v1beta3-prioritylevelconfigurationpatch-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) Kubernetes resouces (flowcontrol.v1beta3.PriorityLevelConfigurationPatch).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta3_6.PriorityLevelConfigurationPatch, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Kubernetes PriorityLevelConfigurationPatch shouldn't use an unstable API (flowcontrol.v1beta3.PriorityLevelConfigurationPatch).");
}),
},
vendors: ["kubernetes"],
services: ["flowcontrol"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(PriorityLevelConfigurationPatch || (PriorityLevelConfigurationPatch = {}));
exports.PriorityLevelConfigurationPatch = PriorityLevelConfigurationPatch;