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.

179 lines (178 loc) 8.89 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.Tag = exports.RepositoryIamPolicy = exports.RepositoryIamMember = exports.RepositoryIamBinding = exports.Repository = void 0; const policy_1 = require("@pulumi/policy"); const compliance_policy_manager_1 = require("@pulumi/compliance-policy-manager"); const v1beta2_1 = require("@pulumi/google-native/artifactregistry/v1beta2"); const v1beta2_2 = require("@pulumi/google-native/artifactregistry/v1beta2"); const v1beta2_3 = require("@pulumi/google-native/artifactregistry/v1beta2"); const v1beta2_4 = require("@pulumi/google-native/artifactregistry/v1beta2"); const v1beta2_5 = require("@pulumi/google-native/artifactregistry/v1beta2"); var Repository; (function (Repository) { /** * Disallow the use of non-stable (Beta) resouces (artifactregistry.v1beta2.Repository). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ Repository.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-artifactregistry-v1beta2-repository-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (artifactregistry.v1beta2.Repository).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_1.Repository, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Artifactregistry Repository shouldn't use an unstable API (artifactregistry.v1beta2.Repository)."); }), }, vendors: ["google"], services: ["artifactregistry"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(Repository || (Repository = {})); exports.Repository = Repository; var RepositoryIamBinding; (function (RepositoryIamBinding) { /** * Disallow the use of non-stable (Beta) resouces (artifactregistry.v1beta2.RepositoryIamBinding). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ RepositoryIamBinding.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-artifactregistry-v1beta2-repositoryiambinding-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (artifactregistry.v1beta2.RepositoryIamBinding).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_2.RepositoryIamBinding, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Artifactregistry RepositoryIamBinding shouldn't use an unstable API (artifactregistry.v1beta2.RepositoryIamBinding)."); }), }, vendors: ["google"], services: ["artifactregistry"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(RepositoryIamBinding || (RepositoryIamBinding = {})); exports.RepositoryIamBinding = RepositoryIamBinding; var RepositoryIamMember; (function (RepositoryIamMember) { /** * Disallow the use of non-stable (Beta) resouces (artifactregistry.v1beta2.RepositoryIamMember). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ RepositoryIamMember.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-artifactregistry-v1beta2-repositoryiammember-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (artifactregistry.v1beta2.RepositoryIamMember).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_3.RepositoryIamMember, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Artifactregistry RepositoryIamMember shouldn't use an unstable API (artifactregistry.v1beta2.RepositoryIamMember)."); }), }, vendors: ["google"], services: ["artifactregistry"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(RepositoryIamMember || (RepositoryIamMember = {})); exports.RepositoryIamMember = RepositoryIamMember; var RepositoryIamPolicy; (function (RepositoryIamPolicy) { /** * Disallow the use of non-stable (Beta) resouces (artifactregistry.v1beta2.RepositoryIamPolicy). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ RepositoryIamPolicy.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-artifactregistry-v1beta2-repositoryiampolicy-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (artifactregistry.v1beta2.RepositoryIamPolicy).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_4.RepositoryIamPolicy, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Artifactregistry RepositoryIamPolicy shouldn't use an unstable API (artifactregistry.v1beta2.RepositoryIamPolicy)."); }), }, vendors: ["google"], services: ["artifactregistry"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(RepositoryIamPolicy || (RepositoryIamPolicy = {})); exports.RepositoryIamPolicy = RepositoryIamPolicy; var Tag; (function (Tag) { /** * Disallow the use of non-stable (Beta) resouces (artifactregistry.v1beta2.Tag). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ Tag.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-artifactregistry-v1beta2-tag-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (artifactregistry.v1beta2.Tag).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta2_5.Tag, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Artifactregistry Tag shouldn't use an unstable API (artifactregistry.v1beta2.Tag)."); }), }, vendors: ["google"], services: ["artifactregistry"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(Tag || (Tag = {})); exports.Tag = Tag;