import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; import * as enums from "../types/enums"; /** * 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; * * ``` */ export declare 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: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Policy; /** * 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: any): obj is Policy; /** * Specifies the policy type and content to use for the new or updated policy. The definition structure must include either a `Static` or a `TemplateLinked` element. */ readonly definition: pulumi.Output; /** * The unique ID of the new or updated policy. */ readonly policyId: pulumi.Output; /** * Specifies the `PolicyStoreId` of the policy store you want to store the policy in. */ readonly policyStoreId: pulumi.Output; /** * The type of the policy. This is one of the following values: * * - Static * - TemplateLinked */ readonly policyType: pulumi.Output; /** * 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: string, args: PolicyArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Policy resource. */ export interface PolicyArgs { /** * Specifies the policy type and content to use for the new or updated policy. The definition structure must include either a `Static` or a `TemplateLinked` element. */ definition: pulumi.Input; /** * Specifies the `PolicyStoreId` of the policy store you want to store the policy in. */ policyStoreId: pulumi.Input; }