def METHOD_NAME(name: Optional[str] = None,
              project: Optional[str] = None,
              opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetTopicResult:
    """
    Get information about a Google Cloud Pub/Sub Topic. For more information see
    the [official documentation](https://cloud.google.com/pubsub/docs/)
    and [API](https://cloud.google.com/pubsub/docs/apis).
    ## Example Usage
    ```python
    import pulumi
    import pulumi_gcp as gcp
    my_pubsub_topic = gcp.pubsub.get_topic(name="my-pubsub-topic")
    ```
    :param str name: The name of the Cloud Pub/Sub Topic.
           - - -
    :param str project: The project in which the resource belongs. If it
           is not provided, the provider project is used.
    """
    __args__ = dict()
    __args__['name'] = name
    __args__['project'] = project
    opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
    __ret__ = pulumi.runtime.invoke('gcp:pubsub/getTopic:getTopic', __args__, opts=opts, typ=GetTopicResult).value
    return AwaitableGetTopicResult(
        id=pulumi.get(__ret__, 'id'),
        kms_key_name=pulumi.get(__ret__, 'kms_key_name'),
        labels=pulumi.get(__ret__, 'labels'),
        message_retention_duration=pulumi.get(__ret__, 'message_retention_duration'),
        message_storage_policies=pulumi.get(__ret__, 'message_storage_policies'),
        name=pulumi.get(__ret__, 'name'),
        project=pulumi.get(__ret__, 'project'),
        schema_settings=pulumi.get(__ret__, 'schema_settings'))