import * as pulumi from "@pulumi/pulumi"; import * as enums from "../../types/enums"; /** * 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; /** * The definition of the schema. This should contain a string representing the full definition of the schema that is a valid schema definition of the type specified in `type`. */ readonly definition: pulumi.Output; /** * Name of the schema. Format is `projects/{project}/schemas/{schema}`. */ readonly name: pulumi.Output; readonly project: pulumi.Output; /** * The timestamp that the revision was created. */ readonly revisionCreateTime: pulumi.Output; /** * Immutable. The revision ID of the schema. */ readonly revisionId: pulumi.Output; /** * The ID to use for the schema, which will become the final component of the schema's resource name. See https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names for resource name constraints. */ readonly schemaId: pulumi.Output; /** * The type of the schema definition. */ readonly type: pulumi.Output; /** * 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 { /** * The definition of the schema. This should contain a string representing the full definition of the schema that is a valid schema definition of the type specified in `type`. */ definition?: pulumi.Input; /** * Name of the schema. Format is `projects/{project}/schemas/{schema}`. */ name?: pulumi.Input; project?: pulumi.Input; /** * The ID to use for the schema, which will become the final component of the schema's resource name. See https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names for resource name constraints. */ schemaId?: pulumi.Input; /** * The type of the schema definition. */ type?: pulumi.Input; }