import * as pulumi from "@pulumi/pulumi"; /** * Creates a Schema. */ export declare class Schema extends pulumi.CustomResource { /** * Get an existing Schema 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): Schema; /** * Returns true if the given object is an instance of Schema. 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 Schema; readonly collectionId: pulumi.Output; readonly dataStoreId: pulumi.Output; /** * The JSON representation of the schema. */ readonly jsonSchema: pulumi.Output; readonly location: pulumi.Output; /** * Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. */ readonly name: pulumi.Output; readonly project: pulumi.Output; /** * Required. The ID to use for the Schema, which will become the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. */ readonly schemaId: pulumi.Output; /** * The structured representation of the schema. */ readonly structSchema: pulumi.Output<{ [key: string]: string; }>; /** * Create a Schema 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: SchemaArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Schema resource. */ export interface SchemaArgs { collectionId: pulumi.Input; dataStoreId: pulumi.Input; /** * The JSON representation of the schema. */ jsonSchema?: pulumi.Input; location?: pulumi.Input; /** * Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. */ name?: pulumi.Input; project?: pulumi.Input; /** * Required. The ID to use for the Schema, which will become the final component of the Schema.name. This field should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. */ schemaId: pulumi.Input; /** * The structured representation of the schema. */ structSchema?: pulumi.Input<{ [key: string]: pulumi.Input; }>; }