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.

396 lines (395 loc) 19.1 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.GatewayIamPolicy = exports.GatewayIamMember = exports.GatewayIamBinding = exports.Gateway = exports.Config = exports.ApiIamPolicy = exports.ApiIamMember = exports.ApiIamBinding = exports.ApiConfigIamPolicy = exports.ApiConfigIamMember = exports.ApiConfigIamBinding = exports.Api = void 0; const policy_1 = require("@pulumi/policy"); const compliance_policy_manager_1 = require("@pulumi/compliance-policy-manager"); const v1beta_1 = require("@pulumi/google-native/apigateway/v1beta"); const v1beta_2 = require("@pulumi/google-native/apigateway/v1beta"); const v1beta_3 = require("@pulumi/google-native/apigateway/v1beta"); const v1beta_4 = require("@pulumi/google-native/apigateway/v1beta"); const v1beta_5 = require("@pulumi/google-native/apigateway/v1beta"); const v1beta_6 = require("@pulumi/google-native/apigateway/v1beta"); const v1beta_7 = require("@pulumi/google-native/apigateway/v1beta"); const v1beta_8 = require("@pulumi/google-native/apigateway/v1beta"); const v1beta_9 = require("@pulumi/google-native/apigateway/v1beta"); const v1beta_10 = require("@pulumi/google-native/apigateway/v1beta"); const v1beta_11 = require("@pulumi/google-native/apigateway/v1beta"); const v1beta_12 = require("@pulumi/google-native/apigateway/v1beta"); var Api; (function (Api) { /** * Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.Api). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ Api.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-apigateway-v1beta-api-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.Api).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta_1.Api, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Apigateway Api shouldn't use an unstable API (apigateway.v1beta.Api)."); }), }, vendors: ["google"], services: ["apigateway"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(Api || (Api = {})); exports.Api = Api; var ApiConfigIamBinding; (function (ApiConfigIamBinding) { /** * Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.ApiConfigIamBinding). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ ApiConfigIamBinding.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-apigateway-v1beta-apiconfigiambinding-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.ApiConfigIamBinding).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta_2.ApiConfigIamBinding, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Apigateway ApiConfigIamBinding shouldn't use an unstable API (apigateway.v1beta.ApiConfigIamBinding)."); }), }, vendors: ["google"], services: ["apigateway"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(ApiConfigIamBinding || (ApiConfigIamBinding = {})); exports.ApiConfigIamBinding = ApiConfigIamBinding; var ApiConfigIamMember; (function (ApiConfigIamMember) { /** * Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.ApiConfigIamMember). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ ApiConfigIamMember.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-apigateway-v1beta-apiconfigiammember-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.ApiConfigIamMember).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta_3.ApiConfigIamMember, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Apigateway ApiConfigIamMember shouldn't use an unstable API (apigateway.v1beta.ApiConfigIamMember)."); }), }, vendors: ["google"], services: ["apigateway"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(ApiConfigIamMember || (ApiConfigIamMember = {})); exports.ApiConfigIamMember = ApiConfigIamMember; var ApiConfigIamPolicy; (function (ApiConfigIamPolicy) { /** * Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.ApiConfigIamPolicy). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ ApiConfigIamPolicy.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-apigateway-v1beta-apiconfigiampolicy-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.ApiConfigIamPolicy).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta_4.ApiConfigIamPolicy, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Apigateway ApiConfigIamPolicy shouldn't use an unstable API (apigateway.v1beta.ApiConfigIamPolicy)."); }), }, vendors: ["google"], services: ["apigateway"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(ApiConfigIamPolicy || (ApiConfigIamPolicy = {})); exports.ApiConfigIamPolicy = ApiConfigIamPolicy; var ApiIamBinding; (function (ApiIamBinding) { /** * Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.ApiIamBinding). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ ApiIamBinding.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-apigateway-v1beta-apiiambinding-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.ApiIamBinding).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta_5.ApiIamBinding, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Apigateway ApiIamBinding shouldn't use an unstable API (apigateway.v1beta.ApiIamBinding)."); }), }, vendors: ["google"], services: ["apigateway"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(ApiIamBinding || (ApiIamBinding = {})); exports.ApiIamBinding = ApiIamBinding; var ApiIamMember; (function (ApiIamMember) { /** * Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.ApiIamMember). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ ApiIamMember.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-apigateway-v1beta-apiiammember-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.ApiIamMember).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta_6.ApiIamMember, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Apigateway ApiIamMember shouldn't use an unstable API (apigateway.v1beta.ApiIamMember)."); }), }, vendors: ["google"], services: ["apigateway"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(ApiIamMember || (ApiIamMember = {})); exports.ApiIamMember = ApiIamMember; var ApiIamPolicy; (function (ApiIamPolicy) { /** * Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.ApiIamPolicy). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ ApiIamPolicy.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-apigateway-v1beta-apiiampolicy-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.ApiIamPolicy).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta_7.ApiIamPolicy, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Apigateway ApiIamPolicy shouldn't use an unstable API (apigateway.v1beta.ApiIamPolicy)."); }), }, vendors: ["google"], services: ["apigateway"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(ApiIamPolicy || (ApiIamPolicy = {})); exports.ApiIamPolicy = ApiIamPolicy; var Config; (function (Config) { /** * Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.Config). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ Config.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-apigateway-v1beta-config-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.Config).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta_8.Config, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Apigateway Config shouldn't use an unstable API (apigateway.v1beta.Config)."); }), }, vendors: ["google"], services: ["apigateway"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(Config || (Config = {})); exports.Config = Config; var Gateway; (function (Gateway) { /** * Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.Gateway). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ Gateway.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-apigateway-v1beta-gateway-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.Gateway).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta_9.Gateway, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Apigateway Gateway shouldn't use an unstable API (apigateway.v1beta.Gateway)."); }), }, vendors: ["google"], services: ["apigateway"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(Gateway || (Gateway = {})); exports.Gateway = Gateway; var GatewayIamBinding; (function (GatewayIamBinding) { /** * Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.GatewayIamBinding). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ GatewayIamBinding.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-apigateway-v1beta-gatewayiambinding-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.GatewayIamBinding).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta_10.GatewayIamBinding, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Apigateway GatewayIamBinding shouldn't use an unstable API (apigateway.v1beta.GatewayIamBinding)."); }), }, vendors: ["google"], services: ["apigateway"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(GatewayIamBinding || (GatewayIamBinding = {})); exports.GatewayIamBinding = GatewayIamBinding; var GatewayIamMember; (function (GatewayIamMember) { /** * Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.GatewayIamMember). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ GatewayIamMember.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-apigateway-v1beta-gatewayiammember-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.GatewayIamMember).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta_11.GatewayIamMember, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Apigateway GatewayIamMember shouldn't use an unstable API (apigateway.v1beta.GatewayIamMember)."); }), }, vendors: ["google"], services: ["apigateway"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(GatewayIamMember || (GatewayIamMember = {})); exports.GatewayIamMember = GatewayIamMember; var GatewayIamPolicy; (function (GatewayIamPolicy) { /** * Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.GatewayIamPolicy). * * @severity medium * @frameworks none * @topics api, beta, unstable * @link https://cloud.google.com/apis/design/versioning */ GatewayIamPolicy.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({ resourceValidationPolicy: { name: "googlenative-apigateway-v1beta-gatewayiampolicy-disallow-beta-resource", description: "Disallow the use of non-stable (Beta) resouces (apigateway.v1beta.GatewayIamPolicy).", configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema, enforcementLevel: "advisory", validateResource: (0, policy_1.validateResourceOfType)(v1beta_12.GatewayIamPolicy, (_, args, reportViolation) => { if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) { return; } reportViolation("Apigateway GatewayIamPolicy shouldn't use an unstable API (apigateway.v1beta.GatewayIamPolicy)."); }), }, vendors: ["google"], services: ["apigateway"], severity: "medium", topics: ["api", "unstable", "beta"], }); })(GatewayIamPolicy || (GatewayIamPolicy = {})); exports.GatewayIamPolicy = GatewayIamPolicy;