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.

210 lines (209 loc) 10.6 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.TypeProvider = exports.DeploymentIamPolicy = exports.DeploymentIamMember = exports.DeploymentIamBinding = exports.Deployment = exports.CompositeType = 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/deploymentmanager/v2beta"); const v2beta_2 = require("@pulumi/google-native/deploymentmanager/v2beta"); const v2beta_3 = require("@pulumi/google-native/deploymentmanager/v2beta"); const v2beta_4 = require("@pulumi/google-native/deploymentmanager/v2beta"); const v2beta_5 = require("@pulumi/google-native/deploymentmanager/v2beta"); const v2beta_6 = require("@pulumi/google-native/deploymentmanager/v2beta"); var CompositeType; (function (CompositeType) { /** * Disallow the use of non-stable (Beta) resouces (deploymentmanager.v2beta.CompositeType). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ CompositeType.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-deploymentmanager-v2beta-compositetype-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (deploymentmanager.v2beta.CompositeType).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v2beta_1.CompositeType, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Deploymentmanager CompositeType shouldn't use an unstable API (deploymentmanager.v2beta.CompositeType)."); }), }, vendors: ["google"], services: ["deploymentmanager"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(CompositeType || (CompositeType = {})); exports.CompositeType = CompositeType; var Deployment; (function (Deployment) { /** * Disallow the use of non-stable (Beta) resouces (deploymentmanager.v2beta.Deployment). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ Deployment.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-deploymentmanager-v2beta-deployment-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (deploymentmanager.v2beta.Deployment).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v2beta_2.Deployment, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Deploymentmanager Deployment shouldn't use an unstable API (deploymentmanager.v2beta.Deployment)."); }), }, vendors: ["google"], services: ["deploymentmanager"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(Deployment || (Deployment = {})); exports.Deployment = Deployment; var DeploymentIamBinding; (function (DeploymentIamBinding) { /** * Disallow the use of non-stable (Beta) resouces (deploymentmanager.v2beta.DeploymentIamBinding). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ DeploymentIamBinding.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-deploymentmanager-v2beta-deploymentiambinding-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (deploymentmanager.v2beta.DeploymentIamBinding).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v2beta_3.DeploymentIamBinding, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Deploymentmanager DeploymentIamBinding shouldn't use an unstable API (deploymentmanager.v2beta.DeploymentIamBinding)."); }), }, vendors: ["google"], services: ["deploymentmanager"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(DeploymentIamBinding || (DeploymentIamBinding = {})); exports.DeploymentIamBinding = DeploymentIamBinding; var DeploymentIamMember; (function (DeploymentIamMember) { /** * Disallow the use of non-stable (Beta) resouces (deploymentmanager.v2beta.DeploymentIamMember). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ DeploymentIamMember.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-deploymentmanager-v2beta-deploymentiammember-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (deploymentmanager.v2beta.DeploymentIamMember).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v2beta_4.DeploymentIamMember, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Deploymentmanager DeploymentIamMember shouldn't use an unstable API (deploymentmanager.v2beta.DeploymentIamMember)."); }), }, vendors: ["google"], services: ["deploymentmanager"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(DeploymentIamMember || (DeploymentIamMember = {})); exports.DeploymentIamMember = DeploymentIamMember; var DeploymentIamPolicy; (function (DeploymentIamPolicy) { /** * Disallow the use of non-stable (Beta) resouces (deploymentmanager.v2beta.DeploymentIamPolicy). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ DeploymentIamPolicy.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-deploymentmanager-v2beta-deploymentiampolicy-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (deploymentmanager.v2beta.DeploymentIamPolicy).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v2beta_5.DeploymentIamPolicy, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Deploymentmanager DeploymentIamPolicy shouldn't use an unstable API (deploymentmanager.v2beta.DeploymentIamPolicy)."); }), }, vendors: ["google"], services: ["deploymentmanager"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(DeploymentIamPolicy || (DeploymentIamPolicy = {})); exports.DeploymentIamPolicy = DeploymentIamPolicy; var TypeProvider; (function (TypeProvider) { /** * Disallow the use of non-stable (Beta) resouces (deploymentmanager.v2beta.TypeProvider). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ TypeProvider.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-deploymentmanager-v2beta-typeprovider-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (deploymentmanager.v2beta.TypeProvider).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v2beta_6.TypeProvider, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Deploymentmanager TypeProvider shouldn't use an unstable API (deploymentmanager.v2beta.TypeProvider)."); }), }, vendors: ["google"], services: ["deploymentmanager"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(TypeProvider || (TypeProvider = {})); exports.TypeProvider = TypeProvider;