import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../../types/output"; /** * Gets the configuration of a topic. */ export declare function getTopic(args: GetTopicArgs, opts?: pulumi.InvokeOptions): Promise; export interface GetTopicArgs { project?: string; topicId: string; } export interface GetTopicResult { /** * Optional. The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic. The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`. */ readonly kmsKeyName: string; /** * Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels). */ readonly labels: { [key: string]: string; }; /** * Optional. Indicates the minimum duration to retain a message after it is published to the topic. If this field is set, messages published to the topic in the last `message_retention_duration` are always available to subscribers. For instance, it allows any attached subscription to [seek to a timestamp](https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) that is up to `message_retention_duration` in the past. If this field is not set, message retention is controlled by settings on individual subscriptions. Cannot be more than 31 days or less than 10 minutes. */ readonly messageRetentionDuration: string; /** * Optional. Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect. */ readonly messageStoragePolicy: outputs.pubsub.v1.MessageStoragePolicyResponse; /** * The name of the topic. It must have the format `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `"goog"`. */ readonly name: string; /** * Optional. Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests. */ readonly satisfiesPzs: boolean; /** * Optional. Settings for validating messages published against a schema. */ readonly schemaSettings: outputs.pubsub.v1.SchemaSettingsResponse; } /** * Gets the configuration of a topic. */ export declare function getTopicOutput(args: GetTopicOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output; export interface GetTopicOutputArgs { project?: pulumi.Input; topicId: pulumi.Input; }