@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
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.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;