@@ -22584,3 +22584,178 @@ class BulkUpdateVpcFlowLogViolationTicketsResponse(BaseModel):
2258422584
2258522585
2258622586GroupData.model_rebuild()
22587+
22588+
22589+ class S3TicketStatus(str, Enum):
22590+ TO_DO = "TO_DO"
22591+ IN_PROGRESS = "IN_PROGRESS"
22592+ DONE_AND_WAITING = "DONE_AND_WAITING"
22593+ DONE_AND_VERIFIED = "DONE_AND_VERIFIED"
22594+ DONE_AND_FLAKY = "DONE_AND_FLAKY"
22595+ INVALID = "INVALID"
22596+ SYSTEM_INVALID = "SYSTEM_INVALID"
22597+
22598+
22599+ class S3TicketCreateInput(BaseModel):
22600+ insight_id: UUID = Field(..., title="Insight Id")
22601+ resource_id: UUID = Field(..., title="Resource Id")
22602+ account_id: str = Field(..., title="Account Id")
22603+ region: str = Field(..., title="Region")
22604+ analysis: str = Field(..., title="Analysis")
22605+ recommendation: str = Field(..., title="Recommendation")
22606+ potential_savings: Optional[float] = Field(None, title="Potential Savings")
22607+ transition_cost: Optional[float] = Field(None, title="Transition Cost")
22608+ category: str = Field(..., title="Category")
22609+ additional_data: Optional[Dict[str, Any]] = Field(None, title="Additional Data")
22610+ ticket_status: Optional[S3TicketStatus] = "TO_DO"
22611+ priority: Optional[OnelensModelsCommonsPriority] = "LOW"
22612+
22613+
22614+ class S3TicketMixin(BaseModel):
22615+ id: Optional[UUID] = Field(None, title="Id")
22616+ insight_id: UUID = Field(..., title="Insight Id")
22617+ ticket_alias: Optional[int] = Field(None, title="Ticket Alias")
22618+ resource_id: UUID = Field(..., title="Resource Id")
22619+ account_id: str = Field(..., title="Account Id")
22620+ region: str = Field(..., title="Region")
22621+ analysis: str = Field(..., title="Analysis")
22622+ recommendation: str = Field(..., title="Recommendation")
22623+ potential_savings: Optional[float] = Field(None, title="Potential Savings")
22624+ transition_cost: Optional[float] = Field(None, title="Transition Cost")
22625+ category: str = Field(..., title="Category")
22626+ additional_data: Optional[Dict[str, Any]] = Field(None, title="Additional Data")
22627+ ticket_status: Optional[S3TicketStatus] = "TO_DO"
22628+ priority: Optional[OnelensModelsCommonsPriority] = "LOW"
22629+ assigned_to: Optional[UUID] = Field(None, title="Assigned To")
22630+ achieved_savings: Optional[float] = Field(None, title="Achieved Savings")
22631+ achieved_savings_on: Optional[datetime] = Field(None, title="Achieved Savings On")
22632+ data_synced: Optional[bool] = Field(False, title="Data Synced")
22633+ created_at: Optional[datetime] = Field(None, title="Created At")
22634+ created_by: Optional[UUID] = Field(None, title="Created By")
22635+ updated_at: Optional[datetime] = Field(None, title="Updated At")
22636+ updated_by: Optional[UUID] = Field(None, title="Updated By")
22637+
22638+
22639+ class BulkGetS3TicketsRequest(BaseModel):
22640+ tenant_id: UUID = Field(..., title="Tenant Id")
22641+ ticket_ids: List[UUID] = Field(..., title="Ticket Ids")
22642+
22643+
22644+ class BulkUpdateS3TicketsResponse(BaseModel):
22645+ successful_ticket_ids: List[UUID] = Field(..., title="Successful Ticket Ids")
22646+ failed_ticket_ids: List[UUID] = Field(..., title="Failed Ticket Ids")
22647+ message: str = Field(..., title="Message")
22648+ status_code: int = Field(..., title="Status Code")
22649+
22650+
22651+ class GetS3TicketMetadataRequest(BaseModel):
22652+ tenant_id: UUID = Field(..., title="Tenant Id")
22653+ ticket_id: UUID = Field(..., title="Ticket Id")
22654+
22655+
22656+ class GetS3TicketRequest(BaseModel):
22657+ tenant_id: UUID = Field(..., title="Tenant Id")
22658+ ticket_id: UUID = Field(..., title="Ticket Id")
22659+
22660+
22661+ class SyncS3TicketDataRequest(BaseModel):
22662+ ticket_ids: Optional[List[UUID]] = Field(None, title="Ticket Ids")
22663+ batch_size: Optional[int] = Field(500, title="Batch Size")
22664+ trigger_id: Optional[UUID] = Field(None, title="Trigger Id")
22665+ send_notification: Optional[bool] = Field(True, title="Send Notification")
22666+ tenant_id: UUID = Field(..., title="Tenant Id")
22667+
22668+
22669+ class SyncS3TicketDataResponse(BaseModel):
22670+ tickets_synced: bool = Field(..., title="Tickets Synced")
22671+ tickets_synced_count: int = Field(..., title="Tickets Synced Count")
22672+ tickets_not_synced_count: int = Field(..., title="Tickets Not Synced Count")
22673+
22674+
22675+ class UpsertS3TicketsResponse(BaseModel):
22676+ pass
22677+
22678+
22679+ class BulkUpdateS3TicketsRequest(BaseModel):
22680+ ticket_ids: List[UUID] = Field(..., title="Ticket Ids")
22681+ ticket_status: Optional[S3TicketStatus] = None
22682+ assigned_to: Optional[UUID] = Field(None, title="Assigned To")
22683+ priority: Optional[OnelensModelsCommonsPriority] = None
22684+ achieved_savings: Optional[float] = Field(None, title="Achieved Savings")
22685+ achieved_savings_on: Optional[datetime] = Field(None, title="Achieved Savings On")
22686+ trigger_id: Optional[UUID] = Field(None, title="Trigger Id")
22687+ send_notification: Optional[bool] = Field(True, title="Send Notification")
22688+ tenant_id: UUID = Field(..., title="Tenant Id")
22689+ updated_by: Optional[UUID] = Field(None, title="Updated By")
22690+
22691+
22692+ class CreateS3TicketRequest(BaseModel):
22693+ insight_id: UUID = Field(..., title="Insight Id")
22694+ resource_id: UUID = Field(..., title="Resource Id")
22695+ account_id: str = Field(..., title="Account Id")
22696+ region: str = Field(..., title="Region")
22697+ analysis: str = Field(..., title="Analysis")
22698+ recommendation: str = Field(..., title="Recommendation")
22699+ potential_savings: Optional[float] = Field(None, title="Potential Savings")
22700+ transition_cost: Optional[float] = Field(None, title="Transition Cost")
22701+ category: str = Field(..., title="Category")
22702+ additional_data: Optional[Dict[str, Any]] = Field(None, title="Additional Data")
22703+ ticket_status: Optional[S3TicketStatus] = "TO_DO"
22704+ priority: Optional[OnelensModelsCommonsPriority] = "LOW"
22705+ trigger_id: Optional[UUID] = Field(None, title="Trigger Id")
22706+ send_notification: Optional[bool] = Field(True, title="Send Notification")
22707+ tenant_id: UUID = Field(..., title="Tenant Id")
22708+ created_by: Optional[UUID] = Field(None, title="Created By")
22709+
22710+
22711+ class UpdateS3TicketRequest(BaseModel):
22712+ ticket_id: UUID = Field(..., title="Ticket Id")
22713+ ticket_status: Optional[S3TicketStatus] = None
22714+ assigned_to: Optional[UUID] = Field(None, title="Assigned To")
22715+ priority: Optional[OnelensModelsCommonsPriority] = None
22716+ achieved_savings: Optional[float] = Field(None, title="Achieved Savings")
22717+ achieved_savings_on: Optional[datetime] = Field(None, title="Achieved Savings On")
22718+ trigger_id: Optional[UUID] = Field(None, title="Trigger Id")
22719+ send_notification: Optional[bool] = Field(True, title="Send Notification")
22720+ tenant_id: UUID = Field(..., title="Tenant Id")
22721+ updated_by: Optional[UUID] = Field(None, title="Updated By")
22722+
22723+
22724+ class UpdateS3TicketResponse(BaseModel):
22725+ s3_ticket: S3TicketMixin
22726+
22727+
22728+ class UpsertS3TicketsRequest(BaseModel):
22729+ tenant_id: UUID = Field(..., title="Tenant Id")
22730+ s3_tickets: List[S3TicketMixin] = Field(..., title="S3 Tickets")
22731+ trigger_id: Optional[UUID] = Field(None, title="Trigger Id")
22732+ send_notification: Optional[bool] = Field(True, title="Send Notification")
22733+
22734+
22735+ class BulkCreateS3TicketsRequest(BaseModel):
22736+ s3_tickets: List[S3TicketCreateInput] = Field(..., title="S3 Tickets")
22737+ trigger_id: Optional[UUID] = Field(None, title="Trigger Id")
22738+ send_notification: Optional[bool] = Field(True, title="Send Notification")
22739+ tenant_id: UUID = Field(..., title="Tenant Id")
22740+ created_by: Optional[UUID] = Field(None, title="Created By")
22741+
22742+
22743+ class BulkCreateS3TicketsResponse(BaseModel):
22744+ s3_tickets: List[S3TicketMixin] = Field(..., title="S3 Tickets")
22745+
22746+
22747+ class BulkGetS3TicketsResponse(BaseModel):
22748+ s3_tickets: List[S3TicketMixin] = Field(..., title="S3 Tickets")
22749+
22750+
22751+ class CreateS3TicketResponse(BaseModel):
22752+ s3_ticket: S3TicketMixin
22753+
22754+
22755+ class GetS3TicketMetadataResponse(BaseModel):
22756+ s3_ticket: S3TicketMixin
22757+
22758+
22759+ class GetS3TicketResponse(BaseModel):
22760+ s3_ticket: S3TicketMixin
22761+ assigned_to_email: Optional[str] = Field(None, title="Assigned To Email")
0 commit comments