[docs]classCollection(Namespace):"""Description"""@classmethod@init_guiddefcreator(cls,*,client:AtlanClient,name:str)->Collection:validate_required_fields(["client","name"],[client,name])returncls(attributes=Collection.Attributes.creator(client=client,name=name))@classmethoddef_generate_qualified_name(cls,client:AtlanClient):""" Generate a unique Collection name. :param client: connectivity to the Atlan tenant as the user who will own the Collection :returns: a unique name for the Collection """try:username=client.user.get_current().usernamereturnf"default/collection/{username}/{uuid4()}"exceptAtlanErrorase:raiseErrorCode.UNABLE_TO_GENERATE_QN.exception_with_parameters(cls.__name__,e)frometype_name:str=Field(default="Collection",allow_mutation=False)@validator("type_name")defvalidate_type_name(cls,v):ifv!="Collection":raiseValueError("must be Collection")returnvdef__setattr__(self,name,value):ifnameinCollection._convenience_properties:returnobject.__setattr__(self,name,value)super().__setattr__(name,value)ICON:ClassVar[TextField]=TextField("icon","icon")""" Image used to represent this collection. """ICON_TYPE:ClassVar[KeywordField]=KeywordField("iconType","iconType")""" Type of image used to represent the collection (for example, an emoji). """_convenience_properties:ClassVar[List[str]]=["icon","icon_type",]@propertydeficon(self)->Optional[str]:returnNoneifself.attributesisNoneelseself.attributes.icon@icon.setterdeficon(self,icon:Optional[str]):ifself.attributesisNone:self.attributes=self.Attributes()self.attributes.icon=icon@propertydeficon_type(self)->Optional[IconType]:returnNoneifself.attributesisNoneelseself.attributes.icon_type@icon_type.setterdeficon_type(self,icon_type:Optional[IconType]):ifself.attributesisNone:self.attributes=self.Attributes()self.attributes.icon_type=icon_typeclassAttributes(Namespace.Attributes):icon:Optional[str]=Field(default=None,description="")icon_type:Optional[IconType]=Field(default=None,description="")@classmethod@init_guiddefcreator(cls,*,client:AtlanClient,name:str,)->Collection.Attributes:validate_required_fields(["client","name"],[client,name])returnCollection.Attributes(name=name,qualified_name=Collection._generate_qualified_name(client),)attributes:Collection.Attributes=Field(default_factory=lambda:Collection.Attributes(),description=("Map of attributes in the instance and their values. ""The specific keys of this map will vary by type, ""so are described in the sub-types of this schema."),)