@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) • 20.7 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.Service = exports.NamespaceWorkloadIamPolicy = exports.NamespaceWorkloadIamMember = exports.NamespaceWorkloadIamBinding = exports.NamespaceServiceIamPolicy = exports.NamespaceServiceIamMember = exports.NamespaceServiceIamBinding = exports.NamespaceIamPolicy = exports.NamespaceIamMember = exports.NamespaceIamBinding = exports.Namespace = exports.Endpoint = void 0;
const policy_1 = require("@pulumi/policy");
const compliance_policy_manager_1 = require("@pulumi/compliance-policy-manager");
const v1beta1_1 = require("@pulumi/google-native/servicedirectory/v1beta1");
const v1beta1_2 = require("@pulumi/google-native/servicedirectory/v1beta1");
const v1beta1_3 = require("@pulumi/google-native/servicedirectory/v1beta1");
const v1beta1_4 = require("@pulumi/google-native/servicedirectory/v1beta1");
const v1beta1_5 = require("@pulumi/google-native/servicedirectory/v1beta1");
const v1beta1_6 = require("@pulumi/google-native/servicedirectory/v1beta1");
const v1beta1_7 = require("@pulumi/google-native/servicedirectory/v1beta1");
const v1beta1_8 = require("@pulumi/google-native/servicedirectory/v1beta1");
const v1beta1_9 = require("@pulumi/google-native/servicedirectory/v1beta1");
const v1beta1_10 = require("@pulumi/google-native/servicedirectory/v1beta1");
const v1beta1_11 = require("@pulumi/google-native/servicedirectory/v1beta1");
const v1beta1_12 = require("@pulumi/google-native/servicedirectory/v1beta1");
var Endpoint;
(function (Endpoint) {
/**
* Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.Endpoint).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://cloud.google.com/apis/design/versioning
*/
Endpoint.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "googlenative-servicedirectory-v1beta1-endpoint-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.Endpoint).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_1.Endpoint, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Servicedirectory Endpoint shouldn't use an unstable API (servicedirectory.v1beta1.Endpoint).");
}),
},
vendors: ["google"],
services: ["servicedirectory"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(Endpoint || (Endpoint = {}));
exports.Endpoint = Endpoint;
var Namespace;
(function (Namespace) {
/**
* Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.Namespace).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://cloud.google.com/apis/design/versioning
*/
Namespace.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "googlenative-servicedirectory-v1beta1-namespace-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.Namespace).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_2.Namespace, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Servicedirectory Namespace shouldn't use an unstable API (servicedirectory.v1beta1.Namespace).");
}),
},
vendors: ["google"],
services: ["servicedirectory"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(Namespace || (Namespace = {}));
exports.Namespace = Namespace;
var NamespaceIamBinding;
(function (NamespaceIamBinding) {
/**
* Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceIamBinding).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://cloud.google.com/apis/design/versioning
*/
NamespaceIamBinding.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "googlenative-servicedirectory-v1beta1-namespaceiambinding-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceIamBinding).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_3.NamespaceIamBinding, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Servicedirectory NamespaceIamBinding shouldn't use an unstable API (servicedirectory.v1beta1.NamespaceIamBinding).");
}),
},
vendors: ["google"],
services: ["servicedirectory"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(NamespaceIamBinding || (NamespaceIamBinding = {}));
exports.NamespaceIamBinding = NamespaceIamBinding;
var NamespaceIamMember;
(function (NamespaceIamMember) {
/**
* Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceIamMember).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://cloud.google.com/apis/design/versioning
*/
NamespaceIamMember.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "googlenative-servicedirectory-v1beta1-namespaceiammember-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceIamMember).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_4.NamespaceIamMember, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Servicedirectory NamespaceIamMember shouldn't use an unstable API (servicedirectory.v1beta1.NamespaceIamMember).");
}),
},
vendors: ["google"],
services: ["servicedirectory"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(NamespaceIamMember || (NamespaceIamMember = {}));
exports.NamespaceIamMember = NamespaceIamMember;
var NamespaceIamPolicy;
(function (NamespaceIamPolicy) {
/**
* Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceIamPolicy).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://cloud.google.com/apis/design/versioning
*/
NamespaceIamPolicy.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "googlenative-servicedirectory-v1beta1-namespaceiampolicy-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceIamPolicy).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_5.NamespaceIamPolicy, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Servicedirectory NamespaceIamPolicy shouldn't use an unstable API (servicedirectory.v1beta1.NamespaceIamPolicy).");
}),
},
vendors: ["google"],
services: ["servicedirectory"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(NamespaceIamPolicy || (NamespaceIamPolicy = {}));
exports.NamespaceIamPolicy = NamespaceIamPolicy;
var NamespaceServiceIamBinding;
(function (NamespaceServiceIamBinding) {
/**
* Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceServiceIamBinding).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://cloud.google.com/apis/design/versioning
*/
NamespaceServiceIamBinding.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "googlenative-servicedirectory-v1beta1-namespaceserviceiambinding-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceServiceIamBinding).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_6.NamespaceServiceIamBinding, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Servicedirectory NamespaceServiceIamBinding shouldn't use an unstable API (servicedirectory.v1beta1.NamespaceServiceIamBinding).");
}),
},
vendors: ["google"],
services: ["servicedirectory"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(NamespaceServiceIamBinding || (NamespaceServiceIamBinding = {}));
exports.NamespaceServiceIamBinding = NamespaceServiceIamBinding;
var NamespaceServiceIamMember;
(function (NamespaceServiceIamMember) {
/**
* Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceServiceIamMember).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://cloud.google.com/apis/design/versioning
*/
NamespaceServiceIamMember.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "googlenative-servicedirectory-v1beta1-namespaceserviceiammember-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceServiceIamMember).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_7.NamespaceServiceIamMember, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Servicedirectory NamespaceServiceIamMember shouldn't use an unstable API (servicedirectory.v1beta1.NamespaceServiceIamMember).");
}),
},
vendors: ["google"],
services: ["servicedirectory"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(NamespaceServiceIamMember || (NamespaceServiceIamMember = {}));
exports.NamespaceServiceIamMember = NamespaceServiceIamMember;
var NamespaceServiceIamPolicy;
(function (NamespaceServiceIamPolicy) {
/**
* Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceServiceIamPolicy).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://cloud.google.com/apis/design/versioning
*/
NamespaceServiceIamPolicy.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "googlenative-servicedirectory-v1beta1-namespaceserviceiampolicy-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceServiceIamPolicy).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_8.NamespaceServiceIamPolicy, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Servicedirectory NamespaceServiceIamPolicy shouldn't use an unstable API (servicedirectory.v1beta1.NamespaceServiceIamPolicy).");
}),
},
vendors: ["google"],
services: ["servicedirectory"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(NamespaceServiceIamPolicy || (NamespaceServiceIamPolicy = {}));
exports.NamespaceServiceIamPolicy = NamespaceServiceIamPolicy;
var NamespaceWorkloadIamBinding;
(function (NamespaceWorkloadIamBinding) {
/**
* Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceWorkloadIamBinding).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://cloud.google.com/apis/design/versioning
*/
NamespaceWorkloadIamBinding.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "googlenative-servicedirectory-v1beta1-namespaceworkloadiambinding-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceWorkloadIamBinding).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_9.NamespaceWorkloadIamBinding, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Servicedirectory NamespaceWorkloadIamBinding shouldn't use an unstable API (servicedirectory.v1beta1.NamespaceWorkloadIamBinding).");
}),
},
vendors: ["google"],
services: ["servicedirectory"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(NamespaceWorkloadIamBinding || (NamespaceWorkloadIamBinding = {}));
exports.NamespaceWorkloadIamBinding = NamespaceWorkloadIamBinding;
var NamespaceWorkloadIamMember;
(function (NamespaceWorkloadIamMember) {
/**
* Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceWorkloadIamMember).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://cloud.google.com/apis/design/versioning
*/
NamespaceWorkloadIamMember.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "googlenative-servicedirectory-v1beta1-namespaceworkloadiammember-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceWorkloadIamMember).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_10.NamespaceWorkloadIamMember, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Servicedirectory NamespaceWorkloadIamMember shouldn't use an unstable API (servicedirectory.v1beta1.NamespaceWorkloadIamMember).");
}),
},
vendors: ["google"],
services: ["servicedirectory"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(NamespaceWorkloadIamMember || (NamespaceWorkloadIamMember = {}));
exports.NamespaceWorkloadIamMember = NamespaceWorkloadIamMember;
var NamespaceWorkloadIamPolicy;
(function (NamespaceWorkloadIamPolicy) {
/**
* Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceWorkloadIamPolicy).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://cloud.google.com/apis/design/versioning
*/
NamespaceWorkloadIamPolicy.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "googlenative-servicedirectory-v1beta1-namespaceworkloadiampolicy-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.NamespaceWorkloadIamPolicy).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_11.NamespaceWorkloadIamPolicy, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Servicedirectory NamespaceWorkloadIamPolicy shouldn't use an unstable API (servicedirectory.v1beta1.NamespaceWorkloadIamPolicy).");
}),
},
vendors: ["google"],
services: ["servicedirectory"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(NamespaceWorkloadIamPolicy || (NamespaceWorkloadIamPolicy = {}));
exports.NamespaceWorkloadIamPolicy = NamespaceWorkloadIamPolicy;
var Service;
(function (Service) {
/**
* Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.Service).
*
* @severity medium
* @frameworks none
* @topics api, beta, unstable
* @link https://cloud.google.com/apis/design/versioning
*/
Service.disallowBetaResource = compliance_policy_manager_1.policyManager.registerPolicy({
resourceValidationPolicy: {
name: "googlenative-servicedirectory-v1beta1-service-disallow-beta-resource",
description: "Disallow the use of non-stable (Beta) resouces (servicedirectory.v1beta1.Service).",
configSchema: compliance_policy_manager_1.policyManager.policyConfigSchema,
enforcementLevel: "advisory",
validateResource: (0, policy_1.validateResourceOfType)(v1beta1_12.Service, (_, args, reportViolation) => {
if (!compliance_policy_manager_1.policyManager.shouldEvalPolicy(args)) {
return;
}
reportViolation("Servicedirectory Service shouldn't use an unstable API (servicedirectory.v1beta1.Service).");
}),
},
vendors: ["google"],
services: ["servicedirectory"],
severity: "medium",
topics: ["api", "unstable", "beta"],
});
})(Service || (Service = {}));
exports.Service = Service;