Class PubsubTopicConfig.Builder
- java.lang.Object
-
- com.hashicorp.cdktf.providers.google.pubsub_topic.PubsubTopicConfig.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<PubsubTopicConfig>
- Enclosing interface:
- PubsubTopicConfig
@Stability(Stable) public static final class PubsubTopicConfig.Builder extends Object implements software.amazon.jsii.Builder<PubsubTopicConfig>
A builder forPubsubTopicConfig
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PubsubTopicConfigbuild()Builds the configured instance.PubsubTopicConfig.Builderconnection(com.hashicorp.cdktf.SSHProvisionerConnection connection)Sets the value ofTerraformMetaArguments.getConnection()PubsubTopicConfig.Builderconnection(com.hashicorp.cdktf.WinrmProvisionerConnection connection)Sets the value ofTerraformMetaArguments.getConnection()PubsubTopicConfig.Buildercount(com.hashicorp.cdktf.TerraformCount count)Sets the value ofTerraformMetaArguments.getCount()PubsubTopicConfig.Buildercount(Number count)Sets the value ofTerraformMetaArguments.getCount()PubsubTopicConfig.BuilderdependsOn(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)Sets the value ofTerraformMetaArguments.getDependsOn()PubsubTopicConfig.BuilderforEach(com.hashicorp.cdktf.ITerraformIterator forEach)Sets the value ofTerraformMetaArguments.getForEach()PubsubTopicConfig.Builderid(String id)Sets the value ofPubsubTopicConfig.getId()PubsubTopicConfig.BuilderingestionDataSourceSettings(PubsubTopicIngestionDataSourceSettings ingestionDataSourceSettings)Sets the value ofPubsubTopicConfig.getIngestionDataSourceSettings()PubsubTopicConfig.BuilderkmsKeyName(String kmsKeyName)Sets the value ofPubsubTopicConfig.getKmsKeyName()PubsubTopicConfig.Builderlabels(Map<String,String> labels)Sets the value ofPubsubTopicConfig.getLabels()PubsubTopicConfig.Builderlifecycle(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)Sets the value ofTerraformMetaArguments.getLifecycle()PubsubTopicConfig.BuildermessageRetentionDuration(String messageRetentionDuration)Sets the value ofPubsubTopicConfig.getMessageRetentionDuration()PubsubTopicConfig.BuildermessageStoragePolicy(PubsubTopicMessageStoragePolicy messageStoragePolicy)Sets the value ofPubsubTopicConfig.getMessageStoragePolicy()PubsubTopicConfig.Buildername(String name)Sets the value ofPubsubTopicConfig.getName()PubsubTopicConfig.Builderproject(String project)Sets the value ofPubsubTopicConfig.getProject()PubsubTopicConfig.Builderprovider(com.hashicorp.cdktf.TerraformProvider provider)Sets the value ofTerraformMetaArguments.getProvider()PubsubTopicConfig.Builderprovisioners(List<? extends Object> provisioners)Sets the value ofTerraformMetaArguments.getProvisioners()PubsubTopicConfig.BuilderschemaSettings(PubsubTopicSchemaSettings schemaSettings)Sets the value ofPubsubTopicConfig.getSchemaSettings()PubsubTopicConfig.Buildertimeouts(PubsubTopicTimeouts timeouts)Sets the value ofPubsubTopicConfig.getTimeouts()
-
-
-
Method Detail
-
name
@Stability(Stable) public PubsubTopicConfig.Builder name(String name)
Sets the value ofPubsubTopicConfig.getName()- Parameters:
name- Name of the topic. This parameter is required. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_topic#name PubsubTopic#name}- Returns:
this
-
id
@Stability(Stable) public PubsubTopicConfig.Builder id(String id)
Sets the value ofPubsubTopicConfig.getId()- Parameters:
id- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_topic#id PubsubTopic#id}. Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.- Returns:
this
-
ingestionDataSourceSettings
@Stability(Stable) public PubsubTopicConfig.Builder ingestionDataSourceSettings(PubsubTopicIngestionDataSourceSettings ingestionDataSourceSettings)
Sets the value ofPubsubTopicConfig.getIngestionDataSourceSettings()- Parameters:
ingestionDataSourceSettings- ingestion_data_source_settings block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_topic#ingestion_data_source_settings PubsubTopic#ingestion_data_source_settings}- Returns:
this
-
kmsKeyName
@Stability(Stable) public PubsubTopicConfig.Builder kmsKeyName(String kmsKeyName)
Sets the value ofPubsubTopicConfig.getKmsKeyName()- 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/*' Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_topic#kms_key_name PubsubTopic#kms_key_name} Note: The above comment contained a comment block ending sequence (* followed by /). We have introduced a space between to prevent syntax errors. Please ignore the space.- Returns:
this
-
labels
@Stability(Stable) public PubsubTopicConfig.Builder labels(Map<String,String> labels)
Sets the value ofPubsubTopicConfig.getLabels()- 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. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_topic#labels PubsubTopic#labels}- Returns:
this
-
messageRetentionDuration
@Stability(Stable) public PubsubTopicConfig.Builder messageRetentionDuration(String messageRetentionDuration)
Sets the value ofPubsubTopicConfig.getMessageRetentionDuration()- 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. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_topic#message_retention_duration PubsubTopic#message_retention_duration}- Returns:
this
-
messageStoragePolicy
@Stability(Stable) public PubsubTopicConfig.Builder messageStoragePolicy(PubsubTopicMessageStoragePolicy messageStoragePolicy)
Sets the value ofPubsubTopicConfig.getMessageStoragePolicy()- Parameters:
messageStoragePolicy- message_storage_policy block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_topic#message_storage_policy PubsubTopic#message_storage_policy}- Returns:
this
-
project
@Stability(Stable) public PubsubTopicConfig.Builder project(String project)
Sets the value ofPubsubTopicConfig.getProject()- Parameters:
project- Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_topic#project PubsubTopic#project}.- Returns:
this
-
schemaSettings
@Stability(Stable) public PubsubTopicConfig.Builder schemaSettings(PubsubTopicSchemaSettings schemaSettings)
Sets the value ofPubsubTopicConfig.getSchemaSettings()- Parameters:
schemaSettings- schema_settings block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_topic#schema_settings PubsubTopic#schema_settings}- Returns:
this
-
timeouts
@Stability(Stable) public PubsubTopicConfig.Builder timeouts(PubsubTopicTimeouts timeouts)
Sets the value ofPubsubTopicConfig.getTimeouts()- Parameters:
timeouts- timeouts block. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_topic#timeouts PubsubTopic#timeouts}- Returns:
this
-
connection
@Stability(Experimental) public PubsubTopicConfig.Builder connection(com.hashicorp.cdktf.SSHProvisionerConnection connection)
Sets the value ofTerraformMetaArguments.getConnection()- Parameters:
connection- the value to be set.- Returns:
this
-
connection
@Stability(Experimental) public PubsubTopicConfig.Builder connection(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
Sets the value ofTerraformMetaArguments.getConnection()- Parameters:
connection- the value to be set.- Returns:
this
-
count
@Stability(Experimental) public PubsubTopicConfig.Builder count(Number count)
Sets the value ofTerraformMetaArguments.getCount()- Parameters:
count- the value to be set.- Returns:
this
-
count
@Stability(Experimental) public PubsubTopicConfig.Builder count(com.hashicorp.cdktf.TerraformCount count)
Sets the value ofTerraformMetaArguments.getCount()- Parameters:
count- the value to be set.- Returns:
this
-
dependsOn
@Stability(Experimental) public PubsubTopicConfig.Builder dependsOn(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
Sets the value ofTerraformMetaArguments.getDependsOn()- Parameters:
dependsOn- the value to be set.- Returns:
this
-
forEach
@Stability(Experimental) public PubsubTopicConfig.Builder forEach(com.hashicorp.cdktf.ITerraformIterator forEach)
Sets the value ofTerraformMetaArguments.getForEach()- Parameters:
forEach- the value to be set.- Returns:
this
-
lifecycle
@Stability(Experimental) public PubsubTopicConfig.Builder lifecycle(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
Sets the value ofTerraformMetaArguments.getLifecycle()- Parameters:
lifecycle- the value to be set.- Returns:
this
-
provider
@Stability(Experimental) public PubsubTopicConfig.Builder provider(com.hashicorp.cdktf.TerraformProvider provider)
Sets the value ofTerraformMetaArguments.getProvider()- Parameters:
provider- the value to be set.- Returns:
this
-
provisioners
@Stability(Experimental) public PubsubTopicConfig.Builder provisioners(List<? extends Object> provisioners)
Sets the value ofTerraformMetaArguments.getProvisioners()- Parameters:
provisioners- the value to be set.- Returns:
this
-
build
@Stability(Stable) public PubsubTopicConfig build()
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<PubsubTopicConfig>- Returns:
- a new instance of
PubsubTopicConfig - Throws:
NullPointerException- if any required attribute was not provided
-
-