Class PubsubSubscriptionBigqueryConfig.Builder
- java.lang.Object
-
- com.hashicorp.cdktf.providers.google.pubsub_subscription.PubsubSubscriptionBigqueryConfig.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<PubsubSubscriptionBigqueryConfig>
- Enclosing interface:
- PubsubSubscriptionBigqueryConfig
@Stability(Stable) public static final class PubsubSubscriptionBigqueryConfig.Builder extends Object implements software.amazon.jsii.Builder<PubsubSubscriptionBigqueryConfig>
A builder forPubsubSubscriptionBigqueryConfig
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
-
-
-
Method Detail
-
table
@Stability(Stable) public PubsubSubscriptionBigqueryConfig.Builder table(String table)
Sets the value ofPubsubSubscriptionBigqueryConfig.getTable()- Parameters:
table- The name of the table to which to write data, of the form {projectId}.{datasetId}.{tableId}. This parameter is required. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_subscription#table PubsubSubscription#table}- Returns:
this
-
dropUnknownFields
@Stability(Stable) public PubsubSubscriptionBigqueryConfig.Builder dropUnknownFields(Boolean dropUnknownFields)
Sets the value ofPubsubSubscriptionBigqueryConfig.getDropUnknownFields()- Parameters:
dropUnknownFields- When true and use_topic_schema or use_table_schema is true, any fields that are a part of the topic schema or message schema that are not part of the BigQuery table schema are dropped when writing to BigQuery. Otherwise, the schemas must be kept in sync and any messages with extra fields are not written and remain in the subscription's backlog. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_subscription#drop_unknown_fields PubsubSubscription#drop_unknown_fields}- Returns:
this
-
dropUnknownFields
@Stability(Stable) public PubsubSubscriptionBigqueryConfig.Builder dropUnknownFields(com.hashicorp.cdktf.IResolvable dropUnknownFields)
Sets the value ofPubsubSubscriptionBigqueryConfig.getDropUnknownFields()- Parameters:
dropUnknownFields- When true and use_topic_schema or use_table_schema is true, any fields that are a part of the topic schema or message schema that are not part of the BigQuery table schema are dropped when writing to BigQuery. Otherwise, the schemas must be kept in sync and any messages with extra fields are not written and remain in the subscription's backlog. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_subscription#drop_unknown_fields PubsubSubscription#drop_unknown_fields}- Returns:
this
-
serviceAccountEmail
@Stability(Stable) public PubsubSubscriptionBigqueryConfig.Builder serviceAccountEmail(String serviceAccountEmail)
Sets the value ofPubsubSubscriptionBigqueryConfig.getServiceAccountEmail()- Parameters:
serviceAccountEmail- The service account to use to write to BigQuery. If not specified, the Pub/Sub service agent, service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_subscription#service_account_email PubsubSubscription#service_account_email}- Returns:
this
-
useTableSchema
@Stability(Stable) public PubsubSubscriptionBigqueryConfig.Builder useTableSchema(Boolean useTableSchema)
Sets the value ofPubsubSubscriptionBigqueryConfig.getUseTableSchema()- Parameters:
useTableSchema- When true, use the BigQuery table's schema as the columns to write to in BigQuery. Messages must be published in JSON format. Only one of use_topic_schema and use_table_schema can be set. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_subscription#use_table_schema PubsubSubscription#use_table_schema}- Returns:
this
-
useTableSchema
@Stability(Stable) public PubsubSubscriptionBigqueryConfig.Builder useTableSchema(com.hashicorp.cdktf.IResolvable useTableSchema)
Sets the value ofPubsubSubscriptionBigqueryConfig.getUseTableSchema()- Parameters:
useTableSchema- When true, use the BigQuery table's schema as the columns to write to in BigQuery. Messages must be published in JSON format. Only one of use_topic_schema and use_table_schema can be set. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_subscription#use_table_schema PubsubSubscription#use_table_schema}- Returns:
this
-
useTopicSchema
@Stability(Stable) public PubsubSubscriptionBigqueryConfig.Builder useTopicSchema(Boolean useTopicSchema)
Sets the value ofPubsubSubscriptionBigqueryConfig.getUseTopicSchema()- Parameters:
useTopicSchema- When true, use the topic's schema as the columns to write to in BigQuery, if it exists. Only one of use_topic_schema and use_table_schema can be set. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_subscription#use_topic_schema PubsubSubscription#use_topic_schema}- Returns:
this
-
useTopicSchema
@Stability(Stable) public PubsubSubscriptionBigqueryConfig.Builder useTopicSchema(com.hashicorp.cdktf.IResolvable useTopicSchema)
Sets the value ofPubsubSubscriptionBigqueryConfig.getUseTopicSchema()- Parameters:
useTopicSchema- When true, use the topic's schema as the columns to write to in BigQuery, if it exists. Only one of use_topic_schema and use_table_schema can be set. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_subscription#use_topic_schema PubsubSubscription#use_topic_schema}- Returns:
this
-
writeMetadata
@Stability(Stable) public PubsubSubscriptionBigqueryConfig.Builder writeMetadata(Boolean writeMetadata)
Sets the value ofPubsubSubscriptionBigqueryConfig.getWriteMetadata()- Parameters:
writeMetadata- When true, write the subscription name, messageId, publishTime, attributes, and orderingKey to additional columns in the table. The subscription name, messageId, and publishTime fields are put in their own columns while all other message properties (other than data) are written to a JSON object in the attributes column. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_subscription#write_metadata PubsubSubscription#write_metadata}- Returns:
this
-
writeMetadata
@Stability(Stable) public PubsubSubscriptionBigqueryConfig.Builder writeMetadata(com.hashicorp.cdktf.IResolvable writeMetadata)
Sets the value ofPubsubSubscriptionBigqueryConfig.getWriteMetadata()- Parameters:
writeMetadata- When true, write the subscription name, messageId, publishTime, attributes, and orderingKey to additional columns in the table. The subscription name, messageId, and publishTime fields are put in their own columns while all other message properties (other than data) are written to a JSON object in the attributes column. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/pubsub_subscription#write_metadata PubsubSubscription#write_metadata}- Returns:
this
-
build
@Stability(Stable) public PubsubSubscriptionBigqueryConfig build()
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<PubsubSubscriptionBigqueryConfig>- Returns:
- a new instance of
PubsubSubscriptionBigqueryConfig - Throws:
NullPointerException- if any required attribute was not provided
-
-