Class BucketObjectv2State.Builder

  • Enclosing class:
    BucketObjectv2State

    public static final class BucketObjectv2State.Builder
    extends java.lang.Object
    • Method Detail

      • acl

        public BucketObjectv2State.Builder acl​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> acl)
        Parameters:
        acl - [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, and `bucket-owner-full-control`.
        Returns:
        builder
      • acl

        public BucketObjectv2State.Builder acl​(java.lang.String acl)
        Parameters:
        acl - [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, and `bucket-owner-full-control`.
        Returns:
        builder
      • arn

        public BucketObjectv2State.Builder arn​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> arn)
        Parameters:
        arn - ARN of the object.
        Returns:
        builder
      • bucket

        public BucketObjectv2State.Builder bucket​(@Nullable
                                                  com.pulumi.core.Output<java.lang.String> bucket)
        Parameters:
        bucket - Name of the bucket to put the file in. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified.
        Returns:
        builder
      • bucket

        public BucketObjectv2State.Builder bucket​(java.lang.String bucket)
        Parameters:
        bucket - Name of the bucket to put the file in. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified.
        Returns:
        builder
      • bucketKeyEnabled

        public BucketObjectv2State.Builder bucketKeyEnabled​(@Nullable
                                                            com.pulumi.core.Output<java.lang.Boolean> bucketKeyEnabled)
        Parameters:
        bucketKeyEnabled - Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.
        Returns:
        builder
      • bucketKeyEnabled

        public BucketObjectv2State.Builder bucketKeyEnabled​(java.lang.Boolean bucketKeyEnabled)
        Parameters:
        bucketKeyEnabled - Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.
        Returns:
        builder
      • cacheControl

        public BucketObjectv2State.Builder cacheControl​(@Nullable
                                                        com.pulumi.core.Output<java.lang.String> cacheControl)
        Parameters:
        cacheControl - Caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.
        Returns:
        builder
      • cacheControl

        public BucketObjectv2State.Builder cacheControl​(java.lang.String cacheControl)
        Parameters:
        cacheControl - Caching behavior along the request/reply chain Read [w3c cacheControl](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.
        Returns:
        builder
      • checksumAlgorithm

        public BucketObjectv2State.Builder checksumAlgorithm​(@Nullable
                                                             com.pulumi.core.Output<java.lang.String> checksumAlgorithm)
        Parameters:
        checksumAlgorithm - Algorithm used to create the checksum for the object. If a value is specified and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `CRC32`, `CRC32C`, `CRC64NVME`, `SHA1`, `SHA256`.
        Returns:
        builder
      • checksumAlgorithm

        public BucketObjectv2State.Builder checksumAlgorithm​(java.lang.String checksumAlgorithm)
        Parameters:
        checksumAlgorithm - Algorithm used to create the checksum for the object. If a value is specified and the object is encrypted with KMS, you must have permission to use the `kms:Decrypt` action. Valid values: `CRC32`, `CRC32C`, `CRC64NVME`, `SHA1`, `SHA256`.
        Returns:
        builder
      • checksumCrc32

        public BucketObjectv2State.Builder checksumCrc32​(@Nullable
                                                         com.pulumi.core.Output<java.lang.String> checksumCrc32)
        Parameters:
        checksumCrc32 - Base64-encoded, 32-bit CRC32 checksum of the object.
        Returns:
        builder
      • checksumCrc32

        public BucketObjectv2State.Builder checksumCrc32​(java.lang.String checksumCrc32)
        Parameters:
        checksumCrc32 - Base64-encoded, 32-bit CRC32 checksum of the object.
        Returns:
        builder
      • checksumCrc32c

        public BucketObjectv2State.Builder checksumCrc32c​(@Nullable
                                                          com.pulumi.core.Output<java.lang.String> checksumCrc32c)
        Parameters:
        checksumCrc32c - Base64-encoded, 32-bit CRC32C checksum of the object.
        Returns:
        builder
      • checksumCrc32c

        public BucketObjectv2State.Builder checksumCrc32c​(java.lang.String checksumCrc32c)
        Parameters:
        checksumCrc32c - Base64-encoded, 32-bit CRC32C checksum of the object.
        Returns:
        builder
      • checksumCrc64nvme

        public BucketObjectv2State.Builder checksumCrc64nvme​(@Nullable
                                                             com.pulumi.core.Output<java.lang.String> checksumCrc64nvme)
        Parameters:
        checksumCrc64nvme - Base64-encoded, 64-bit CRC64NVME checksum of the object.
        Returns:
        builder
      • checksumCrc64nvme

        public BucketObjectv2State.Builder checksumCrc64nvme​(java.lang.String checksumCrc64nvme)
        Parameters:
        checksumCrc64nvme - Base64-encoded, 64-bit CRC64NVME checksum of the object.
        Returns:
        builder
      • checksumSha1

        public BucketObjectv2State.Builder checksumSha1​(@Nullable
                                                        com.pulumi.core.Output<java.lang.String> checksumSha1)
        Parameters:
        checksumSha1 - Base64-encoded, 160-bit SHA-1 digest of the object.
        Returns:
        builder
      • checksumSha1

        public BucketObjectv2State.Builder checksumSha1​(java.lang.String checksumSha1)
        Parameters:
        checksumSha1 - Base64-encoded, 160-bit SHA-1 digest of the object.
        Returns:
        builder
      • checksumSha256

        public BucketObjectv2State.Builder checksumSha256​(@Nullable
                                                          com.pulumi.core.Output<java.lang.String> checksumSha256)
        Parameters:
        checksumSha256 - Base64-encoded, 256-bit SHA-256 digest of the object.
        Returns:
        builder
      • checksumSha256

        public BucketObjectv2State.Builder checksumSha256​(java.lang.String checksumSha256)
        Parameters:
        checksumSha256 - Base64-encoded, 256-bit SHA-256 digest of the object.
        Returns:
        builder
      • content

        public BucketObjectv2State.Builder content​(@Nullable
                                                   com.pulumi.core.Output<java.lang.String> content)
        Parameters:
        content - Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.
        Returns:
        builder
      • content

        public BucketObjectv2State.Builder content​(java.lang.String content)
        Parameters:
        content - Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.
        Returns:
        builder
      • contentBase64

        public BucketObjectv2State.Builder contentBase64​(@Nullable
                                                         com.pulumi.core.Output<java.lang.String> contentBase64)
        Parameters:
        contentBase64 - Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the `gzipbase64` function with small text strings. For larger objects, use `source` to stream the content from a disk file.
        Returns:
        builder
      • contentBase64

        public BucketObjectv2State.Builder contentBase64​(java.lang.String contentBase64)
        Parameters:
        contentBase64 - Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the `gzipbase64` function with small text strings. For larger objects, use `source` to stream the content from a disk file.
        Returns:
        builder
      • contentDisposition

        public BucketObjectv2State.Builder contentDisposition​(@Nullable
                                                              com.pulumi.core.Output<java.lang.String> contentDisposition)
        Parameters:
        contentDisposition - Presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.
        Returns:
        builder
      • contentDisposition

        public BucketObjectv2State.Builder contentDisposition​(java.lang.String contentDisposition)
        Parameters:
        contentDisposition - Presentational information for the object. Read [w3c contentDisposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.
        Returns:
        builder
      • contentEncoding

        public BucketObjectv2State.Builder contentEncoding​(@Nullable
                                                           com.pulumi.core.Output<java.lang.String> contentEncoding)
        Parameters:
        contentEncoding - Content encodings that have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.
        Returns:
        builder
      • contentEncoding

        public BucketObjectv2State.Builder contentEncoding​(java.lang.String contentEncoding)
        Parameters:
        contentEncoding - Content encodings that have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.
        Returns:
        builder
      • contentLanguage

        public BucketObjectv2State.Builder contentLanguage​(@Nullable
                                                           com.pulumi.core.Output<java.lang.String> contentLanguage)
        Parameters:
        contentLanguage - Language the content is in e.g., en-US or en-GB.
        Returns:
        builder
      • contentLanguage

        public BucketObjectv2State.Builder contentLanguage​(java.lang.String contentLanguage)
        Parameters:
        contentLanguage - Language the content is in e.g., en-US or en-GB.
        Returns:
        builder
      • contentType

        public BucketObjectv2State.Builder contentType​(@Nullable
                                                       com.pulumi.core.Output<java.lang.String> contentType)
        Parameters:
        contentType - Standard MIME type describing the format of the object data, e.g., application/octet-stream. All Valid MIME Types are valid for this input.
        Returns:
        builder
      • contentType

        public BucketObjectv2State.Builder contentType​(java.lang.String contentType)
        Parameters:
        contentType - Standard MIME type describing the format of the object data, e.g., application/octet-stream. All Valid MIME Types are valid for this input.
        Returns:
        builder
      • etag

        public BucketObjectv2State.Builder etag​(@Nullable
                                                com.pulumi.core.Output<java.lang.String> etag)
        Parameters:
        etag - Triggers updates when the value changes. This attribute is not compatible with KMS encryption, `kmsKeyId` or `serverSideEncryption = "aws:kms"`, also if an object is larger than 16 MB, the AWS Management Console will upload or copy that object as a Multipart Upload, and therefore the ETag will not be an MD5 digest (see `sourceHash` instead).
        Returns:
        builder
      • etag

        public BucketObjectv2State.Builder etag​(java.lang.String etag)
        Parameters:
        etag - Triggers updates when the value changes. This attribute is not compatible with KMS encryption, `kmsKeyId` or `serverSideEncryption = "aws:kms"`, also if an object is larger than 16 MB, the AWS Management Console will upload or copy that object as a Multipart Upload, and therefore the ETag will not be an MD5 digest (see `sourceHash` instead).
        Returns:
        builder
      • forceDestroy

        public BucketObjectv2State.Builder forceDestroy​(@Nullable
                                                        com.pulumi.core.Output<java.lang.Boolean> forceDestroy)
        Parameters:
        forceDestroy - Whether to allow the object to be deleted by removing any legal hold on any object version. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled.
        Returns:
        builder
      • forceDestroy

        public BucketObjectv2State.Builder forceDestroy​(java.lang.Boolean forceDestroy)
        Parameters:
        forceDestroy - Whether to allow the object to be deleted by removing any legal hold on any object version. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled.
        Returns:
        builder
      • key

        public BucketObjectv2State.Builder key​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> key)
        Parameters:
        key - Name of the object once it is in the bucket. The following arguments are optional:
        Returns:
        builder
      • key

        public BucketObjectv2State.Builder key​(java.lang.String key)
        Parameters:
        key - Name of the object once it is in the bucket. The following arguments are optional:
        Returns:
        builder
      • kmsKeyId

        public BucketObjectv2State.Builder kmsKeyId​(@Nullable
                                                    com.pulumi.core.Output<java.lang.String> kmsKeyId)
        Parameters:
        kmsKeyId - ARN of the KMS Key to use for object encryption. If the S3 Bucket has server-side encryption enabled, that value will automatically be used. If referencing the `aws.kms.Key` resource, use the `arn` attribute. If referencing the `aws.kms.Alias` data source or resource, use the `targetKeyArn` attribute. The provider will only perform drift detection if a configuration value is provided.
        Returns:
        builder
      • kmsKeyId

        public BucketObjectv2State.Builder kmsKeyId​(java.lang.String kmsKeyId)
        Parameters:
        kmsKeyId - ARN of the KMS Key to use for object encryption. If the S3 Bucket has server-side encryption enabled, that value will automatically be used. If referencing the `aws.kms.Key` resource, use the `arn` attribute. If referencing the `aws.kms.Alias` data source or resource, use the `targetKeyArn` attribute. The provider will only perform drift detection if a configuration value is provided.
        Returns:
        builder
      • metadata

        public BucketObjectv2State.Builder metadata​(@Nullable
                                                    com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> metadata)
        Parameters:
        metadata - Map of keys/values to provision metadata (will be automatically prefixed by `x-amz-meta-`, note that only lowercase label are currently supported by the AWS Go API).
        Returns:
        builder
      • metadata

        public BucketObjectv2State.Builder metadata​(java.util.Map<java.lang.String,​java.lang.String> metadata)
        Parameters:
        metadata - Map of keys/values to provision metadata (will be automatically prefixed by `x-amz-meta-`, note that only lowercase label are currently supported by the AWS Go API).
        Returns:
        builder
      • objectLockLegalHoldStatus

        public BucketObjectv2State.Builder objectLockLegalHoldStatus​(@Nullable
                                                                     com.pulumi.core.Output<java.lang.String> objectLockLegalHoldStatus)
        Parameters:
        objectLockLegalHoldStatus - [Legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`.
        Returns:
        builder
      • objectLockLegalHoldStatus

        public BucketObjectv2State.Builder objectLockLegalHoldStatus​(java.lang.String objectLockLegalHoldStatus)
        Parameters:
        objectLockLegalHoldStatus - [Legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`.
        Returns:
        builder
      • objectLockMode

        public BucketObjectv2State.Builder objectLockMode​(@Nullable
                                                          com.pulumi.core.Output<java.lang.String> objectLockMode)
        Parameters:
        objectLockMode - Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values are `GOVERNANCE` and `COMPLIANCE`.
        Returns:
        builder
      • objectLockMode

        public BucketObjectv2State.Builder objectLockMode​(java.lang.String objectLockMode)
        Parameters:
        objectLockMode - Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values are `GOVERNANCE` and `COMPLIANCE`.
        Returns:
        builder
      • objectLockRetainUntilDate

        public BucketObjectv2State.Builder objectLockRetainUntilDate​(@Nullable
                                                                     com.pulumi.core.Output<java.lang.String> objectLockRetainUntilDate)
        Parameters:
        objectLockRetainUntilDate - Date and time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), when this object's object lock will [expire](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-periods).
        Returns:
        builder
      • objectLockRetainUntilDate

        public BucketObjectv2State.Builder objectLockRetainUntilDate​(java.lang.String objectLockRetainUntilDate)
        Parameters:
        objectLockRetainUntilDate - Date and time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), when this object's object lock will [expire](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-periods).
        Returns:
        builder
      • overrideProvider

        public BucketObjectv2State.Builder overrideProvider​(@Nullable
                                                            com.pulumi.core.Output<BucketObjectv2OverrideProviderArgs> overrideProvider)
        Parameters:
        overrideProvider - Override provider-level configuration options. See `overrideProvider` Block below for more details.
        Returns:
        builder
      • region

        public BucketObjectv2State.Builder region​(@Nullable
                                                  com.pulumi.core.Output<java.lang.String> region)
        Parameters:
        region - Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
        Returns:
        builder
      • region

        public BucketObjectv2State.Builder region​(java.lang.String region)
        Parameters:
        region - Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
        Returns:
        builder
      • serverSideEncryption

        public BucketObjectv2State.Builder serverSideEncryption​(@Nullable
                                                                com.pulumi.core.Output<java.lang.String> serverSideEncryption)
        Parameters:
        serverSideEncryption - Server-side encryption of the object in S3. Valid values are `"AES256"`, `"aws:kms"`, `"aws:kms:dsse"`, and `"aws:fsx"`.
        Returns:
        builder
      • serverSideEncryption

        public BucketObjectv2State.Builder serverSideEncryption​(java.lang.String serverSideEncryption)
        Parameters:
        serverSideEncryption - Server-side encryption of the object in S3. Valid values are `"AES256"`, `"aws:kms"`, `"aws:kms:dsse"`, and `"aws:fsx"`.
        Returns:
        builder
      • source

        public BucketObjectv2State.Builder source​(@Nullable
                                                  com.pulumi.core.Output<com.pulumi.asset.AssetOrArchive> source)
        Parameters:
        source - Path to a file that will be read and uploaded as raw bytes for the object content.
        Returns:
        builder
      • source

        public BucketObjectv2State.Builder source​(com.pulumi.asset.AssetOrArchive source)
        Parameters:
        source - Path to a file that will be read and uploaded as raw bytes for the object content.
        Returns:
        builder
      • sourceHash

        public BucketObjectv2State.Builder sourceHash​(@Nullable
                                                      com.pulumi.core.Output<java.lang.String> sourceHash)
        Parameters:
        sourceHash - Triggers updates like `etag` but useful to address `etag` encryption limitations. (The value is only stored in state and not saved by AWS.)
        Returns:
        builder
      • sourceHash

        public BucketObjectv2State.Builder sourceHash​(java.lang.String sourceHash)
        Parameters:
        sourceHash - Triggers updates like `etag` but useful to address `etag` encryption limitations. (The value is only stored in state and not saved by AWS.)
        Returns:
        builder
      • storageClass

        public BucketObjectv2State.Builder storageClass​(@Nullable
                                                        com.pulumi.core.Output<java.lang.String> storageClass)
        Parameters:
        storageClass - [Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`".
        Returns:
        builder
      • storageClass

        public BucketObjectv2State.Builder storageClass​(java.lang.String storageClass)
        Parameters:
        storageClass - [Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`".
        Returns:
        builder
      • tags

        public BucketObjectv2State.Builder tags​(@Nullable
                                                com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tags)
        Parameters:
        tags - Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • tags

        public BucketObjectv2State.Builder tags​(java.util.Map<java.lang.String,​java.lang.String> tags)
        Parameters:
        tags - Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • tagsAll

        public BucketObjectv2State.Builder tagsAll​(@Nullable
                                                   com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll)
        Parameters:
        tagsAll - Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
        Returns:
        builder
      • tagsAll

        public BucketObjectv2State.Builder tagsAll​(java.util.Map<java.lang.String,​java.lang.String> tagsAll)
        Parameters:
        tagsAll - Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
        Returns:
        builder
      • versionId

        public BucketObjectv2State.Builder versionId​(@Nullable
                                                     com.pulumi.core.Output<java.lang.String> versionId)
        Parameters:
        versionId - Unique version ID value for the object, if bucket versioning is enabled.
        Returns:
        builder
      • versionId

        public BucketObjectv2State.Builder versionId​(java.lang.String versionId)
        Parameters:
        versionId - Unique version ID value for the object, if bucket versioning is enabled.
        Returns:
        builder
      • websiteRedirect

        public BucketObjectv2State.Builder websiteRedirect​(@Nullable
                                                           com.pulumi.core.Output<java.lang.String> websiteRedirect)
        Parameters:
        websiteRedirect - Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). > **Note:** If no content is provided through `source`, `content` or `contentBase64`, then the object will be empty. > **Note:** If you specify `contentEncoding` you are responsible for encoding the body appropriately. `source`, `content`, and `contentBase64` all expect already encoded/compressed bytes. > **Note:** The provider ignores all leading `/`s in the object's `key` and treats multiple `/`s in the rest of the object's `key` as a single `/`, so values of `/index.html` and `index.html` correspond to the same S3 object as do `first//second///third//` and `first/second/third/`.
        Returns:
        builder
      • websiteRedirect

        public BucketObjectv2State.Builder websiteRedirect​(java.lang.String websiteRedirect)
        Parameters:
        websiteRedirect - Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). > **Note:** If no content is provided through `source`, `content` or `contentBase64`, then the object will be empty. > **Note:** If you specify `contentEncoding` you are responsible for encoding the body appropriately. `source`, `content`, and `contentBase64` all expect already encoded/compressed bytes. > **Note:** The provider ignores all leading `/`s in the object's `key` and treats multiple `/`s in the rest of the object's `key` as a single `/`, so values of `/index.html` and `index.html` correspond to the same S3 object as do `first//second///third//` and `first/second/third/`.
        Returns:
        builder