pulumi-fusionauth
Version:
A Pulumi package for managing FusionAuth instances.
162 lines (161 loc) • 7.33 kB
TypeScript
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>;
}