UNPKG

@pulumi/google-compliance-policies

Version:

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

148 lines (147 loc) 7.29 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.FunctionIamPolicy = exports.FunctionIamMember = exports.FunctionIamBinding = exports.Function = void 0; const policy_1 = require("@pulumi/policy"); const compliance_policy_manager_1 = require("@pulumi/compliance-policy-manager"); const v2beta_1 = require("@pulumi/google-native/cloudfunctions/v2beta"); const v2beta_2 = require("@pulumi/google-native/cloudfunctions/v2beta"); const v2beta_3 = require("@pulumi/google-native/cloudfunctions/v2beta"); const v2beta_4 = require("@pulumi/google-native/cloudfunctions/v2beta"); var Function; (function (Function) { /** * Disallow the use of non-stable (Beta) resouces (cloudfunctions.v2beta.Function). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ Function.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-cloudfunctions-v2beta-function-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (cloudfunctions.v2beta.Function).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v2beta_1.Function, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Cloudfunctions Function shouldn't use an unstable API (cloudfunctions.v2beta.Function)."); }), }, vendors: ["google"], services: ["cloudfunctions"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(Function || (Function = {})); exports.Function = Function; var FunctionIamBinding; (function (FunctionIamBinding) { /** * Disallow the use of non-stable (Beta) resouces (cloudfunctions.v2beta.FunctionIamBinding). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ FunctionIamBinding.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-cloudfunctions-v2beta-functioniambinding-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (cloudfunctions.v2beta.FunctionIamBinding).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v2beta_2.FunctionIamBinding, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Cloudfunctions FunctionIamBinding shouldn't use an unstable API (cloudfunctions.v2beta.FunctionIamBinding)."); }), }, vendors: ["google"], services: ["cloudfunctions"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(FunctionIamBinding || (FunctionIamBinding = {})); exports.FunctionIamBinding = FunctionIamBinding; var FunctionIamMember; (function (FunctionIamMember) { /** * Disallow the use of non-stable (Beta) resouces (cloudfunctions.v2beta.FunctionIamMember). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ FunctionIamMember.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-cloudfunctions-v2beta-functioniammember-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (cloudfunctions.v2beta.FunctionIamMember).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v2beta_3.FunctionIamMember, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Cloudfunctions FunctionIamMember shouldn't use an unstable API (cloudfunctions.v2beta.FunctionIamMember)."); }), }, vendors: ["google"], services: ["cloudfunctions"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(FunctionIamMember || (FunctionIamMember = {})); exports.FunctionIamMember = FunctionIamMember; var FunctionIamPolicy; (function (FunctionIamPolicy) { /** * Disallow the use of non-stable (Beta) resouces (cloudfunctions.v2beta.FunctionIamPolicy). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ FunctionIamPolicy.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-cloudfunctions-v2beta-functioniampolicy-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (cloudfunctions.v2beta.FunctionIamPolicy).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v2beta_4.FunctionIamPolicy, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Cloudfunctions FunctionIamPolicy shouldn't use an unstable API (cloudfunctions.v2beta.FunctionIamPolicy)."); }), }, vendors: ["google"], services: ["cloudfunctions"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(FunctionIamPolicy || (FunctionIamPolicy = {})); exports.FunctionIamPolicy = FunctionIamPolicy;