Class TopicArgs


  • public final class TopicArgs
    extends com.pulumi.resources.ResourceArgs
    • Field Detail

    • Method Detail

      • kmsKeyName

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> kmsKeyName()
        Returns:
        The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic. Your project's PubSub service account (`service-{{PROJECT_NUMBER}}@gcp-sa-pubsub.iam.gserviceaccount.com`) must have `roles/cloudkms.cryptoKeyEncrypterDecrypter` to use this feature. The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`
      • labels

        public java.util.Optional<com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>>> labels()
        Returns:
        A set of key/value label pairs to assign to this Topic.
      • messageRetentionDuration

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> messageRetentionDuration()
        Returns:
        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 messageRetentionDuration are always available to subscribers. For instance, it allows any attached subscription to seek to a timestamp that is up to messageRetentionDuration 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.
      • messageStoragePolicy

        public java.util.Optional<com.pulumi.core.Output<TopicMessageStoragePolicyArgs>> messageStoragePolicy()
        Returns:
        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. Structure is documented below.
      • name

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> name()
        Returns:
        Name of the topic. ***
      • project

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> project()
        Returns:
        The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
      • schemaSettings

        public java.util.Optional<com.pulumi.core.Output<TopicSchemaSettingsArgs>> schemaSettings()
        Returns:
        Settings for validating messages published against a schema. Structure is documented below.