Class PubsubSubscriptionBigqueryConfig.Builder

    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • table

        @Stability(Stable)
        public PubsubSubscriptionBigqueryConfig.Builder table​(String table)
        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)
        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)
        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)
        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)
        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)
        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)
        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)
        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)
        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)
        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