import * as pulumi from "@pulumi/pulumi"; /** * Creates a specified spec. */ export declare class Spec extends pulumi.CustomResource { /** * Get an existing Spec 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): Spec; /** * Returns true if the given object is an instance of Spec. 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 Spec; /** * Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts. */ readonly annotations: pulumi.Output<{ [key: string]: string; }>; readonly apiId: pulumi.Output; /** * Required. The ID to use for the spec, which will become the final component of the spec's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID. */ readonly apiSpecId: pulumi.Output; /** * Input only. The contents of the spec. Provided by API callers when specs are created or updated. To access the contents of a spec, use GetApiSpecContents. */ readonly contents: pulumi.Output; /** * Creation timestamp; when the spec resource was created. */ readonly createTime: pulumi.Output; /** * A detailed description. */ readonly description: pulumi.Output; /** * A possibly-hierarchical name used to refer to the spec from other specs. */ readonly filename: pulumi.Output; /** * A SHA-256 hash of the spec's contents. If the spec is gzipped, this is the hash of the uncompressed spec. */ readonly hash: pulumi.Output; /** * Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; readonly location: pulumi.Output; /** * A style (format) descriptor for this spec that is specified as a [Media Type](https://en.wikipedia.org/wiki/Media_type). Possible values include `application/vnd.apigee.proto`, `application/vnd.apigee.openapi`, and `application/vnd.apigee.graphql`, with possible suffixes representing compression types. These hypothetical names are defined in the vendor tree defined in RFC6838 (https://tools.ietf.org/html/rfc6838) and are not final. Content types can specify compression. Currently only GZip compression is supported (indicated with "+gzip"). */ readonly mimeType: pulumi.Output; /** * Resource name. */ readonly name: pulumi.Output; readonly project: pulumi.Output; /** * Revision creation timestamp; when the represented revision was created. */ readonly revisionCreateTime: pulumi.Output; /** * Immutable. The revision ID of the spec. A new revision is committed whenever the spec contents are changed. The format is an 8-character hexadecimal string. */ readonly revisionId: pulumi.Output; /** * Last update timestamp: when the represented revision was last modified. */ readonly revisionUpdateTime: pulumi.Output; /** * The size of the spec file in bytes. If the spec is gzipped, this is the size of the uncompressed spec. */ readonly sizeBytes: pulumi.Output; /** * The original source URI of the spec (if one exists). This is an external location that can be used for reference purposes but which may not be authoritative since this external resource may change after the spec is retrieved. */ readonly sourceUri: pulumi.Output; readonly versionId: pulumi.Output; /** * Create a Spec 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: SpecArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Spec resource. */ export interface SpecArgs { /** * Annotations attach non-identifying metadata to resources. Annotation keys and values are less restricted than those of labels, but should be generally used for small values of broad interest. Larger, topic- specific metadata should be stored in Artifacts. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; }>; apiId: pulumi.Input; /** * Required. The ID to use for the spec, which will become the final component of the spec's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. Following AIP-162, IDs must not have the form of a UUID. */ apiSpecId: pulumi.Input; /** * Input only. The contents of the spec. Provided by API callers when specs are created or updated. To access the contents of a spec, use GetApiSpecContents. */ contents?: pulumi.Input; /** * A detailed description. */ description?: pulumi.Input; /** * A possibly-hierarchical name used to refer to the spec from other specs. */ filename?: pulumi.Input; /** * Labels attach identifying metadata to resources. Identifying metadata can be used to filter list operations. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one resource (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with `apigeeregistry.googleapis.com/` and cannot be changed. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; location?: pulumi.Input; /** * A style (format) descriptor for this spec that is specified as a [Media Type](https://en.wikipedia.org/wiki/Media_type). Possible values include `application/vnd.apigee.proto`, `application/vnd.apigee.openapi`, and `application/vnd.apigee.graphql`, with possible suffixes representing compression types. These hypothetical names are defined in the vendor tree defined in RFC6838 (https://tools.ietf.org/html/rfc6838) and are not final. Content types can specify compression. Currently only GZip compression is supported (indicated with "+gzip"). */ mimeType?: pulumi.Input; /** * Resource name. */ name?: pulumi.Input; project?: pulumi.Input; /** * The original source URI of the spec (if one exists). This is an external location that can be used for reference purposes but which may not be authoritative since this external resource may change after the spec is retrieved. */ sourceUri?: pulumi.Input; versionId: pulumi.Input; }