UNPKG

pulumi-fusionauth

Version:

A Pulumi package for managing FusionAuth instances.

162 lines (161 loc) 7.33 kB
import * as pulumi from "@pulumi/pulumi"; /** * ## # Entity Resource * * Entities are arbitrary objects which can be modeled in FusionAuth. Anything which is not a user but might need * permissions managed by FusionAuth is a possible entity. Examples might include devices, cars, computers, customers, * companies, etc. * * FusionAuth’s Entity Management has the following major concepts: * * * Entity Types categorize Entities. An Entity Type could be `Device`, `API` or `Company`. * * Permissions are defined on an Entity Type. These are arbitrary strings which can fit the business domain. A Permission * could be `read`, `write`, or `file-lawsuit`. * * Entities are instances of a single type. An Entity could be a `nest device`, an `Email API` or `Raviga`. * * Entities can have Grants. Grants are relationships between a target Entity and one of two other types: a recipient * Entity or a User. Grants can have zero or more Permissions associated with them. * * You can use the Client Credentials grant to see if an Entity has permission to access another Entity. * * [Entity API](https://fusionauth.io/docs/v1/tech/apis/entity-management/entities) */ export declare class FusionAuthEntity extends pulumi.CustomResource { /** * Get an existing FusionAuthEntity 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<pulumi.ID>, state?: FusionAuthEntityState, opts?: pulumi.CustomResourceOptions): FusionAuthEntity; /** * Returns true if the given object is an instance of FusionAuthEntity. 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 FusionAuthEntity; /** * The OAuth 2.0 client ID. If you leave this blank on create, the value of the Entity ID will * be used. Must be a UUID. */ readonly clientId: pulumi.Output<string>; /** * The OAuth 2.0 client secret. If you leave this blank on create, a secure secret will be * generated for you. If you leave this blank during an update, the previous value will be maintained. For both create * and update you can provide a value and it will be stored. */ readonly clientSecret: pulumi.Output<string>; /** * An object that can hold any information about the Entity that should be persisted. Please review * the limits on data field types as you plan for and build your custom data schema. Must be a JSON serialised string. */ readonly data: pulumi.Output<string | undefined>; /** * The ID to use for the new Entity. If not specified a secure random UUID will be generated. */ readonly entityId: pulumi.Output<string>; /** * The ID of the Entity Type. Types are consulted for permission checks. */ readonly entityTypeId: pulumi.Output<string>; /** * A descriptive name for the Entity (i.e. "Raviga" or "Email Service"). */ readonly name: pulumi.Output<string>; /** * The unique ID of the tenant used to scope this API request. * * For more information see: * [FusionAuth Entity Management API Overview](https://fusionauth.io/docs/v1/tech/apis/entity-management/) */ readonly tenantId: pulumi.Output<string | undefined>; /** * Create a FusionAuthEntity 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: FusionAuthEntityArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering FusionAuthEntity resources. */ export interface FusionAuthEntityState { /** * The OAuth 2.0 client ID. If you leave this blank on create, the value of the Entity ID will * be used. Must be a UUID. */ clientId?: pulumi.Input<string>; /** * The OAuth 2.0 client secret. If you leave this blank on create, a secure secret will be * generated for you. If you leave this blank during an update, the previous value will be maintained. For both create * and update you can provide a value and it will be stored. */ clientSecret?: pulumi.Input<string>; /** * An object that can hold any information about the Entity that should be persisted. Please review * the limits on data field types as you plan for and build your custom data schema. Must be a JSON serialised string. */ data?: pulumi.Input<string>; /** * The ID to use for the new Entity. If not specified a secure random UUID will be generated. */ entityId?: pulumi.Input<string>; /** * The ID of the Entity Type. Types are consulted for permission checks. */ entityTypeId?: pulumi.Input<string>; /** * A descriptive name for the Entity (i.e. "Raviga" or "Email Service"). */ name?: pulumi.Input<string>; /** * The unique ID of the tenant used to scope this API request. * * For more information see: * [FusionAuth Entity Management API Overview](https://fusionauth.io/docs/v1/tech/apis/entity-management/) */ tenantId?: pulumi.Input<string>; } /** * The set of arguments for constructing a FusionAuthEntity resource. */ export interface FusionAuthEntityArgs { /** * The OAuth 2.0 client ID. If you leave this blank on create, the value of the Entity ID will * be used. Must be a UUID. */ clientId?: pulumi.Input<string>; /** * The OAuth 2.0 client secret. If you leave this blank on create, a secure secret will be * generated for you. If you leave this blank during an update, the previous value will be maintained. For both create * and update you can provide a value and it will be stored. */ clientSecret?: pulumi.Input<string>; /** * An object that can hold any information about the Entity that should be persisted. Please review * the limits on data field types as you plan for and build your custom data schema. Must be a JSON serialised string. */ data?: pulumi.Input<string>; /** * The ID to use for the new Entity. If not specified a secure random UUID will be generated. */ entityId?: pulumi.Input<string>; /** * The ID of the Entity Type. Types are consulted for permission checks. */ entityTypeId: pulumi.Input<string>; /** * A descriptive name for the Entity (i.e. "Raviga" or "Email Service"). */ name?: pulumi.Input<string>; /** * The unique ID of the tenant used to scope this API request. * * For more information see: * [FusionAuth Entity Management API Overview](https://fusionauth.io/docs/v1/tech/apis/entity-management/) */ tenantId?: pulumi.Input<string>; }