Package com.pulumi.gcp.pubsub
Class TopicArgs.Builder
- java.lang.Object
-
- com.pulumi.gcp.pubsub.TopicArgs.Builder
-
- Enclosing class:
- TopicArgs
public static final class TopicArgs.Builder extends java.lang.Object
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TopicArgs
build()
TopicArgs.Builder
kmsKeyName(com.pulumi.core.Output<java.lang.String> kmsKeyName)
TopicArgs.Builder
kmsKeyName(java.lang.String kmsKeyName)
TopicArgs.Builder
labels(com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> labels)
TopicArgs.Builder
labels(java.util.Map<java.lang.String,java.lang.String> labels)
TopicArgs.Builder
messageRetentionDuration(com.pulumi.core.Output<java.lang.String> messageRetentionDuration)
TopicArgs.Builder
messageRetentionDuration(java.lang.String messageRetentionDuration)
TopicArgs.Builder
messageStoragePolicy(com.pulumi.core.Output<TopicMessageStoragePolicyArgs> messageStoragePolicy)
TopicArgs.Builder
messageStoragePolicy(TopicMessageStoragePolicyArgs messageStoragePolicy)
TopicArgs.Builder
name(com.pulumi.core.Output<java.lang.String> name)
TopicArgs.Builder
name(java.lang.String name)
TopicArgs.Builder
project(com.pulumi.core.Output<java.lang.String> project)
TopicArgs.Builder
project(java.lang.String project)
TopicArgs.Builder
schemaSettings(com.pulumi.core.Output<TopicSchemaSettingsArgs> schemaSettings)
TopicArgs.Builder
schemaSettings(TopicSchemaSettingsArgs schemaSettings)
-
-
-
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
-
build
public TopicArgs build()
-
-