# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. # typed: true # frozen_string_literal: true module OpenApiSDK module Shared class UnifiedTicketingAttachmentInput < ::OpenApiSDK::Utils::FieldAugmented extend T::Sig # The file name of the attachment field :file_name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('file_name') } } # The file url of the attachment field :file_url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('file_url') } } # The uploader's UUID of the attachment field :uploader, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('uploader') } } # The UUID of the comment the attachment is tied to field :comment_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('comment_id') } } # The custom field mappings of the attachment between the remote 3rd party & Panora field :field_mappings, T.nilable(T::Hash[Symbol, ::Object]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('field_mappings') } } # The UUID of the ticket the attachment is tied to field :ticket_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ticket_id') } } sig { params(file_name: ::String, file_url: ::String, uploader: ::String, comment_id: T.nilable(::String), field_mappings: T.nilable(T::Hash[Symbol, ::Object]), ticket_id: T.nilable(::String)).void } def initialize(file_name: nil, file_url: nil, uploader: nil, comment_id: nil, field_mappings: nil, ticket_id: nil) @file_name = file_name @file_url = file_url @uploader = uploader @comment_id = comment_id @field_mappings = field_mappings @ticket_id = ticket_id end end end end