[docs]classSalesforceReport(Salesforce):"""Description"""type_name:str=Field(default="SalesforceReport",allow_mutation=False)@validator("type_name")defvalidate_type_name(cls,v):ifv!="SalesforceReport":raiseValueError("must be SalesforceReport")returnvdef__setattr__(self,name,value):ifnameinSalesforceReport._convenience_properties:returnobject.__setattr__(self,name,value)super().__setattr__(name,value)SOURCE_ID:ClassVar[TextField]=TextField("sourceId","sourceId")""" Identifier of the report in Salesforce. """REPORT_TYPE:ClassVar[KeywordField]=KeywordField("reportType","reportType")""" Type of report in Salesforce. """DETAIL_COLUMNS:ClassVar[KeywordField]=KeywordField("detailColumns","detailColumns")""" List of column names on the report. """DASHBOARDS:ClassVar[RelationField]=RelationField("dashboards")""" TBC """ORGANIZATION:ClassVar[RelationField]=RelationField("organization")""" TBC """_convenience_properties:ClassVar[List[str]]=["source_id","report_type","detail_columns","dashboards","organization",]@propertydefsource_id(self)->Optional[str]:returnNoneifself.attributesisNoneelseself.attributes.source_id@source_id.setterdefsource_id(self,source_id:Optional[str]):ifself.attributesisNone:self.attributes=self.Attributes()self.attributes.source_id=source_id@propertydefreport_type(self)->Optional[Dict[str,str]]:returnNoneifself.attributesisNoneelseself.attributes.report_type@report_type.setterdefreport_type(self,report_type:Optional[Dict[str,str]]):ifself.attributesisNone:self.attributes=self.Attributes()self.attributes.report_type=report_type@propertydefdetail_columns(self)->Optional[Set[str]]:returnNoneifself.attributesisNoneelseself.attributes.detail_columns@detail_columns.setterdefdetail_columns(self,detail_columns:Optional[Set[str]]):ifself.attributesisNone:self.attributes=self.Attributes()self.attributes.detail_columns=detail_columns@propertydefdashboards(self)->Optional[List[SalesforceDashboard]]:returnNoneifself.attributesisNoneelseself.attributes.dashboards@dashboards.setterdefdashboards(self,dashboards:Optional[List[SalesforceDashboard]]):ifself.attributesisNone:self.attributes=self.Attributes()self.attributes.dashboards=dashboards@propertydeforganization(self)->Optional[SalesforceOrganization]:returnNoneifself.attributesisNoneelseself.attributes.organization@organization.setterdeforganization(self,organization:Optional[SalesforceOrganization]):ifself.attributesisNone:self.attributes=self.Attributes()self.attributes.organization=organizationclassAttributes(Salesforce.Attributes):source_id:Optional[str]=Field(default=None,description="")report_type:Optional[Dict[str,str]]=Field(default=None,description="")detail_columns:Optional[Set[str]]=Field(default=None,description="")dashboards:Optional[List[SalesforceDashboard]]=Field(default=None,description="")# relationshiporganization:Optional[SalesforceOrganization]=Field(default=None,description="")# relationshipattributes:SalesforceReport.Attributes=Field(default_factory=lambda:SalesforceReport.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."),)