import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages an AWS DataZone Policy Grant. * * ## Example Usage * * ### Basic Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.datazone.PolicyGrant("example", { * detail: { * createDomainUnit: {}, * }, * principal: { * user: { * allUsersGrantFilter: {}, * }, * }, * domainIdentifier: exampleAwsDatazoneDomain.id, * entityIdentifier: exampleAwsDatazoneDomain.rootDomainUnitId, * entityType: "DOMAIN_UNIT", * policyType: "CREATE_DOMAIN_UNIT", * }); * ``` * * ### With Include Child Domain Units * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.datazone.PolicyGrant("example", { * detail: { * createDomainUnit: { * includeChildDomainUnits: true, * }, * }, * principal: { * user: { * allUsersGrantFilter: {}, * }, * }, * domainIdentifier: exampleAwsDatazoneDomain.id, * entityIdentifier: exampleAwsDatazoneDomain.rootDomainUnitId, * entityType: "DOMAIN_UNIT", * policyType: "CREATE_DOMAIN_UNIT", * }); * ``` * * ### With Project Principal * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.datazone.PolicyGrant("example", { * detail: { * createGlossary: {}, * }, * principal: { * project: { * projectDesignation: "OWNER", * projectIdentifier: exampleAwsDatazoneProject.id, * }, * }, * domainIdentifier: exampleAwsDatazoneDomain.id, * entityIdentifier: exampleAwsDatazoneDomain.rootDomainUnitId, * entityType: "DOMAIN_UNIT", * policyType: "CREATE_GLOSSARY", * }); * ``` * * ## Import * * ### Identity Schema * * #### Required * * * `domainIdentifier` (String) Identifier of the domain. * * `entityType` (String) Type of entity. * * `entityIdentifier` (String) Identifier of the entity. * * `policyType` (String) Type of the managed policy. * * `grantId` (String) Identifier of the policy grant. * * #### Optional * * * `accountId` (String) AWS Account where this resource is managed. * * `region` (String) Region where this resource is managed. * * Using `pulumi import`, import DataZone Policy Grant using the `domain_identifier,entity_type,entity_identifier,policy_type,grant_id`. For example: * * ```sh * $ pulumi import aws:datazone/policyGrant:PolicyGrant example dzd_54nakfrg9k6sri,DOMAIN_UNIT,9v3oj4n26k4yrq,CREATE_DOMAIN_UNIT,3v8lox42tj5zic * ``` */ export declare class PolicyGrant extends pulumi.CustomResource { /** * Get an existing PolicyGrant 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 state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: PolicyGrantState, opts?: pulumi.CustomResourceOptions): PolicyGrant; /** * Returns true if the given object is an instance of PolicyGrant. 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 PolicyGrant; /** * Timestamp when the policy grant was created (RFC3339 format). */ readonly createdAt: pulumi.Output; /** * User who created the policy grant. */ readonly createdBy: pulumi.Output; /** * Policy grant detail. Exactly one sub-block must be specified. See `detail` Block below. */ readonly detail: pulumi.Output; /** * Identifier of the domain where the policy grant is created. */ readonly domainIdentifier: pulumi.Output; /** * Identifier of the entity to which the policy grant applies. */ readonly entityIdentifier: pulumi.Output; /** * Type of entity to which the policy grant applies. Valid values: `ASSET_TYPE`, `DOMAIN_UNIT`, `ENVIRONMENT_BLUEPRINT_CONFIGURATION`, `ENVIRONMENT_PROFILE`. */ readonly entityType: pulumi.Output; /** * Identifier of the policy grant. */ readonly grantId: pulumi.Output; /** * Type of the managed policy. Valid values: `ADD_TO_PROJECT_MEMBER_POOL`, `CREATE_ASSET_TYPE`, `CREATE_DOMAIN_UNIT`, `CREATE_ENVIRONMENT`, `CREATE_ENVIRONMENT_FROM_BLUEPRINT`, `CREATE_ENVIRONMENT_PROFILE`, `CREATE_FORM_TYPE`, `CREATE_GLOSSARY`, `CREATE_PROJECT`, `CREATE_PROJECT_FROM_PROJECT_PROFILE`, `DELEGATE_CREATE_ENVIRONMENT_PROFILE`, `OVERRIDE_DOMAIN_UNIT_OWNERS`, `OVERRIDE_PROJECT_OWNERS`, `USE_ASSET_TYPE`. */ readonly policyType: pulumi.Output; /** * Principal to which the policy grant applies. Exactly one sub-block must be specified. See `principal` Block below. * * The following arguments are optional: */ readonly principal: pulumi.Output; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ readonly region: pulumi.Output; /** * Create a PolicyGrant 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: PolicyGrantArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering PolicyGrant resources. */ export interface PolicyGrantState { /** * Timestamp when the policy grant was created (RFC3339 format). */ createdAt?: pulumi.Input; /** * User who created the policy grant. */ createdBy?: pulumi.Input; /** * Policy grant detail. Exactly one sub-block must be specified. See `detail` Block below. */ detail?: pulumi.Input; /** * Identifier of the domain where the policy grant is created. */ domainIdentifier?: pulumi.Input; /** * Identifier of the entity to which the policy grant applies. */ entityIdentifier?: pulumi.Input; /** * Type of entity to which the policy grant applies. Valid values: `ASSET_TYPE`, `DOMAIN_UNIT`, `ENVIRONMENT_BLUEPRINT_CONFIGURATION`, `ENVIRONMENT_PROFILE`. */ entityType?: pulumi.Input; /** * Identifier of the policy grant. */ grantId?: pulumi.Input; /** * Type of the managed policy. Valid values: `ADD_TO_PROJECT_MEMBER_POOL`, `CREATE_ASSET_TYPE`, `CREATE_DOMAIN_UNIT`, `CREATE_ENVIRONMENT`, `CREATE_ENVIRONMENT_FROM_BLUEPRINT`, `CREATE_ENVIRONMENT_PROFILE`, `CREATE_FORM_TYPE`, `CREATE_GLOSSARY`, `CREATE_PROJECT`, `CREATE_PROJECT_FROM_PROJECT_PROFILE`, `DELEGATE_CREATE_ENVIRONMENT_PROFILE`, `OVERRIDE_DOMAIN_UNIT_OWNERS`, `OVERRIDE_PROJECT_OWNERS`, `USE_ASSET_TYPE`. */ policyType?: pulumi.Input; /** * Principal to which the policy grant applies. Exactly one sub-block must be specified. See `principal` Block below. * * The following arguments are optional: */ principal?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; } /** * The set of arguments for constructing a PolicyGrant resource. */ export interface PolicyGrantArgs { /** * Policy grant detail. Exactly one sub-block must be specified. See `detail` Block below. */ detail: pulumi.Input; /** * Identifier of the domain where the policy grant is created. */ domainIdentifier: pulumi.Input; /** * Identifier of the entity to which the policy grant applies. */ entityIdentifier: pulumi.Input; /** * Type of entity to which the policy grant applies. Valid values: `ASSET_TYPE`, `DOMAIN_UNIT`, `ENVIRONMENT_BLUEPRINT_CONFIGURATION`, `ENVIRONMENT_PROFILE`. */ entityType: pulumi.Input; /** * Type of the managed policy. Valid values: `ADD_TO_PROJECT_MEMBER_POOL`, `CREATE_ASSET_TYPE`, `CREATE_DOMAIN_UNIT`, `CREATE_ENVIRONMENT`, `CREATE_ENVIRONMENT_FROM_BLUEPRINT`, `CREATE_ENVIRONMENT_PROFILE`, `CREATE_FORM_TYPE`, `CREATE_GLOSSARY`, `CREATE_PROJECT`, `CREATE_PROJECT_FROM_PROJECT_PROFILE`, `DELEGATE_CREATE_ENVIRONMENT_PROFILE`, `OVERRIDE_DOMAIN_UNIT_OWNERS`, `OVERRIDE_PROJECT_OWNERS`, `USE_ASSET_TYPE`. */ policyType: pulumi.Input; /** * Principal to which the policy grant applies. Exactly one sub-block must be specified. See `principal` Block below. * * The following arguments are optional: */ principal: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; } //# sourceMappingURL=policyGrant.d.ts.map