Class TopicArgs.Builder

  • Enclosing class:
    TopicArgs

    public static final class TopicArgs.Builder
    extends java.lang.Object
    • Constructor Detail

      • Builder

        public Builder()
      • Builder

        public Builder​(TopicArgs defaults)
    • Method Detail

      • kmsKeyName

        public TopicArgs.Builder kmsKeyName​(@Nullable
                                            com.pulumi.core.Output<java.lang.String> kmsKeyName)
        Parameters:
        kmsKeyName - 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/*`
        Returns:
        builder
      • kmsKeyName

        public TopicArgs.Builder kmsKeyName​(java.lang.String kmsKeyName)
        Parameters:
        kmsKeyName - 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/*`
        Returns:
        builder
      • labels

        public TopicArgs.Builder labels​(@Nullable
                                        com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> labels)
        Parameters:
        labels - A set of key/value label pairs to assign to this Topic. **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field `effective_labels` for all of the labels present on the resource.
        Returns:
        builder
      • labels

        public TopicArgs.Builder labels​(java.util.Map<java.lang.String,​java.lang.String> labels)
        Parameters:
        labels - A set of key/value label pairs to assign to this Topic. **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field `effective_labels` for all of the labels present on the resource.
        Returns:
        builder
      • messageRetentionDuration

        public TopicArgs.Builder messageRetentionDuration​(@Nullable
                                                          com.pulumi.core.Output<java.lang.String> messageRetentionDuration)
        Parameters:
        messageRetentionDuration - 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. The rotation period has the format of a decimal number, followed by the letter `s` (seconds). Cannot be more than 31 days or less than 10 minutes.
        Returns:
        builder
      • messageRetentionDuration

        public TopicArgs.Builder messageRetentionDuration​(java.lang.String messageRetentionDuration)
        Parameters:
        messageRetentionDuration - 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. The rotation period has the format of a decimal number, followed by the letter `s` (seconds). Cannot be more than 31 days or less than 10 minutes.
        Returns:
        builder
      • messageStoragePolicy

        public TopicArgs.Builder messageStoragePolicy​(@Nullable
                                                      com.pulumi.core.Output<TopicMessageStoragePolicyArgs> messageStoragePolicy)
        Parameters:
        messageStoragePolicy - 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.
        Returns:
        builder
      • messageStoragePolicy

        public TopicArgs.Builder messageStoragePolicy​(TopicMessageStoragePolicyArgs messageStoragePolicy)
        Parameters:
        messageStoragePolicy - 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.
        Returns:
        builder
      • name

        public TopicArgs.Builder name​(@Nullable
                                      com.pulumi.core.Output<java.lang.String> name)
        Parameters:
        name - Name of the topic. ***
        Returns:
        builder
      • name

        public TopicArgs.Builder name​(java.lang.String name)
        Parameters:
        name - Name of the topic. ***
        Returns:
        builder
      • project

        public TopicArgs.Builder project​(@Nullable
                                         com.pulumi.core.Output<java.lang.String> project)
        Parameters:
        project - The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
        Returns:
        builder
      • project

        public TopicArgs.Builder project​(java.lang.String project)
        Parameters:
        project - The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
        Returns:
        builder
      • schemaSettings

        public TopicArgs.Builder schemaSettings​(@Nullable
                                                com.pulumi.core.Output<TopicSchemaSettingsArgs> schemaSettings)
        Parameters:
        schemaSettings - Settings for validating messages published against a schema. Structure is documented below.
        Returns:
        builder
      • schemaSettings

        public TopicArgs.Builder schemaSettings​(TopicSchemaSettingsArgs schemaSettings)
        Parameters:
        schemaSettings - Settings for validating messages published against a schema. Structure is documented below.
        Returns:
        builder