docstr: Sets the S3 configuration for the datasource of the current dataset.
  
  See our docs for a detailed explanation on how to setup Lightly with
  AWS S3 and delegated access: https://docs.lightly.ai/docs/aws-s3#delegated-access
  
  Args:
      resource_path:
          S3 url of your dataset, for example "s3://my_bucket/path/to/my/data".
      region:
          S3 region where the dataset bucket is located, for example "eu-central-1".
      role_arn:
          Unique ARN identifier of the role.
      external_id:
          External ID of the role.
      thumbnail_suffix:
          Where to save thumbnails of the images in the dataset, for
          example ".lightly/thumbnails/[filename]_thumb.[extension]".
          Set to None to disable thumbnails and use the full images from the
          datasource instead.
      purpose:
          Datasource purpose, determines if datasource is read only (INPUT)
          or can be written to as well (LIGHTLY, INPUT_OUTPUT).
docstr_tok: ["Sets","the","S3","configuration","for","the","datasource","of","the","current","dataset",".","See","our","docs","for","a","detailed","explanation","on","how","to","setup","Lightly","with","AWS","S3","and","delegated","access",":","https",":","\/\/docs.lightly.ai\/docs\/aws-s3","#","delegated-access","Args",":","resource_path",":","S3","url","of","your","dataset",",","for","example","``","s3",":","\/\/my_bucket\/path\/to\/my\/data","''",".","region",":","S3","region","where","the","dataset","bucket","is","located",",","for","example","``","eu-central-1","''",".","role_arn",":","Unique","ARN","identifier","of","the","role",".","external_id",":","External","ID","of","the","role",".","thumbnail_suffix",":","Where","to","save","thumbnails","of","the","images","in","the","dataset",",","for","example","``",".lightly\/thumbnails\/","[","filename","]","_thumb.","[","extension","]","''",".","Set","to","None","to","disable","thumbnails","and","use","the","full","images","from","the","datasource","instead",".","purpose",":","Datasource","purpose",",","determines","if","datasource","is","read","only","(","INPUT",")","or","can","be","written","to","as","well","(","LIGHTLY",",","INPUT_OUTPUT",")","."]
code: def set_s3_delegated_access_config(
      self,
      resource_path: str,
      region: str,
      role_arn: str,
      external_id: str,
      thumbnail_suffix: Optional[
          str
      ] = ".lightly/thumbnails/[filename]_thumb.[extension]",
      purpose: str = DatasourcePurpose.INPUT_OUTPUT,
  ) -> None:
      """Sets the S3 configuration for the datasource of the current dataset.
  
      See our docs for a detailed explanation on how to setup Lightly with
      AWS S3 and delegated access: https://docs.lightly.ai/docs/aws-s3#delegated-access
  
      Args:
          resource_path:
              S3 url of your dataset, for example "s3://my_bucket/path/to/my/data".
          region:
              S3 region where the dataset bucket is located, for example "eu-central-1".
          role_arn:
              Unique ARN identifier of the role.
          external_id:
              External ID of the role.
          thumbnail_suffix:
              Where to save thumbnails of the images in the dataset, for
              example ".lightly/thumbnails/[filename]_thumb.[extension]".
              Set to None to disable thumbnails and use the full images from the
              datasource instead.
          purpose:
              Datasource purpose, determines if datasource is read only (INPUT)
              or can be written to as well (LIGHTLY, INPUT_OUTPUT).
  
      """
      # TODO: Use DatasourceConfigS3 once we switch/update the api generator.
      self._datasources_api.update_datasource_by_dataset_id(
          datasource_config=DatasourceConfig.from_dict(
              {
                  "type": "S3DelegatedAccess",
                  "fullPath": resource_path,
                  "thumbSuffix": thumbnail_suffix,
                  "s3Region": region,
                  "s3ARN": role_arn,
                  "s3ExternalId": external_id,
                  "purpose": purpose,
              }
          ),
          dataset_id=self.dataset_id,
      )
  
imports: import time
  import warnings
  from typing import Dict, Iterator, List, Optional, Set, Tuple, Union
  import tqdm
  from lightly.openapi_generated.swagger_client.models import DatasourceConfig, DatasourceProcessedUntilTimestampRequest, DatasourceProcessedUntilTimestampResponse, DatasourcePurpose, DatasourceRawSamplesData
  from lightly.openapi_generated.swagger_client.models.datasource_raw_samples_data_row import DatasourceRawSamplesDataRow
label_desc: Use image node_id 14 for calling the _DatasourcesMixin obj's underlying member method code with example usage: obj.set_s3_delegated_access_config(resource_path, region, role_arn, external_id, thumbnail_suffix, purpose) without return types