UNPKG

@pulumi/aws-native

Version:

The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)

126 lines 4.83 kB
"use strict"; // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.Policy = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("../utilities"); /** * Definition of AWS::VerifiedPermissions::Policy Resource Type * * ## Example Usage * ### Example * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws_native from "@pulumi/aws-native"; * * const config = new pulumi.Config(); * const policyStoreId = config.require("policyStoreId"); * const description = config.require("description"); * const statement = config.require("statement"); * const staticPolicy = new aws_native.verifiedpermissions.Policy("staticPolicy", { * policyStoreId: policyStoreId, * definition: { * static: { * description: description, * statement: statement, * }, * }, * }); * export const policyId = staticPolicy.policyId; * * ``` * ### Example * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws_native from "@pulumi/aws-native"; * * const config = new pulumi.Config(); * const policyStoreId = config.require("policyStoreId"); * const policyTemplateId = config.require("policyTemplateId"); * const principalType = config.require("principalType"); * const principalId = config.require("principalId"); * const resourceType = config.require("resourceType"); * const resourceId = config.require("resourceId"); * const templateLinkedPolicy = new aws_native.verifiedpermissions.Policy("templateLinkedPolicy", { * policyStoreId: policyStoreId, * definition: { * templateLinked: { * policyTemplateId: policyTemplateId, * principal: { * entityType: principalType, * entityId: principalId, * }, * resource: { * entityType: resourceType, * entityId: resourceId, * }, * }, * }, * }); * export const policyId = templateLinkedPolicy.policyId; * * ``` */ class Policy extends pulumi.CustomResource { /** * Get an existing Policy resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name, id, opts) { return new Policy(name, undefined, { ...opts, id: id }); } /** * Returns true if the given object is an instance of Policy. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj) { if (obj === undefined || obj === null) { return false; } return obj['__pulumiType'] === Policy.__pulumiType; } /** * Create a Policy resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name, args, opts) { let resourceInputs = {}; opts = opts || {}; if (!opts.id) { if (args?.definition === undefined && !opts.urn) { throw new Error("Missing required property 'definition'"); } if (args?.policyStoreId === undefined && !opts.urn) { throw new Error("Missing required property 'policyStoreId'"); } resourceInputs["definition"] = args?.definition; resourceInputs["policyStoreId"] = args?.policyStoreId; resourceInputs["policyId"] = undefined /*out*/; resourceInputs["policyType"] = undefined /*out*/; } else { resourceInputs["definition"] = undefined /*out*/; resourceInputs["policyId"] = undefined /*out*/; resourceInputs["policyStoreId"] = undefined /*out*/; resourceInputs["policyType"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const replaceOnChanges = { replaceOnChanges: ["policyStoreId"] }; opts = pulumi.mergeOptions(opts, replaceOnChanges); super(Policy.__pulumiType, name, resourceInputs, opts); } } exports.Policy = Policy; /** @internal */ Policy.__pulumiType = 'aws-native:verifiedpermissions:Policy'; //# sourceMappingURL=policy.js.map