Class LoggingProjectSinkConfig.Builder

    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • destination

        @Stability(Stable)
        public LoggingProjectSinkConfig.Builder destination​(String destination)
        Parameters:
        destination - The destination of the sink (or, in other words, where logs are written to). This parameter is required. 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}
        Returns:
        this
      • name

        @Stability(Stable)
        public LoggingProjectSinkConfig.Builder name​(String name)
        Parameters:
        name - The name of the logging sink. This parameter is required. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/logging_project_sink#name LoggingProjectSink#name}
        Returns:
        this
      • customWriterIdentity

        @Stability(Stable)
        public LoggingProjectSinkConfig.Builder customWriterIdentity​(String customWriterIdentity)
        Parameters:
        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}
        Returns:
        this
      • description

        @Stability(Stable)
        public LoggingProjectSinkConfig.Builder description​(String description)
        Parameters:
        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}
        Returns:
        this
      • disabled

        @Stability(Stable)
        public LoggingProjectSinkConfig.Builder disabled​(Boolean disabled)
        Parameters:
        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}
        Returns:
        this
      • disabled

        @Stability(Stable)
        public LoggingProjectSinkConfig.Builder disabled​(com.hashicorp.cdktf.IResolvable disabled)
        Parameters:
        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}
        Returns:
        this
      • exclusions

        @Stability(Stable)
        public LoggingProjectSinkConfig.Builder exclusions​(com.hashicorp.cdktf.IResolvable exclusions)
        Parameters:
        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}
        Returns:
        this
      • filter

        @Stability(Stable)
        public LoggingProjectSinkConfig.Builder filter​(String filter)
        Parameters:
        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}
        Returns:
        this
      • id

        @Stability(Stable)
        public LoggingProjectSinkConfig.Builder id​(String id)
        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}. 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
      • project

        @Stability(Stable)
        public LoggingProjectSinkConfig.Builder project​(String project)
        Parameters:
        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}
        Returns:
        this
      • uniqueWriterIdentity

        @Stability(Stable)
        public LoggingProjectSinkConfig.Builder uniqueWriterIdentity​(Boolean uniqueWriterIdentity)
        Parameters:
        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}
        Returns:
        this
      • uniqueWriterIdentity

        @Stability(Stable)
        public LoggingProjectSinkConfig.Builder uniqueWriterIdentity​(com.hashicorp.cdktf.IResolvable uniqueWriterIdentity)
        Parameters:
        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}
        Returns:
        this
      • connection

        @Stability(Experimental)
        public LoggingProjectSinkConfig.Builder connection​(com.hashicorp.cdktf.SSHProvisionerConnection connection)
        Sets the value of TerraformMetaArguments.getConnection()
        Parameters:
        connection - the value to be set.
        Returns:
        this
      • connection

        @Stability(Experimental)
        public LoggingProjectSinkConfig.Builder connection​(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
        Sets the value of TerraformMetaArguments.getConnection()
        Parameters:
        connection - the value to be set.
        Returns:
        this
      • count

        @Stability(Experimental)
        public LoggingProjectSinkConfig.Builder count​(Number count)
        Sets the value of TerraformMetaArguments.getCount()
        Parameters:
        count - the value to be set.
        Returns:
        this
      • count

        @Stability(Experimental)
        public LoggingProjectSinkConfig.Builder count​(com.hashicorp.cdktf.TerraformCount count)
        Sets the value of TerraformMetaArguments.getCount()
        Parameters:
        count - the value to be set.
        Returns:
        this
      • dependsOn

        @Stability(Experimental)
        public LoggingProjectSinkConfig.Builder dependsOn​(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
        Sets the value of TerraformMetaArguments.getDependsOn()
        Parameters:
        dependsOn - the value to be set.
        Returns:
        this
      • forEach

        @Stability(Experimental)
        public LoggingProjectSinkConfig.Builder forEach​(com.hashicorp.cdktf.ITerraformIterator forEach)
        Sets the value of TerraformMetaArguments.getForEach()
        Parameters:
        forEach - the value to be set.
        Returns:
        this
      • lifecycle

        @Stability(Experimental)
        public LoggingProjectSinkConfig.Builder lifecycle​(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
        Sets the value of TerraformMetaArguments.getLifecycle()
        Parameters:
        lifecycle - the value to be set.
        Returns:
        this
      • provider

        @Stability(Experimental)
        public LoggingProjectSinkConfig.Builder provider​(com.hashicorp.cdktf.TerraformProvider provider)
        Sets the value of TerraformMetaArguments.getProvider()
        Parameters:
        provider - the value to be set.
        Returns:
        this
      • provisioners

        @Stability(Experimental)
        public LoggingProjectSinkConfig.Builder provisioners​(List<? extends Object> provisioners)
        Sets the value of TerraformMetaArguments.getProvisioners()
        Parameters:
        provisioners - the value to be set.
        Returns:
        this