Class LoggingProjectSink.Builder

    • Method Detail

      • create

        @Stability(Stable)
        public static LoggingProjectSink.Builder create​(software.constructs.Construct scope,
                                                        String id)
        Parameters:
        scope - The scope in which to define this construct. This parameter is required.
        id - The scoped construct ID. This parameter is required.
        Returns:
        a new instance of LoggingProjectSink.Builder.
      • connection

        @Stability(Experimental)
        public LoggingProjectSink.Builder connection​(com.hashicorp.cdktf.SSHProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • connection

        @Stability(Experimental)
        public LoggingProjectSink.Builder connection​(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • count

        @Stability(Experimental)
        public LoggingProjectSink.Builder count​(com.hashicorp.cdktf.TerraformCount count)
        Parameters:
        count - This parameter is required.
        Returns:
        this
      • dependsOn

        @Stability(Experimental)
        public LoggingProjectSink.Builder dependsOn​(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
        Parameters:
        dependsOn - This parameter is required.
        Returns:
        this
      • forEach

        @Stability(Experimental)
        public LoggingProjectSink.Builder forEach​(com.hashicorp.cdktf.ITerraformIterator forEach)
        Parameters:
        forEach - This parameter is required.
        Returns:
        this
      • lifecycle

        @Stability(Experimental)
        public LoggingProjectSink.Builder lifecycle​(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
        Parameters:
        lifecycle - This parameter is required.
        Returns:
        this
      • provider

        @Stability(Experimental)
        public LoggingProjectSink.Builder provider​(com.hashicorp.cdktf.TerraformProvider provider)
        Parameters:
        provider - This parameter is required.
        Returns:
        this
      • provisioners

        @Stability(Experimental)
        public LoggingProjectSink.Builder provisioners​(List<? extends Object> provisioners)
        Parameters:
        provisioners - This parameter is required.
        Returns:
        this
      • destination

        @Stability(Stable)
        public LoggingProjectSink.Builder destination​(String destination)
        The destination of the sink (or, in other words, where logs are written to).

        Can be a Cloud Storage bucket, a PubSub topic, or a BigQuery dataset. Examples: "storage.googleapis.com/[GCS_BUCKET]" "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]" "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]" The writer associated with the sink must have access to write to the above resource. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/logging_project_sink#destination LoggingProjectSink#destination}

        Parameters:
        destination - The destination of the sink (or, in other words, where logs are written to). This parameter is required.
        Returns:
        this
      • name

        @Stability(Stable)
        public LoggingProjectSink.Builder name​(String name)
        The name of the logging sink.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/logging_project_sink#name LoggingProjectSink#name}

        Parameters:
        name - The name of the logging sink. This parameter is required.
        Returns:
        this
      • bigqueryOptions

        @Stability(Stable)
        public LoggingProjectSink.Builder bigqueryOptions​(LoggingProjectSinkBigqueryOptions bigqueryOptions)
        bigquery_options block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/logging_project_sink#bigquery_options LoggingProjectSink#bigquery_options}

        Parameters:
        bigqueryOptions - bigquery_options block. This parameter is required.
        Returns:
        this
      • customWriterIdentity

        @Stability(Stable)
        public LoggingProjectSink.Builder customWriterIdentity​(String customWriterIdentity)
        A service account provided by the caller that will be used to write the log entries.

        The format must be serviceAccount:some@email. This field can only be specified if you are routing logs to a destination outside this sink's project. If not specified, a Logging service account will automatically be generated. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/logging_project_sink#custom_writer_identity LoggingProjectSink#custom_writer_identity}

        Parameters:
        customWriterIdentity - A service account provided by the caller that will be used to write the log entries. This parameter is required.
        Returns:
        this
      • description

        @Stability(Stable)
        public LoggingProjectSink.Builder description​(String description)
        A description of this sink. The maximum length of the description is 8000 characters.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/logging_project_sink#description LoggingProjectSink#description}

        Parameters:
        description - A description of this sink. The maximum length of the description is 8000 characters. This parameter is required.
        Returns:
        this
      • disabled

        @Stability(Stable)
        public LoggingProjectSink.Builder disabled​(Boolean disabled)
        If set to True, then this sink is disabled and it does not export any log entries.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/logging_project_sink#disabled LoggingProjectSink#disabled}

        Parameters:
        disabled - If set to True, then this sink is disabled and it does not export any log entries. This parameter is required.
        Returns:
        this
      • disabled

        @Stability(Stable)
        public LoggingProjectSink.Builder disabled​(com.hashicorp.cdktf.IResolvable disabled)
        If set to True, then this sink is disabled and it does not export any log entries.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/logging_project_sink#disabled LoggingProjectSink#disabled}

        Parameters:
        disabled - If set to True, then this sink is disabled and it does not export any log entries. This parameter is required.
        Returns:
        this
      • exclusions

        @Stability(Stable)
        public LoggingProjectSink.Builder exclusions​(com.hashicorp.cdktf.IResolvable exclusions)
        exclusions block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/logging_project_sink#exclusions LoggingProjectSink#exclusions}

        Parameters:
        exclusions - exclusions block. This parameter is required.
        Returns:
        this
      • exclusions

        @Stability(Stable)
        public LoggingProjectSink.Builder exclusions​(List<? extends LoggingProjectSinkExclusions> exclusions)
        exclusions block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/logging_project_sink#exclusions LoggingProjectSink#exclusions}

        Parameters:
        exclusions - exclusions block. This parameter is required.
        Returns:
        this
      • filter

        @Stability(Stable)
        public LoggingProjectSink.Builder filter​(String filter)
        The filter to apply when exporting logs. Only log entries that match the filter are exported.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/logging_project_sink#filter LoggingProjectSink#filter}

        Parameters:
        filter - The filter to apply when exporting logs. Only log entries that match the filter are exported. This parameter is required.
        Returns:
        this
      • id

        @Stability(Stable)
        public LoggingProjectSink.Builder id​(String id)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/logging_project_sink#id LoggingProjectSink#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.

        Parameters:
        id - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/logging_project_sink#id LoggingProjectSink#id}. This parameter is required.
        Returns:
        this
      • project

        @Stability(Stable)
        public LoggingProjectSink.Builder project​(String project)
        The ID of the project to create the sink in.

        If omitted, the project associated with the provider is used. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/logging_project_sink#project LoggingProjectSink#project}

        Parameters:
        project - The ID of the project to create the sink in. This parameter is required.
        Returns:
        this
      • uniqueWriterIdentity

        @Stability(Stable)
        public LoggingProjectSink.Builder uniqueWriterIdentity​(Boolean uniqueWriterIdentity)
        Whether or not to create a unique identity associated with this sink.

        If false (the legacy behavior), then the writer_identity used is serviceAccount:cloud-logs@system.gserviceaccount.com. If true (default), then a unique service account is created and used for this sink. If you wish to publish logs across projects, you must set unique_writer_identity to true. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/logging_project_sink#unique_writer_identity LoggingProjectSink#unique_writer_identity}

        Parameters:
        uniqueWriterIdentity - Whether or not to create a unique identity associated with this sink. This parameter is required.
        Returns:
        this
      • uniqueWriterIdentity

        @Stability(Stable)
        public LoggingProjectSink.Builder uniqueWriterIdentity​(com.hashicorp.cdktf.IResolvable uniqueWriterIdentity)
        Whether or not to create a unique identity associated with this sink.

        If false (the legacy behavior), then the writer_identity used is serviceAccount:cloud-logs@system.gserviceaccount.com. If true (default), then a unique service account is created and used for this sink. If you wish to publish logs across projects, you must set unique_writer_identity to true. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/logging_project_sink#unique_writer_identity LoggingProjectSink#unique_writer_identity}

        Parameters:
        uniqueWriterIdentity - Whether or not to create a unique identity associated with this sink. This parameter is required.
        Returns:
        this