Skip to main content

nifi_rust_client/dynamic/
conversions.rs

1// @generated — do not edit; run `cargo run -p nifi-openapi-gen`
2
3#![allow(clippy::useless_conversion)]
4
5impl From<crate::v2_6_0::types::AboutDto> for super::types::AboutDto {
6    fn from(v: crate::v2_6_0::types::AboutDto) -> Self {
7        Self {
8            build_branch: v.build_branch,
9            build_revision: v.build_revision,
10            build_tag: v.build_tag,
11            build_timestamp: v.build_timestamp,
12            content_viewer_url: v.content_viewer_url,
13            timezone: v.timezone,
14            title: v.title,
15            uri: v.uri,
16            version: v.version,
17        }
18    }
19}
20
21impl From<crate::v2_6_0::types::AboutEntity> for super::types::AboutEntity {
22    fn from(v: crate::v2_6_0::types::AboutEntity) -> Self {
23        Self {
24            about: Some(v.about.unwrap_or_default().into()),
25        }
26    }
27}
28
29impl From<crate::v2_6_0::types::AccessPolicyDto> for super::types::AccessPolicyDto {
30    fn from(v: crate::v2_6_0::types::AccessPolicyDto) -> Self {
31        Self {
32            action: v.action.map(|v| {
33                serde_json::to_value(&v)
34                    .ok()
35                    .and_then(|v| v.as_str().map(|s| s.to_string()))
36                    .unwrap_or_default()
37            }),
38            component_reference: v.component_reference.map(Into::into),
39            configurable: v.configurable,
40            id: v.id,
41            parent_group_id: v.parent_group_id,
42            position: v.position.map(Into::into),
43            resource: v.resource,
44            user_groups: v
45                .user_groups
46                .map(|v| v.into_iter().map(|v| v.into()).collect()),
47            users: v.users.map(|v| v.into_iter().map(|v| v.into()).collect()),
48            versioned_component_id: v.versioned_component_id,
49        }
50    }
51}
52
53impl From<crate::v2_6_0::types::AccessPolicyEntity> for super::types::AccessPolicyEntity {
54    fn from(v: crate::v2_6_0::types::AccessPolicyEntity) -> Self {
55        Self {
56            bulletins: v
57                .bulletins
58                .map(|v| v.into_iter().map(|v| v.into()).collect()),
59            component: v.component.map(Into::into),
60            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
61            generated: v.generated,
62            id: v.id,
63            permissions: v.permissions.map(Into::into),
64            position: v.position.map(Into::into),
65            revision: v.revision.map(Into::into),
66            uri: v.uri,
67        }
68    }
69}
70
71impl From<crate::v2_6_0::types::AccessPolicySummaryDto> for super::types::AccessPolicySummaryDto {
72    fn from(v: crate::v2_6_0::types::AccessPolicySummaryDto) -> Self {
73        Self {
74            action: v.action.map(|v| {
75                serde_json::to_value(&v)
76                    .ok()
77                    .and_then(|v| v.as_str().map(|s| s.to_string()))
78                    .unwrap_or_default()
79            }),
80            component_reference: v.component_reference.map(Into::into),
81            configurable: v.configurable,
82            id: v.id,
83            parent_group_id: v.parent_group_id,
84            position: v.position.map(Into::into),
85            resource: v.resource,
86            versioned_component_id: v.versioned_component_id,
87        }
88    }
89}
90
91impl From<crate::v2_6_0::types::AccessPolicySummaryEntity>
92    for super::types::AccessPolicySummaryEntity
93{
94    fn from(v: crate::v2_6_0::types::AccessPolicySummaryEntity) -> Self {
95        Self {
96            bulletins: v
97                .bulletins
98                .map(|v| v.into_iter().map(|v| v.into()).collect()),
99            component: v.component.map(Into::into),
100            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
101            id: v.id,
102            permissions: v.permissions.map(Into::into),
103            position: v.position.map(Into::into),
104            revision: v.revision.map(Into::into),
105            uri: v.uri,
106        }
107    }
108}
109
110impl From<crate::v2_6_0::types::ActionDetailsDto> for super::types::ActionDetailsDto {
111    fn from(_v: crate::v2_6_0::types::ActionDetailsDto) -> Self {
112        Self {}
113    }
114}
115
116impl From<crate::v2_6_0::types::ActionDto> for super::types::ActionDto {
117    fn from(v: crate::v2_6_0::types::ActionDto) -> Self {
118        Self {
119            action_details: v.action_details.map(Into::into),
120            component_details: v.component_details.map(Into::into),
121            id: v.id,
122            operation: v.operation,
123            source_id: v.source_id,
124            source_name: v.source_name,
125            source_type: v.source_type,
126            timestamp: v.timestamp,
127            user_identity: v.user_identity,
128        }
129    }
130}
131
132impl From<crate::v2_6_0::types::ActionEntity> for super::types::ActionEntity {
133    fn from(v: crate::v2_6_0::types::ActionEntity) -> Self {
134        Self {
135            action: v.action.map(Into::into),
136            can_read: v.can_read,
137            id: v.id,
138            source_id: v.source_id,
139            timestamp: v.timestamp,
140        }
141    }
142}
143
144impl From<crate::v2_6_0::types::ActivateControllerServicesEntity>
145    for super::types::ActivateControllerServicesEntity
146{
147    fn from(v: crate::v2_6_0::types::ActivateControllerServicesEntity) -> Self {
148        Self {
149            components: v
150                .components
151                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
152            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
153            id: v.id,
154            state: v.state.map(|v| {
155                serde_json::to_value(&v)
156                    .ok()
157                    .and_then(|v| v.as_str().map(|s| s.to_string()))
158                    .unwrap_or_default()
159            }),
160        }
161    }
162}
163
164impl From<crate::v2_6_0::types::AdditionalDetailsEntity> for super::types::AdditionalDetailsEntity {
165    fn from(v: crate::v2_6_0::types::AdditionalDetailsEntity) -> Self {
166        Self {
167            additional_details: v.additional_details,
168        }
169    }
170}
171
172impl From<crate::v2_6_0::types::AffectedComponentDto> for super::types::AffectedComponentDto {
173    fn from(v: crate::v2_6_0::types::AffectedComponentDto) -> Self {
174        Self {
175            active_thread_count: v.active_thread_count,
176            id: v.id,
177            name: v.name,
178            process_group_id: v.process_group_id,
179            reference_type: v.reference_type.map(|v| {
180                serde_json::to_value(&v)
181                    .ok()
182                    .and_then(|v| v.as_str().map(|s| s.to_string()))
183                    .unwrap_or_default()
184            }),
185            state: v.state,
186            validation_errors: v.validation_errors,
187        }
188    }
189}
190
191impl From<crate::v2_6_0::types::AffectedComponentEntity> for super::types::AffectedComponentEntity {
192    fn from(v: crate::v2_6_0::types::AffectedComponentEntity) -> Self {
193        Self {
194            bulletins: v
195                .bulletins
196                .map(|v| v.into_iter().map(|v| v.into()).collect()),
197            component: v.component.map(Into::into),
198            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
199            id: v.id,
200            permissions: v.permissions.map(Into::into),
201            position: v.position.map(Into::into),
202            process_group: v.process_group.map(Into::into),
203            reference_type: v.reference_type.map(|v| {
204                serde_json::to_value(&v)
205                    .ok()
206                    .and_then(|v| v.as_str().map(|s| s.to_string()))
207                    .unwrap_or_default()
208            }),
209            revision: v.revision.map(Into::into),
210            uri: v.uri,
211        }
212    }
213}
214
215impl From<crate::v2_6_0::types::AllowableValueDto> for super::types::AllowableValueDto {
216    fn from(v: crate::v2_6_0::types::AllowableValueDto) -> Self {
217        Self {
218            description: v.description,
219            display_name: v.display_name,
220            value: v.value,
221        }
222    }
223}
224
225impl From<crate::v2_6_0::types::AllowableValueEntity> for super::types::AllowableValueEntity {
226    fn from(v: crate::v2_6_0::types::AllowableValueEntity) -> Self {
227        Self {
228            allowable_value: v.allowable_value.map(Into::into),
229            can_read: v.can_read,
230        }
231    }
232}
233
234impl From<crate::v2_6_0::types::AssetDto> for super::types::AssetDto {
235    fn from(v: crate::v2_6_0::types::AssetDto) -> Self {
236        Self {
237            digest: v.digest,
238            id: v.id,
239            missing_content: v.missing_content,
240            name: v.name,
241        }
242    }
243}
244
245impl From<crate::v2_6_0::types::AssetEntity> for super::types::AssetEntity {
246    fn from(v: crate::v2_6_0::types::AssetEntity) -> Self {
247        Self {
248            asset: Some(v.asset.unwrap_or_default().into()),
249        }
250    }
251}
252
253impl From<crate::v2_6_0::types::AssetReferenceDto> for super::types::AssetReferenceDto {
254    fn from(v: crate::v2_6_0::types::AssetReferenceDto) -> Self {
255        Self {
256            id: v.id,
257            name: v.name,
258        }
259    }
260}
261
262impl From<crate::v2_6_0::types::AssetsEntity> for super::types::AssetsEntity {
263    fn from(v: crate::v2_6_0::types::AssetsEntity) -> Self {
264        Self {
265            assets: v.assets.map(|v| v.into_iter().map(|v| v.into()).collect()),
266        }
267    }
268}
269
270impl From<crate::v2_6_0::types::Attribute> for super::types::Attribute {
271    fn from(v: crate::v2_6_0::types::Attribute) -> Self {
272        Self {
273            description: v.description,
274            name: v.name,
275        }
276    }
277}
278
279impl From<crate::v2_6_0::types::AttributeDto> for super::types::AttributeDto {
280    fn from(v: crate::v2_6_0::types::AttributeDto) -> Self {
281        Self {
282            name: v.name,
283            previous_value: v.previous_value,
284            value: v.value,
285        }
286    }
287}
288
289impl From<crate::v2_6_0::types::AuthenticationConfigurationDto>
290    for super::types::AuthenticationConfigurationDto
291{
292    fn from(v: crate::v2_6_0::types::AuthenticationConfigurationDto) -> Self {
293        Self {
294            external_login_required: v.external_login_required,
295            login_supported: v.login_supported,
296            login_uri: v.login_uri,
297            logout_uri: v.logout_uri,
298        }
299    }
300}
301
302impl From<crate::v2_6_0::types::AuthenticationConfigurationEntity>
303    for super::types::AuthenticationConfigurationEntity
304{
305    fn from(v: crate::v2_6_0::types::AuthenticationConfigurationEntity) -> Self {
306        Self {
307            authentication_configuration: Some(
308                v.authentication_configuration.unwrap_or_default().into(),
309            ),
310        }
311    }
312}
313
314impl From<crate::v2_6_0::types::BannerDto> for super::types::BannerDto {
315    fn from(v: crate::v2_6_0::types::BannerDto) -> Self {
316        Self {
317            footer_text: v.footer_text,
318            header_text: v.header_text,
319        }
320    }
321}
322
323impl From<crate::v2_6_0::types::BannerEntity> for super::types::BannerEntity {
324    fn from(v: crate::v2_6_0::types::BannerEntity) -> Self {
325        Self {
326            banners: Some(v.banners.unwrap_or_default().into()),
327        }
328    }
329}
330
331impl From<crate::v2_6_0::types::BatchSettingsDto> for super::types::BatchSettingsDto {
332    fn from(v: crate::v2_6_0::types::BatchSettingsDto) -> Self {
333        Self {
334            count: v.count,
335            duration: v.duration,
336            size: v.size,
337        }
338    }
339}
340
341impl From<crate::v2_6_0::types::BatchSize> for super::types::BatchSize {
342    fn from(v: crate::v2_6_0::types::BatchSize) -> Self {
343        Self {
344            count: v.count,
345            duration: v.duration,
346            size: v.size,
347        }
348    }
349}
350
351impl From<crate::v2_6_0::types::BuildInfo> for super::types::BuildInfo {
352    fn from(v: crate::v2_6_0::types::BuildInfo) -> Self {
353        Self {
354            compiler: v.compiler,
355            compiler_flags: v.compiler_flags,
356            revision: v.revision,
357            target_arch: v.target_arch,
358            timestamp: v.timestamp,
359            version: v.version,
360        }
361    }
362}
363
364impl From<crate::v2_6_0::types::BulletinBoardDto> for super::types::BulletinBoardDto {
365    fn from(v: crate::v2_6_0::types::BulletinBoardDto) -> Self {
366        Self {
367            bulletins: v
368                .bulletins
369                .map(|v| v.into_iter().map(|v| v.into()).collect()),
370            generated: v.generated,
371        }
372    }
373}
374
375impl From<crate::v2_6_0::types::BulletinBoardEntity> for super::types::BulletinBoardEntity {
376    fn from(v: crate::v2_6_0::types::BulletinBoardEntity) -> Self {
377        Self {
378            bulletin_board: Some(v.bulletin_board.unwrap_or_default().into()),
379        }
380    }
381}
382
383impl From<crate::v2_6_0::types::BulletinBoardPatternParameter>
384    for super::types::BulletinBoardPatternParameter
385{
386    fn from(v: crate::v2_6_0::types::BulletinBoardPatternParameter) -> Self {
387        Self {
388            pattern: v.pattern.map(Into::into),
389            raw_pattern: v.raw_pattern,
390        }
391    }
392}
393
394impl From<crate::v2_6_0::types::BulletinDto> for super::types::BulletinDto {
395    fn from(v: crate::v2_6_0::types::BulletinDto) -> Self {
396        Self {
397            category: v.category,
398            group_id: v.group_id,
399            id: v.id,
400            level: v.level,
401            message: v.message,
402            node_address: v.node_address,
403            source_id: v.source_id,
404            source_name: v.source_name,
405            source_type: v.source_type,
406            stack_trace: None,
407            timestamp: v.timestamp,
408            timestamp_iso: None,
409        }
410    }
411}
412
413impl From<crate::v2_6_0::types::BulletinEntity> for super::types::BulletinEntity {
414    fn from(v: crate::v2_6_0::types::BulletinEntity) -> Self {
415        Self {
416            bulletin: v.bulletin.map(Into::into),
417            can_read: v.can_read,
418            group_id: v.group_id,
419            id: v.id,
420            node_address: v.node_address,
421            source_id: v.source_id,
422            timestamp: v.timestamp,
423            timestamp_iso: None,
424        }
425    }
426}
427
428impl From<crate::v2_6_0::types::Bundle> for super::types::Bundle {
429    fn from(v: crate::v2_6_0::types::Bundle) -> Self {
430        Self {
431            artifact: v.artifact,
432            group: v.group,
433            version: v.version,
434        }
435    }
436}
437
438impl From<crate::v2_6_0::types::BundleDto> for super::types::BundleDto {
439    fn from(v: crate::v2_6_0::types::BundleDto) -> Self {
440        Self {
441            artifact: v.artifact,
442            group: v.group,
443            version: v.version,
444        }
445    }
446}
447
448impl From<crate::v2_6_0::types::ClientIdParameter> for super::types::ClientIdParameter {
449    fn from(v: crate::v2_6_0::types::ClientIdParameter) -> Self {
450        Self {
451            client_id: v.client_id,
452        }
453    }
454}
455
456impl From<crate::v2_6_0::types::ClusterDto> for super::types::ClusterDto {
457    fn from(v: crate::v2_6_0::types::ClusterDto) -> Self {
458        Self {
459            generated: v.generated,
460            nodes: v.nodes.map(|v| v.into_iter().map(|v| v.into()).collect()),
461        }
462    }
463}
464
465impl From<crate::v2_6_0::types::ClusterEntity> for super::types::ClusterEntity {
466    fn from(v: crate::v2_6_0::types::ClusterEntity) -> Self {
467        Self {
468            cluster: Some(v.cluster.unwrap_or_default().into()),
469        }
470    }
471}
472
473impl From<crate::v2_6_0::types::ClusterSearchResultsEntity>
474    for super::types::ClusterSearchResultsEntity
475{
476    fn from(v: crate::v2_6_0::types::ClusterSearchResultsEntity) -> Self {
477        Self {
478            node_results: v
479                .node_results
480                .map(|v| v.into_iter().map(|v| v.into()).collect()),
481        }
482    }
483}
484
485impl From<crate::v2_6_0::types::ClusterSummaryDto> for super::types::ClusterSummaryDto {
486    fn from(v: crate::v2_6_0::types::ClusterSummaryDto) -> Self {
487        Self {
488            clustered: v.clustered,
489            connected_node_count: v.connected_node_count,
490            connected_nodes: v.connected_nodes,
491            connected_to_cluster: v.connected_to_cluster,
492            total_node_count: v.total_node_count,
493        }
494    }
495}
496
497impl From<crate::v2_6_0::types::ClusterSummaryEntity> for super::types::ClusterSummaryEntity {
498    fn from(v: crate::v2_6_0::types::ClusterSummaryEntity) -> Self {
499        Self {
500            cluster_summary: Some(v.cluster_summary.unwrap_or_default().into()),
501        }
502    }
503}
504
505impl From<crate::v2_6_0::types::ComponentDetailsDto> for super::types::ComponentDetailsDto {
506    fn from(_v: crate::v2_6_0::types::ComponentDetailsDto) -> Self {
507        Self {}
508    }
509}
510
511impl From<crate::v2_6_0::types::ComponentDifferenceDto> for super::types::ComponentDifferenceDto {
512    fn from(v: crate::v2_6_0::types::ComponentDifferenceDto) -> Self {
513        Self {
514            component_id: v.component_id,
515            component_name: v.component_name,
516            component_type: v.component_type,
517            differences: v
518                .differences
519                .map(|v| v.into_iter().map(|v| v.into()).collect()),
520            process_group_id: v.process_group_id,
521        }
522    }
523}
524
525impl From<crate::v2_6_0::types::ComponentHistoryDto> for super::types::ComponentHistoryDto {
526    fn from(v: crate::v2_6_0::types::ComponentHistoryDto) -> Self {
527        Self {
528            component_id: v.component_id,
529            property_history: v
530                .property_history
531                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
532        }
533    }
534}
535
536impl From<crate::v2_6_0::types::ComponentHistoryEntity> for super::types::ComponentHistoryEntity {
537    fn from(v: crate::v2_6_0::types::ComponentHistoryEntity) -> Self {
538        Self {
539            component_history: Some(v.component_history.unwrap_or_default().into()),
540        }
541    }
542}
543
544impl From<crate::v2_6_0::types::ComponentManifest> for super::types::ComponentManifest {
545    fn from(v: crate::v2_6_0::types::ComponentManifest) -> Self {
546        Self {
547            apis: v.apis.map(|v| v.into_iter().map(|v| v.into()).collect()),
548            controller_services: v
549                .controller_services
550                .map(|v| v.into_iter().map(|v| v.into()).collect()),
551            flow_analysis_rules: v
552                .flow_analysis_rules
553                .map(|v| v.into_iter().map(|v| v.into()).collect()),
554            flow_registry_clients: None,
555            parameter_providers: v
556                .parameter_providers
557                .map(|v| v.into_iter().map(|v| v.into()).collect()),
558            processors: v
559                .processors
560                .map(|v| v.into_iter().map(|v| v.into()).collect()),
561            reporting_tasks: v
562                .reporting_tasks
563                .map(|v| v.into_iter().map(|v| v.into()).collect()),
564        }
565    }
566}
567
568impl From<crate::v2_6_0::types::ComponentReferenceDto> for super::types::ComponentReferenceDto {
569    fn from(v: crate::v2_6_0::types::ComponentReferenceDto) -> Self {
570        Self {
571            id: v.id,
572            name: v.name,
573            parent_group_id: v.parent_group_id,
574            position: v.position.map(Into::into),
575            versioned_component_id: v.versioned_component_id,
576        }
577    }
578}
579
580impl From<crate::v2_6_0::types::ComponentReferenceEntity>
581    for super::types::ComponentReferenceEntity
582{
583    fn from(v: crate::v2_6_0::types::ComponentReferenceEntity) -> Self {
584        Self {
585            bulletins: v
586                .bulletins
587                .map(|v| v.into_iter().map(|v| v.into()).collect()),
588            component: v.component.map(Into::into),
589            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
590            id: v.id,
591            parent_group_id: v.parent_group_id,
592            permissions: v.permissions.map(Into::into),
593            position: v.position.map(Into::into),
594            revision: v.revision.map(Into::into),
595            uri: v.uri,
596        }
597    }
598}
599
600impl From<crate::v2_6_0::types::ComponentRestrictionPermissionDto>
601    for super::types::ComponentRestrictionPermissionDto
602{
603    fn from(v: crate::v2_6_0::types::ComponentRestrictionPermissionDto) -> Self {
604        Self {
605            permissions: v.permissions.map(Into::into),
606            required_permission: v.required_permission.map(Into::into),
607        }
608    }
609}
610
611impl From<crate::v2_6_0::types::ComponentSearchResultDto>
612    for super::types::ComponentSearchResultDto
613{
614    fn from(v: crate::v2_6_0::types::ComponentSearchResultDto) -> Self {
615        Self {
616            group_id: v.group_id,
617            id: v.id,
618            matches: v.matches,
619            name: v.name,
620            parent_group: v.parent_group.map(Into::into),
621            versioned_group: v.versioned_group.map(Into::into),
622        }
623    }
624}
625
626impl From<crate::v2_6_0::types::ComponentStateDto> for super::types::ComponentStateDto {
627    fn from(v: crate::v2_6_0::types::ComponentStateDto) -> Self {
628        Self {
629            cluster_state: v.cluster_state.map(Into::into),
630            component_id: v.component_id,
631            drop_state_key_supported: v.drop_state_key_supported,
632            local_state: v.local_state.map(Into::into),
633            state_description: v.state_description,
634        }
635    }
636}
637
638impl From<crate::v2_6_0::types::ComponentStateEntity> for super::types::ComponentStateEntity {
639    fn from(v: crate::v2_6_0::types::ComponentStateEntity) -> Self {
640        Self {
641            component_state: Some(v.component_state.unwrap_or_default().into()),
642        }
643    }
644}
645
646impl From<crate::v2_6_0::types::ComponentValidationResultDto>
647    for super::types::ComponentValidationResultDto
648{
649    fn from(v: crate::v2_6_0::types::ComponentValidationResultDto) -> Self {
650        Self {
651            active_thread_count: v.active_thread_count,
652            currently_valid: v.currently_valid,
653            id: v.id,
654            name: v.name,
655            process_group_id: v.process_group_id,
656            reference_type: v.reference_type.map(|v| {
657                serde_json::to_value(&v)
658                    .ok()
659                    .and_then(|v| v.as_str().map(|s| s.to_string()))
660                    .unwrap_or_default()
661            }),
662            resultant_validation_errors: v.resultant_validation_errors,
663            results_valid: v.results_valid,
664            state: v.state,
665            validation_errors: v.validation_errors,
666        }
667    }
668}
669
670impl From<crate::v2_6_0::types::ComponentValidationResultEntity>
671    for super::types::ComponentValidationResultEntity
672{
673    fn from(v: crate::v2_6_0::types::ComponentValidationResultEntity) -> Self {
674        Self {
675            bulletins: v
676                .bulletins
677                .map(|v| v.into_iter().map(|v| v.into()).collect()),
678            component: v.component.map(Into::into),
679            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
680            id: v.id,
681            permissions: v.permissions.map(Into::into),
682            position: v.position.map(Into::into),
683            revision: v.revision.map(Into::into),
684            uri: v.uri,
685        }
686    }
687}
688
689impl From<crate::v2_6_0::types::ComponentValidationResultsEntity>
690    for super::types::ComponentValidationResultsEntity
691{
692    fn from(v: crate::v2_6_0::types::ComponentValidationResultsEntity) -> Self {
693        Self {
694            validation_results: v
695                .validation_results
696                .map(|v| v.into_iter().map(|v| v.into()).collect()),
697        }
698    }
699}
700
701impl From<crate::v2_6_0::types::ConfigVerificationResultDto>
702    for super::types::ConfigVerificationResultDto
703{
704    fn from(v: crate::v2_6_0::types::ConfigVerificationResultDto) -> Self {
705        Self {
706            explanation: v.explanation,
707            outcome: v.outcome.map(|v| {
708                serde_json::to_value(&v)
709                    .ok()
710                    .and_then(|v| v.as_str().map(|s| s.to_string()))
711                    .unwrap_or_default()
712            }),
713            verification_step_name: v.verification_step_name,
714        }
715    }
716}
717
718impl From<crate::v2_6_0::types::ConfigurationAnalysisDto>
719    for super::types::ConfigurationAnalysisDto
720{
721    fn from(v: crate::v2_6_0::types::ConfigurationAnalysisDto) -> Self {
722        Self {
723            component_id: v.component_id,
724            properties: v.properties,
725            referenced_attributes: v.referenced_attributes,
726            supports_verification: v.supports_verification,
727        }
728    }
729}
730
731impl From<crate::v2_6_0::types::ConfigurationAnalysisEntity>
732    for super::types::ConfigurationAnalysisEntity
733{
734    fn from(v: crate::v2_6_0::types::ConfigurationAnalysisEntity) -> Self {
735        Self {
736            configuration_analysis: Some(v.configuration_analysis.unwrap_or_default().into()),
737        }
738    }
739}
740
741impl From<crate::v2_6_0::types::ConnectableComponent> for super::types::ConnectableComponent {
742    fn from(v: crate::v2_6_0::types::ConnectableComponent) -> Self {
743        Self {
744            comments: v.comments,
745            group_id: v.group_id,
746            id: v.id,
747            instance_identifier: v.instance_identifier,
748            name: v.name,
749            r#type: v.r#type.map(|v| {
750                serde_json::to_value(&v)
751                    .ok()
752                    .and_then(|v| v.as_str().map(|s| s.to_string()))
753                    .unwrap_or_default()
754            }),
755        }
756    }
757}
758
759impl From<crate::v2_6_0::types::ConnectableDto> for super::types::ConnectableDto {
760    fn from(v: crate::v2_6_0::types::ConnectableDto) -> Self {
761        Self {
762            comments: v.comments,
763            exists: v.exists,
764            group_id: Some(v.group_id),
765            id: Some(v.id),
766            name: v.name,
767            running: v.running,
768            transmitting: v.transmitting,
769            r#type: Some(
770                serde_json::to_value(&v.r#type)
771                    .ok()
772                    .and_then(|v| v.as_str().map(|s| s.to_string()))
773                    .unwrap_or_default(),
774            ),
775            versioned_component_id: v.versioned_component_id,
776        }
777    }
778}
779
780impl From<crate::v2_6_0::types::ConnectionDto> for super::types::ConnectionDto {
781    fn from(v: crate::v2_6_0::types::ConnectionDto) -> Self {
782        Self {
783            available_relationships: v.available_relationships,
784            back_pressure_data_size_threshold: v.back_pressure_data_size_threshold,
785            back_pressure_object_threshold: v.back_pressure_object_threshold,
786            bends: v.bends.map(|v| v.into_iter().map(|v| v.into()).collect()),
787            destination: v.destination.map(Into::into),
788            flow_file_expiration: v.flow_file_expiration,
789            getz_index: v.getz_index,
790            id: v.id,
791            label_index: v.label_index,
792            load_balance_compression: v.load_balance_compression,
793            load_balance_partition_attribute: v.load_balance_partition_attribute,
794            load_balance_status: v.load_balance_status,
795            load_balance_strategy: v.load_balance_strategy,
796            name: v.name,
797            parent_group_id: v.parent_group_id,
798            position: v.position.map(Into::into),
799            prioritizers: v.prioritizers,
800            retried_relationships: v.retried_relationships,
801            selected_relationships: v.selected_relationships,
802            source: v.source.map(Into::into),
803            versioned_component_id: v.versioned_component_id,
804        }
805    }
806}
807
808impl From<crate::v2_6_0::types::ConnectionEntity> for super::types::ConnectionEntity {
809    fn from(v: crate::v2_6_0::types::ConnectionEntity) -> Self {
810        Self {
811            bends: v.bends.map(|v| v.into_iter().map(|v| v.into()).collect()),
812            bulletins: v
813                .bulletins
814                .map(|v| v.into_iter().map(|v| v.into()).collect()),
815            component: v.component.map(Into::into),
816            destination_group_id: v.destination_group_id,
817            destination_id: v.destination_id,
818            destination_type: Some(
819                serde_json::to_value(&v.destination_type)
820                    .ok()
821                    .and_then(|v| v.as_str().map(|s| s.to_string()))
822                    .unwrap_or_default(),
823            ),
824            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
825            getz_index: v.getz_index,
826            id: v.id,
827            label_index: v.label_index,
828            permissions: v.permissions.map(Into::into),
829            position: v.position.map(Into::into),
830            revision: v.revision.map(Into::into),
831            source_group_id: v.source_group_id,
832            source_id: v.source_id,
833            source_type: Some(
834                serde_json::to_value(&v.source_type)
835                    .ok()
836                    .and_then(|v| v.as_str().map(|s| s.to_string()))
837                    .unwrap_or_default(),
838            ),
839            status: v.status.map(Into::into),
840            uri: v.uri,
841        }
842    }
843}
844
845impl From<crate::v2_6_0::types::ConnectionStatisticsDto> for super::types::ConnectionStatisticsDto {
846    fn from(v: crate::v2_6_0::types::ConnectionStatisticsDto) -> Self {
847        Self {
848            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
849            id: v.id,
850            node_snapshots: v
851                .node_snapshots
852                .map(|v| v.into_iter().map(|v| v.into()).collect()),
853            stats_last_refreshed: v.stats_last_refreshed,
854        }
855    }
856}
857
858impl From<crate::v2_6_0::types::ConnectionStatisticsEntity>
859    for super::types::ConnectionStatisticsEntity
860{
861    fn from(v: crate::v2_6_0::types::ConnectionStatisticsEntity) -> Self {
862        Self {
863            can_read: v.can_read,
864            connection_statistics: v.connection_statistics.map(Into::into),
865        }
866    }
867}
868
869impl From<crate::v2_6_0::types::ConnectionStatisticsSnapshotDto>
870    for super::types::ConnectionStatisticsSnapshotDto
871{
872    fn from(v: crate::v2_6_0::types::ConnectionStatisticsSnapshotDto) -> Self {
873        Self {
874            id: v.id,
875            predicted_bytes_at_next_interval: v.predicted_bytes_at_next_interval,
876            predicted_count_at_next_interval: v.predicted_count_at_next_interval,
877            predicted_millis_until_bytes_backpressure: v.predicted_millis_until_bytes_backpressure,
878            predicted_millis_until_count_backpressure: v.predicted_millis_until_count_backpressure,
879            predicted_percent_bytes: v.predicted_percent_bytes,
880            predicted_percent_count: v.predicted_percent_count,
881            prediction_interval_millis: v.prediction_interval_millis,
882        }
883    }
884}
885
886impl From<crate::v2_6_0::types::ConnectionStatusDto> for super::types::ConnectionStatusDto {
887    fn from(v: crate::v2_6_0::types::ConnectionStatusDto) -> Self {
888        Self {
889            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
890            destination_id: v.destination_id,
891            destination_name: v.destination_name,
892            group_id: v.group_id,
893            id: v.id,
894            name: v.name,
895            node_snapshots: v
896                .node_snapshots
897                .map(|v| v.into_iter().map(|v| v.into()).collect()),
898            source_id: v.source_id,
899            source_name: v.source_name,
900            stats_last_refreshed: v.stats_last_refreshed,
901        }
902    }
903}
904
905impl From<crate::v2_6_0::types::ConnectionStatusEntity> for super::types::ConnectionStatusEntity {
906    fn from(v: crate::v2_6_0::types::ConnectionStatusEntity) -> Self {
907        Self {
908            can_read: v.can_read,
909            connection_status: v.connection_status.map(Into::into),
910        }
911    }
912}
913
914impl From<crate::v2_6_0::types::ConnectionStatusPredictionsSnapshotDto>
915    for super::types::ConnectionStatusPredictionsSnapshotDto
916{
917    fn from(v: crate::v2_6_0::types::ConnectionStatusPredictionsSnapshotDto) -> Self {
918        Self {
919            predicted_bytes_at_next_interval: v.predicted_bytes_at_next_interval,
920            predicted_count_at_next_interval: v.predicted_count_at_next_interval,
921            predicted_millis_until_bytes_backpressure: v.predicted_millis_until_bytes_backpressure,
922            predicted_millis_until_count_backpressure: v.predicted_millis_until_count_backpressure,
923            predicted_percent_bytes: v.predicted_percent_bytes,
924            predicted_percent_count: v.predicted_percent_count,
925            prediction_interval_seconds: v.prediction_interval_seconds,
926        }
927    }
928}
929
930impl From<crate::v2_6_0::types::ConnectionStatusSnapshotDto>
931    for super::types::ConnectionStatusSnapshotDto
932{
933    fn from(v: crate::v2_6_0::types::ConnectionStatusSnapshotDto) -> Self {
934        Self {
935            bytes_in: v.bytes_in,
936            bytes_out: v.bytes_out,
937            bytes_queued: v.bytes_queued,
938            destination_id: v.destination_id,
939            destination_name: v.destination_name,
940            flow_file_availability: v.flow_file_availability,
941            flow_files_in: v.flow_files_in,
942            flow_files_out: v.flow_files_out,
943            flow_files_queued: v.flow_files_queued,
944            group_id: v.group_id,
945            id: v.id,
946            input: v.input,
947            load_balance_status: v.load_balance_status.map(|v| {
948                serde_json::to_value(&v)
949                    .ok()
950                    .and_then(|v| v.as_str().map(|s| s.to_string()))
951                    .unwrap_or_default()
952            }),
953            name: v.name,
954            output: v.output,
955            percent_use_bytes: v.percent_use_bytes,
956            percent_use_count: v.percent_use_count,
957            predictions: v.predictions.map(Into::into),
958            queued: v.queued,
959            queued_count: v.queued_count,
960            queued_size: v.queued_size,
961            source_id: v.source_id,
962            source_name: v.source_name,
963        }
964    }
965}
966
967impl From<crate::v2_6_0::types::ConnectionStatusSnapshotEntity>
968    for super::types::ConnectionStatusSnapshotEntity
969{
970    fn from(v: crate::v2_6_0::types::ConnectionStatusSnapshotEntity) -> Self {
971        Self {
972            can_read: v.can_read,
973            connection_status_snapshot: v.connection_status_snapshot.map(Into::into),
974            id: v.id,
975        }
976    }
977}
978
979impl From<crate::v2_6_0::types::ConnectionsEntity> for super::types::ConnectionsEntity {
980    fn from(v: crate::v2_6_0::types::ConnectionsEntity) -> Self {
981        Self {
982            connections: v
983                .connections
984                .map(|v| v.into_iter().map(|v| v.into()).collect()),
985        }
986    }
987}
988
989impl From<crate::v2_6_0::types::ContentViewerDto> for super::types::ContentViewerDto {
990    fn from(v: crate::v2_6_0::types::ContentViewerDto) -> Self {
991        Self {
992            display_name: v.display_name,
993            supported_mime_types: v
994                .supported_mime_types
995                .map(|v| v.into_iter().map(|v| v.into()).collect()),
996            uri: v.uri,
997        }
998    }
999}
1000
1001impl From<crate::v2_6_0::types::ContentViewerEntity> for super::types::ContentViewerEntity {
1002    fn from(v: crate::v2_6_0::types::ContentViewerEntity) -> Self {
1003        Self {
1004            content_viewers: v
1005                .content_viewers
1006                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1007        }
1008    }
1009}
1010
1011impl From<crate::v2_6_0::types::ControllerBulletinsEntity>
1012    for super::types::ControllerBulletinsEntity
1013{
1014    fn from(v: crate::v2_6_0::types::ControllerBulletinsEntity) -> Self {
1015        Self {
1016            bulletins: v
1017                .bulletins
1018                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1019            controller_service_bulletins: v
1020                .controller_service_bulletins
1021                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1022            flow_analysis_rule_bulletins: v
1023                .flow_analysis_rule_bulletins
1024                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1025            flow_registry_client_bulletins: v
1026                .flow_registry_client_bulletins
1027                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1028            parameter_provider_bulletins: v
1029                .parameter_provider_bulletins
1030                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1031            reporting_task_bulletins: v
1032                .reporting_task_bulletins
1033                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1034        }
1035    }
1036}
1037
1038impl From<crate::v2_6_0::types::ControllerConfigurationDto>
1039    for super::types::ControllerConfigurationDto
1040{
1041    fn from(v: crate::v2_6_0::types::ControllerConfigurationDto) -> Self {
1042        Self {
1043            max_timer_driven_thread_count: v.max_timer_driven_thread_count,
1044        }
1045    }
1046}
1047
1048impl From<crate::v2_6_0::types::ControllerConfigurationEntity>
1049    for super::types::ControllerConfigurationEntity
1050{
1051    fn from(v: crate::v2_6_0::types::ControllerConfigurationEntity) -> Self {
1052        Self {
1053            component: v.component.map(Into::into),
1054            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
1055            permissions: v.permissions.map(Into::into),
1056            revision: v.revision.map(Into::into),
1057        }
1058    }
1059}
1060
1061impl From<crate::v2_6_0::types::ControllerDto> for super::types::ControllerDto {
1062    fn from(v: crate::v2_6_0::types::ControllerDto) -> Self {
1063        Self {
1064            active_remote_port_count: v.active_remote_port_count,
1065            comments: v.comments,
1066            disabled_count: v.disabled_count,
1067            id: v.id,
1068            inactive_remote_port_count: v.inactive_remote_port_count,
1069            input_port_count: v.input_port_count,
1070            input_ports: v
1071                .input_ports
1072                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1073            instance_id: v.instance_id,
1074            invalid_count: v.invalid_count,
1075            name: v.name,
1076            output_port_count: v.output_port_count,
1077            output_ports: v
1078                .output_ports
1079                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1080            remote_site_http_listening_port: v.remote_site_http_listening_port,
1081            remote_site_listening_port: v.remote_site_listening_port,
1082            running_count: v.running_count,
1083            site_to_site_secure: v.site_to_site_secure,
1084            stopped_count: v.stopped_count,
1085        }
1086    }
1087}
1088
1089impl From<crate::v2_6_0::types::ControllerEntity> for super::types::ControllerEntity {
1090    fn from(v: crate::v2_6_0::types::ControllerEntity) -> Self {
1091        Self {
1092            controller: Some(v.controller.unwrap_or_default().into()),
1093        }
1094    }
1095}
1096
1097impl From<crate::v2_6_0::types::ControllerServiceAPI> for super::types::ControllerServiceAPI {
1098    fn from(v: crate::v2_6_0::types::ControllerServiceAPI) -> Self {
1099        Self {
1100            bundle: v.bundle.map(Into::into),
1101            r#type: v.r#type,
1102        }
1103    }
1104}
1105
1106impl From<crate::v2_6_0::types::ControllerServiceApiDto> for super::types::ControllerServiceApiDto {
1107    fn from(v: crate::v2_6_0::types::ControllerServiceApiDto) -> Self {
1108        Self {
1109            bundle: v.bundle.map(Into::into),
1110            r#type: v.r#type,
1111        }
1112    }
1113}
1114
1115impl From<crate::v2_6_0::types::ControllerServiceDefinition>
1116    for super::types::ControllerServiceDefinition
1117{
1118    fn from(v: crate::v2_6_0::types::ControllerServiceDefinition) -> Self {
1119        Self {
1120            additional_details: v.additional_details,
1121            artifact: v.artifact,
1122            build_info: v.build_info.map(Into::into),
1123            deprecated: v.deprecated,
1124            deprecation_alternatives: v.deprecation_alternatives,
1125            deprecation_reason: v.deprecation_reason,
1126            dynamic_properties: v
1127                .dynamic_properties
1128                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1129            explicit_restrictions: v
1130                .explicit_restrictions
1131                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1132            group: v.group,
1133            property_descriptors: v
1134                .property_descriptors
1135                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
1136            provided_api_implementations: v
1137                .provided_api_implementations
1138                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1139            restricted: v.restricted,
1140            restricted_explanation: v.restricted_explanation,
1141            see_also: v.see_also,
1142            stateful: v.stateful.map(Into::into),
1143            supports_dynamic_properties: v.supports_dynamic_properties,
1144            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
1145            system_resource_considerations: v
1146                .system_resource_considerations
1147                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1148            tags: v.tags,
1149            r#type: v.r#type,
1150            type_description: v.type_description,
1151            version: v.version,
1152        }
1153    }
1154}
1155
1156impl From<crate::v2_6_0::types::ControllerServiceDto> for super::types::ControllerServiceDto {
1157    fn from(v: crate::v2_6_0::types::ControllerServiceDto) -> Self {
1158        Self {
1159            annotation_data: v.annotation_data,
1160            bulletin_level: v.bulletin_level,
1161            bundle: v.bundle.map(Into::into),
1162            comments: v.comments,
1163            controller_service_apis: v
1164                .controller_service_apis
1165                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1166            custom_ui_url: v.custom_ui_url,
1167            deprecated: v.deprecated,
1168            descriptors: v
1169                .descriptors
1170                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
1171            extension_missing: v.extension_missing,
1172            id: v.id,
1173            multiple_versions_available: v.multiple_versions_available,
1174            name: v.name,
1175            parent_group_id: v.parent_group_id,
1176            persists_state: v.persists_state,
1177            position: v.position.map(Into::into),
1178            properties: v.properties,
1179            referencing_components: v
1180                .referencing_components
1181                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1182            restricted: v.restricted,
1183            sensitive_dynamic_property_names: v.sensitive_dynamic_property_names,
1184            state: v.state.map(|v| {
1185                serde_json::to_value(&v)
1186                    .ok()
1187                    .and_then(|v| v.as_str().map(|s| s.to_string()))
1188                    .unwrap_or_default()
1189            }),
1190            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
1191            r#type: v.r#type,
1192            validation_errors: v.validation_errors,
1193            validation_status: v.validation_status.map(|v| {
1194                serde_json::to_value(&v)
1195                    .ok()
1196                    .and_then(|v| v.as_str().map(|s| s.to_string()))
1197                    .unwrap_or_default()
1198            }),
1199            versioned_component_id: v.versioned_component_id,
1200        }
1201    }
1202}
1203
1204impl From<crate::v2_6_0::types::ControllerServiceEntity> for super::types::ControllerServiceEntity {
1205    fn from(v: crate::v2_6_0::types::ControllerServiceEntity) -> Self {
1206        Self {
1207            bulletins: v
1208                .bulletins
1209                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1210            component: v.component.map(Into::into),
1211            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
1212            id: v.id,
1213            operate_permissions: v.operate_permissions.map(Into::into),
1214            parent_group_id: v.parent_group_id,
1215            permissions: v.permissions.map(Into::into),
1216            position: v.position.map(Into::into),
1217            revision: v.revision.map(Into::into),
1218            status: v.status.map(Into::into),
1219            uri: v.uri,
1220        }
1221    }
1222}
1223
1224impl From<crate::v2_6_0::types::ControllerServiceReferencingComponentDto>
1225    for super::types::ControllerServiceReferencingComponentDto
1226{
1227    fn from(v: crate::v2_6_0::types::ControllerServiceReferencingComponentDto) -> Self {
1228        Self {
1229            active_thread_count: v.active_thread_count,
1230            descriptors: v
1231                .descriptors
1232                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
1233            group_id: v.group_id,
1234            id: v.id,
1235            name: v.name,
1236            properties: v.properties,
1237            reference_cycle: v.reference_cycle,
1238            reference_type: v.reference_type.map(|v| {
1239                serde_json::to_value(&v)
1240                    .ok()
1241                    .and_then(|v| v.as_str().map(|s| s.to_string()))
1242                    .unwrap_or_default()
1243            }),
1244            referencing_components: v
1245                .referencing_components
1246                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1247            state: v.state,
1248            r#type: v.r#type,
1249            validation_errors: v.validation_errors,
1250        }
1251    }
1252}
1253
1254impl From<crate::v2_6_0::types::ControllerServiceReferencingComponentEntity>
1255    for super::types::ControllerServiceReferencingComponentEntity
1256{
1257    fn from(v: crate::v2_6_0::types::ControllerServiceReferencingComponentEntity) -> Self {
1258        Self {
1259            bulletins: v
1260                .bulletins
1261                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1262            component: v.component.map(Into::into),
1263            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
1264            id: v.id,
1265            operate_permissions: v.operate_permissions.map(Into::into),
1266            permissions: v.permissions.map(Into::into),
1267            position: v.position.map(Into::into),
1268            revision: v.revision.map(Into::into),
1269            uri: v.uri,
1270        }
1271    }
1272}
1273
1274impl From<crate::v2_6_0::types::ControllerServiceReferencingComponentsEntity>
1275    for super::types::ControllerServiceReferencingComponentsEntity
1276{
1277    fn from(v: crate::v2_6_0::types::ControllerServiceReferencingComponentsEntity) -> Self {
1278        Self {
1279            controller_service_referencing_components: v
1280                .controller_service_referencing_components
1281                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1282        }
1283    }
1284}
1285
1286impl From<crate::v2_6_0::types::ControllerServiceRunStatusEntity>
1287    for super::types::ControllerServiceRunStatusEntity
1288{
1289    fn from(v: crate::v2_6_0::types::ControllerServiceRunStatusEntity) -> Self {
1290        Self {
1291            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
1292            revision: v.revision.map(Into::into),
1293            state: v.state.map(|v| {
1294                serde_json::to_value(&v)
1295                    .ok()
1296                    .and_then(|v| v.as_str().map(|s| s.to_string()))
1297                    .unwrap_or_default()
1298            }),
1299            ui_only: v.ui_only,
1300        }
1301    }
1302}
1303
1304impl From<crate::v2_6_0::types::ControllerServiceStatusDto>
1305    for super::types::ControllerServiceStatusDto
1306{
1307    fn from(v: crate::v2_6_0::types::ControllerServiceStatusDto) -> Self {
1308        Self {
1309            active_thread_count: v.active_thread_count,
1310            run_status: v.run_status.map(|v| {
1311                serde_json::to_value(&v)
1312                    .ok()
1313                    .and_then(|v| v.as_str().map(|s| s.to_string()))
1314                    .unwrap_or_default()
1315            }),
1316            validation_status: v.validation_status.map(|v| {
1317                serde_json::to_value(&v)
1318                    .ok()
1319                    .and_then(|v| v.as_str().map(|s| s.to_string()))
1320                    .unwrap_or_default()
1321            }),
1322        }
1323    }
1324}
1325
1326impl From<crate::v2_6_0::types::ControllerServiceTypesEntity>
1327    for super::types::ControllerServiceTypesEntity
1328{
1329    fn from(v: crate::v2_6_0::types::ControllerServiceTypesEntity) -> Self {
1330        Self {
1331            controller_service_types: v
1332                .controller_service_types
1333                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1334        }
1335    }
1336}
1337
1338impl From<crate::v2_6_0::types::ControllerServicesEntity>
1339    for super::types::ControllerServicesEntity
1340{
1341    fn from(v: crate::v2_6_0::types::ControllerServicesEntity) -> Self {
1342        Self {
1343            controller_services: v
1344                .controller_services
1345                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1346            current_time: v.current_time,
1347        }
1348    }
1349}
1350
1351impl From<crate::v2_6_0::types::ControllerStatusDto> for super::types::ControllerStatusDto {
1352    fn from(v: crate::v2_6_0::types::ControllerStatusDto) -> Self {
1353        Self {
1354            active_remote_port_count: v.active_remote_port_count,
1355            active_thread_count: v.active_thread_count,
1356            bytes_queued: v.bytes_queued,
1357            disabled_count: v.disabled_count,
1358            flow_files_queued: v.flow_files_queued,
1359            inactive_remote_port_count: v.inactive_remote_port_count,
1360            invalid_count: v.invalid_count,
1361            locally_modified_and_stale_count: v.locally_modified_and_stale_count,
1362            locally_modified_count: v.locally_modified_count,
1363            queued: v.queued,
1364            running_count: v.running_count,
1365            stale_count: v.stale_count,
1366            stopped_count: v.stopped_count,
1367            sync_failure_count: v.sync_failure_count,
1368            terminated_thread_count: v.terminated_thread_count,
1369            up_to_date_count: v.up_to_date_count,
1370        }
1371    }
1372}
1373
1374impl From<crate::v2_6_0::types::ControllerStatusEntity> for super::types::ControllerStatusEntity {
1375    fn from(v: crate::v2_6_0::types::ControllerStatusEntity) -> Self {
1376        Self {
1377            controller_status: Some(v.controller_status.unwrap_or_default().into()),
1378        }
1379    }
1380}
1381
1382impl From<crate::v2_6_0::types::CopyRequestEntity> for super::types::CopyRequestEntity {
1383    fn from(v: crate::v2_6_0::types::CopyRequestEntity) -> Self {
1384        Self {
1385            connections: v.connections,
1386            funnels: v.funnels,
1387            input_ports: v.input_ports,
1388            labels: v.labels,
1389            output_ports: v.output_ports,
1390            process_groups: v.process_groups,
1391            processors: v.processors,
1392            remote_process_groups: v.remote_process_groups,
1393        }
1394    }
1395}
1396
1397impl From<crate::v2_6_0::types::CopyResponseEntity> for super::types::CopyResponseEntity {
1398    fn from(v: crate::v2_6_0::types::CopyResponseEntity) -> Self {
1399        Self {
1400            connections: v
1401                .connections
1402                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1403            external_controller_service_references: v
1404                .external_controller_service_references
1405                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
1406            funnels: v.funnels.map(|v| v.into_iter().map(|v| v.into()).collect()),
1407            id: v.id,
1408            input_ports: v
1409                .input_ports
1410                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1411            labels: v.labels.map(|v| v.into_iter().map(|v| v.into()).collect()),
1412            output_ports: v
1413                .output_ports
1414                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1415            parameter_contexts: v
1416                .parameter_contexts
1417                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
1418            parameter_providers: v
1419                .parameter_providers
1420                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
1421            process_groups: v
1422                .process_groups
1423                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1424            processors: v
1425                .processors
1426                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1427            remote_process_groups: v
1428                .remote_process_groups
1429                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1430        }
1431    }
1432}
1433
1434impl From<crate::v2_6_0::types::CopySnippetRequestEntity>
1435    for super::types::CopySnippetRequestEntity
1436{
1437    fn from(v: crate::v2_6_0::types::CopySnippetRequestEntity) -> Self {
1438        Self {
1439            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
1440            origin_x: v.origin_x,
1441            origin_y: v.origin_y,
1442            snippet_id: v.snippet_id,
1443        }
1444    }
1445}
1446
1447impl From<crate::v2_6_0::types::CounterDto> for super::types::CounterDto {
1448    fn from(v: crate::v2_6_0::types::CounterDto) -> Self {
1449        Self {
1450            context: v.context,
1451            id: v.id,
1452            name: v.name,
1453            value: v.value,
1454            value_count: v.value_count,
1455        }
1456    }
1457}
1458
1459impl From<crate::v2_6_0::types::CounterEntity> for super::types::CounterEntity {
1460    fn from(v: crate::v2_6_0::types::CounterEntity) -> Self {
1461        Self {
1462            counter: Some(v.counter.unwrap_or_default().into()),
1463        }
1464    }
1465}
1466
1467impl From<crate::v2_6_0::types::CountersDto> for super::types::CountersDto {
1468    fn from(v: crate::v2_6_0::types::CountersDto) -> Self {
1469        Self {
1470            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
1471            node_snapshots: v
1472                .node_snapshots
1473                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1474        }
1475    }
1476}
1477
1478impl From<crate::v2_6_0::types::CountersEntity> for super::types::CountersEntity {
1479    fn from(v: crate::v2_6_0::types::CountersEntity) -> Self {
1480        Self {
1481            counters: Some(v.counters.unwrap_or_default().into()),
1482        }
1483    }
1484}
1485
1486impl From<crate::v2_6_0::types::CountersSnapshotDto> for super::types::CountersSnapshotDto {
1487    fn from(v: crate::v2_6_0::types::CountersSnapshotDto) -> Self {
1488        Self {
1489            counters: v
1490                .counters
1491                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1492            generated: v.generated,
1493        }
1494    }
1495}
1496
1497impl From<crate::v2_6_0::types::CreateActiveRequestEntity>
1498    for super::types::CreateActiveRequestEntity
1499{
1500    fn from(v: crate::v2_6_0::types::CreateActiveRequestEntity) -> Self {
1501        Self {
1502            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
1503            process_group_id: v.process_group_id,
1504        }
1505    }
1506}
1507
1508impl From<crate::v2_6_0::types::CurrentUserEntity> for super::types::CurrentUserEntity {
1509    fn from(v: crate::v2_6_0::types::CurrentUserEntity) -> Self {
1510        Self {
1511            anonymous: v.anonymous,
1512            can_version_flows: v.can_version_flows,
1513            component_restriction_permissions: v
1514                .component_restriction_permissions
1515                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1516            controller_permissions: v.controller_permissions.map(Into::into),
1517            counters_permissions: v.counters_permissions.map(Into::into),
1518            identity: v.identity,
1519            logout_supported: v.logout_supported,
1520            parameter_context_permissions: v.parameter_context_permissions.map(Into::into),
1521            policies_permissions: v.policies_permissions.map(Into::into),
1522            provenance_permissions: v.provenance_permissions.map(Into::into),
1523            restricted_components_permissions: v.restricted_components_permissions.map(Into::into),
1524            system_permissions: v.system_permissions.map(Into::into),
1525            tenants_permissions: v.tenants_permissions.map(Into::into),
1526        }
1527    }
1528}
1529
1530impl From<crate::v2_6_0::types::DateTimeParameter> for super::types::DateTimeParameter {
1531    fn from(v: crate::v2_6_0::types::DateTimeParameter) -> Self {
1532        Self {
1533            date_time: v.date_time,
1534        }
1535    }
1536}
1537
1538impl From<crate::v2_6_0::types::DefinedType> for super::types::DefinedType {
1539    fn from(v: crate::v2_6_0::types::DefinedType) -> Self {
1540        Self {
1541            artifact: v.artifact,
1542            group: v.group,
1543            r#type: v.r#type,
1544            type_description: v.type_description,
1545            version: v.version,
1546        }
1547    }
1548}
1549
1550impl From<crate::v2_6_0::types::DiagnosticLevel> for super::types::DiagnosticLevel {
1551    fn from(v: crate::v2_6_0::types::DiagnosticLevel) -> Self {
1552        let s = serde_json::to_string(&v).expect("serialize enum");
1553        serde_json::from_str(&s).expect("deserialize enum")
1554    }
1555}
1556
1557impl From<crate::v2_6_0::types::DifferenceDto> for super::types::DifferenceDto {
1558    fn from(v: crate::v2_6_0::types::DifferenceDto) -> Self {
1559        Self {
1560            difference: v.difference,
1561            difference_type: v.difference_type,
1562        }
1563    }
1564}
1565
1566impl From<crate::v2_6_0::types::DimensionsDto> for super::types::DimensionsDto {
1567    fn from(v: crate::v2_6_0::types::DimensionsDto) -> Self {
1568        Self {
1569            height: v.height,
1570            width: v.width,
1571        }
1572    }
1573}
1574
1575impl From<crate::v2_6_0::types::DocumentedTypeDto> for super::types::DocumentedTypeDto {
1576    fn from(v: crate::v2_6_0::types::DocumentedTypeDto) -> Self {
1577        Self {
1578            bundle: v.bundle.map(Into::into),
1579            controller_service_apis: v
1580                .controller_service_apis
1581                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1582            deprecation_reason: v.deprecation_reason,
1583            description: v.description,
1584            explicit_restrictions: v
1585                .explicit_restrictions
1586                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1587            restricted: v.restricted,
1588            tags: v.tags,
1589            r#type: v.r#type,
1590            usage_restriction: v.usage_restriction,
1591        }
1592    }
1593}
1594
1595impl From<crate::v2_6_0::types::DropRequestDto> for super::types::DropRequestDto {
1596    fn from(v: crate::v2_6_0::types::DropRequestDto) -> Self {
1597        Self {
1598            current: v.current,
1599            current_count: v.current_count,
1600            current_size: v.current_size,
1601            dropped: v.dropped,
1602            dropped_count: v.dropped_count,
1603            dropped_size: v.dropped_size,
1604            failure_reason: v.failure_reason,
1605            finished: v.finished,
1606            id: v.id,
1607            last_updated: v.last_updated,
1608            original: v.original,
1609            original_count: v.original_count,
1610            original_size: v.original_size,
1611            percent_completed: v.percent_completed,
1612            state: v.state,
1613            submission_time: v.submission_time,
1614            uri: v.uri,
1615        }
1616    }
1617}
1618
1619impl From<crate::v2_6_0::types::DropRequestEntity> for super::types::DropRequestEntity {
1620    fn from(v: crate::v2_6_0::types::DropRequestEntity) -> Self {
1621        Self {
1622            drop_request: Some(v.drop_request.unwrap_or_default().into()),
1623        }
1624    }
1625}
1626
1627impl From<crate::v2_6_0::types::DynamicProperty> for super::types::DynamicProperty {
1628    fn from(v: crate::v2_6_0::types::DynamicProperty) -> Self {
1629        Self {
1630            description: v.description,
1631            expression_language_scope: v.expression_language_scope.map(|v| {
1632                serde_json::to_value(&v)
1633                    .ok()
1634                    .and_then(|v| v.as_str().map(|s| s.to_string()))
1635                    .unwrap_or_default()
1636            }),
1637            name: v.name,
1638            value: v.value,
1639        }
1640    }
1641}
1642
1643impl From<crate::v2_6_0::types::DynamicRelationship> for super::types::DynamicRelationship {
1644    fn from(v: crate::v2_6_0::types::DynamicRelationship) -> Self {
1645        Self {
1646            description: v.description,
1647            name: v.name,
1648        }
1649    }
1650}
1651
1652impl From<crate::v2_6_0::types::ExplicitRestrictionDto> for super::types::ExplicitRestrictionDto {
1653    fn from(v: crate::v2_6_0::types::ExplicitRestrictionDto) -> Self {
1654        Self {
1655            explanation: v.explanation,
1656            required_permission: v.required_permission.map(Into::into),
1657        }
1658    }
1659}
1660
1661impl From<crate::v2_6_0::types::ExternalControllerServiceReference>
1662    for super::types::ExternalControllerServiceReference
1663{
1664    fn from(v: crate::v2_6_0::types::ExternalControllerServiceReference) -> Self {
1665        Self {
1666            identifier: v.identifier,
1667            name: v.name,
1668        }
1669    }
1670}
1671
1672impl From<crate::v2_6_0::types::FlowAnalysisResultEntity>
1673    for super::types::FlowAnalysisResultEntity
1674{
1675    fn from(v: crate::v2_6_0::types::FlowAnalysisResultEntity) -> Self {
1676        Self {
1677            flow_analysis_pending: v.flow_analysis_pending,
1678            rule_violations: v
1679                .rule_violations
1680                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1681            rules: v.rules.map(|v| v.into_iter().map(|v| v.into()).collect()),
1682        }
1683    }
1684}
1685
1686impl From<crate::v2_6_0::types::FlowAnalysisRuleDefinition>
1687    for super::types::FlowAnalysisRuleDefinition
1688{
1689    fn from(v: crate::v2_6_0::types::FlowAnalysisRuleDefinition) -> Self {
1690        Self {
1691            additional_details: v.additional_details,
1692            artifact: v.artifact,
1693            build_info: v.build_info.map(Into::into),
1694            deprecated: v.deprecated,
1695            deprecation_alternatives: v.deprecation_alternatives,
1696            deprecation_reason: v.deprecation_reason,
1697            dynamic_properties: v
1698                .dynamic_properties
1699                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1700            explicit_restrictions: v
1701                .explicit_restrictions
1702                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1703            group: v.group,
1704            property_descriptors: v
1705                .property_descriptors
1706                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
1707            provided_api_implementations: v
1708                .provided_api_implementations
1709                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1710            restricted: v.restricted,
1711            restricted_explanation: v.restricted_explanation,
1712            see_also: v.see_also,
1713            stateful: v.stateful.map(Into::into),
1714            supports_dynamic_properties: v.supports_dynamic_properties,
1715            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
1716            system_resource_considerations: v
1717                .system_resource_considerations
1718                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1719            tags: v.tags,
1720            r#type: v.r#type,
1721            type_description: v.type_description,
1722            version: v.version,
1723        }
1724    }
1725}
1726
1727impl From<crate::v2_6_0::types::FlowAnalysisRuleDto> for super::types::FlowAnalysisRuleDto {
1728    fn from(v: crate::v2_6_0::types::FlowAnalysisRuleDto) -> Self {
1729        Self {
1730            bundle: v.bundle.map(Into::into),
1731            comments: v.comments,
1732            deprecated: v.deprecated,
1733            descriptors: v
1734                .descriptors
1735                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
1736            enforcement_policy: v.enforcement_policy,
1737            extension_missing: v.extension_missing,
1738            id: v.id,
1739            multiple_versions_available: v.multiple_versions_available,
1740            name: v.name,
1741            parent_group_id: v.parent_group_id,
1742            persists_state: v.persists_state,
1743            position: v.position.map(Into::into),
1744            properties: v.properties,
1745            restricted: v.restricted,
1746            sensitive_dynamic_property_names: v.sensitive_dynamic_property_names,
1747            state: v.state.map(|v| {
1748                serde_json::to_value(&v)
1749                    .ok()
1750                    .and_then(|v| v.as_str().map(|s| s.to_string()))
1751                    .unwrap_or_default()
1752            }),
1753            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
1754            r#type: v.r#type,
1755            validation_errors: v.validation_errors,
1756            validation_status: v.validation_status.map(|v| {
1757                serde_json::to_value(&v)
1758                    .ok()
1759                    .and_then(|v| v.as_str().map(|s| s.to_string()))
1760                    .unwrap_or_default()
1761            }),
1762            versioned_component_id: v.versioned_component_id,
1763        }
1764    }
1765}
1766
1767impl From<crate::v2_6_0::types::FlowAnalysisRuleEntity> for super::types::FlowAnalysisRuleEntity {
1768    fn from(v: crate::v2_6_0::types::FlowAnalysisRuleEntity) -> Self {
1769        Self {
1770            bulletins: v
1771                .bulletins
1772                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1773            component: v.component.map(Into::into),
1774            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
1775            id: v.id,
1776            operate_permissions: v.operate_permissions.map(Into::into),
1777            permissions: v.permissions.map(Into::into),
1778            position: v.position.map(Into::into),
1779            revision: v.revision.map(Into::into),
1780            status: v.status.map(Into::into),
1781            uri: v.uri,
1782        }
1783    }
1784}
1785
1786impl From<crate::v2_6_0::types::FlowAnalysisRuleRunStatusEntity>
1787    for super::types::FlowAnalysisRuleRunStatusEntity
1788{
1789    fn from(v: crate::v2_6_0::types::FlowAnalysisRuleRunStatusEntity) -> Self {
1790        Self {
1791            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
1792            revision: v.revision.map(Into::into),
1793            state: v.state.map(|v| {
1794                serde_json::to_value(&v)
1795                    .ok()
1796                    .and_then(|v| v.as_str().map(|s| s.to_string()))
1797                    .unwrap_or_default()
1798            }),
1799        }
1800    }
1801}
1802
1803impl From<crate::v2_6_0::types::FlowAnalysisRuleStatusDto>
1804    for super::types::FlowAnalysisRuleStatusDto
1805{
1806    fn from(v: crate::v2_6_0::types::FlowAnalysisRuleStatusDto) -> Self {
1807        Self {
1808            active_thread_count: v.active_thread_count,
1809            run_status: v.run_status.map(|v| {
1810                serde_json::to_value(&v)
1811                    .ok()
1812                    .and_then(|v| v.as_str().map(|s| s.to_string()))
1813                    .unwrap_or_default()
1814            }),
1815            validation_status: v.validation_status.map(|v| {
1816                serde_json::to_value(&v)
1817                    .ok()
1818                    .and_then(|v| v.as_str().map(|s| s.to_string()))
1819                    .unwrap_or_default()
1820            }),
1821        }
1822    }
1823}
1824
1825impl From<crate::v2_6_0::types::FlowAnalysisRuleTypesEntity>
1826    for super::types::FlowAnalysisRuleTypesEntity
1827{
1828    fn from(v: crate::v2_6_0::types::FlowAnalysisRuleTypesEntity) -> Self {
1829        Self {
1830            flow_analysis_rule_types: v
1831                .flow_analysis_rule_types
1832                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1833        }
1834    }
1835}
1836
1837impl From<crate::v2_6_0::types::FlowAnalysisRuleViolationDto>
1838    for super::types::FlowAnalysisRuleViolationDto
1839{
1840    fn from(v: crate::v2_6_0::types::FlowAnalysisRuleViolationDto) -> Self {
1841        Self {
1842            enabled: v.enabled,
1843            enforcement_policy: v.enforcement_policy,
1844            group_id: v.group_id,
1845            issue_id: v.issue_id,
1846            rule_id: v.rule_id,
1847            scope: v.scope,
1848            subject_component_type: v.subject_component_type,
1849            subject_display_name: v.subject_display_name,
1850            subject_id: v.subject_id,
1851            subject_permission_dto: v.subject_permission_dto.map(Into::into),
1852            violation_message: v.violation_message,
1853        }
1854    }
1855}
1856
1857impl From<crate::v2_6_0::types::FlowAnalysisRulesEntity> for super::types::FlowAnalysisRulesEntity {
1858    fn from(v: crate::v2_6_0::types::FlowAnalysisRulesEntity) -> Self {
1859        Self {
1860            current_time: v.current_time,
1861            flow_analysis_rules: v
1862                .flow_analysis_rules
1863                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1864        }
1865    }
1866}
1867
1868impl From<crate::v2_6_0::types::FlowBreadcrumbDto> for super::types::FlowBreadcrumbDto {
1869    fn from(v: crate::v2_6_0::types::FlowBreadcrumbDto) -> Self {
1870        Self {
1871            id: v.id,
1872            name: v.name,
1873            version_control_information: v.version_control_information.map(Into::into),
1874        }
1875    }
1876}
1877
1878impl From<crate::v2_6_0::types::FlowBreadcrumbEntity> for super::types::FlowBreadcrumbEntity {
1879    fn from(v: crate::v2_6_0::types::FlowBreadcrumbEntity) -> Self {
1880        Self {
1881            breadcrumb: v.breadcrumb.map(Into::into),
1882            id: v.id,
1883            parent_breadcrumb: v.parent_breadcrumb.map(|v| Box::new((*v).into())),
1884            permissions: v.permissions.map(Into::into),
1885            versioned_flow_state: v.versioned_flow_state.map(|v| {
1886                serde_json::to_value(&v)
1887                    .ok()
1888                    .and_then(|v| v.as_str().map(|s| s.to_string()))
1889                    .unwrap_or_default()
1890            }),
1891        }
1892    }
1893}
1894
1895impl From<crate::v2_6_0::types::FlowComparisonEntity> for super::types::FlowComparisonEntity {
1896    fn from(v: crate::v2_6_0::types::FlowComparisonEntity) -> Self {
1897        Self {
1898            component_differences: v
1899                .component_differences
1900                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1901        }
1902    }
1903}
1904
1905impl From<crate::v2_6_0::types::FlowConfigurationDto> for super::types::FlowConfigurationDto {
1906    fn from(v: crate::v2_6_0::types::FlowConfigurationDto) -> Self {
1907        Self {
1908            current_time: v.current_time,
1909            default_back_pressure_data_size_threshold: v.default_back_pressure_data_size_threshold,
1910            default_back_pressure_object_threshold: v.default_back_pressure_object_threshold,
1911            supports_configurable_authorizer: v.supports_configurable_authorizer,
1912            supports_configurable_users_and_groups: v.supports_configurable_users_and_groups,
1913            supports_managed_authorizer: v.supports_managed_authorizer,
1914            time_offset: v.time_offset,
1915        }
1916    }
1917}
1918
1919impl From<crate::v2_6_0::types::FlowConfigurationEntity> for super::types::FlowConfigurationEntity {
1920    fn from(v: crate::v2_6_0::types::FlowConfigurationEntity) -> Self {
1921        Self {
1922            flow_configuration: Some(v.flow_configuration.unwrap_or_default().into()),
1923        }
1924    }
1925}
1926
1927impl From<crate::v2_6_0::types::FlowDto> for super::types::FlowDto {
1928    fn from(v: crate::v2_6_0::types::FlowDto) -> Self {
1929        Self {
1930            connections: v
1931                .connections
1932                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1933            funnels: v.funnels.map(|v| v.into_iter().map(|v| v.into()).collect()),
1934            input_ports: v
1935                .input_ports
1936                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1937            labels: v.labels.map(|v| v.into_iter().map(|v| v.into()).collect()),
1938            output_ports: v
1939                .output_ports
1940                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1941            process_groups: v
1942                .process_groups
1943                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1944            processors: v
1945                .processors
1946                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1947            remote_process_groups: v
1948                .remote_process_groups
1949                .map(|v| v.into_iter().map(|v| v.into()).collect()),
1950        }
1951    }
1952}
1953
1954impl From<crate::v2_6_0::types::FlowEntity> for super::types::FlowEntity {
1955    fn from(v: crate::v2_6_0::types::FlowEntity) -> Self {
1956        Self {
1957            flow: Some(v.flow.unwrap_or_default().into()),
1958        }
1959    }
1960}
1961
1962impl From<crate::v2_6_0::types::FlowFileDto> for super::types::FlowFileDto {
1963    fn from(v: crate::v2_6_0::types::FlowFileDto) -> Self {
1964        Self {
1965            attributes: v.attributes,
1966            cluster_node_address: v.cluster_node_address,
1967            cluster_node_id: v.cluster_node_id,
1968            content_claim_container: v.content_claim_container,
1969            content_claim_file_size: v.content_claim_file_size,
1970            content_claim_file_size_bytes: v.content_claim_file_size_bytes,
1971            content_claim_identifier: v.content_claim_identifier,
1972            content_claim_offset: v.content_claim_offset,
1973            content_claim_section: v.content_claim_section,
1974            filename: v.filename,
1975            lineage_duration: v.lineage_duration,
1976            mime_type: v.mime_type,
1977            penalized: v.penalized,
1978            penalty_expires_in: v.penalty_expires_in,
1979            position: v.position,
1980            queued_duration: v.queued_duration,
1981            size: v.size,
1982            uri: v.uri,
1983            uuid: v.uuid,
1984        }
1985    }
1986}
1987
1988impl From<crate::v2_6_0::types::FlowFileEntity> for super::types::FlowFileEntity {
1989    fn from(v: crate::v2_6_0::types::FlowFileEntity) -> Self {
1990        Self {
1991            flow_file: Some(v.flow_file.unwrap_or_default().into()),
1992        }
1993    }
1994}
1995
1996impl From<crate::v2_6_0::types::FlowFileSummaryDto> for super::types::FlowFileSummaryDto {
1997    fn from(v: crate::v2_6_0::types::FlowFileSummaryDto) -> Self {
1998        Self {
1999            cluster_node_address: v.cluster_node_address,
2000            cluster_node_id: v.cluster_node_id,
2001            filename: v.filename,
2002            lineage_duration: v.lineage_duration,
2003            mime_type: v.mime_type,
2004            penalized: v.penalized,
2005            penalty_expires_in: v.penalty_expires_in,
2006            position: v.position,
2007            queued_duration: v.queued_duration,
2008            size: v.size,
2009            uri: v.uri,
2010            uuid: v.uuid,
2011        }
2012    }
2013}
2014
2015impl From<crate::v2_6_0::types::FlowRegistryBranchDto> for super::types::FlowRegistryBranchDto {
2016    fn from(v: crate::v2_6_0::types::FlowRegistryBranchDto) -> Self {
2017        Self { name: v.name }
2018    }
2019}
2020
2021impl From<crate::v2_6_0::types::FlowRegistryBranchEntity>
2022    for super::types::FlowRegistryBranchEntity
2023{
2024    fn from(v: crate::v2_6_0::types::FlowRegistryBranchEntity) -> Self {
2025        Self {
2026            branch: Some(v.branch.unwrap_or_default().into()),
2027        }
2028    }
2029}
2030
2031impl From<crate::v2_6_0::types::FlowRegistryBranchesEntity>
2032    for super::types::FlowRegistryBranchesEntity
2033{
2034    fn from(v: crate::v2_6_0::types::FlowRegistryBranchesEntity) -> Self {
2035        Self {
2036            branches: v
2037                .branches
2038                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2039        }
2040    }
2041}
2042
2043impl From<crate::v2_6_0::types::FlowRegistryBucket> for super::types::FlowRegistryBucket {
2044    fn from(v: crate::v2_6_0::types::FlowRegistryBucket) -> Self {
2045        Self {
2046            created_timestamp: v.created_timestamp,
2047            description: v.description,
2048            identifier: v.identifier,
2049            name: v.name,
2050            permissions: v.permissions.map(Into::into),
2051        }
2052    }
2053}
2054
2055impl From<crate::v2_6_0::types::FlowRegistryBucketDto> for super::types::FlowRegistryBucketDto {
2056    fn from(v: crate::v2_6_0::types::FlowRegistryBucketDto) -> Self {
2057        Self {
2058            created: v.created,
2059            description: v.description,
2060            id: v.id,
2061            name: v.name,
2062        }
2063    }
2064}
2065
2066impl From<crate::v2_6_0::types::FlowRegistryBucketEntity>
2067    for super::types::FlowRegistryBucketEntity
2068{
2069    fn from(v: crate::v2_6_0::types::FlowRegistryBucketEntity) -> Self {
2070        Self {
2071            bucket: v.bucket.map(Into::into),
2072            id: v.id,
2073            permissions: v.permissions.map(Into::into),
2074        }
2075    }
2076}
2077
2078impl From<crate::v2_6_0::types::FlowRegistryBucketsEntity>
2079    for super::types::FlowRegistryBucketsEntity
2080{
2081    fn from(v: crate::v2_6_0::types::FlowRegistryBucketsEntity) -> Self {
2082        Self {
2083            buckets: v.buckets.map(|v| v.into_iter().map(|v| v.into()).collect()),
2084        }
2085    }
2086}
2087
2088impl From<crate::v2_6_0::types::FlowRegistryClientDto> for super::types::FlowRegistryClientDto {
2089    fn from(v: crate::v2_6_0::types::FlowRegistryClientDto) -> Self {
2090        Self {
2091            annotation_data: v.annotation_data,
2092            bundle: v.bundle.map(Into::into),
2093            deprecated: v.deprecated,
2094            description: v.description,
2095            descriptors: v
2096                .descriptors
2097                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
2098            extension_missing: v.extension_missing,
2099            id: v.id,
2100            multiple_versions_available: v.multiple_versions_available,
2101            name: v.name,
2102            properties: v.properties,
2103            restricted: v.restricted,
2104            sensitive_dynamic_property_names: v.sensitive_dynamic_property_names,
2105            supports_branching: v.supports_branching,
2106            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
2107            r#type: v.r#type,
2108            validation_errors: v.validation_errors,
2109            validation_status: v.validation_status.map(|v| {
2110                serde_json::to_value(&v)
2111                    .ok()
2112                    .and_then(|v| v.as_str().map(|s| s.to_string()))
2113                    .unwrap_or_default()
2114            }),
2115        }
2116    }
2117}
2118
2119impl From<crate::v2_6_0::types::FlowRegistryClientEntity>
2120    for super::types::FlowRegistryClientEntity
2121{
2122    fn from(v: crate::v2_6_0::types::FlowRegistryClientEntity) -> Self {
2123        Self {
2124            bulletins: v
2125                .bulletins
2126                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2127            component: v.component.map(Into::into),
2128            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
2129            id: v.id,
2130            operate_permissions: v.operate_permissions.map(Into::into),
2131            permissions: v.permissions.map(Into::into),
2132            position: v.position.map(Into::into),
2133            revision: v.revision.map(Into::into),
2134            uri: v.uri,
2135        }
2136    }
2137}
2138
2139impl From<crate::v2_6_0::types::FlowRegistryClientTypesEntity>
2140    for super::types::FlowRegistryClientTypesEntity
2141{
2142    fn from(v: crate::v2_6_0::types::FlowRegistryClientTypesEntity) -> Self {
2143        Self {
2144            flow_registry_client_types: v
2145                .flow_registry_client_types
2146                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2147        }
2148    }
2149}
2150
2151impl From<crate::v2_6_0::types::FlowRegistryClientsEntity>
2152    for super::types::FlowRegistryClientsEntity
2153{
2154    fn from(v: crate::v2_6_0::types::FlowRegistryClientsEntity) -> Self {
2155        Self {
2156            current_time: v.current_time,
2157            registries: v
2158                .registries
2159                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2160        }
2161    }
2162}
2163
2164impl From<crate::v2_6_0::types::FlowRegistryPermissions> for super::types::FlowRegistryPermissions {
2165    fn from(v: crate::v2_6_0::types::FlowRegistryPermissions) -> Self {
2166        Self {
2167            can_delete: v.can_delete,
2168            can_read: v.can_read,
2169            can_write: v.can_write,
2170        }
2171    }
2172}
2173
2174impl From<crate::v2_6_0::types::FlowSnippetDto> for super::types::FlowSnippetDto {
2175    fn from(v: crate::v2_6_0::types::FlowSnippetDto) -> Self {
2176        Self {
2177            connections: v
2178                .connections
2179                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2180            controller_services: v
2181                .controller_services
2182                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2183            funnels: v.funnels.map(|v| v.into_iter().map(|v| v.into()).collect()),
2184            input_ports: v
2185                .input_ports
2186                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2187            labels: v.labels.map(|v| v.into_iter().map(|v| v.into()).collect()),
2188            output_ports: v
2189                .output_ports
2190                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2191            process_groups: v
2192                .process_groups
2193                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2194            processors: v
2195                .processors
2196                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2197            remote_process_groups: v
2198                .remote_process_groups
2199                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2200        }
2201    }
2202}
2203
2204impl From<crate::v2_6_0::types::FunnelDto> for super::types::FunnelDto {
2205    fn from(v: crate::v2_6_0::types::FunnelDto) -> Self {
2206        Self {
2207            id: v.id,
2208            parent_group_id: v.parent_group_id,
2209            position: v.position.map(Into::into),
2210            versioned_component_id: v.versioned_component_id,
2211        }
2212    }
2213}
2214
2215impl From<crate::v2_6_0::types::FunnelEntity> for super::types::FunnelEntity {
2216    fn from(v: crate::v2_6_0::types::FunnelEntity) -> Self {
2217        Self {
2218            bulletins: v
2219                .bulletins
2220                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2221            component: v.component.map(Into::into),
2222            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
2223            id: v.id,
2224            permissions: v.permissions.map(Into::into),
2225            position: v.position.map(Into::into),
2226            revision: v.revision.map(Into::into),
2227            uri: v.uri,
2228        }
2229    }
2230}
2231
2232impl From<crate::v2_6_0::types::FunnelsEntity> for super::types::FunnelsEntity {
2233    fn from(v: crate::v2_6_0::types::FunnelsEntity) -> Self {
2234        Self {
2235            funnels: v.funnels.map(|v| v.into_iter().map(|v| v.into()).collect()),
2236        }
2237    }
2238}
2239
2240impl From<crate::v2_6_0::types::GarbageCollectionDto> for super::types::GarbageCollectionDto {
2241    fn from(v: crate::v2_6_0::types::GarbageCollectionDto) -> Self {
2242        Self {
2243            collection_count: v.collection_count,
2244            collection_millis: v.collection_millis,
2245            collection_time: v.collection_time,
2246            name: v.name,
2247        }
2248    }
2249}
2250
2251impl From<crate::v2_6_0::types::HistoryDto> for super::types::HistoryDto {
2252    fn from(v: crate::v2_6_0::types::HistoryDto) -> Self {
2253        Self {
2254            actions: v.actions.map(|v| v.into_iter().map(|v| v.into()).collect()),
2255            last_refreshed: v.last_refreshed,
2256            total: v.total,
2257        }
2258    }
2259}
2260
2261impl From<crate::v2_6_0::types::HistoryEntity> for super::types::HistoryEntity {
2262    fn from(v: crate::v2_6_0::types::HistoryEntity) -> Self {
2263        Self {
2264            history: Some(v.history.unwrap_or_default().into()),
2265        }
2266    }
2267}
2268
2269impl From<crate::v2_6_0::types::IncludedRegistries> for super::types::IncludedRegistries {
2270    fn from(v: crate::v2_6_0::types::IncludedRegistries) -> Self {
2271        let s = serde_json::to_string(&v).expect("serialize enum");
2272        serde_json::from_str(&s).expect("deserialize enum")
2273    }
2274}
2275
2276impl From<crate::v2_6_0::types::InputPortsEntity> for super::types::InputPortsEntity {
2277    fn from(v: crate::v2_6_0::types::InputPortsEntity) -> Self {
2278        Self {
2279            input_ports: v
2280                .input_ports
2281                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2282        }
2283    }
2284}
2285
2286impl From<crate::v2_6_0::types::IntegerParameter> for super::types::IntegerParameter {
2287    fn from(v: crate::v2_6_0::types::IntegerParameter) -> Self {
2288        Self { integer: v.integer }
2289    }
2290}
2291
2292impl From<crate::v2_6_0::types::JmxMetricsResultDto> for super::types::JmxMetricsResultDto {
2293    fn from(v: crate::v2_6_0::types::JmxMetricsResultDto) -> Self {
2294        Self {
2295            attribute_name: v.attribute_name,
2296            attribute_value: v.attribute_value.map(Into::into),
2297            bean_name: v.bean_name,
2298        }
2299    }
2300}
2301
2302impl From<crate::v2_6_0::types::JmxMetricsResultsEntity> for super::types::JmxMetricsResultsEntity {
2303    fn from(v: crate::v2_6_0::types::JmxMetricsResultsEntity) -> Self {
2304        Self {
2305            jmx_metrics_results: v
2306                .jmx_metrics_results
2307                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2308        }
2309    }
2310}
2311
2312impl From<crate::v2_6_0::types::LabelDto> for super::types::LabelDto {
2313    fn from(v: crate::v2_6_0::types::LabelDto) -> Self {
2314        Self {
2315            getz_index: v.getz_index,
2316            height: v.height,
2317            id: v.id,
2318            label: v.label,
2319            parent_group_id: v.parent_group_id,
2320            position: v.position.map(Into::into),
2321            style: v.style,
2322            versioned_component_id: v.versioned_component_id,
2323            width: v.width,
2324        }
2325    }
2326}
2327
2328impl From<crate::v2_6_0::types::LabelEntity> for super::types::LabelEntity {
2329    fn from(v: crate::v2_6_0::types::LabelEntity) -> Self {
2330        Self {
2331            bulletins: v
2332                .bulletins
2333                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2334            component: v.component.map(Into::into),
2335            dimensions: v.dimensions.map(Into::into),
2336            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
2337            getz_index: v.getz_index,
2338            id: v.id,
2339            permissions: v.permissions.map(Into::into),
2340            position: v.position.map(Into::into),
2341            revision: v.revision.map(Into::into),
2342            uri: v.uri,
2343        }
2344    }
2345}
2346
2347impl From<crate::v2_6_0::types::LabelsEntity> for super::types::LabelsEntity {
2348    fn from(v: crate::v2_6_0::types::LabelsEntity) -> Self {
2349        Self {
2350            labels: v.labels.map(|v| v.into_iter().map(|v| v.into()).collect()),
2351        }
2352    }
2353}
2354
2355impl From<crate::v2_6_0::types::LatestProvenanceEventsDto>
2356    for super::types::LatestProvenanceEventsDto
2357{
2358    fn from(v: crate::v2_6_0::types::LatestProvenanceEventsDto) -> Self {
2359        Self {
2360            component_id: v.component_id,
2361            provenance_events: v
2362                .provenance_events
2363                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2364        }
2365    }
2366}
2367
2368impl From<crate::v2_6_0::types::LatestProvenanceEventsEntity>
2369    for super::types::LatestProvenanceEventsEntity
2370{
2371    fn from(v: crate::v2_6_0::types::LatestProvenanceEventsEntity) -> Self {
2372        Self {
2373            latest_provenance_events: Some(v.latest_provenance_events.unwrap_or_default().into()),
2374        }
2375    }
2376}
2377
2378impl From<crate::v2_6_0::types::LineageDto> for super::types::LineageDto {
2379    fn from(v: crate::v2_6_0::types::LineageDto) -> Self {
2380        Self {
2381            expiration: v.expiration,
2382            finished: v.finished,
2383            id: v.id,
2384            percent_completed: v.percent_completed,
2385            request: v.request.map(Into::into),
2386            results: v.results.map(Into::into),
2387            submission_time: v.submission_time,
2388            uri: v.uri,
2389        }
2390    }
2391}
2392
2393impl From<crate::v2_6_0::types::LineageEntity> for super::types::LineageEntity {
2394    fn from(v: crate::v2_6_0::types::LineageEntity) -> Self {
2395        Self {
2396            lineage: Some(v.lineage.unwrap_or_default().into()),
2397        }
2398    }
2399}
2400
2401impl From<crate::v2_6_0::types::LineageRequestDto> for super::types::LineageRequestDto {
2402    fn from(v: crate::v2_6_0::types::LineageRequestDto) -> Self {
2403        Self {
2404            cluster_node_id: v.cluster_node_id,
2405            event_id: v.event_id,
2406            lineage_request_type: v.lineage_request_type.map(|v| {
2407                serde_json::to_value(&v)
2408                    .ok()
2409                    .and_then(|v| v.as_str().map(|s| s.to_string()))
2410                    .unwrap_or_default()
2411            }),
2412            uuid: v.uuid,
2413        }
2414    }
2415}
2416
2417impl From<crate::v2_6_0::types::LineageResultsDto> for super::types::LineageResultsDto {
2418    fn from(v: crate::v2_6_0::types::LineageResultsDto) -> Self {
2419        Self {
2420            errors: v.errors,
2421            links: v.links.map(|v| v.into_iter().map(|v| v.into()).collect()),
2422            nodes: v.nodes.map(|v| v.into_iter().map(|v| v.into()).collect()),
2423        }
2424    }
2425}
2426
2427impl From<crate::v2_6_0::types::ListingRequestDto> for super::types::ListingRequestDto {
2428    fn from(v: crate::v2_6_0::types::ListingRequestDto) -> Self {
2429        Self {
2430            destination_running: v.destination_running,
2431            failure_reason: v.failure_reason,
2432            finished: v.finished,
2433            flow_file_summaries: v
2434                .flow_file_summaries
2435                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2436            id: v.id,
2437            last_updated: v.last_updated,
2438            max_results: v.max_results,
2439            percent_completed: v.percent_completed,
2440            queue_size: v.queue_size.map(Into::into),
2441            source_running: v.source_running,
2442            state: v.state,
2443            submission_time: v.submission_time,
2444            uri: v.uri,
2445        }
2446    }
2447}
2448
2449impl From<crate::v2_6_0::types::ListingRequestEntity> for super::types::ListingRequestEntity {
2450    fn from(v: crate::v2_6_0::types::ListingRequestEntity) -> Self {
2451        Self {
2452            listing_request: Some(v.listing_request.unwrap_or_default().into()),
2453        }
2454    }
2455}
2456
2457impl From<crate::v2_6_0::types::LongParameter> for super::types::LongParameter {
2458    fn from(v: crate::v2_6_0::types::LongParameter) -> Self {
2459        Self { long: v.long }
2460    }
2461}
2462
2463impl From<crate::v2_6_0::types::MultiProcessorUseCase> for super::types::MultiProcessorUseCase {
2464    fn from(v: crate::v2_6_0::types::MultiProcessorUseCase) -> Self {
2465        Self {
2466            configurations: v
2467                .configurations
2468                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2469            description: v.description,
2470            keywords: v.keywords,
2471            notes: v.notes,
2472        }
2473    }
2474}
2475
2476impl From<crate::v2_6_0::types::NarCoordinateDto> for super::types::NarCoordinateDto {
2477    fn from(v: crate::v2_6_0::types::NarCoordinateDto) -> Self {
2478        Self {
2479            artifact: v.artifact,
2480            group: v.group,
2481            version: v.version,
2482        }
2483    }
2484}
2485
2486impl From<crate::v2_6_0::types::NarDetailsEntity> for super::types::NarDetailsEntity {
2487    fn from(v: crate::v2_6_0::types::NarDetailsEntity) -> Self {
2488        Self {
2489            controller_service_types: v
2490                .controller_service_types
2491                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2492            dependent_coordinates: v
2493                .dependent_coordinates
2494                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2495            flow_analysis_rule_types: v
2496                .flow_analysis_rule_types
2497                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2498            flow_registry_client_types: v
2499                .flow_registry_client_types
2500                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2501            nar_summary: v.nar_summary.map(Into::into),
2502            parameter_provider_types: v
2503                .parameter_provider_types
2504                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2505            processor_types: v
2506                .processor_types
2507                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2508            reporting_task_types: v
2509                .reporting_task_types
2510                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2511        }
2512    }
2513}
2514
2515impl From<crate::v2_6_0::types::NarSummariesEntity> for super::types::NarSummariesEntity {
2516    fn from(v: crate::v2_6_0::types::NarSummariesEntity) -> Self {
2517        Self {
2518            current_time: v.current_time,
2519            nar_summaries: v
2520                .nar_summaries
2521                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2522        }
2523    }
2524}
2525
2526impl From<crate::v2_6_0::types::NarSummaryDto> for super::types::NarSummaryDto {
2527    fn from(v: crate::v2_6_0::types::NarSummaryDto) -> Self {
2528        Self {
2529            build_time: v.build_time,
2530            coordinate: v.coordinate.map(Into::into),
2531            created_by: v.created_by,
2532            dependency_coordinate: v.dependency_coordinate.map(Into::into),
2533            digest: v.digest,
2534            extension_count: v.extension_count,
2535            failure_message: v.failure_message,
2536            identifier: v.identifier,
2537            install_complete: v.install_complete,
2538            source_identifier: v.source_identifier,
2539            source_type: v.source_type,
2540            state: v.state,
2541        }
2542    }
2543}
2544
2545impl From<crate::v2_6_0::types::NarSummaryEntity> for super::types::NarSummaryEntity {
2546    fn from(v: crate::v2_6_0::types::NarSummaryEntity) -> Self {
2547        Self {
2548            nar_summary: Some(v.nar_summary.unwrap_or_default().into()),
2549        }
2550    }
2551}
2552
2553impl From<crate::v2_6_0::types::NodeConnectionStatisticsSnapshotDto>
2554    for super::types::NodeConnectionStatisticsSnapshotDto
2555{
2556    fn from(v: crate::v2_6_0::types::NodeConnectionStatisticsSnapshotDto) -> Self {
2557        Self {
2558            address: v.address,
2559            api_port: v.api_port,
2560            node_id: v.node_id,
2561            statistics_snapshot: v.statistics_snapshot.map(Into::into),
2562        }
2563    }
2564}
2565
2566impl From<crate::v2_6_0::types::NodeConnectionStatusSnapshotDto>
2567    for super::types::NodeConnectionStatusSnapshotDto
2568{
2569    fn from(v: crate::v2_6_0::types::NodeConnectionStatusSnapshotDto) -> Self {
2570        Self {
2571            address: v.address,
2572            api_port: v.api_port,
2573            node_id: v.node_id,
2574            status_snapshot: v.status_snapshot.map(Into::into),
2575        }
2576    }
2577}
2578
2579impl From<crate::v2_6_0::types::NodeCountersSnapshotDto> for super::types::NodeCountersSnapshotDto {
2580    fn from(v: crate::v2_6_0::types::NodeCountersSnapshotDto) -> Self {
2581        Self {
2582            address: v.address,
2583            api_port: v.api_port,
2584            node_id: v.node_id,
2585            snapshot: v.snapshot.map(Into::into),
2586        }
2587    }
2588}
2589
2590impl From<crate::v2_6_0::types::NodeDto> for super::types::NodeDto {
2591    fn from(v: crate::v2_6_0::types::NodeDto) -> Self {
2592        Self {
2593            active_thread_count: v.active_thread_count,
2594            address: v.address,
2595            api_port: v.api_port,
2596            bytes_queued: v.bytes_queued,
2597            connection_requested: v.connection_requested,
2598            events: v.events.map(|v| v.into_iter().map(|v| v.into()).collect()),
2599            flow_file_bytes: v.flow_file_bytes,
2600            flow_files_queued: v.flow_files_queued,
2601            heartbeat: v.heartbeat,
2602            node_id: v.node_id,
2603            node_start_time: v.node_start_time,
2604            queued: v.queued,
2605            roles: v.roles,
2606            status: v.status,
2607        }
2608    }
2609}
2610
2611impl From<crate::v2_6_0::types::NodeEntity> for super::types::NodeEntity {
2612    fn from(v: crate::v2_6_0::types::NodeEntity) -> Self {
2613        Self {
2614            node: Some(v.node.unwrap_or_default().into()),
2615        }
2616    }
2617}
2618
2619impl From<crate::v2_6_0::types::NodeEventDto> for super::types::NodeEventDto {
2620    fn from(v: crate::v2_6_0::types::NodeEventDto) -> Self {
2621        Self {
2622            category: v.category,
2623            message: v.message,
2624            timestamp: v.timestamp,
2625        }
2626    }
2627}
2628
2629impl From<crate::v2_6_0::types::NodePortStatusSnapshotDto>
2630    for super::types::NodePortStatusSnapshotDto
2631{
2632    fn from(v: crate::v2_6_0::types::NodePortStatusSnapshotDto) -> Self {
2633        Self {
2634            address: v.address,
2635            api_port: v.api_port,
2636            node_id: v.node_id,
2637            status_snapshot: v.status_snapshot.map(Into::into),
2638        }
2639    }
2640}
2641
2642impl From<crate::v2_6_0::types::NodeProcessGroupStatusSnapshotDto>
2643    for super::types::NodeProcessGroupStatusSnapshotDto
2644{
2645    fn from(v: crate::v2_6_0::types::NodeProcessGroupStatusSnapshotDto) -> Self {
2646        Self {
2647            address: v.address,
2648            api_port: v.api_port,
2649            node_id: v.node_id,
2650            status_snapshot: v.status_snapshot.map(Into::into),
2651        }
2652    }
2653}
2654
2655impl From<crate::v2_6_0::types::NodeProcessorStatusSnapshotDto>
2656    for super::types::NodeProcessorStatusSnapshotDto
2657{
2658    fn from(v: crate::v2_6_0::types::NodeProcessorStatusSnapshotDto) -> Self {
2659        Self {
2660            address: v.address,
2661            api_port: v.api_port,
2662            node_id: v.node_id,
2663            status_snapshot: v.status_snapshot.map(Into::into),
2664        }
2665    }
2666}
2667
2668impl From<crate::v2_6_0::types::NodeRemoteProcessGroupStatusSnapshotDto>
2669    for super::types::NodeRemoteProcessGroupStatusSnapshotDto
2670{
2671    fn from(v: crate::v2_6_0::types::NodeRemoteProcessGroupStatusSnapshotDto) -> Self {
2672        Self {
2673            address: v.address,
2674            api_port: v.api_port,
2675            node_id: v.node_id,
2676            status_snapshot: v.status_snapshot.map(Into::into),
2677        }
2678    }
2679}
2680
2681impl From<crate::v2_6_0::types::NodeReplayLastEventSnapshotDto>
2682    for super::types::NodeReplayLastEventSnapshotDto
2683{
2684    fn from(v: crate::v2_6_0::types::NodeReplayLastEventSnapshotDto) -> Self {
2685        Self {
2686            address: v.address,
2687            api_port: v.api_port,
2688            node_id: v.node_id,
2689            snapshot: v.snapshot.map(Into::into),
2690        }
2691    }
2692}
2693
2694impl From<crate::v2_6_0::types::NodeSearchResultDto> for super::types::NodeSearchResultDto {
2695    fn from(v: crate::v2_6_0::types::NodeSearchResultDto) -> Self {
2696        Self {
2697            address: v.address,
2698            id: v.id,
2699        }
2700    }
2701}
2702
2703impl From<crate::v2_6_0::types::NodeStatusSnapshotsDto> for super::types::NodeStatusSnapshotsDto {
2704    fn from(v: crate::v2_6_0::types::NodeStatusSnapshotsDto) -> Self {
2705        Self {
2706            address: v.address,
2707            api_port: v.api_port,
2708            node_id: v.node_id,
2709            status_snapshots: v
2710                .status_snapshots
2711                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2712        }
2713    }
2714}
2715
2716impl From<crate::v2_6_0::types::NodeSystemDiagnosticsSnapshotDto>
2717    for super::types::NodeSystemDiagnosticsSnapshotDto
2718{
2719    fn from(v: crate::v2_6_0::types::NodeSystemDiagnosticsSnapshotDto) -> Self {
2720        Self {
2721            address: v.address,
2722            api_port: v.api_port,
2723            node_id: v.node_id,
2724            snapshot: v.snapshot.map(Into::into),
2725        }
2726    }
2727}
2728
2729impl From<crate::v2_6_0::types::OutputPortsEntity> for super::types::OutputPortsEntity {
2730    fn from(v: crate::v2_6_0::types::OutputPortsEntity) -> Self {
2731        Self {
2732            output_ports: v
2733                .output_ports
2734                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2735        }
2736    }
2737}
2738
2739impl From<crate::v2_6_0::types::ParameterContextDto> for super::types::ParameterContextDto {
2740    fn from(v: crate::v2_6_0::types::ParameterContextDto) -> Self {
2741        Self {
2742            bound_process_groups: v
2743                .bound_process_groups
2744                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2745            description: v.description,
2746            id: v.id,
2747            inherited_parameter_contexts: v
2748                .inherited_parameter_contexts
2749                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2750            name: v.name,
2751            parameter_provider_configuration: v.parameter_provider_configuration.map(Into::into),
2752            parameters: v
2753                .parameters
2754                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2755        }
2756    }
2757}
2758
2759impl From<crate::v2_6_0::types::ParameterContextEntity> for super::types::ParameterContextEntity {
2760    fn from(v: crate::v2_6_0::types::ParameterContextEntity) -> Self {
2761        Self {
2762            bulletins: v
2763                .bulletins
2764                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2765            component: v.component.map(Into::into),
2766            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
2767            id: v.id,
2768            permissions: v.permissions.map(Into::into),
2769            position: v.position.map(Into::into),
2770            revision: v.revision.map(Into::into),
2771            uri: v.uri,
2772        }
2773    }
2774}
2775
2776impl From<crate::v2_6_0::types::ParameterContextHandlingStrategy>
2777    for super::types::ParameterContextHandlingStrategy
2778{
2779    fn from(v: crate::v2_6_0::types::ParameterContextHandlingStrategy) -> Self {
2780        let s = serde_json::to_string(&v).expect("serialize enum");
2781        serde_json::from_str(&s).expect("deserialize enum")
2782    }
2783}
2784
2785impl From<crate::v2_6_0::types::ParameterContextReferenceDto>
2786    for super::types::ParameterContextReferenceDto
2787{
2788    fn from(v: crate::v2_6_0::types::ParameterContextReferenceDto) -> Self {
2789        Self {
2790            id: v.id,
2791            name: v.name,
2792        }
2793    }
2794}
2795
2796impl From<crate::v2_6_0::types::ParameterContextReferenceEntity>
2797    for super::types::ParameterContextReferenceEntity
2798{
2799    fn from(v: crate::v2_6_0::types::ParameterContextReferenceEntity) -> Self {
2800        Self {
2801            component: v.component.map(Into::into),
2802            id: v.id,
2803            permissions: v.permissions.map(Into::into),
2804        }
2805    }
2806}
2807
2808impl From<crate::v2_6_0::types::ParameterContextUpdateEntity>
2809    for super::types::ParameterContextUpdateEntity
2810{
2811    fn from(v: crate::v2_6_0::types::ParameterContextUpdateEntity) -> Self {
2812        Self {
2813            parameter_context: v.parameter_context.map(Into::into),
2814            parameter_context_revision: v.parameter_context_revision.map(Into::into),
2815            referencing_components: v
2816                .referencing_components
2817                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2818        }
2819    }
2820}
2821
2822impl From<crate::v2_6_0::types::ParameterContextUpdateRequestDto>
2823    for super::types::ParameterContextUpdateRequestDto
2824{
2825    fn from(v: crate::v2_6_0::types::ParameterContextUpdateRequestDto) -> Self {
2826        Self {
2827            complete: v.complete,
2828            failure_reason: v.failure_reason,
2829            last_updated: v.last_updated,
2830            parameter_context: v.parameter_context.map(Into::into),
2831            percent_completed: v.percent_completed,
2832            referencing_components: v
2833                .referencing_components
2834                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2835            request_id: v.request_id,
2836            state: v.state,
2837            submission_time: v.submission_time,
2838            update_steps: v
2839                .update_steps
2840                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2841            uri: v.uri,
2842        }
2843    }
2844}
2845
2846impl From<crate::v2_6_0::types::ParameterContextUpdateRequestEntity>
2847    for super::types::ParameterContextUpdateRequestEntity
2848{
2849    fn from(v: crate::v2_6_0::types::ParameterContextUpdateRequestEntity) -> Self {
2850        Self {
2851            parameter_context_revision: v.parameter_context_revision.map(Into::into),
2852            request: v.request.map(Into::into),
2853        }
2854    }
2855}
2856
2857impl From<crate::v2_6_0::types::ParameterContextUpdateStepDto>
2858    for super::types::ParameterContextUpdateStepDto
2859{
2860    fn from(v: crate::v2_6_0::types::ParameterContextUpdateStepDto) -> Self {
2861        Self {
2862            complete: v.complete,
2863            description: v.description,
2864            failure_reason: v.failure_reason,
2865        }
2866    }
2867}
2868
2869impl From<crate::v2_6_0::types::ParameterContextValidationRequestDto>
2870    for super::types::ParameterContextValidationRequestDto
2871{
2872    fn from(v: crate::v2_6_0::types::ParameterContextValidationRequestDto) -> Self {
2873        Self {
2874            complete: v.complete,
2875            component_validation_results: v.component_validation_results.map(Into::into),
2876            failure_reason: v.failure_reason,
2877            last_updated: v.last_updated,
2878            parameter_context: v.parameter_context.map(Into::into),
2879            percent_completed: v.percent_completed,
2880            request_id: v.request_id,
2881            state: v.state,
2882            submission_time: v.submission_time,
2883            update_steps: v
2884                .update_steps
2885                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2886            uri: v.uri,
2887        }
2888    }
2889}
2890
2891impl From<crate::v2_6_0::types::ParameterContextValidationRequestEntity>
2892    for super::types::ParameterContextValidationRequestEntity
2893{
2894    fn from(v: crate::v2_6_0::types::ParameterContextValidationRequestEntity) -> Self {
2895        Self {
2896            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
2897            request: v.request.map(Into::into),
2898        }
2899    }
2900}
2901
2902impl From<crate::v2_6_0::types::ParameterContextValidationStepDto>
2903    for super::types::ParameterContextValidationStepDto
2904{
2905    fn from(v: crate::v2_6_0::types::ParameterContextValidationStepDto) -> Self {
2906        Self {
2907            complete: v.complete,
2908            description: v.description,
2909            failure_reason: v.failure_reason,
2910        }
2911    }
2912}
2913
2914impl From<crate::v2_6_0::types::ParameterContextsEntity> for super::types::ParameterContextsEntity {
2915    fn from(v: crate::v2_6_0::types::ParameterContextsEntity) -> Self {
2916        Self {
2917            current_time: v.current_time,
2918            parameter_contexts: v
2919                .parameter_contexts
2920                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2921        }
2922    }
2923}
2924
2925impl From<crate::v2_6_0::types::ParameterDto> for super::types::ParameterDto {
2926    fn from(v: crate::v2_6_0::types::ParameterDto) -> Self {
2927        Self {
2928            description: v.description,
2929            inherited: v.inherited,
2930            name: v.name,
2931            parameter_context: v.parameter_context.map(Into::into),
2932            provided: v.provided,
2933            referenced_assets: v
2934                .referenced_assets
2935                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2936            referencing_components: v
2937                .referencing_components
2938                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2939            sensitive: v.sensitive,
2940            value: v.value,
2941            value_removed: v.value_removed,
2942        }
2943    }
2944}
2945
2946impl From<crate::v2_6_0::types::ParameterEntity> for super::types::ParameterEntity {
2947    fn from(v: crate::v2_6_0::types::ParameterEntity) -> Self {
2948        Self {
2949            can_write: v.can_write,
2950            parameter: v.parameter.map(Into::into),
2951        }
2952    }
2953}
2954
2955impl From<crate::v2_6_0::types::ParameterGroupConfigurationEntity>
2956    for super::types::ParameterGroupConfigurationEntity
2957{
2958    fn from(v: crate::v2_6_0::types::ParameterGroupConfigurationEntity) -> Self {
2959        Self {
2960            group_name: v.group_name,
2961            parameter_context_name: v.parameter_context_name,
2962            parameter_sensitivities: v.parameter_sensitivities.map(|m| {
2963                m.into_iter()
2964                    .map(|(k, v)| {
2965                        (
2966                            k,
2967                            v.map(|v| {
2968                                serde_json::to_value(&v)
2969                                    .ok()
2970                                    .and_then(|v| v.as_str().map(|s| s.to_string()))
2971                                    .unwrap_or_default()
2972                            }),
2973                        )
2974                    })
2975                    .collect()
2976            }),
2977            synchronized: v.synchronized,
2978        }
2979    }
2980}
2981
2982impl From<crate::v2_6_0::types::ParameterProviderApplyParametersRequestDto>
2983    for super::types::ParameterProviderApplyParametersRequestDto
2984{
2985    fn from(v: crate::v2_6_0::types::ParameterProviderApplyParametersRequestDto) -> Self {
2986        Self {
2987            complete: v.complete,
2988            failure_reason: v.failure_reason,
2989            last_updated: v.last_updated,
2990            parameter_context_updates: v
2991                .parameter_context_updates
2992                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2993            parameter_provider: v.parameter_provider.map(Into::into),
2994            percent_completed: v.percent_completed,
2995            referencing_components: v
2996                .referencing_components
2997                .map(|v| v.into_iter().map(|v| v.into()).collect()),
2998            request_id: v.request_id,
2999            state: v.state,
3000            submission_time: v.submission_time,
3001            update_steps: v
3002                .update_steps
3003                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3004            uri: v.uri,
3005        }
3006    }
3007}
3008
3009impl From<crate::v2_6_0::types::ParameterProviderApplyParametersRequestEntity>
3010    for super::types::ParameterProviderApplyParametersRequestEntity
3011{
3012    fn from(v: crate::v2_6_0::types::ParameterProviderApplyParametersRequestEntity) -> Self {
3013        Self {
3014            request: Some(v.request.unwrap_or_default().into()),
3015        }
3016    }
3017}
3018
3019impl From<crate::v2_6_0::types::ParameterProviderApplyParametersUpdateStepDto>
3020    for super::types::ParameterProviderApplyParametersUpdateStepDto
3021{
3022    fn from(v: crate::v2_6_0::types::ParameterProviderApplyParametersUpdateStepDto) -> Self {
3023        Self {
3024            complete: v.complete,
3025            description: v.description,
3026            failure_reason: v.failure_reason,
3027        }
3028    }
3029}
3030
3031impl From<crate::v2_6_0::types::ParameterProviderConfigurationDto>
3032    for super::types::ParameterProviderConfigurationDto
3033{
3034    fn from(v: crate::v2_6_0::types::ParameterProviderConfigurationDto) -> Self {
3035        Self {
3036            parameter_group_name: v.parameter_group_name,
3037            parameter_provider_id: v.parameter_provider_id,
3038            parameter_provider_name: v.parameter_provider_name,
3039            synchronized: v.synchronized,
3040        }
3041    }
3042}
3043
3044impl From<crate::v2_6_0::types::ParameterProviderConfigurationEntity>
3045    for super::types::ParameterProviderConfigurationEntity
3046{
3047    fn from(v: crate::v2_6_0::types::ParameterProviderConfigurationEntity) -> Self {
3048        Self {
3049            component: v.component.map(Into::into),
3050            id: v.id,
3051            permissions: v.permissions.map(Into::into),
3052        }
3053    }
3054}
3055
3056impl From<crate::v2_6_0::types::ParameterProviderDefinition>
3057    for super::types::ParameterProviderDefinition
3058{
3059    fn from(v: crate::v2_6_0::types::ParameterProviderDefinition) -> Self {
3060        Self {
3061            additional_details: v.additional_details,
3062            artifact: v.artifact,
3063            build_info: v.build_info.map(Into::into),
3064            deprecated: v.deprecated,
3065            deprecation_alternatives: v.deprecation_alternatives,
3066            deprecation_reason: v.deprecation_reason,
3067            dynamic_properties: v
3068                .dynamic_properties
3069                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3070            explicit_restrictions: v
3071                .explicit_restrictions
3072                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3073            group: v.group,
3074            property_descriptors: v
3075                .property_descriptors
3076                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
3077            provided_api_implementations: v
3078                .provided_api_implementations
3079                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3080            restricted: v.restricted,
3081            restricted_explanation: v.restricted_explanation,
3082            see_also: v.see_also,
3083            stateful: v.stateful.map(Into::into),
3084            supports_dynamic_properties: v.supports_dynamic_properties,
3085            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
3086            system_resource_considerations: v
3087                .system_resource_considerations
3088                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3089            tags: v.tags,
3090            r#type: v.r#type,
3091            type_description: v.type_description,
3092            version: v.version,
3093        }
3094    }
3095}
3096
3097impl From<crate::v2_6_0::types::ParameterProviderDto> for super::types::ParameterProviderDto {
3098    fn from(v: crate::v2_6_0::types::ParameterProviderDto) -> Self {
3099        Self {
3100            affected_components: v
3101                .affected_components
3102                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3103            annotation_data: v.annotation_data,
3104            bundle: v.bundle.map(Into::into),
3105            comments: v.comments,
3106            custom_ui_url: v.custom_ui_url,
3107            deprecated: v.deprecated,
3108            descriptors: v
3109                .descriptors
3110                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
3111            extension_missing: v.extension_missing,
3112            id: v.id,
3113            multiple_versions_available: v.multiple_versions_available,
3114            name: v.name,
3115            parameter_group_configurations: v
3116                .parameter_group_configurations
3117                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3118            parameter_status: v
3119                .parameter_status
3120                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3121            parent_group_id: v.parent_group_id,
3122            persists_state: v.persists_state,
3123            position: v.position.map(Into::into),
3124            properties: v.properties,
3125            referencing_parameter_contexts: v
3126                .referencing_parameter_contexts
3127                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3128            restricted: v.restricted,
3129            r#type: v.r#type,
3130            validation_errors: v.validation_errors,
3131            validation_status: v.validation_status.map(|v| {
3132                serde_json::to_value(&v)
3133                    .ok()
3134                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3135                    .unwrap_or_default()
3136            }),
3137            versioned_component_id: v.versioned_component_id,
3138        }
3139    }
3140}
3141
3142impl From<crate::v2_6_0::types::ParameterProviderEntity> for super::types::ParameterProviderEntity {
3143    fn from(v: crate::v2_6_0::types::ParameterProviderEntity) -> Self {
3144        Self {
3145            bulletins: v
3146                .bulletins
3147                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3148            component: v.component.map(Into::into),
3149            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
3150            id: v.id,
3151            permissions: v.permissions.map(Into::into),
3152            position: v.position.map(Into::into),
3153            revision: v.revision.map(Into::into),
3154            uri: v.uri,
3155        }
3156    }
3157}
3158
3159impl From<crate::v2_6_0::types::ParameterProviderParameterApplicationEntity>
3160    for super::types::ParameterProviderParameterApplicationEntity
3161{
3162    fn from(v: crate::v2_6_0::types::ParameterProviderParameterApplicationEntity) -> Self {
3163        Self {
3164            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
3165            id: v.id,
3166            parameter_group_configurations: v
3167                .parameter_group_configurations
3168                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3169            revision: v.revision.map(Into::into),
3170        }
3171    }
3172}
3173
3174impl From<crate::v2_6_0::types::ParameterProviderParameterFetchEntity>
3175    for super::types::ParameterProviderParameterFetchEntity
3176{
3177    fn from(v: crate::v2_6_0::types::ParameterProviderParameterFetchEntity) -> Self {
3178        Self {
3179            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
3180            id: v.id,
3181            revision: v.revision.map(Into::into),
3182        }
3183    }
3184}
3185
3186impl From<crate::v2_6_0::types::ParameterProviderReference>
3187    for super::types::ParameterProviderReference
3188{
3189    fn from(v: crate::v2_6_0::types::ParameterProviderReference) -> Self {
3190        Self {
3191            bundle: v.bundle.map(Into::into),
3192            identifier: v.identifier,
3193            name: v.name,
3194            r#type: v.r#type,
3195        }
3196    }
3197}
3198
3199impl From<crate::v2_6_0::types::ParameterProviderReferencingComponentDto>
3200    for super::types::ParameterProviderReferencingComponentDto
3201{
3202    fn from(v: crate::v2_6_0::types::ParameterProviderReferencingComponentDto) -> Self {
3203        Self {
3204            id: v.id,
3205            name: v.name,
3206        }
3207    }
3208}
3209
3210impl From<crate::v2_6_0::types::ParameterProviderReferencingComponentEntity>
3211    for super::types::ParameterProviderReferencingComponentEntity
3212{
3213    fn from(v: crate::v2_6_0::types::ParameterProviderReferencingComponentEntity) -> Self {
3214        Self {
3215            bulletins: v
3216                .bulletins
3217                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3218            component: v.component.map(Into::into),
3219            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
3220            id: v.id,
3221            permissions: v.permissions.map(Into::into),
3222            position: v.position.map(Into::into),
3223            revision: v.revision.map(Into::into),
3224            uri: v.uri,
3225        }
3226    }
3227}
3228
3229impl From<crate::v2_6_0::types::ParameterProviderReferencingComponentsEntity>
3230    for super::types::ParameterProviderReferencingComponentsEntity
3231{
3232    fn from(v: crate::v2_6_0::types::ParameterProviderReferencingComponentsEntity) -> Self {
3233        Self {
3234            parameter_provider_referencing_components: v
3235                .parameter_provider_referencing_components
3236                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3237        }
3238    }
3239}
3240
3241impl From<crate::v2_6_0::types::ParameterProviderTypesEntity>
3242    for super::types::ParameterProviderTypesEntity
3243{
3244    fn from(v: crate::v2_6_0::types::ParameterProviderTypesEntity) -> Self {
3245        Self {
3246            parameter_provider_types: v
3247                .parameter_provider_types
3248                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3249        }
3250    }
3251}
3252
3253impl From<crate::v2_6_0::types::ParameterProvidersEntity>
3254    for super::types::ParameterProvidersEntity
3255{
3256    fn from(v: crate::v2_6_0::types::ParameterProvidersEntity) -> Self {
3257        Self {
3258            current_time: v.current_time,
3259            parameter_providers: v
3260                .parameter_providers
3261                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3262        }
3263    }
3264}
3265
3266impl From<crate::v2_6_0::types::ParameterStatusDto> for super::types::ParameterStatusDto {
3267    fn from(v: crate::v2_6_0::types::ParameterStatusDto) -> Self {
3268        Self {
3269            parameter: v.parameter.map(Into::into),
3270            status: v.status.map(|v| {
3271                serde_json::to_value(&v)
3272                    .ok()
3273                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3274                    .unwrap_or_default()
3275            }),
3276        }
3277    }
3278}
3279
3280impl From<crate::v2_6_0::types::PasteRequestEntity> for super::types::PasteRequestEntity {
3281    fn from(v: crate::v2_6_0::types::PasteRequestEntity) -> Self {
3282        Self {
3283            copy_response: v.copy_response.map(Into::into),
3284            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
3285            revision: v.revision.map(Into::into),
3286        }
3287    }
3288}
3289
3290impl From<crate::v2_6_0::types::PasteResponseEntity> for super::types::PasteResponseEntity {
3291    fn from(v: crate::v2_6_0::types::PasteResponseEntity) -> Self {
3292        Self {
3293            flow: v.flow.map(Into::into),
3294            revision: v.revision.map(Into::into),
3295        }
3296    }
3297}
3298
3299impl From<crate::v2_6_0::types::PeerDto> for super::types::PeerDto {
3300    fn from(v: crate::v2_6_0::types::PeerDto) -> Self {
3301        Self {
3302            flow_file_count: v.flow_file_count,
3303            hostname: v.hostname,
3304            port: v.port,
3305            secure: v.secure,
3306        }
3307    }
3308}
3309
3310impl From<crate::v2_6_0::types::PeersEntity> for super::types::PeersEntity {
3311    fn from(v: crate::v2_6_0::types::PeersEntity) -> Self {
3312        Self {
3313            peers: v.peers.map(|v| v.into_iter().map(|v| v.into()).collect()),
3314        }
3315    }
3316}
3317
3318impl From<crate::v2_6_0::types::PermissionsDto> for super::types::PermissionsDto {
3319    fn from(v: crate::v2_6_0::types::PermissionsDto) -> Self {
3320        Self {
3321            can_read: v.can_read,
3322            can_write: v.can_write,
3323        }
3324    }
3325}
3326
3327impl From<crate::v2_6_0::types::PortDto> for super::types::PortDto {
3328    fn from(v: crate::v2_6_0::types::PortDto) -> Self {
3329        Self {
3330            allow_remote_access: v.allow_remote_access,
3331            comments: v.comments,
3332            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
3333            id: v.id,
3334            name: v.name,
3335            parent_group_id: v.parent_group_id,
3336            port_function: v.port_function.map(|v| {
3337                serde_json::to_value(&v)
3338                    .ok()
3339                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3340                    .unwrap_or_default()
3341            }),
3342            position: v.position.map(Into::into),
3343            state: v.state.map(|v| {
3344                serde_json::to_value(&v)
3345                    .ok()
3346                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3347                    .unwrap_or_default()
3348            }),
3349            transmitting: v.transmitting,
3350            r#type: v.r#type.map(|v| {
3351                serde_json::to_value(&v)
3352                    .ok()
3353                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3354                    .unwrap_or_default()
3355            }),
3356            validation_errors: v.validation_errors,
3357            versioned_component_id: v.versioned_component_id,
3358        }
3359    }
3360}
3361
3362impl From<crate::v2_6_0::types::PortEntity> for super::types::PortEntity {
3363    fn from(v: crate::v2_6_0::types::PortEntity) -> Self {
3364        Self {
3365            allow_remote_access: v.allow_remote_access,
3366            bulletins: v
3367                .bulletins
3368                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3369            component: v.component.map(Into::into),
3370            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
3371            id: v.id,
3372            operate_permissions: v.operate_permissions.map(Into::into),
3373            permissions: v.permissions.map(Into::into),
3374            port_type: v.port_type,
3375            position: v.position.map(Into::into),
3376            revision: v.revision.map(Into::into),
3377            status: v.status.map(Into::into),
3378            uri: v.uri,
3379        }
3380    }
3381}
3382
3383impl From<crate::v2_6_0::types::PortRunStatusEntity> for super::types::PortRunStatusEntity {
3384    fn from(v: crate::v2_6_0::types::PortRunStatusEntity) -> Self {
3385        Self {
3386            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
3387            revision: v.revision.map(Into::into),
3388            state: v.state.map(|v| {
3389                serde_json::to_value(&v)
3390                    .ok()
3391                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3392                    .unwrap_or_default()
3393            }),
3394        }
3395    }
3396}
3397
3398impl From<crate::v2_6_0::types::PortStatusDto> for super::types::PortStatusDto {
3399    fn from(v: crate::v2_6_0::types::PortStatusDto) -> Self {
3400        Self {
3401            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
3402            group_id: v.group_id,
3403            id: v.id,
3404            name: v.name,
3405            node_snapshots: v
3406                .node_snapshots
3407                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3408            run_status: v.run_status.map(|v| {
3409                serde_json::to_value(&v)
3410                    .ok()
3411                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3412                    .unwrap_or_default()
3413            }),
3414            stats_last_refreshed: v.stats_last_refreshed,
3415            transmitting: v.transmitting,
3416        }
3417    }
3418}
3419
3420impl From<crate::v2_6_0::types::PortStatusEntity> for super::types::PortStatusEntity {
3421    fn from(v: crate::v2_6_0::types::PortStatusEntity) -> Self {
3422        Self {
3423            can_read: v.can_read,
3424            port_status: v.port_status.map(Into::into),
3425        }
3426    }
3427}
3428
3429impl From<crate::v2_6_0::types::PortStatusSnapshotDto> for super::types::PortStatusSnapshotDto {
3430    fn from(v: crate::v2_6_0::types::PortStatusSnapshotDto) -> Self {
3431        Self {
3432            active_thread_count: v.active_thread_count,
3433            bytes_in: v.bytes_in,
3434            bytes_out: v.bytes_out,
3435            flow_files_in: v.flow_files_in,
3436            flow_files_out: v.flow_files_out,
3437            group_id: v.group_id,
3438            id: v.id,
3439            input: v.input,
3440            name: v.name,
3441            output: v.output,
3442            run_status: v.run_status.map(|v| {
3443                serde_json::to_value(&v)
3444                    .ok()
3445                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3446                    .unwrap_or_default()
3447            }),
3448            transmitting: v.transmitting,
3449        }
3450    }
3451}
3452
3453impl From<crate::v2_6_0::types::PortStatusSnapshotEntity>
3454    for super::types::PortStatusSnapshotEntity
3455{
3456    fn from(v: crate::v2_6_0::types::PortStatusSnapshotEntity) -> Self {
3457        Self {
3458            can_read: v.can_read,
3459            id: v.id,
3460            port_status_snapshot: v.port_status_snapshot.map(Into::into),
3461        }
3462    }
3463}
3464
3465impl From<crate::v2_6_0::types::Position> for super::types::Position {
3466    fn from(v: crate::v2_6_0::types::Position) -> Self {
3467        Self { x: v.x, y: v.y }
3468    }
3469}
3470
3471impl From<crate::v2_6_0::types::PositionDto> for super::types::PositionDto {
3472    fn from(v: crate::v2_6_0::types::PositionDto) -> Self {
3473        Self { x: v.x, y: v.y }
3474    }
3475}
3476
3477impl From<crate::v2_6_0::types::PreviousValueDto> for super::types::PreviousValueDto {
3478    fn from(v: crate::v2_6_0::types::PreviousValueDto) -> Self {
3479        Self {
3480            previous_value: v.previous_value,
3481            timestamp: v.timestamp,
3482            user_identity: v.user_identity,
3483        }
3484    }
3485}
3486
3487impl From<crate::v2_6_0::types::PrioritizerTypesEntity> for super::types::PrioritizerTypesEntity {
3488    fn from(v: crate::v2_6_0::types::PrioritizerTypesEntity) -> Self {
3489        Self {
3490            prioritizer_types: v
3491                .prioritizer_types
3492                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3493        }
3494    }
3495}
3496
3497impl From<crate::v2_6_0::types::ProcessGroupDto> for super::types::ProcessGroupDto {
3498    fn from(v: crate::v2_6_0::types::ProcessGroupDto) -> Self {
3499        Self {
3500            active_remote_port_count: v.active_remote_port_count,
3501            comments: v.comments,
3502            contents: v.contents.map(Into::into),
3503            default_back_pressure_data_size_threshold: v.default_back_pressure_data_size_threshold,
3504            default_back_pressure_object_threshold: v.default_back_pressure_object_threshold,
3505            default_flow_file_expiration: v.default_flow_file_expiration,
3506            disabled_count: v.disabled_count,
3507            execution_engine: v.execution_engine.map(|v| {
3508                serde_json::to_value(&v)
3509                    .ok()
3510                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3511                    .unwrap_or_default()
3512            }),
3513            flowfile_concurrency: v.flowfile_concurrency.map(|v| {
3514                serde_json::to_value(&v)
3515                    .ok()
3516                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3517                    .unwrap_or_default()
3518            }),
3519            flowfile_outbound_policy: v.flowfile_outbound_policy.map(|v| {
3520                serde_json::to_value(&v)
3521                    .ok()
3522                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3523                    .unwrap_or_default()
3524            }),
3525            id: v.id,
3526            inactive_remote_port_count: v.inactive_remote_port_count,
3527            input_port_count: v.input_port_count,
3528            invalid_count: v.invalid_count,
3529            local_input_port_count: v.local_input_port_count,
3530            local_output_port_count: v.local_output_port_count,
3531            locally_modified_and_stale_count: v.locally_modified_and_stale_count,
3532            locally_modified_count: v.locally_modified_count,
3533            log_file_suffix: v.log_file_suffix,
3534            max_concurrent_tasks: v.max_concurrent_tasks,
3535            name: v.name,
3536            output_port_count: v.output_port_count,
3537            parameter_context: v.parameter_context.map(Into::into),
3538            parent_group_id: v.parent_group_id,
3539            position: v.position.map(Into::into),
3540            public_input_port_count: v.public_input_port_count,
3541            public_output_port_count: v.public_output_port_count,
3542            running_count: v.running_count,
3543            stale_count: v.stale_count,
3544            stateless_flow_timeout: v.stateless_flow_timeout,
3545            stateless_group_scheduled_state: v.stateless_group_scheduled_state.map(|v| {
3546                serde_json::to_value(&v)
3547                    .ok()
3548                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3549                    .unwrap_or_default()
3550            }),
3551            stopped_count: v.stopped_count,
3552            sync_failure_count: v.sync_failure_count,
3553            up_to_date_count: v.up_to_date_count,
3554            version_control_information: v.version_control_information.map(Into::into),
3555            versioned_component_id: v.versioned_component_id,
3556        }
3557    }
3558}
3559
3560impl From<crate::v2_6_0::types::ProcessGroupEntity> for super::types::ProcessGroupEntity {
3561    fn from(v: crate::v2_6_0::types::ProcessGroupEntity) -> Self {
3562        Self {
3563            active_remote_port_count: v.active_remote_port_count,
3564            bulletins: v
3565                .bulletins
3566                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3567            component: v.component.map(Into::into),
3568            disabled_count: v.disabled_count,
3569            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
3570            id: v.id,
3571            inactive_remote_port_count: v.inactive_remote_port_count,
3572            input_port_count: v.input_port_count,
3573            invalid_count: v.invalid_count,
3574            local_input_port_count: v.local_input_port_count,
3575            local_output_port_count: v.local_output_port_count,
3576            locally_modified_and_stale_count: v.locally_modified_and_stale_count,
3577            locally_modified_count: v.locally_modified_count,
3578            output_port_count: v.output_port_count,
3579            parameter_context: v.parameter_context.map(Into::into),
3580            permissions: v.permissions.map(Into::into),
3581            position: v.position.map(Into::into),
3582            process_group_update_strategy: v.process_group_update_strategy.map(|v| {
3583                serde_json::to_value(&v)
3584                    .ok()
3585                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3586                    .unwrap_or_default()
3587            }),
3588            public_input_port_count: v.public_input_port_count,
3589            public_output_port_count: v.public_output_port_count,
3590            revision: v.revision.map(Into::into),
3591            running_count: v.running_count,
3592            stale_count: v.stale_count,
3593            status: v.status.map(Into::into),
3594            stopped_count: v.stopped_count,
3595            sync_failure_count: v.sync_failure_count,
3596            up_to_date_count: v.up_to_date_count,
3597            uri: v.uri,
3598            versioned_flow_snapshot: v.versioned_flow_snapshot.map(Into::into),
3599            versioned_flow_state: v.versioned_flow_state.map(|v| {
3600                serde_json::to_value(&v)
3601                    .ok()
3602                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3603                    .unwrap_or_default()
3604            }),
3605        }
3606    }
3607}
3608
3609impl From<crate::v2_6_0::types::ProcessGroupFlowDto> for super::types::ProcessGroupFlowDto {
3610    fn from(v: crate::v2_6_0::types::ProcessGroupFlowDto) -> Self {
3611        Self {
3612            breadcrumb: v.breadcrumb.map(Into::into),
3613            flow: v.flow.map(Into::into),
3614            id: v.id,
3615            last_refreshed: v.last_refreshed,
3616            parameter_context: v.parameter_context.map(Into::into),
3617            parent_group_id: v.parent_group_id,
3618            uri: v.uri,
3619        }
3620    }
3621}
3622
3623impl From<crate::v2_6_0::types::ProcessGroupFlowEntity> for super::types::ProcessGroupFlowEntity {
3624    fn from(v: crate::v2_6_0::types::ProcessGroupFlowEntity) -> Self {
3625        Self {
3626            permissions: v.permissions.map(Into::into),
3627            process_group_flow: v.process_group_flow.map(Into::into),
3628            revision: v.revision.map(Into::into),
3629        }
3630    }
3631}
3632
3633impl From<crate::v2_6_0::types::ProcessGroupImportEntity>
3634    for super::types::ProcessGroupImportEntity
3635{
3636    fn from(v: crate::v2_6_0::types::ProcessGroupImportEntity) -> Self {
3637        Self {
3638            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
3639            process_group_revision: v.process_group_revision.map(Into::into),
3640            versioned_flow_snapshot: v.versioned_flow_snapshot.map(Into::into),
3641        }
3642    }
3643}
3644
3645impl From<crate::v2_6_0::types::ProcessGroupNameDto> for super::types::ProcessGroupNameDto {
3646    fn from(v: crate::v2_6_0::types::ProcessGroupNameDto) -> Self {
3647        Self {
3648            id: v.id,
3649            name: v.name,
3650        }
3651    }
3652}
3653
3654impl From<crate::v2_6_0::types::ProcessGroupReplaceRequestDto>
3655    for super::types::ProcessGroupReplaceRequestDto
3656{
3657    fn from(v: crate::v2_6_0::types::ProcessGroupReplaceRequestDto) -> Self {
3658        Self {
3659            complete: v.complete,
3660            failure_reason: v.failure_reason,
3661            last_updated: v.last_updated,
3662            percent_completed: v.percent_completed,
3663            process_group_id: v.process_group_id,
3664            request_id: v.request_id,
3665            state: v.state,
3666            uri: v.uri,
3667        }
3668    }
3669}
3670
3671impl From<crate::v2_6_0::types::ProcessGroupReplaceRequestEntity>
3672    for super::types::ProcessGroupReplaceRequestEntity
3673{
3674    fn from(v: crate::v2_6_0::types::ProcessGroupReplaceRequestEntity) -> Self {
3675        Self {
3676            process_group_revision: v.process_group_revision.map(Into::into),
3677            request: v.request.map(Into::into),
3678            versioned_flow_snapshot: v.versioned_flow_snapshot.map(Into::into),
3679        }
3680    }
3681}
3682
3683impl From<crate::v2_6_0::types::ProcessGroupStatusDto> for super::types::ProcessGroupStatusDto {
3684    fn from(v: crate::v2_6_0::types::ProcessGroupStatusDto) -> Self {
3685        Self {
3686            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
3687            id: v.id,
3688            name: v.name,
3689            node_snapshots: v
3690                .node_snapshots
3691                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3692            stats_last_refreshed: v.stats_last_refreshed,
3693        }
3694    }
3695}
3696
3697impl From<crate::v2_6_0::types::ProcessGroupStatusEntity>
3698    for super::types::ProcessGroupStatusEntity
3699{
3700    fn from(v: crate::v2_6_0::types::ProcessGroupStatusEntity) -> Self {
3701        Self {
3702            can_read: v.can_read,
3703            process_group_status: v.process_group_status.map(Into::into),
3704        }
3705    }
3706}
3707
3708impl From<crate::v2_6_0::types::ProcessGroupStatusSnapshotDto>
3709    for super::types::ProcessGroupStatusSnapshotDto
3710{
3711    fn from(v: crate::v2_6_0::types::ProcessGroupStatusSnapshotDto) -> Self {
3712        Self {
3713            active_thread_count: v.active_thread_count,
3714            bytes_in: v.bytes_in,
3715            bytes_out: v.bytes_out,
3716            bytes_queued: v.bytes_queued,
3717            bytes_read: v.bytes_read,
3718            bytes_received: v.bytes_received,
3719            bytes_sent: v.bytes_sent,
3720            bytes_transferred: v.bytes_transferred,
3721            bytes_written: v.bytes_written,
3722            connection_status_snapshots: v
3723                .connection_status_snapshots
3724                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3725            flow_files_in: v.flow_files_in,
3726            flow_files_out: v.flow_files_out,
3727            flow_files_queued: v.flow_files_queued,
3728            flow_files_received: v.flow_files_received,
3729            flow_files_sent: v.flow_files_sent,
3730            flow_files_transferred: v.flow_files_transferred,
3731            id: v.id,
3732            input: v.input,
3733            input_port_status_snapshots: v
3734                .input_port_status_snapshots
3735                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3736            name: v.name,
3737            output: v.output,
3738            output_port_status_snapshots: v
3739                .output_port_status_snapshots
3740                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3741            process_group_status_snapshots: v
3742                .process_group_status_snapshots
3743                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3744            processing_nanos: v.processing_nanos,
3745            processing_performance_status: v.processing_performance_status.map(Into::into),
3746            processor_status_snapshots: v
3747                .processor_status_snapshots
3748                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3749            queued: v.queued,
3750            queued_count: v.queued_count,
3751            queued_size: v.queued_size,
3752            read: v.read,
3753            received: v.received,
3754            remote_process_group_status_snapshots: v
3755                .remote_process_group_status_snapshots
3756                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3757            sent: v.sent,
3758            stateless_active_thread_count: v.stateless_active_thread_count,
3759            terminated_thread_count: v.terminated_thread_count,
3760            transferred: v.transferred,
3761            versioned_flow_state: v.versioned_flow_state.map(|v| {
3762                serde_json::to_value(&v)
3763                    .ok()
3764                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3765                    .unwrap_or_default()
3766            }),
3767            written: v.written,
3768        }
3769    }
3770}
3771
3772impl From<crate::v2_6_0::types::ProcessGroupStatusSnapshotEntity>
3773    for super::types::ProcessGroupStatusSnapshotEntity
3774{
3775    fn from(v: crate::v2_6_0::types::ProcessGroupStatusSnapshotEntity) -> Self {
3776        Self {
3777            can_read: v.can_read,
3778            id: v.id,
3779            process_group_status_snapshot: v.process_group_status_snapshot.map(Into::into),
3780        }
3781    }
3782}
3783
3784impl From<crate::v2_6_0::types::ProcessGroupUploadEntity>
3785    for super::types::ProcessGroupUploadEntity
3786{
3787    fn from(v: crate::v2_6_0::types::ProcessGroupUploadEntity) -> Self {
3788        Self {
3789            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
3790            flow_snapshot: v.flow_snapshot.map(Into::into),
3791            group_id: v.group_id,
3792            group_name: v.group_name,
3793            position_d_t_o: v.position_d_t_o.map(Into::into),
3794            revision_d_t_o: v.revision_d_t_o.map(Into::into),
3795        }
3796    }
3797}
3798
3799impl From<crate::v2_6_0::types::ProcessGroupsEntity> for super::types::ProcessGroupsEntity {
3800    fn from(v: crate::v2_6_0::types::ProcessGroupsEntity) -> Self {
3801        Self {
3802            process_groups: v
3803                .process_groups
3804                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3805        }
3806    }
3807}
3808
3809impl From<crate::v2_6_0::types::ProcessingPerformanceStatusDto>
3810    for super::types::ProcessingPerformanceStatusDto
3811{
3812    fn from(v: crate::v2_6_0::types::ProcessingPerformanceStatusDto) -> Self {
3813        Self {
3814            content_read_duration: v.content_read_duration,
3815            content_write_duration: v.content_write_duration,
3816            cpu_duration: v.cpu_duration,
3817            garbage_collection_duration: v.garbage_collection_duration,
3818            identifier: v.identifier,
3819            session_commit_duration: v.session_commit_duration,
3820        }
3821    }
3822}
3823
3824impl From<crate::v2_6_0::types::ProcessorConfigDto> for super::types::ProcessorConfigDto {
3825    fn from(v: crate::v2_6_0::types::ProcessorConfigDto) -> Self {
3826        Self {
3827            annotation_data: v.annotation_data,
3828            auto_terminated_relationships: v.auto_terminated_relationships,
3829            backoff_mechanism: v.backoff_mechanism,
3830            bulletin_level: v.bulletin_level,
3831            comments: v.comments,
3832            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
3833            custom_ui_url: v.custom_ui_url,
3834            default_concurrent_tasks: v.default_concurrent_tasks,
3835            default_scheduling_period: v.default_scheduling_period,
3836            descriptors: v
3837                .descriptors
3838                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
3839            execution_node: v.execution_node,
3840            loss_tolerant: v.loss_tolerant,
3841            max_backoff_period: v.max_backoff_period,
3842            penalty_duration: v.penalty_duration,
3843            properties: v.properties,
3844            retried_relationships: v.retried_relationships,
3845            retry_count: v.retry_count,
3846            run_duration_millis: v.run_duration_millis,
3847            scheduling_period: v.scheduling_period,
3848            scheduling_strategy: v.scheduling_strategy,
3849            sensitive_dynamic_property_names: v.sensitive_dynamic_property_names,
3850            yield_duration: v.yield_duration,
3851        }
3852    }
3853}
3854
3855impl From<crate::v2_6_0::types::ProcessorConfiguration> for super::types::ProcessorConfiguration {
3856    fn from(v: crate::v2_6_0::types::ProcessorConfiguration) -> Self {
3857        Self {
3858            configuration: v.configuration,
3859            processor_class_name: v.processor_class_name,
3860        }
3861    }
3862}
3863
3864impl From<crate::v2_6_0::types::ProcessorDefinition> for super::types::ProcessorDefinition {
3865    fn from(v: crate::v2_6_0::types::ProcessorDefinition) -> Self {
3866        Self {
3867            additional_details: v.additional_details,
3868            artifact: v.artifact,
3869            build_info: v.build_info.map(Into::into),
3870            default_bulletin_level: v.default_bulletin_level,
3871            default_concurrent_tasks_by_scheduling_strategy: v
3872                .default_concurrent_tasks_by_scheduling_strategy,
3873            default_penalty_duration: v.default_penalty_duration,
3874            default_scheduling_period_by_scheduling_strategy: v
3875                .default_scheduling_period_by_scheduling_strategy,
3876            default_scheduling_strategy: v.default_scheduling_strategy,
3877            default_yield_duration: v.default_yield_duration,
3878            deprecated: v.deprecated,
3879            deprecation_alternatives: v.deprecation_alternatives,
3880            deprecation_reason: v.deprecation_reason,
3881            dynamic_properties: v
3882                .dynamic_properties
3883                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3884            dynamic_relationship: v.dynamic_relationship.map(Into::into),
3885            explicit_restrictions: v
3886                .explicit_restrictions
3887                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3888            group: v.group,
3889            input_requirement: v.input_requirement.map(|v| {
3890                serde_json::to_value(&v)
3891                    .ok()
3892                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3893                    .unwrap_or_default()
3894            }),
3895            multi_processor_use_cases: v
3896                .multi_processor_use_cases
3897                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3898            primary_node_only: v.primary_node_only,
3899            property_descriptors: v
3900                .property_descriptors
3901                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
3902            provided_api_implementations: v
3903                .provided_api_implementations
3904                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3905            reads_attributes: v
3906                .reads_attributes
3907                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3908            restricted: v.restricted,
3909            restricted_explanation: v.restricted_explanation,
3910            see_also: v.see_also,
3911            side_effect_free: v.side_effect_free,
3912            stateful: v.stateful.map(Into::into),
3913            supported_relationships: v
3914                .supported_relationships
3915                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3916            supported_scheduling_strategies: v.supported_scheduling_strategies,
3917            supports_batching: v.supports_batching,
3918            supports_dynamic_properties: v.supports_dynamic_properties,
3919            supports_dynamic_relationships: v.supports_dynamic_relationships,
3920            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
3921            system_resource_considerations: v
3922                .system_resource_considerations
3923                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3924            tags: v.tags,
3925            trigger_serially: v.trigger_serially,
3926            trigger_when_any_destination_available: v.trigger_when_any_destination_available,
3927            trigger_when_empty: v.trigger_when_empty,
3928            r#type: v.r#type,
3929            type_description: v.type_description,
3930            use_cases: v
3931                .use_cases
3932                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3933            version: v.version,
3934            writes_attributes: v
3935                .writes_attributes
3936                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3937        }
3938    }
3939}
3940
3941impl From<crate::v2_6_0::types::ProcessorDto> for super::types::ProcessorDto {
3942    fn from(v: crate::v2_6_0::types::ProcessorDto) -> Self {
3943        Self {
3944            bundle: v.bundle.map(Into::into),
3945            config: v.config.map(Into::into),
3946            deprecated: v.deprecated,
3947            description: v.description,
3948            execution_node_restricted: v.execution_node_restricted,
3949            extension_missing: v.extension_missing,
3950            id: v.id,
3951            input_requirement: v.input_requirement,
3952            multiple_versions_available: v.multiple_versions_available,
3953            name: v.name,
3954            parent_group_id: v.parent_group_id,
3955            persists_state: v.persists_state,
3956            physical_state: None,
3957            position: v.position.map(Into::into),
3958            relationships: v
3959                .relationships
3960                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3961            restricted: v.restricted,
3962            state: v.state.map(|v| {
3963                serde_json::to_value(&v)
3964                    .ok()
3965                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3966                    .unwrap_or_default()
3967            }),
3968            style: v.style,
3969            supports_batching: v.supports_batching,
3970            supports_parallel_processing: v.supports_parallel_processing,
3971            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
3972            r#type: v.r#type,
3973            validation_errors: v.validation_errors,
3974            validation_status: v.validation_status.map(|v| {
3975                serde_json::to_value(&v)
3976                    .ok()
3977                    .and_then(|v| v.as_str().map(|s| s.to_string()))
3978                    .unwrap_or_default()
3979            }),
3980            versioned_component_id: v.versioned_component_id,
3981        }
3982    }
3983}
3984
3985impl From<crate::v2_6_0::types::ProcessorEntity> for super::types::ProcessorEntity {
3986    fn from(v: crate::v2_6_0::types::ProcessorEntity) -> Self {
3987        Self {
3988            bulletins: v
3989                .bulletins
3990                .map(|v| v.into_iter().map(|v| v.into()).collect()),
3991            component: v.component.map(Into::into),
3992            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
3993            id: v.id,
3994            input_requirement: v.input_requirement,
3995            operate_permissions: v.operate_permissions.map(Into::into),
3996            permissions: v.permissions.map(Into::into),
3997            physical_state: None,
3998            position: v.position.map(Into::into),
3999            revision: v.revision.map(Into::into),
4000            status: v.status.map(Into::into),
4001            uri: v.uri,
4002        }
4003    }
4004}
4005
4006impl From<crate::v2_6_0::types::ProcessorRunStatusDetailsDto>
4007    for super::types::ProcessorRunStatusDetailsDto
4008{
4009    fn from(v: crate::v2_6_0::types::ProcessorRunStatusDetailsDto) -> Self {
4010        Self {
4011            active_thread_count: v.active_thread_count,
4012            id: v.id,
4013            name: v.name,
4014            run_status: v.run_status.map(|v| {
4015                serde_json::to_value(&v)
4016                    .ok()
4017                    .and_then(|v| v.as_str().map(|s| s.to_string()))
4018                    .unwrap_or_default()
4019            }),
4020            validation_errors: v.validation_errors,
4021        }
4022    }
4023}
4024
4025impl From<crate::v2_6_0::types::ProcessorRunStatusDetailsEntity>
4026    for super::types::ProcessorRunStatusDetailsEntity
4027{
4028    fn from(v: crate::v2_6_0::types::ProcessorRunStatusDetailsEntity) -> Self {
4029        Self {
4030            permissions: v.permissions.map(Into::into),
4031            revision: v.revision.map(Into::into),
4032            run_status_details: v.run_status_details.map(Into::into),
4033        }
4034    }
4035}
4036
4037impl From<crate::v2_6_0::types::ProcessorRunStatusEntity>
4038    for super::types::ProcessorRunStatusEntity
4039{
4040    fn from(v: crate::v2_6_0::types::ProcessorRunStatusEntity) -> Self {
4041        Self {
4042            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
4043            revision: v.revision.map(Into::into),
4044            state: v.state.map(|v| {
4045                serde_json::to_value(&v)
4046                    .ok()
4047                    .and_then(|v| v.as_str().map(|s| s.to_string()))
4048                    .unwrap_or_default()
4049            }),
4050        }
4051    }
4052}
4053
4054impl From<crate::v2_6_0::types::ProcessorStatusDto> for super::types::ProcessorStatusDto {
4055    fn from(v: crate::v2_6_0::types::ProcessorStatusDto) -> Self {
4056        Self {
4057            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
4058            group_id: v.group_id,
4059            id: v.id,
4060            name: v.name,
4061            node_snapshots: v
4062                .node_snapshots
4063                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4064            run_status: v.run_status.map(|v| {
4065                serde_json::to_value(&v)
4066                    .ok()
4067                    .and_then(|v| v.as_str().map(|s| s.to_string()))
4068                    .unwrap_or_default()
4069            }),
4070            stats_last_refreshed: v.stats_last_refreshed,
4071            r#type: v.r#type,
4072        }
4073    }
4074}
4075
4076impl From<crate::v2_6_0::types::ProcessorStatusEntity> for super::types::ProcessorStatusEntity {
4077    fn from(v: crate::v2_6_0::types::ProcessorStatusEntity) -> Self {
4078        Self {
4079            can_read: v.can_read,
4080            processor_status: v.processor_status.map(Into::into),
4081        }
4082    }
4083}
4084
4085impl From<crate::v2_6_0::types::ProcessorStatusSnapshotDto>
4086    for super::types::ProcessorStatusSnapshotDto
4087{
4088    fn from(v: crate::v2_6_0::types::ProcessorStatusSnapshotDto) -> Self {
4089        Self {
4090            active_thread_count: v.active_thread_count,
4091            bytes_in: v.bytes_in,
4092            bytes_out: v.bytes_out,
4093            bytes_read: v.bytes_read,
4094            bytes_written: v.bytes_written,
4095            execution_node: v.execution_node.map(|v| {
4096                serde_json::to_value(&v)
4097                    .ok()
4098                    .and_then(|v| v.as_str().map(|s| s.to_string()))
4099                    .unwrap_or_default()
4100            }),
4101            flow_files_in: v.flow_files_in,
4102            flow_files_out: v.flow_files_out,
4103            group_id: v.group_id,
4104            id: v.id,
4105            input: v.input,
4106            name: v.name,
4107            output: v.output,
4108            processing_performance_status: v.processing_performance_status.map(Into::into),
4109            read: v.read,
4110            run_status: v.run_status.map(|v| {
4111                serde_json::to_value(&v)
4112                    .ok()
4113                    .and_then(|v| v.as_str().map(|s| s.to_string()))
4114                    .unwrap_or_default()
4115            }),
4116            task_count: v.task_count,
4117            tasks: v.tasks,
4118            tasks_duration: v.tasks_duration,
4119            tasks_duration_nanos: v.tasks_duration_nanos,
4120            terminated_thread_count: v.terminated_thread_count,
4121            r#type: v.r#type,
4122            written: v.written,
4123        }
4124    }
4125}
4126
4127impl From<crate::v2_6_0::types::ProcessorStatusSnapshotEntity>
4128    for super::types::ProcessorStatusSnapshotEntity
4129{
4130    fn from(v: crate::v2_6_0::types::ProcessorStatusSnapshotEntity) -> Self {
4131        Self {
4132            can_read: v.can_read,
4133            id: v.id,
4134            processor_status_snapshot: v.processor_status_snapshot.map(Into::into),
4135        }
4136    }
4137}
4138
4139impl From<crate::v2_6_0::types::ProcessorTypesEntity> for super::types::ProcessorTypesEntity {
4140    fn from(v: crate::v2_6_0::types::ProcessorTypesEntity) -> Self {
4141        Self {
4142            processor_types: v
4143                .processor_types
4144                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4145        }
4146    }
4147}
4148
4149impl From<crate::v2_6_0::types::ProcessorsEntity> for super::types::ProcessorsEntity {
4150    fn from(v: crate::v2_6_0::types::ProcessorsEntity) -> Self {
4151        Self {
4152            processors: v
4153                .processors
4154                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4155        }
4156    }
4157}
4158
4159impl From<crate::v2_6_0::types::ProcessorsRunStatusDetailsEntity>
4160    for super::types::ProcessorsRunStatusDetailsEntity
4161{
4162    fn from(v: crate::v2_6_0::types::ProcessorsRunStatusDetailsEntity) -> Self {
4163        Self {
4164            run_status_details: v
4165                .run_status_details
4166                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4167        }
4168    }
4169}
4170
4171impl From<crate::v2_6_0::types::PropertyAllowableValue> for super::types::PropertyAllowableValue {
4172    fn from(v: crate::v2_6_0::types::PropertyAllowableValue) -> Self {
4173        Self {
4174            description: v.description,
4175            display_name: v.display_name,
4176            value: v.value,
4177        }
4178    }
4179}
4180
4181impl From<crate::v2_6_0::types::PropertyDependency> for super::types::PropertyDependency {
4182    fn from(v: crate::v2_6_0::types::PropertyDependency) -> Self {
4183        Self {
4184            dependent_values: v.dependent_values,
4185            property_display_name: v.property_display_name,
4186            property_name: v.property_name,
4187        }
4188    }
4189}
4190
4191impl From<crate::v2_6_0::types::PropertyDependencyDto> for super::types::PropertyDependencyDto {
4192    fn from(v: crate::v2_6_0::types::PropertyDependencyDto) -> Self {
4193        Self {
4194            dependent_values: v.dependent_values,
4195            property_name: v.property_name,
4196        }
4197    }
4198}
4199
4200impl From<crate::v2_6_0::types::PropertyDescriptor> for super::types::PropertyDescriptor {
4201    fn from(v: crate::v2_6_0::types::PropertyDescriptor) -> Self {
4202        Self {
4203            allowable_values: v
4204                .allowable_values
4205                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4206            default_value: v.default_value,
4207            dependencies: v
4208                .dependencies
4209                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4210            description: v.description,
4211            display_name: v.display_name,
4212            dynamic: v.dynamic,
4213            expression_language_scope: v.expression_language_scope.map(|v| {
4214                serde_json::to_value(&v)
4215                    .ok()
4216                    .and_then(|v| v.as_str().map(|s| s.to_string()))
4217                    .unwrap_or_default()
4218            }),
4219            expression_language_scope_description: v.expression_language_scope_description,
4220            listen_port_definition: None,
4221            name: v.name,
4222            required: v.required,
4223            resource_definition: v.resource_definition.map(Into::into),
4224            sensitive: v.sensitive,
4225            type_provided_by_value: v.type_provided_by_value.map(Into::into),
4226            valid_regex: v.valid_regex,
4227            validator: v.validator,
4228        }
4229    }
4230}
4231
4232impl From<crate::v2_6_0::types::PropertyDescriptorDto> for super::types::PropertyDescriptorDto {
4233    fn from(v: crate::v2_6_0::types::PropertyDescriptorDto) -> Self {
4234        Self {
4235            allowable_values: v
4236                .allowable_values
4237                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4238            default_value: v.default_value,
4239            dependencies: v
4240                .dependencies
4241                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4242            description: v.description,
4243            display_name: v.display_name,
4244            dynamic: v.dynamic,
4245            expression_language_scope: v.expression_language_scope,
4246            identifies_controller_service: v.identifies_controller_service,
4247            identifies_controller_service_bundle: v
4248                .identifies_controller_service_bundle
4249                .map(Into::into),
4250            name: v.name,
4251            required: v.required,
4252            sensitive: v.sensitive,
4253            supports_el: v.supports_el,
4254        }
4255    }
4256}
4257
4258impl From<crate::v2_6_0::types::PropertyDescriptorEntity>
4259    for super::types::PropertyDescriptorEntity
4260{
4261    fn from(v: crate::v2_6_0::types::PropertyDescriptorEntity) -> Self {
4262        Self {
4263            property_descriptor: Some(v.property_descriptor.unwrap_or_default().into()),
4264        }
4265    }
4266}
4267
4268impl From<crate::v2_6_0::types::PropertyHistoryDto> for super::types::PropertyHistoryDto {
4269    fn from(v: crate::v2_6_0::types::PropertyHistoryDto) -> Self {
4270        Self {
4271            previous_values: v
4272                .previous_values
4273                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4274        }
4275    }
4276}
4277
4278impl From<crate::v2_6_0::types::PropertyResourceDefinition>
4279    for super::types::PropertyResourceDefinition
4280{
4281    fn from(v: crate::v2_6_0::types::PropertyResourceDefinition) -> Self {
4282        Self {
4283            cardinality: v.cardinality.map(|v| {
4284                serde_json::to_value(&v)
4285                    .ok()
4286                    .and_then(|v| v.as_str().map(|s| s.to_string()))
4287                    .unwrap_or_default()
4288            }),
4289            resource_types: v.resource_types.map(|v| {
4290                v.into_iter()
4291                    .map(|v| {
4292                        serde_json::to_value(&v)
4293                            .ok()
4294                            .and_then(|v| v.as_str().map(|s| s.to_string()))
4295                            .unwrap_or_default()
4296                    })
4297                    .collect()
4298            }),
4299        }
4300    }
4301}
4302
4303impl From<crate::v2_6_0::types::ProvenanceDto> for super::types::ProvenanceDto {
4304    fn from(v: crate::v2_6_0::types::ProvenanceDto) -> Self {
4305        Self {
4306            expiration: v.expiration,
4307            finished: v.finished,
4308            id: v.id,
4309            percent_completed: v.percent_completed,
4310            request: v.request.map(Into::into),
4311            results: v.results.map(Into::into),
4312            submission_time: v.submission_time,
4313            uri: v.uri,
4314        }
4315    }
4316}
4317
4318impl From<crate::v2_6_0::types::ProvenanceEntity> for super::types::ProvenanceEntity {
4319    fn from(v: crate::v2_6_0::types::ProvenanceEntity) -> Self {
4320        Self {
4321            provenance: Some(v.provenance.unwrap_or_default().into()),
4322        }
4323    }
4324}
4325
4326impl From<crate::v2_6_0::types::ProvenanceEventDto> for super::types::ProvenanceEventDto {
4327    fn from(v: crate::v2_6_0::types::ProvenanceEventDto) -> Self {
4328        Self {
4329            alternate_identifier_uri: v.alternate_identifier_uri,
4330            attributes: v
4331                .attributes
4332                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4333            child_uuids: v.child_uuids,
4334            cluster_node_address: v.cluster_node_address,
4335            cluster_node_id: v.cluster_node_id,
4336            component_id: v.component_id,
4337            component_name: v.component_name,
4338            component_type: v.component_type,
4339            content_equal: v.content_equal,
4340            details: v.details,
4341            event_duration: v.event_duration,
4342            event_id: v.event_id,
4343            event_time: v.event_time,
4344            event_timestamp: None,
4345            event_type: v.event_type,
4346            file_size: v.file_size,
4347            file_size_bytes: v.file_size_bytes,
4348            flow_file_uuid: v.flow_file_uuid,
4349            group_id: v.group_id,
4350            id: v.id,
4351            input_content_available: v.input_content_available,
4352            input_content_claim_container: v.input_content_claim_container,
4353            input_content_claim_file_size: v.input_content_claim_file_size,
4354            input_content_claim_file_size_bytes: v.input_content_claim_file_size_bytes,
4355            input_content_claim_identifier: v.input_content_claim_identifier,
4356            input_content_claim_offset: v.input_content_claim_offset,
4357            input_content_claim_section: v.input_content_claim_section,
4358            lineage_duration: v.lineage_duration,
4359            output_content_available: v.output_content_available,
4360            output_content_claim_container: v.output_content_claim_container,
4361            output_content_claim_file_size: v.output_content_claim_file_size,
4362            output_content_claim_file_size_bytes: v.output_content_claim_file_size_bytes,
4363            output_content_claim_identifier: v.output_content_claim_identifier,
4364            output_content_claim_offset: v.output_content_claim_offset,
4365            output_content_claim_section: v.output_content_claim_section,
4366            parent_uuids: v.parent_uuids,
4367            relationship: v.relationship,
4368            replay_available: v.replay_available,
4369            replay_explanation: v.replay_explanation,
4370            source_connection_identifier: v.source_connection_identifier,
4371            source_system_flow_file_id: v.source_system_flow_file_id,
4372            transit_uri: v.transit_uri,
4373        }
4374    }
4375}
4376
4377impl From<crate::v2_6_0::types::ProvenanceEventEntity> for super::types::ProvenanceEventEntity {
4378    fn from(v: crate::v2_6_0::types::ProvenanceEventEntity) -> Self {
4379        Self {
4380            provenance_event: Some(v.provenance_event.unwrap_or_default().into()),
4381        }
4382    }
4383}
4384
4385impl From<crate::v2_6_0::types::ProvenanceLinkDto> for super::types::ProvenanceLinkDto {
4386    fn from(v: crate::v2_6_0::types::ProvenanceLinkDto) -> Self {
4387        Self {
4388            flow_file_uuid: v.flow_file_uuid,
4389            millis: v.millis,
4390            source_id: v.source_id,
4391            target_id: v.target_id,
4392            timestamp: v.timestamp,
4393        }
4394    }
4395}
4396
4397impl From<crate::v2_6_0::types::ProvenanceNodeDto> for super::types::ProvenanceNodeDto {
4398    fn from(v: crate::v2_6_0::types::ProvenanceNodeDto) -> Self {
4399        Self {
4400            child_uuids: v.child_uuids,
4401            cluster_node_identifier: v.cluster_node_identifier,
4402            component_type: None,
4403            event_type: v.event_type,
4404            flow_file_uuid: v.flow_file_uuid,
4405            id: v.id,
4406            millis: v.millis,
4407            parent_uuids: v.parent_uuids,
4408            timestamp: v.timestamp,
4409            r#type: v.r#type.map(|v| {
4410                serde_json::to_value(&v)
4411                    .ok()
4412                    .and_then(|v| v.as_str().map(|s| s.to_string()))
4413                    .unwrap_or_default()
4414            }),
4415        }
4416    }
4417}
4418
4419impl From<crate::v2_6_0::types::ProvenanceOptionsDto> for super::types::ProvenanceOptionsDto {
4420    fn from(v: crate::v2_6_0::types::ProvenanceOptionsDto) -> Self {
4421        Self {
4422            searchable_fields: v
4423                .searchable_fields
4424                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4425        }
4426    }
4427}
4428
4429impl From<crate::v2_6_0::types::ProvenanceOptionsEntity> for super::types::ProvenanceOptionsEntity {
4430    fn from(v: crate::v2_6_0::types::ProvenanceOptionsEntity) -> Self {
4431        Self {
4432            provenance_options: Some(v.provenance_options.unwrap_or_default().into()),
4433        }
4434    }
4435}
4436
4437impl From<crate::v2_6_0::types::ProvenanceRequestDto> for super::types::ProvenanceRequestDto {
4438    fn from(v: crate::v2_6_0::types::ProvenanceRequestDto) -> Self {
4439        Self {
4440            cluster_node_id: v.cluster_node_id,
4441            end_date: v.end_date,
4442            incremental_results: v.incremental_results,
4443            max_results: v.max_results,
4444            maximum_file_size: v.maximum_file_size,
4445            minimum_file_size: v.minimum_file_size,
4446            search_terms: v
4447                .search_terms
4448                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
4449            start_date: v.start_date,
4450            summarize: v.summarize,
4451        }
4452    }
4453}
4454
4455impl From<crate::v2_6_0::types::ProvenanceResultsDto> for super::types::ProvenanceResultsDto {
4456    fn from(v: crate::v2_6_0::types::ProvenanceResultsDto) -> Self {
4457        Self {
4458            errors: v.errors,
4459            generated: v.generated,
4460            oldest_event: v.oldest_event,
4461            provenance_events: v
4462                .provenance_events
4463                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4464            time_offset: v.time_offset,
4465            total: v.total,
4466            total_count: v.total_count,
4467        }
4468    }
4469}
4470
4471impl From<crate::v2_6_0::types::ProvenanceSearchValueDto>
4472    for super::types::ProvenanceSearchValueDto
4473{
4474    fn from(v: crate::v2_6_0::types::ProvenanceSearchValueDto) -> Self {
4475        Self {
4476            inverse: v.inverse,
4477            value: v.value,
4478        }
4479    }
4480}
4481
4482impl From<crate::v2_6_0::types::ProvenanceSearchableFieldDto>
4483    for super::types::ProvenanceSearchableFieldDto
4484{
4485    fn from(v: crate::v2_6_0::types::ProvenanceSearchableFieldDto) -> Self {
4486        Self {
4487            field: v.field,
4488            id: v.id,
4489            label: v.label,
4490            r#type: v.r#type,
4491        }
4492    }
4493}
4494
4495impl From<crate::v2_6_0::types::QueueSizeDto> for super::types::QueueSizeDto {
4496    fn from(v: crate::v2_6_0::types::QueueSizeDto) -> Self {
4497        Self {
4498            byte_count: v.byte_count,
4499            object_count: v.object_count,
4500        }
4501    }
4502}
4503
4504impl From<crate::v2_6_0::types::RegisteredFlow> for super::types::RegisteredFlow {
4505    fn from(v: crate::v2_6_0::types::RegisteredFlow) -> Self {
4506        Self {
4507            branch: v.branch,
4508            bucket_identifier: v.bucket_identifier,
4509            bucket_name: v.bucket_name,
4510            created_timestamp: v.created_timestamp,
4511            description: v.description,
4512            identifier: v.identifier,
4513            last_modified_timestamp: v.last_modified_timestamp,
4514            name: v.name,
4515            permissions: v.permissions.map(Into::into),
4516            version_count: v.version_count,
4517            version_info: v.version_info.map(Into::into),
4518        }
4519    }
4520}
4521
4522impl From<crate::v2_6_0::types::RegisteredFlowSnapshot> for super::types::RegisteredFlowSnapshot {
4523    fn from(v: crate::v2_6_0::types::RegisteredFlowSnapshot) -> Self {
4524        Self {
4525            bucket: v.bucket.map(Into::into),
4526            external_controller_services: v
4527                .external_controller_services
4528                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
4529            flow: v.flow.map(Into::into),
4530            flow_contents: v.flow_contents.map(Into::into),
4531            flow_encoding_version: v.flow_encoding_version,
4532            latest: v.latest,
4533            parameter_contexts: v
4534                .parameter_contexts
4535                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
4536            parameter_providers: v
4537                .parameter_providers
4538                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
4539            snapshot_metadata: v.snapshot_metadata.map(Into::into),
4540        }
4541    }
4542}
4543
4544impl From<crate::v2_6_0::types::RegisteredFlowSnapshotMetadata>
4545    for super::types::RegisteredFlowSnapshotMetadata
4546{
4547    fn from(v: crate::v2_6_0::types::RegisteredFlowSnapshotMetadata) -> Self {
4548        Self {
4549            author: v.author,
4550            branch: v.branch,
4551            bucket_identifier: v.bucket_identifier,
4552            comments: v.comments,
4553            flow_identifier: v.flow_identifier,
4554            flow_name: v.flow_name,
4555            registry_identifier: v.registry_identifier,
4556            registry_name: v.registry_name,
4557            timestamp: v.timestamp,
4558            version: v.version,
4559        }
4560    }
4561}
4562
4563impl From<crate::v2_6_0::types::RegisteredFlowVersionInfo>
4564    for super::types::RegisteredFlowVersionInfo
4565{
4566    fn from(v: crate::v2_6_0::types::RegisteredFlowVersionInfo) -> Self {
4567        Self { version: v.version }
4568    }
4569}
4570
4571impl From<crate::v2_6_0::types::Relationship> for super::types::Relationship {
4572    fn from(v: crate::v2_6_0::types::Relationship) -> Self {
4573        Self {
4574            description: v.description,
4575            name: v.name,
4576        }
4577    }
4578}
4579
4580impl From<crate::v2_6_0::types::RelationshipDto> for super::types::RelationshipDto {
4581    fn from(v: crate::v2_6_0::types::RelationshipDto) -> Self {
4582        Self {
4583            auto_terminate: v.auto_terminate,
4584            description: v.description,
4585            name: v.name,
4586            retry: v.retry,
4587        }
4588    }
4589}
4590
4591impl From<crate::v2_6_0::types::RemotePortRunStatusEntity>
4592    for super::types::RemotePortRunStatusEntity
4593{
4594    fn from(v: crate::v2_6_0::types::RemotePortRunStatusEntity) -> Self {
4595        Self {
4596            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
4597            revision: v.revision.map(Into::into),
4598            state: v.state.map(|v| {
4599                serde_json::to_value(&v)
4600                    .ok()
4601                    .and_then(|v| v.as_str().map(|s| s.to_string()))
4602                    .unwrap_or_default()
4603            }),
4604        }
4605    }
4606}
4607
4608impl From<crate::v2_6_0::types::RemoteProcessGroupContentsDto>
4609    for super::types::RemoteProcessGroupContentsDto
4610{
4611    fn from(v: crate::v2_6_0::types::RemoteProcessGroupContentsDto) -> Self {
4612        Self {
4613            input_ports: v
4614                .input_ports
4615                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4616            output_ports: v
4617                .output_ports
4618                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4619        }
4620    }
4621}
4622
4623impl From<crate::v2_6_0::types::RemoteProcessGroupDto> for super::types::RemoteProcessGroupDto {
4624    fn from(v: crate::v2_6_0::types::RemoteProcessGroupDto) -> Self {
4625        Self {
4626            active_remote_input_port_count: v.active_remote_input_port_count,
4627            active_remote_output_port_count: v.active_remote_output_port_count,
4628            authorization_issues: v.authorization_issues,
4629            comments: v.comments,
4630            communications_timeout: v.communications_timeout,
4631            contents: v.contents.map(Into::into),
4632            flow_refreshed: v.flow_refreshed,
4633            id: v.id,
4634            inactive_remote_input_port_count: v.inactive_remote_input_port_count,
4635            inactive_remote_output_port_count: v.inactive_remote_output_port_count,
4636            input_port_count: v.input_port_count,
4637            local_network_interface: v.local_network_interface,
4638            name: v.name,
4639            output_port_count: v.output_port_count,
4640            parent_group_id: v.parent_group_id,
4641            position: v.position.map(Into::into),
4642            proxy_host: v.proxy_host,
4643            proxy_password: v.proxy_password,
4644            proxy_port: v.proxy_port,
4645            proxy_user: v.proxy_user,
4646            target_secure: v.target_secure,
4647            target_uri: v.target_uri,
4648            target_uris: v.target_uris,
4649            transmitting: v.transmitting,
4650            transport_protocol: v.transport_protocol,
4651            validation_errors: v.validation_errors,
4652            versioned_component_id: v.versioned_component_id,
4653            yield_duration: v.yield_duration,
4654        }
4655    }
4656}
4657
4658impl From<crate::v2_6_0::types::RemoteProcessGroupEntity>
4659    for super::types::RemoteProcessGroupEntity
4660{
4661    fn from(v: crate::v2_6_0::types::RemoteProcessGroupEntity) -> Self {
4662        Self {
4663            bulletins: v
4664                .bulletins
4665                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4666            component: v.component.map(Into::into),
4667            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
4668            id: v.id,
4669            input_port_count: v.input_port_count,
4670            operate_permissions: v.operate_permissions.map(Into::into),
4671            output_port_count: v.output_port_count,
4672            permissions: v.permissions.map(Into::into),
4673            position: v.position.map(Into::into),
4674            revision: v.revision.map(Into::into),
4675            status: v.status.map(Into::into),
4676            uri: v.uri,
4677        }
4678    }
4679}
4680
4681impl From<crate::v2_6_0::types::RemoteProcessGroupPortDto>
4682    for super::types::RemoteProcessGroupPortDto
4683{
4684    fn from(v: crate::v2_6_0::types::RemoteProcessGroupPortDto) -> Self {
4685        Self {
4686            batch_settings: v.batch_settings.map(Into::into),
4687            comments: v.comments,
4688            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
4689            connected: v.connected,
4690            exists: v.exists,
4691            group_id: v.group_id,
4692            id: v.id,
4693            name: v.name,
4694            target_id: v.target_id,
4695            target_running: v.target_running,
4696            transmitting: v.transmitting,
4697            use_compression: v.use_compression,
4698            versioned_component_id: v.versioned_component_id,
4699        }
4700    }
4701}
4702
4703impl From<crate::v2_6_0::types::RemoteProcessGroupPortEntity>
4704    for super::types::RemoteProcessGroupPortEntity
4705{
4706    fn from(v: crate::v2_6_0::types::RemoteProcessGroupPortEntity) -> Self {
4707        Self {
4708            bulletins: v
4709                .bulletins
4710                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4711            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
4712            id: v.id,
4713            operate_permissions: v.operate_permissions.map(Into::into),
4714            permissions: v.permissions.map(Into::into),
4715            position: v.position.map(Into::into),
4716            remote_process_group_port: v.remote_process_group_port.map(Into::into),
4717            revision: v.revision.map(Into::into),
4718            uri: v.uri,
4719        }
4720    }
4721}
4722
4723impl From<crate::v2_6_0::types::RemoteProcessGroupStatusDto>
4724    for super::types::RemoteProcessGroupStatusDto
4725{
4726    fn from(v: crate::v2_6_0::types::RemoteProcessGroupStatusDto) -> Self {
4727        Self {
4728            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
4729            group_id: v.group_id,
4730            id: v.id,
4731            name: v.name,
4732            node_snapshots: v
4733                .node_snapshots
4734                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4735            stats_last_refreshed: v.stats_last_refreshed,
4736            target_uri: v.target_uri,
4737            transmission_status: v.transmission_status,
4738            validation_status: v.validation_status.map(|v| {
4739                serde_json::to_value(&v)
4740                    .ok()
4741                    .and_then(|v| v.as_str().map(|s| s.to_string()))
4742                    .unwrap_or_default()
4743            }),
4744        }
4745    }
4746}
4747
4748impl From<crate::v2_6_0::types::RemoteProcessGroupStatusEntity>
4749    for super::types::RemoteProcessGroupStatusEntity
4750{
4751    fn from(v: crate::v2_6_0::types::RemoteProcessGroupStatusEntity) -> Self {
4752        Self {
4753            can_read: v.can_read,
4754            remote_process_group_status: v.remote_process_group_status.map(Into::into),
4755        }
4756    }
4757}
4758
4759impl From<crate::v2_6_0::types::RemoteProcessGroupStatusSnapshotDto>
4760    for super::types::RemoteProcessGroupStatusSnapshotDto
4761{
4762    fn from(v: crate::v2_6_0::types::RemoteProcessGroupStatusSnapshotDto) -> Self {
4763        Self {
4764            active_thread_count: v.active_thread_count,
4765            bytes_received: v.bytes_received,
4766            bytes_sent: v.bytes_sent,
4767            flow_files_received: v.flow_files_received,
4768            flow_files_sent: v.flow_files_sent,
4769            group_id: v.group_id,
4770            id: v.id,
4771            name: v.name,
4772            received: v.received,
4773            sent: v.sent,
4774            target_uri: v.target_uri,
4775            transmission_status: v.transmission_status,
4776        }
4777    }
4778}
4779
4780impl From<crate::v2_6_0::types::RemoteProcessGroupStatusSnapshotEntity>
4781    for super::types::RemoteProcessGroupStatusSnapshotEntity
4782{
4783    fn from(v: crate::v2_6_0::types::RemoteProcessGroupStatusSnapshotEntity) -> Self {
4784        Self {
4785            can_read: v.can_read,
4786            id: v.id,
4787            remote_process_group_status_snapshot: v
4788                .remote_process_group_status_snapshot
4789                .map(Into::into),
4790        }
4791    }
4792}
4793
4794impl From<crate::v2_6_0::types::RemoteProcessGroupsEntity>
4795    for super::types::RemoteProcessGroupsEntity
4796{
4797    fn from(v: crate::v2_6_0::types::RemoteProcessGroupsEntity) -> Self {
4798        Self {
4799            remote_process_groups: v
4800                .remote_process_groups
4801                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4802        }
4803    }
4804}
4805
4806impl From<crate::v2_6_0::types::ReplayLastEventRequestEntity>
4807    for super::types::ReplayLastEventRequestEntity
4808{
4809    fn from(v: crate::v2_6_0::types::ReplayLastEventRequestEntity) -> Self {
4810        Self {
4811            component_id: v.component_id,
4812            nodes: v.nodes.map(|v| {
4813                serde_json::to_value(&v)
4814                    .ok()
4815                    .and_then(|v| v.as_str().map(|s| s.to_string()))
4816                    .unwrap_or_default()
4817            }),
4818        }
4819    }
4820}
4821
4822impl From<crate::v2_6_0::types::ReplayLastEventResponseEntity>
4823    for super::types::ReplayLastEventResponseEntity
4824{
4825    fn from(v: crate::v2_6_0::types::ReplayLastEventResponseEntity) -> Self {
4826        Self {
4827            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
4828            component_id: v.component_id,
4829            node_snapshots: v
4830                .node_snapshots
4831                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4832            nodes: v.nodes.map(|v| {
4833                serde_json::to_value(&v)
4834                    .ok()
4835                    .and_then(|v| v.as_str().map(|s| s.to_string()))
4836                    .unwrap_or_default()
4837            }),
4838        }
4839    }
4840}
4841
4842impl From<crate::v2_6_0::types::ReplayLastEventSnapshotDto>
4843    for super::types::ReplayLastEventSnapshotDto
4844{
4845    fn from(v: crate::v2_6_0::types::ReplayLastEventSnapshotDto) -> Self {
4846        Self {
4847            event_available: v.event_available,
4848            events_replayed: v.events_replayed,
4849            failure_explanation: v.failure_explanation,
4850        }
4851    }
4852}
4853
4854impl From<crate::v2_6_0::types::ReportingTaskDefinition> for super::types::ReportingTaskDefinition {
4855    fn from(v: crate::v2_6_0::types::ReportingTaskDefinition) -> Self {
4856        Self {
4857            additional_details: v.additional_details,
4858            artifact: v.artifact,
4859            build_info: v.build_info.map(Into::into),
4860            default_scheduling_period_by_scheduling_strategy: v
4861                .default_scheduling_period_by_scheduling_strategy,
4862            default_scheduling_strategy: v.default_scheduling_strategy,
4863            deprecated: v.deprecated,
4864            deprecation_alternatives: v.deprecation_alternatives,
4865            deprecation_reason: v.deprecation_reason,
4866            dynamic_properties: v
4867                .dynamic_properties
4868                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4869            explicit_restrictions: v
4870                .explicit_restrictions
4871                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4872            group: v.group,
4873            property_descriptors: v
4874                .property_descriptors
4875                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
4876            provided_api_implementations: v
4877                .provided_api_implementations
4878                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4879            restricted: v.restricted,
4880            restricted_explanation: v.restricted_explanation,
4881            see_also: v.see_also,
4882            stateful: v.stateful.map(Into::into),
4883            supported_scheduling_strategies: v.supported_scheduling_strategies,
4884            supports_dynamic_properties: v.supports_dynamic_properties,
4885            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
4886            system_resource_considerations: v
4887                .system_resource_considerations
4888                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4889            tags: v.tags,
4890            r#type: v.r#type,
4891            type_description: v.type_description,
4892            version: v.version,
4893        }
4894    }
4895}
4896
4897impl From<crate::v2_6_0::types::ReportingTaskDto> for super::types::ReportingTaskDto {
4898    fn from(v: crate::v2_6_0::types::ReportingTaskDto) -> Self {
4899        Self {
4900            active_thread_count: v.active_thread_count,
4901            annotation_data: v.annotation_data,
4902            bundle: v.bundle.map(Into::into),
4903            comments: v.comments,
4904            custom_ui_url: v.custom_ui_url,
4905            default_scheduling_period: v.default_scheduling_period,
4906            deprecated: v.deprecated,
4907            descriptors: v
4908                .descriptors
4909                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
4910            extension_missing: v.extension_missing,
4911            id: v.id,
4912            multiple_versions_available: v.multiple_versions_available,
4913            name: v.name,
4914            parent_group_id: v.parent_group_id,
4915            persists_state: v.persists_state,
4916            position: v.position.map(Into::into),
4917            properties: v.properties,
4918            restricted: v.restricted,
4919            scheduling_period: v.scheduling_period,
4920            scheduling_strategy: v.scheduling_strategy,
4921            sensitive_dynamic_property_names: v.sensitive_dynamic_property_names,
4922            state: v.state.map(|v| {
4923                serde_json::to_value(&v)
4924                    .ok()
4925                    .and_then(|v| v.as_str().map(|s| s.to_string()))
4926                    .unwrap_or_default()
4927            }),
4928            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
4929            r#type: v.r#type,
4930            validation_errors: v.validation_errors,
4931            validation_status: v.validation_status.map(|v| {
4932                serde_json::to_value(&v)
4933                    .ok()
4934                    .and_then(|v| v.as_str().map(|s| s.to_string()))
4935                    .unwrap_or_default()
4936            }),
4937            versioned_component_id: v.versioned_component_id,
4938        }
4939    }
4940}
4941
4942impl From<crate::v2_6_0::types::ReportingTaskEntity> for super::types::ReportingTaskEntity {
4943    fn from(v: crate::v2_6_0::types::ReportingTaskEntity) -> Self {
4944        Self {
4945            bulletins: v
4946                .bulletins
4947                .map(|v| v.into_iter().map(|v| v.into()).collect()),
4948            component: v.component.map(Into::into),
4949            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
4950            id: v.id,
4951            operate_permissions: v.operate_permissions.map(Into::into),
4952            permissions: v.permissions.map(Into::into),
4953            position: v.position.map(Into::into),
4954            revision: v.revision.map(Into::into),
4955            status: v.status.map(Into::into),
4956            uri: v.uri,
4957        }
4958    }
4959}
4960
4961impl From<crate::v2_6_0::types::ReportingTaskRunStatusEntity>
4962    for super::types::ReportingTaskRunStatusEntity
4963{
4964    fn from(v: crate::v2_6_0::types::ReportingTaskRunStatusEntity) -> Self {
4965        Self {
4966            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
4967            revision: v.revision.map(Into::into),
4968            state: v.state.map(|v| {
4969                serde_json::to_value(&v)
4970                    .ok()
4971                    .and_then(|v| v.as_str().map(|s| s.to_string()))
4972                    .unwrap_or_default()
4973            }),
4974        }
4975    }
4976}
4977
4978impl From<crate::v2_6_0::types::ReportingTaskStatusDto> for super::types::ReportingTaskStatusDto {
4979    fn from(v: crate::v2_6_0::types::ReportingTaskStatusDto) -> Self {
4980        Self {
4981            active_thread_count: v.active_thread_count,
4982            run_status: v.run_status.map(|v| {
4983                serde_json::to_value(&v)
4984                    .ok()
4985                    .and_then(|v| v.as_str().map(|s| s.to_string()))
4986                    .unwrap_or_default()
4987            }),
4988            validation_status: v.validation_status.map(|v| {
4989                serde_json::to_value(&v)
4990                    .ok()
4991                    .and_then(|v| v.as_str().map(|s| s.to_string()))
4992                    .unwrap_or_default()
4993            }),
4994        }
4995    }
4996}
4997
4998impl From<crate::v2_6_0::types::ReportingTaskTypesEntity>
4999    for super::types::ReportingTaskTypesEntity
5000{
5001    fn from(v: crate::v2_6_0::types::ReportingTaskTypesEntity) -> Self {
5002        Self {
5003            reporting_task_types: v
5004                .reporting_task_types
5005                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5006        }
5007    }
5008}
5009
5010impl From<crate::v2_6_0::types::ReportingTasksEntity> for super::types::ReportingTasksEntity {
5011    fn from(v: crate::v2_6_0::types::ReportingTasksEntity) -> Self {
5012        Self {
5013            current_time: v.current_time,
5014            reporting_tasks: v
5015                .reporting_tasks
5016                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5017        }
5018    }
5019}
5020
5021impl From<crate::v2_6_0::types::RequiredPermissionDto> for super::types::RequiredPermissionDto {
5022    fn from(v: crate::v2_6_0::types::RequiredPermissionDto) -> Self {
5023        Self {
5024            id: v.id,
5025            label: v.label,
5026        }
5027    }
5028}
5029
5030impl From<crate::v2_6_0::types::ResourceClaimDetailsDto> for super::types::ResourceClaimDetailsDto {
5031    fn from(v: crate::v2_6_0::types::ResourceClaimDetailsDto) -> Self {
5032        Self {
5033            awaiting_destruction: v.awaiting_destruction,
5034            claimant_count: v.claimant_count,
5035            container: v.container,
5036            identifier: v.identifier,
5037            in_use: v.in_use,
5038            section: v.section,
5039            writable: v.writable,
5040        }
5041    }
5042}
5043
5044impl From<crate::v2_6_0::types::ResourceDto> for super::types::ResourceDto {
5045    fn from(v: crate::v2_6_0::types::ResourceDto) -> Self {
5046        Self {
5047            identifier: v.identifier,
5048            name: v.name,
5049        }
5050    }
5051}
5052
5053impl From<crate::v2_6_0::types::ResourcesEntity> for super::types::ResourcesEntity {
5054    fn from(v: crate::v2_6_0::types::ResourcesEntity) -> Self {
5055        Self {
5056            resources: v
5057                .resources
5058                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5059        }
5060    }
5061}
5062
5063impl From<crate::v2_6_0::types::Restriction> for super::types::Restriction {
5064    fn from(v: crate::v2_6_0::types::Restriction) -> Self {
5065        Self {
5066            explanation: v.explanation,
5067            required_permission: v.required_permission,
5068        }
5069    }
5070}
5071
5072impl From<crate::v2_6_0::types::RevisionDto> for super::types::RevisionDto {
5073    fn from(v: crate::v2_6_0::types::RevisionDto) -> Self {
5074        Self {
5075            client_id: v.client_id,
5076            last_modifier: v.last_modifier,
5077            version: v.version,
5078        }
5079    }
5080}
5081
5082impl From<crate::v2_6_0::types::RunStatusDetailsRequestEntity>
5083    for super::types::RunStatusDetailsRequestEntity
5084{
5085    fn from(v: crate::v2_6_0::types::RunStatusDetailsRequestEntity) -> Self {
5086        Self {
5087            processor_ids: v.processor_ids,
5088        }
5089    }
5090}
5091
5092impl From<crate::v2_6_0::types::RuntimeManifest> for super::types::RuntimeManifest {
5093    fn from(v: crate::v2_6_0::types::RuntimeManifest) -> Self {
5094        Self {
5095            agent_type: v.agent_type,
5096            build_info: v.build_info.map(Into::into),
5097            bundles: v.bundles.map(|v| v.into_iter().map(|v| v.into()).collect()),
5098            identifier: v.identifier,
5099            scheduling_defaults: v.scheduling_defaults.map(Into::into),
5100            version: v.version,
5101        }
5102    }
5103}
5104
5105impl From<crate::v2_6_0::types::RuntimeManifestEntity> for super::types::RuntimeManifestEntity {
5106    fn from(v: crate::v2_6_0::types::RuntimeManifestEntity) -> Self {
5107        Self {
5108            runtime_manifest: Some(v.runtime_manifest.unwrap_or_default().into()),
5109        }
5110    }
5111}
5112
5113impl From<crate::v2_6_0::types::ScheduleComponentsEntity>
5114    for super::types::ScheduleComponentsEntity
5115{
5116    fn from(v: crate::v2_6_0::types::ScheduleComponentsEntity) -> Self {
5117        Self {
5118            components: v
5119                .components
5120                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
5121            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
5122            id: v.id,
5123            state: v.state.map(|v| {
5124                serde_json::to_value(&v)
5125                    .ok()
5126                    .and_then(|v| v.as_str().map(|s| s.to_string()))
5127                    .unwrap_or_default()
5128            }),
5129        }
5130    }
5131}
5132
5133impl From<crate::v2_6_0::types::SchedulingDefaults> for super::types::SchedulingDefaults {
5134    fn from(v: crate::v2_6_0::types::SchedulingDefaults) -> Self {
5135        Self {
5136            default_concurrent_tasks_by_scheduling_strategy: v
5137                .default_concurrent_tasks_by_scheduling_strategy,
5138            default_max_concurrent_tasks: v.default_max_concurrent_tasks,
5139            default_run_duration_nanos: v.default_run_duration_nanos,
5140            default_scheduling_period_millis: v.default_scheduling_period_millis,
5141            default_scheduling_periods_by_scheduling_strategy: v
5142                .default_scheduling_periods_by_scheduling_strategy,
5143            default_scheduling_strategy: v.default_scheduling_strategy.map(|v| {
5144                serde_json::to_value(&v)
5145                    .ok()
5146                    .and_then(|v| v.as_str().map(|s| s.to_string()))
5147                    .unwrap_or_default()
5148            }),
5149            penalization_period_millis: v.penalization_period_millis,
5150            yield_duration_millis: v.yield_duration_millis,
5151        }
5152    }
5153}
5154
5155impl From<crate::v2_6_0::types::SearchResultGroupDto> for super::types::SearchResultGroupDto {
5156    fn from(v: crate::v2_6_0::types::SearchResultGroupDto) -> Self {
5157        Self {
5158            id: Some(v.id),
5159            name: v.name,
5160        }
5161    }
5162}
5163
5164impl From<crate::v2_6_0::types::SearchResultsDto> for super::types::SearchResultsDto {
5165    fn from(v: crate::v2_6_0::types::SearchResultsDto) -> Self {
5166        Self {
5167            connection_results: v
5168                .connection_results
5169                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5170            controller_service_node_results: v
5171                .controller_service_node_results
5172                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5173            funnel_results: v
5174                .funnel_results
5175                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5176            input_port_results: v
5177                .input_port_results
5178                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5179            label_results: v
5180                .label_results
5181                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5182            output_port_results: v
5183                .output_port_results
5184                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5185            parameter_context_results: v
5186                .parameter_context_results
5187                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5188            parameter_provider_node_results: v
5189                .parameter_provider_node_results
5190                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5191            parameter_results: v
5192                .parameter_results
5193                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5194            process_group_results: v
5195                .process_group_results
5196                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5197            processor_results: v
5198                .processor_results
5199                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5200            remote_process_group_results: v
5201                .remote_process_group_results
5202                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5203        }
5204    }
5205}
5206
5207impl From<crate::v2_6_0::types::SearchResultsEntity> for super::types::SearchResultsEntity {
5208    fn from(v: crate::v2_6_0::types::SearchResultsEntity) -> Self {
5209        Self {
5210            search_results_d_t_o: Some(v.search_results_d_t_o.unwrap_or_default().into()),
5211        }
5212    }
5213}
5214
5215impl From<crate::v2_6_0::types::SnippetDto> for super::types::SnippetDto {
5216    fn from(v: crate::v2_6_0::types::SnippetDto) -> Self {
5217        Self {
5218            connections: v
5219                .connections
5220                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
5221            funnels: v
5222                .funnels
5223                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
5224            id: v.id,
5225            input_ports: v
5226                .input_ports
5227                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
5228            labels: v
5229                .labels
5230                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
5231            output_ports: v
5232                .output_ports
5233                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
5234            parent_group_id: v.parent_group_id,
5235            process_groups: v
5236                .process_groups
5237                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
5238            processors: v
5239                .processors
5240                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
5241            remote_process_groups: v
5242                .remote_process_groups
5243                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
5244            uri: v.uri,
5245        }
5246    }
5247}
5248
5249impl From<crate::v2_6_0::types::SnippetEntity> for super::types::SnippetEntity {
5250    fn from(v: crate::v2_6_0::types::SnippetEntity) -> Self {
5251        Self {
5252            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
5253            snippet: v.snippet.map(Into::into),
5254        }
5255    }
5256}
5257
5258impl From<crate::v2_6_0::types::StartVersionControlRequestEntity>
5259    for super::types::StartVersionControlRequestEntity
5260{
5261    fn from(v: crate::v2_6_0::types::StartVersionControlRequestEntity) -> Self {
5262        Self {
5263            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
5264            process_group_revision: v.process_group_revision.map(Into::into),
5265            versioned_flow: v.versioned_flow.map(Into::into),
5266        }
5267    }
5268}
5269
5270impl From<crate::v2_6_0::types::StateEntryDto> for super::types::StateEntryDto {
5271    fn from(v: crate::v2_6_0::types::StateEntryDto) -> Self {
5272        Self {
5273            cluster_node_address: v.cluster_node_address,
5274            cluster_node_id: v.cluster_node_id,
5275            key: v.key,
5276            value: v.value,
5277        }
5278    }
5279}
5280
5281impl From<crate::v2_6_0::types::StateMapDto> for super::types::StateMapDto {
5282    fn from(v: crate::v2_6_0::types::StateMapDto) -> Self {
5283        Self {
5284            scope: v.scope,
5285            state: v.state.map(|v| v.into_iter().map(|v| v.into()).collect()),
5286            total_entry_count: v.total_entry_count,
5287        }
5288    }
5289}
5290
5291impl From<crate::v2_6_0::types::Stateful> for super::types::Stateful {
5292    fn from(v: crate::v2_6_0::types::Stateful) -> Self {
5293        Self {
5294            description: v.description,
5295            scopes: v.scopes.map(|v| {
5296                v.into_iter()
5297                    .map(|v| {
5298                        serde_json::to_value(&v)
5299                            .ok()
5300                            .and_then(|v| v.as_str().map(|s| s.to_string()))
5301                            .unwrap_or_default()
5302                    })
5303                    .collect()
5304            }),
5305        }
5306    }
5307}
5308
5309impl From<crate::v2_6_0::types::StatusDescriptorDto> for super::types::StatusDescriptorDto {
5310    fn from(v: crate::v2_6_0::types::StatusDescriptorDto) -> Self {
5311        Self {
5312            description: v.description,
5313            field: v.field,
5314            formatter: v.formatter,
5315            label: v.label,
5316        }
5317    }
5318}
5319
5320impl From<crate::v2_6_0::types::StatusHistoryDto> for super::types::StatusHistoryDto {
5321    fn from(v: crate::v2_6_0::types::StatusHistoryDto) -> Self {
5322        Self {
5323            aggregate_snapshots: v
5324                .aggregate_snapshots
5325                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5326            component_details: v.component_details,
5327            field_descriptors: v
5328                .field_descriptors
5329                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5330            generated: v.generated,
5331            node_snapshots: v
5332                .node_snapshots
5333                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5334        }
5335    }
5336}
5337
5338impl From<crate::v2_6_0::types::StatusHistoryEntity> for super::types::StatusHistoryEntity {
5339    fn from(v: crate::v2_6_0::types::StatusHistoryEntity) -> Self {
5340        Self {
5341            can_read: v.can_read,
5342            status_history: v.status_history.map(Into::into),
5343        }
5344    }
5345}
5346
5347impl From<crate::v2_6_0::types::StatusSnapshotDto> for super::types::StatusSnapshotDto {
5348    fn from(v: crate::v2_6_0::types::StatusSnapshotDto) -> Self {
5349        Self {
5350            status_metrics: v.status_metrics,
5351            timestamp: v.timestamp,
5352        }
5353    }
5354}
5355
5356impl From<crate::v2_6_0::types::StorageUsageDto> for super::types::StorageUsageDto {
5357    fn from(v: crate::v2_6_0::types::StorageUsageDto) -> Self {
5358        Self {
5359            free_space: v.free_space,
5360            free_space_bytes: v.free_space_bytes,
5361            identifier: v.identifier,
5362            total_space: v.total_space,
5363            total_space_bytes: v.total_space_bytes,
5364            used_space: v.used_space,
5365            used_space_bytes: v.used_space_bytes,
5366            utilization: v.utilization,
5367        }
5368    }
5369}
5370
5371impl From<crate::v2_6_0::types::StreamingOutput> for super::types::StreamingOutput {
5372    fn from(_v: crate::v2_6_0::types::StreamingOutput) -> Self {
5373        Self {}
5374    }
5375}
5376
5377impl From<crate::v2_6_0::types::SubmitReplayRequestEntity>
5378    for super::types::SubmitReplayRequestEntity
5379{
5380    fn from(v: crate::v2_6_0::types::SubmitReplayRequestEntity) -> Self {
5381        Self {
5382            cluster_node_id: v.cluster_node_id,
5383            event_id: v.event_id,
5384        }
5385    }
5386}
5387
5388impl From<crate::v2_6_0::types::SupportedMimeTypesDto> for super::types::SupportedMimeTypesDto {
5389    fn from(v: crate::v2_6_0::types::SupportedMimeTypesDto) -> Self {
5390        Self {
5391            display_name: v.display_name,
5392            mime_types: v.mime_types,
5393        }
5394    }
5395}
5396
5397impl From<crate::v2_6_0::types::SystemDiagnosticsDto> for super::types::SystemDiagnosticsDto {
5398    fn from(v: crate::v2_6_0::types::SystemDiagnosticsDto) -> Self {
5399        Self {
5400            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
5401            node_snapshots: v
5402                .node_snapshots
5403                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5404        }
5405    }
5406}
5407
5408impl From<crate::v2_6_0::types::SystemDiagnosticsEntity> for super::types::SystemDiagnosticsEntity {
5409    fn from(v: crate::v2_6_0::types::SystemDiagnosticsEntity) -> Self {
5410        Self {
5411            system_diagnostics: Some(v.system_diagnostics.unwrap_or_default().into()),
5412        }
5413    }
5414}
5415
5416impl From<crate::v2_6_0::types::SystemDiagnosticsSnapshotDto>
5417    for super::types::SystemDiagnosticsSnapshotDto
5418{
5419    fn from(v: crate::v2_6_0::types::SystemDiagnosticsSnapshotDto) -> Self {
5420        Self {
5421            available_processors: v.available_processors,
5422            content_repository_storage_usage: v
5423                .content_repository_storage_usage
5424                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5425            daemon_threads: v.daemon_threads,
5426            flow_file_repository_storage_usage: v
5427                .flow_file_repository_storage_usage
5428                .map(Into::into),
5429            free_heap: v.free_heap,
5430            free_heap_bytes: v.free_heap_bytes,
5431            free_non_heap: v.free_non_heap,
5432            free_non_heap_bytes: v.free_non_heap_bytes,
5433            garbage_collection: v
5434                .garbage_collection
5435                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5436            heap_utilization: v.heap_utilization,
5437            max_heap: v.max_heap,
5438            max_heap_bytes: v.max_heap_bytes,
5439            max_non_heap: v.max_non_heap,
5440            max_non_heap_bytes: v.max_non_heap_bytes,
5441            non_heap_utilization: v.non_heap_utilization,
5442            processor_load_average: v.processor_load_average,
5443            provenance_repository_storage_usage: v
5444                .provenance_repository_storage_usage
5445                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5446            resource_claim_details: v
5447                .resource_claim_details
5448                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5449            stats_last_refreshed: v.stats_last_refreshed,
5450            total_heap: v.total_heap,
5451            total_heap_bytes: v.total_heap_bytes,
5452            total_non_heap: v.total_non_heap,
5453            total_non_heap_bytes: v.total_non_heap_bytes,
5454            total_threads: v.total_threads,
5455            uptime: v.uptime,
5456            used_heap: v.used_heap,
5457            used_heap_bytes: v.used_heap_bytes,
5458            used_non_heap: v.used_non_heap,
5459            used_non_heap_bytes: v.used_non_heap_bytes,
5460            version_info: v.version_info.map(Into::into),
5461        }
5462    }
5463}
5464
5465impl From<crate::v2_6_0::types::SystemResourceConsideration>
5466    for super::types::SystemResourceConsideration
5467{
5468    fn from(v: crate::v2_6_0::types::SystemResourceConsideration) -> Self {
5469        Self {
5470            description: v.description,
5471            resource: v.resource,
5472        }
5473    }
5474}
5475
5476impl From<crate::v2_6_0::types::TenantDto> for super::types::TenantDto {
5477    fn from(v: crate::v2_6_0::types::TenantDto) -> Self {
5478        Self {
5479            configurable: v.configurable,
5480            id: v.id,
5481            identity: v.identity,
5482            parent_group_id: v.parent_group_id,
5483            position: v.position.map(Into::into),
5484            versioned_component_id: v.versioned_component_id,
5485        }
5486    }
5487}
5488
5489impl From<crate::v2_6_0::types::TenantEntity> for super::types::TenantEntity {
5490    fn from(v: crate::v2_6_0::types::TenantEntity) -> Self {
5491        Self {
5492            bulletins: v
5493                .bulletins
5494                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5495            component: v.component.map(Into::into),
5496            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
5497            id: v.id,
5498            permissions: v.permissions.map(Into::into),
5499            position: v.position.map(Into::into),
5500            revision: v.revision.map(Into::into),
5501            uri: v.uri,
5502        }
5503    }
5504}
5505
5506impl From<crate::v2_6_0::types::TenantsEntity> for super::types::TenantsEntity {
5507    fn from(v: crate::v2_6_0::types::TenantsEntity) -> Self {
5508        Self {
5509            user_groups: v
5510                .user_groups
5511                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5512            users: v.users.map(|v| v.into_iter().map(|v| v.into()).collect()),
5513        }
5514    }
5515}
5516
5517impl From<crate::v2_6_0::types::TransactionResultEntity> for super::types::TransactionResultEntity {
5518    fn from(v: crate::v2_6_0::types::TransactionResultEntity) -> Self {
5519        Self {
5520            flow_file_sent: v.flow_file_sent,
5521            message: v.message,
5522            response_code: v.response_code,
5523        }
5524    }
5525}
5526
5527impl From<crate::v2_6_0::types::UpdateControllerServiceReferenceRequestEntity>
5528    for super::types::UpdateControllerServiceReferenceRequestEntity
5529{
5530    fn from(v: crate::v2_6_0::types::UpdateControllerServiceReferenceRequestEntity) -> Self {
5531        Self {
5532            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
5533            id: v.id,
5534            referencing_component_revisions: v
5535                .referencing_component_revisions
5536                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
5537            state: v.state.map(|v| {
5538                serde_json::to_value(&v)
5539                    .ok()
5540                    .and_then(|v| v.as_str().map(|s| s.to_string()))
5541                    .unwrap_or_default()
5542            }),
5543            ui_only: v.ui_only,
5544        }
5545    }
5546}
5547
5548impl From<crate::v2_6_0::types::UseCase> for super::types::UseCase {
5549    fn from(v: crate::v2_6_0::types::UseCase) -> Self {
5550        Self {
5551            configuration: v.configuration,
5552            description: v.description,
5553            input_requirement: v.input_requirement.map(|v| {
5554                serde_json::to_value(&v)
5555                    .ok()
5556                    .and_then(|v| v.as_str().map(|s| s.to_string()))
5557                    .unwrap_or_default()
5558            }),
5559            keywords: v.keywords,
5560            notes: v.notes,
5561        }
5562    }
5563}
5564
5565impl From<crate::v2_6_0::types::UserDto> for super::types::UserDto {
5566    fn from(v: crate::v2_6_0::types::UserDto) -> Self {
5567        Self {
5568            access_policies: v
5569                .access_policies
5570                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5571            configurable: v.configurable,
5572            id: v.id,
5573            identity: v.identity,
5574            parent_group_id: v.parent_group_id,
5575            position: v.position.map(Into::into),
5576            user_groups: v
5577                .user_groups
5578                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5579            versioned_component_id: v.versioned_component_id,
5580        }
5581    }
5582}
5583
5584impl From<crate::v2_6_0::types::UserEntity> for super::types::UserEntity {
5585    fn from(v: crate::v2_6_0::types::UserEntity) -> Self {
5586        Self {
5587            bulletins: v
5588                .bulletins
5589                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5590            component: v.component.map(Into::into),
5591            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
5592            id: v.id,
5593            permissions: v.permissions.map(Into::into),
5594            position: v.position.map(Into::into),
5595            revision: v.revision.map(Into::into),
5596            uri: v.uri,
5597        }
5598    }
5599}
5600
5601impl From<crate::v2_6_0::types::UserGroupDto> for super::types::UserGroupDto {
5602    fn from(v: crate::v2_6_0::types::UserGroupDto) -> Self {
5603        Self {
5604            access_policies: v
5605                .access_policies
5606                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5607            configurable: v.configurable,
5608            id: v.id,
5609            identity: v.identity,
5610            parent_group_id: v.parent_group_id,
5611            position: v.position.map(Into::into),
5612            users: v.users.map(|v| v.into_iter().map(|v| v.into()).collect()),
5613            versioned_component_id: v.versioned_component_id,
5614        }
5615    }
5616}
5617
5618impl From<crate::v2_6_0::types::UserGroupEntity> for super::types::UserGroupEntity {
5619    fn from(v: crate::v2_6_0::types::UserGroupEntity) -> Self {
5620        Self {
5621            bulletins: v
5622                .bulletins
5623                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5624            component: v.component.map(Into::into),
5625            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
5626            id: v.id,
5627            permissions: v.permissions.map(Into::into),
5628            position: v.position.map(Into::into),
5629            revision: v.revision.map(Into::into),
5630            uri: v.uri,
5631        }
5632    }
5633}
5634
5635impl From<crate::v2_6_0::types::UserGroupsEntity> for super::types::UserGroupsEntity {
5636    fn from(v: crate::v2_6_0::types::UserGroupsEntity) -> Self {
5637        Self {
5638            user_groups: v
5639                .user_groups
5640                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5641        }
5642    }
5643}
5644
5645impl From<crate::v2_6_0::types::UsersEntity> for super::types::UsersEntity {
5646    fn from(v: crate::v2_6_0::types::UsersEntity) -> Self {
5647        Self {
5648            generated: v.generated,
5649            users: v.users.map(|v| v.into_iter().map(|v| v.into()).collect()),
5650        }
5651    }
5652}
5653
5654impl From<crate::v2_6_0::types::VerifyConfigRequestDto> for super::types::VerifyConfigRequestDto {
5655    fn from(v: crate::v2_6_0::types::VerifyConfigRequestDto) -> Self {
5656        Self {
5657            attributes: v.attributes,
5658            complete: v.complete,
5659            component_id: v.component_id,
5660            failure_reason: v.failure_reason,
5661            last_updated: v.last_updated,
5662            percent_completed: v.percent_completed,
5663            properties: v.properties,
5664            request_id: v.request_id,
5665            results: v.results.map(|v| v.into_iter().map(|v| v.into()).collect()),
5666            state: v.state,
5667            submission_time: v.submission_time,
5668            update_steps: v
5669                .update_steps
5670                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5671            uri: v.uri,
5672        }
5673    }
5674}
5675
5676impl From<crate::v2_6_0::types::VerifyConfigRequestEntity>
5677    for super::types::VerifyConfigRequestEntity
5678{
5679    fn from(v: crate::v2_6_0::types::VerifyConfigRequestEntity) -> Self {
5680        Self {
5681            request: Some(v.request.unwrap_or_default().into()),
5682        }
5683    }
5684}
5685
5686impl From<crate::v2_6_0::types::VerifyConfigUpdateStepDto>
5687    for super::types::VerifyConfigUpdateStepDto
5688{
5689    fn from(v: crate::v2_6_0::types::VerifyConfigUpdateStepDto) -> Self {
5690        Self {
5691            complete: v.complete,
5692            description: v.description,
5693            failure_reason: v.failure_reason,
5694        }
5695    }
5696}
5697
5698impl From<crate::v2_6_0::types::VersionControlComponentMappingEntity>
5699    for super::types::VersionControlComponentMappingEntity
5700{
5701    fn from(v: crate::v2_6_0::types::VersionControlComponentMappingEntity) -> Self {
5702        Self {
5703            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
5704            process_group_revision: v.process_group_revision.map(Into::into),
5705            version_control_component_mapping: v.version_control_component_mapping,
5706            version_control_information: v.version_control_information.map(Into::into),
5707        }
5708    }
5709}
5710
5711impl From<crate::v2_6_0::types::VersionControlInformationDto>
5712    for super::types::VersionControlInformationDto
5713{
5714    fn from(v: crate::v2_6_0::types::VersionControlInformationDto) -> Self {
5715        Self {
5716            branch: v.branch,
5717            bucket_id: v.bucket_id,
5718            bucket_name: v.bucket_name,
5719            flow_description: v.flow_description,
5720            flow_id: v.flow_id,
5721            flow_name: v.flow_name,
5722            group_id: v.group_id,
5723            registry_id: v.registry_id,
5724            registry_name: v.registry_name,
5725            state: v.state.map(|v| {
5726                serde_json::to_value(&v)
5727                    .ok()
5728                    .and_then(|v| v.as_str().map(|s| s.to_string()))
5729                    .unwrap_or_default()
5730            }),
5731            state_explanation: v.state_explanation,
5732            storage_location: v.storage_location,
5733            version: v.version,
5734        }
5735    }
5736}
5737
5738impl From<crate::v2_6_0::types::VersionControlInformationEntity>
5739    for super::types::VersionControlInformationEntity
5740{
5741    fn from(v: crate::v2_6_0::types::VersionControlInformationEntity) -> Self {
5742        Self {
5743            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
5744            process_group_revision: v.process_group_revision.map(Into::into),
5745            version_control_information: v.version_control_information.map(Into::into),
5746        }
5747    }
5748}
5749
5750impl From<crate::v2_6_0::types::VersionInfoDto> for super::types::VersionInfoDto {
5751    fn from(v: crate::v2_6_0::types::VersionInfoDto) -> Self {
5752        Self {
5753            build_branch: v.build_branch,
5754            build_revision: v.build_revision,
5755            build_tag: v.build_tag,
5756            build_timestamp: v.build_timestamp,
5757            java_vendor: v.java_vendor,
5758            java_version: v.java_version,
5759            ni_fi_version: v.ni_fi_version,
5760            os_architecture: v.os_architecture,
5761            os_name: v.os_name,
5762            os_version: v.os_version,
5763        }
5764    }
5765}
5766
5767impl From<crate::v2_6_0::types::VersionedAsset> for super::types::VersionedAsset {
5768    fn from(v: crate::v2_6_0::types::VersionedAsset) -> Self {
5769        Self {
5770            identifier: v.identifier,
5771            name: v.name,
5772        }
5773    }
5774}
5775
5776impl From<crate::v2_6_0::types::VersionedConnection> for super::types::VersionedConnection {
5777    fn from(v: crate::v2_6_0::types::VersionedConnection) -> Self {
5778        Self {
5779            back_pressure_data_size_threshold: v.back_pressure_data_size_threshold,
5780            back_pressure_object_threshold: v.back_pressure_object_threshold,
5781            bends: v.bends.map(|v| v.into_iter().map(|v| v.into()).collect()),
5782            comments: v.comments,
5783            component_type: v.component_type.map(|v| {
5784                serde_json::to_value(&v)
5785                    .ok()
5786                    .and_then(|v| v.as_str().map(|s| s.to_string()))
5787                    .unwrap_or_default()
5788            }),
5789            destination: v.destination.map(Into::into),
5790            flow_file_expiration: v.flow_file_expiration,
5791            group_identifier: v.group_identifier,
5792            identifier: v.identifier,
5793            instance_identifier: v.instance_identifier,
5794            label_index: v.label_index,
5795            load_balance_compression: v.load_balance_compression,
5796            load_balance_strategy: v.load_balance_strategy,
5797            name: v.name,
5798            partitioning_attribute: v.partitioning_attribute,
5799            position: v.position.map(Into::into),
5800            prioritizers: v.prioritizers,
5801            selected_relationships: v.selected_relationships,
5802            source: v.source.map(Into::into),
5803            z_index: v.z_index,
5804        }
5805    }
5806}
5807
5808impl From<crate::v2_6_0::types::VersionedControllerService>
5809    for super::types::VersionedControllerService
5810{
5811    fn from(v: crate::v2_6_0::types::VersionedControllerService) -> Self {
5812        Self {
5813            annotation_data: v.annotation_data,
5814            bulletin_level: v.bulletin_level,
5815            bundle: v.bundle.map(Into::into),
5816            comments: v.comments,
5817            component_type: v.component_type.map(|v| {
5818                serde_json::to_value(&v)
5819                    .ok()
5820                    .and_then(|v| v.as_str().map(|s| s.to_string()))
5821                    .unwrap_or_default()
5822            }),
5823            controller_service_apis: v
5824                .controller_service_apis
5825                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5826            group_identifier: v.group_identifier,
5827            identifier: v.identifier,
5828            instance_identifier: v.instance_identifier,
5829            name: v.name,
5830            position: v.position.map(Into::into),
5831            properties: v.properties,
5832            property_descriptors: v
5833                .property_descriptors
5834                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
5835            scheduled_state: v.scheduled_state.map(|v| {
5836                serde_json::to_value(&v)
5837                    .ok()
5838                    .and_then(|v| v.as_str().map(|s| s.to_string()))
5839                    .unwrap_or_default()
5840            }),
5841            r#type: v.r#type,
5842        }
5843    }
5844}
5845
5846impl From<crate::v2_6_0::types::VersionedFlowCoordinates>
5847    for super::types::VersionedFlowCoordinates
5848{
5849    fn from(v: crate::v2_6_0::types::VersionedFlowCoordinates) -> Self {
5850        Self {
5851            branch: v.branch,
5852            bucket_id: v.bucket_id,
5853            flow_id: v.flow_id,
5854            latest: v.latest,
5855            registry_id: v.registry_id,
5856            storage_location: v.storage_location,
5857            version: v.version,
5858        }
5859    }
5860}
5861
5862impl From<crate::v2_6_0::types::VersionedFlowDto> for super::types::VersionedFlowDto {
5863    fn from(v: crate::v2_6_0::types::VersionedFlowDto) -> Self {
5864        Self {
5865            action: v.action.map(|v| {
5866                serde_json::to_value(&v)
5867                    .ok()
5868                    .and_then(|v| v.as_str().map(|s| s.to_string()))
5869                    .unwrap_or_default()
5870            }),
5871            branch: v.branch,
5872            bucket_id: v.bucket_id,
5873            comments: v.comments,
5874            description: v.description,
5875            flow_id: v.flow_id,
5876            flow_name: v.flow_name,
5877            registry_id: v.registry_id,
5878        }
5879    }
5880}
5881
5882impl From<crate::v2_6_0::types::VersionedFlowEntity> for super::types::VersionedFlowEntity {
5883    fn from(v: crate::v2_6_0::types::VersionedFlowEntity) -> Self {
5884        Self {
5885            versioned_flow: Some(v.versioned_flow.unwrap_or_default().into()),
5886        }
5887    }
5888}
5889
5890impl From<crate::v2_6_0::types::VersionedFlowSnapshotEntity>
5891    for super::types::VersionedFlowSnapshotEntity
5892{
5893    fn from(v: crate::v2_6_0::types::VersionedFlowSnapshotEntity) -> Self {
5894        Self {
5895            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
5896            process_group_revision: v.process_group_revision.map(Into::into),
5897            registry_id: v.registry_id,
5898            update_descendant_versioned_flows: v.update_descendant_versioned_flows,
5899            versioned_flow: v.versioned_flow.map(Into::into),
5900            versioned_flow_snapshot: v.versioned_flow_snapshot.map(Into::into),
5901        }
5902    }
5903}
5904
5905impl From<crate::v2_6_0::types::VersionedFlowSnapshotMetadataEntity>
5906    for super::types::VersionedFlowSnapshotMetadataEntity
5907{
5908    fn from(v: crate::v2_6_0::types::VersionedFlowSnapshotMetadataEntity) -> Self {
5909        Self {
5910            registry_id: v.registry_id,
5911            versioned_flow_snapshot_metadata: v.versioned_flow_snapshot_metadata.map(Into::into),
5912        }
5913    }
5914}
5915
5916impl From<crate::v2_6_0::types::VersionedFlowSnapshotMetadataSetEntity>
5917    for super::types::VersionedFlowSnapshotMetadataSetEntity
5918{
5919    fn from(v: crate::v2_6_0::types::VersionedFlowSnapshotMetadataSetEntity) -> Self {
5920        Self {
5921            versioned_flow_snapshot_metadata_set: v
5922                .versioned_flow_snapshot_metadata_set
5923                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5924        }
5925    }
5926}
5927
5928impl From<crate::v2_6_0::types::VersionedFlowUpdateRequestDto>
5929    for super::types::VersionedFlowUpdateRequestDto
5930{
5931    fn from(v: crate::v2_6_0::types::VersionedFlowUpdateRequestDto) -> Self {
5932        Self {
5933            complete: v.complete,
5934            failure_reason: v.failure_reason,
5935            last_updated: v.last_updated,
5936            percent_completed: v.percent_completed,
5937            process_group_id: v.process_group_id,
5938            request_id: v.request_id,
5939            state: v.state,
5940            uri: v.uri,
5941            version_control_information: v.version_control_information.map(Into::into),
5942        }
5943    }
5944}
5945
5946impl From<crate::v2_6_0::types::VersionedFlowUpdateRequestEntity>
5947    for super::types::VersionedFlowUpdateRequestEntity
5948{
5949    fn from(v: crate::v2_6_0::types::VersionedFlowUpdateRequestEntity) -> Self {
5950        Self {
5951            process_group_revision: v.process_group_revision.map(Into::into),
5952            request: v.request.map(Into::into),
5953        }
5954    }
5955}
5956
5957impl From<crate::v2_6_0::types::VersionedFlowsEntity> for super::types::VersionedFlowsEntity {
5958    fn from(v: crate::v2_6_0::types::VersionedFlowsEntity) -> Self {
5959        Self {
5960            versioned_flows: v
5961                .versioned_flows
5962                .map(|v| v.into_iter().map(|v| v.into()).collect()),
5963        }
5964    }
5965}
5966
5967impl From<crate::v2_6_0::types::VersionedFunnel> for super::types::VersionedFunnel {
5968    fn from(v: crate::v2_6_0::types::VersionedFunnel) -> Self {
5969        Self {
5970            comments: v.comments,
5971            component_type: v.component_type.map(|v| {
5972                serde_json::to_value(&v)
5973                    .ok()
5974                    .and_then(|v| v.as_str().map(|s| s.to_string()))
5975                    .unwrap_or_default()
5976            }),
5977            group_identifier: v.group_identifier,
5978            identifier: v.identifier,
5979            instance_identifier: v.instance_identifier,
5980            name: v.name,
5981            position: v.position.map(Into::into),
5982        }
5983    }
5984}
5985
5986impl From<crate::v2_6_0::types::VersionedLabel> for super::types::VersionedLabel {
5987    fn from(v: crate::v2_6_0::types::VersionedLabel) -> Self {
5988        Self {
5989            comments: v.comments,
5990            component_type: v.component_type.map(|v| {
5991                serde_json::to_value(&v)
5992                    .ok()
5993                    .and_then(|v| v.as_str().map(|s| s.to_string()))
5994                    .unwrap_or_default()
5995            }),
5996            group_identifier: v.group_identifier,
5997            height: v.height,
5998            identifier: v.identifier,
5999            instance_identifier: v.instance_identifier,
6000            label: v.label,
6001            name: v.name,
6002            position: v.position.map(Into::into),
6003            style: v.style,
6004            width: v.width,
6005            z_index: v.z_index,
6006        }
6007    }
6008}
6009
6010impl From<crate::v2_6_0::types::VersionedParameter> for super::types::VersionedParameter {
6011    fn from(v: crate::v2_6_0::types::VersionedParameter) -> Self {
6012        Self {
6013            description: v.description,
6014            name: v.name,
6015            provided: v.provided,
6016            referenced_assets: v
6017                .referenced_assets
6018                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6019            sensitive: v.sensitive,
6020            value: v.value,
6021        }
6022    }
6023}
6024
6025impl From<crate::v2_6_0::types::VersionedParameterContext>
6026    for super::types::VersionedParameterContext
6027{
6028    fn from(v: crate::v2_6_0::types::VersionedParameterContext) -> Self {
6029        Self {
6030            comments: v.comments,
6031            component_type: v.component_type.map(|v| {
6032                serde_json::to_value(&v)
6033                    .ok()
6034                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6035                    .unwrap_or_default()
6036            }),
6037            description: v.description,
6038            group_identifier: v.group_identifier,
6039            identifier: v.identifier,
6040            inherited_parameter_contexts: v.inherited_parameter_contexts,
6041            instance_identifier: v.instance_identifier,
6042            name: v.name,
6043            parameter_group_name: v.parameter_group_name,
6044            parameter_provider: v.parameter_provider,
6045            parameters: v
6046                .parameters
6047                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6048            position: v.position.map(Into::into),
6049            synchronized: v.synchronized,
6050        }
6051    }
6052}
6053
6054impl From<crate::v2_6_0::types::VersionedPort> for super::types::VersionedPort {
6055    fn from(v: crate::v2_6_0::types::VersionedPort) -> Self {
6056        Self {
6057            allow_remote_access: v.allow_remote_access,
6058            comments: v.comments,
6059            component_type: v.component_type.map(|v| {
6060                serde_json::to_value(&v)
6061                    .ok()
6062                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6063                    .unwrap_or_default()
6064            }),
6065            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
6066            group_identifier: v.group_identifier,
6067            identifier: v.identifier,
6068            instance_identifier: v.instance_identifier,
6069            name: v.name,
6070            port_function: v.port_function.map(|v| {
6071                serde_json::to_value(&v)
6072                    .ok()
6073                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6074                    .unwrap_or_default()
6075            }),
6076            position: v.position.map(Into::into),
6077            scheduled_state: v.scheduled_state.map(|v| {
6078                serde_json::to_value(&v)
6079                    .ok()
6080                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6081                    .unwrap_or_default()
6082            }),
6083            r#type: v.r#type.map(|v| {
6084                serde_json::to_value(&v)
6085                    .ok()
6086                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6087                    .unwrap_or_default()
6088            }),
6089        }
6090    }
6091}
6092
6093impl From<crate::v2_6_0::types::VersionedProcessGroup> for super::types::VersionedProcessGroup {
6094    fn from(v: crate::v2_6_0::types::VersionedProcessGroup) -> Self {
6095        Self {
6096            comments: v.comments,
6097            component_type: v.component_type.map(|v| {
6098                serde_json::to_value(&v)
6099                    .ok()
6100                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6101                    .unwrap_or_default()
6102            }),
6103            connections: v
6104                .connections
6105                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6106            controller_services: v
6107                .controller_services
6108                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6109            default_back_pressure_data_size_threshold: v.default_back_pressure_data_size_threshold,
6110            default_back_pressure_object_threshold: v.default_back_pressure_object_threshold,
6111            default_flow_file_expiration: v.default_flow_file_expiration,
6112            execution_engine: v.execution_engine.map(|v| {
6113                serde_json::to_value(&v)
6114                    .ok()
6115                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6116                    .unwrap_or_default()
6117            }),
6118            flow_file_concurrency: v.flow_file_concurrency,
6119            flow_file_outbound_policy: v.flow_file_outbound_policy,
6120            funnels: v.funnels.map(|v| v.into_iter().map(|v| v.into()).collect()),
6121            group_identifier: v.group_identifier,
6122            identifier: v.identifier,
6123            input_ports: v
6124                .input_ports
6125                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6126            instance_identifier: v.instance_identifier,
6127            labels: v.labels.map(|v| v.into_iter().map(|v| v.into()).collect()),
6128            log_file_suffix: v.log_file_suffix,
6129            max_concurrent_tasks: v.max_concurrent_tasks,
6130            name: v.name,
6131            output_ports: v
6132                .output_ports
6133                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6134            parameter_context_name: v.parameter_context_name,
6135            position: v.position.map(Into::into),
6136            process_groups: v
6137                .process_groups
6138                .map(|v| v.into_iter().map(|v| Box::new((*v).into())).collect()),
6139            processors: v
6140                .processors
6141                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6142            remote_process_groups: v
6143                .remote_process_groups
6144                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6145            scheduled_state: v.scheduled_state.map(|v| {
6146                serde_json::to_value(&v)
6147                    .ok()
6148                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6149                    .unwrap_or_default()
6150            }),
6151            stateless_flow_timeout: v.stateless_flow_timeout,
6152            versioned_flow_coordinates: v.versioned_flow_coordinates.map(Into::into),
6153        }
6154    }
6155}
6156
6157impl From<crate::v2_6_0::types::VersionedProcessor> for super::types::VersionedProcessor {
6158    fn from(v: crate::v2_6_0::types::VersionedProcessor) -> Self {
6159        Self {
6160            annotation_data: v.annotation_data,
6161            auto_terminated_relationships: v.auto_terminated_relationships,
6162            backoff_mechanism: v.backoff_mechanism,
6163            bulletin_level: v.bulletin_level,
6164            bundle: v.bundle.map(Into::into),
6165            comments: v.comments,
6166            component_type: v.component_type.map(|v| {
6167                serde_json::to_value(&v)
6168                    .ok()
6169                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6170                    .unwrap_or_default()
6171            }),
6172            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
6173            execution_node: v.execution_node,
6174            group_identifier: v.group_identifier,
6175            identifier: v.identifier,
6176            instance_identifier: v.instance_identifier,
6177            max_backoff_period: v.max_backoff_period,
6178            name: v.name,
6179            penalty_duration: v.penalty_duration,
6180            position: v.position.map(Into::into),
6181            properties: v.properties,
6182            property_descriptors: v
6183                .property_descriptors
6184                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
6185            retried_relationships: v.retried_relationships,
6186            retry_count: v.retry_count,
6187            run_duration_millis: v.run_duration_millis,
6188            scheduled_state: v.scheduled_state.map(|v| {
6189                serde_json::to_value(&v)
6190                    .ok()
6191                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6192                    .unwrap_or_default()
6193            }),
6194            scheduling_period: v.scheduling_period,
6195            scheduling_strategy: v.scheduling_strategy,
6196            style: v.style,
6197            r#type: v.r#type,
6198            yield_duration: v.yield_duration,
6199        }
6200    }
6201}
6202
6203impl From<crate::v2_6_0::types::VersionedPropertyDescriptor>
6204    for super::types::VersionedPropertyDescriptor
6205{
6206    fn from(v: crate::v2_6_0::types::VersionedPropertyDescriptor) -> Self {
6207        Self {
6208            display_name: v.display_name,
6209            dynamic: v.dynamic,
6210            identifies_controller_service: v.identifies_controller_service,
6211            listen_port_definition: None,
6212            name: v.name,
6213            resource_definition: v.resource_definition.map(Into::into),
6214            sensitive: v.sensitive,
6215        }
6216    }
6217}
6218
6219impl From<crate::v2_6_0::types::VersionedRemoteGroupPort>
6220    for super::types::VersionedRemoteGroupPort
6221{
6222    fn from(v: crate::v2_6_0::types::VersionedRemoteGroupPort) -> Self {
6223        Self {
6224            batch_size: v.batch_size.map(Into::into),
6225            comments: v.comments,
6226            component_type: v.component_type.map(|v| {
6227                serde_json::to_value(&v)
6228                    .ok()
6229                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6230                    .unwrap_or_default()
6231            }),
6232            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
6233            group_identifier: v.group_identifier,
6234            identifier: v.identifier,
6235            instance_identifier: v.instance_identifier,
6236            name: v.name,
6237            position: v.position.map(Into::into),
6238            remote_group_id: v.remote_group_id,
6239            scheduled_state: v.scheduled_state.map(|v| {
6240                serde_json::to_value(&v)
6241                    .ok()
6242                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6243                    .unwrap_or_default()
6244            }),
6245            target_id: v.target_id,
6246            use_compression: v.use_compression,
6247        }
6248    }
6249}
6250
6251impl From<crate::v2_6_0::types::VersionedRemoteProcessGroup>
6252    for super::types::VersionedRemoteProcessGroup
6253{
6254    fn from(v: crate::v2_6_0::types::VersionedRemoteProcessGroup) -> Self {
6255        Self {
6256            comments: v.comments,
6257            communications_timeout: v.communications_timeout,
6258            component_type: v.component_type.map(|v| {
6259                serde_json::to_value(&v)
6260                    .ok()
6261                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6262                    .unwrap_or_default()
6263            }),
6264            group_identifier: v.group_identifier,
6265            identifier: v.identifier,
6266            input_ports: v
6267                .input_ports
6268                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6269            instance_identifier: v.instance_identifier,
6270            local_network_interface: v.local_network_interface,
6271            name: v.name,
6272            output_ports: v
6273                .output_ports
6274                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6275            position: v.position.map(Into::into),
6276            proxy_host: v.proxy_host,
6277            proxy_password: v.proxy_password,
6278            proxy_port: v.proxy_port,
6279            proxy_user: v.proxy_user,
6280            target_uris: v.target_uris,
6281            transport_protocol: v.transport_protocol,
6282            yield_duration: v.yield_duration,
6283        }
6284    }
6285}
6286
6287impl From<crate::v2_6_0::types::VersionedReportingTask> for super::types::VersionedReportingTask {
6288    fn from(v: crate::v2_6_0::types::VersionedReportingTask) -> Self {
6289        Self {
6290            annotation_data: v.annotation_data,
6291            bundle: v.bundle.map(Into::into),
6292            comments: v.comments,
6293            component_type: v.component_type.map(|v| {
6294                serde_json::to_value(&v)
6295                    .ok()
6296                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6297                    .unwrap_or_default()
6298            }),
6299            group_identifier: v.group_identifier,
6300            identifier: v.identifier,
6301            instance_identifier: v.instance_identifier,
6302            name: v.name,
6303            position: v.position.map(Into::into),
6304            properties: v.properties,
6305            property_descriptors: v
6306                .property_descriptors
6307                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
6308            scheduled_state: v.scheduled_state.map(|v| {
6309                serde_json::to_value(&v)
6310                    .ok()
6311                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6312                    .unwrap_or_default()
6313            }),
6314            scheduling_period: v.scheduling_period,
6315            scheduling_strategy: v.scheduling_strategy,
6316            r#type: v.r#type,
6317        }
6318    }
6319}
6320
6321impl From<crate::v2_6_0::types::VersionedReportingTaskImportRequestEntity>
6322    for super::types::VersionedReportingTaskImportRequestEntity
6323{
6324    fn from(v: crate::v2_6_0::types::VersionedReportingTaskImportRequestEntity) -> Self {
6325        Self {
6326            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
6327            reporting_task_snapshot: v.reporting_task_snapshot.map(Into::into),
6328        }
6329    }
6330}
6331
6332impl From<crate::v2_6_0::types::VersionedReportingTaskImportResponseEntity>
6333    for super::types::VersionedReportingTaskImportResponseEntity
6334{
6335    fn from(v: crate::v2_6_0::types::VersionedReportingTaskImportResponseEntity) -> Self {
6336        Self {
6337            controller_services: v
6338                .controller_services
6339                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6340            reporting_tasks: v
6341                .reporting_tasks
6342                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6343        }
6344    }
6345}
6346
6347impl From<crate::v2_6_0::types::VersionedReportingTaskSnapshot>
6348    for super::types::VersionedReportingTaskSnapshot
6349{
6350    fn from(v: crate::v2_6_0::types::VersionedReportingTaskSnapshot) -> Self {
6351        Self {
6352            controller_services: v
6353                .controller_services
6354                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6355            reporting_tasks: v
6356                .reporting_tasks
6357                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6358        }
6359    }
6360}
6361
6362impl From<crate::v2_6_0::types::VersionedResourceDefinition>
6363    for super::types::VersionedResourceDefinition
6364{
6365    fn from(v: crate::v2_6_0::types::VersionedResourceDefinition) -> Self {
6366        Self {
6367            cardinality: v.cardinality.map(|v| {
6368                serde_json::to_value(&v)
6369                    .ok()
6370                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6371                    .unwrap_or_default()
6372            }),
6373            resource_types: v.resource_types.map(|v| {
6374                v.into_iter()
6375                    .map(|v| {
6376                        serde_json::to_value(&v)
6377                            .ok()
6378                            .and_then(|v| v.as_str().map(|s| s.to_string()))
6379                            .unwrap_or_default()
6380                    })
6381                    .collect()
6382            }),
6383        }
6384    }
6385}
6386
6387impl From<crate::v2_7_2::types::AboutDto> for super::types::AboutDto {
6388    fn from(v: crate::v2_7_2::types::AboutDto) -> Self {
6389        Self {
6390            build_branch: v.build_branch,
6391            build_revision: v.build_revision,
6392            build_tag: v.build_tag,
6393            build_timestamp: v.build_timestamp,
6394            content_viewer_url: v.content_viewer_url,
6395            timezone: v.timezone,
6396            title: v.title,
6397            uri: v.uri,
6398            version: v.version,
6399        }
6400    }
6401}
6402
6403impl From<crate::v2_7_2::types::AboutEntity> for super::types::AboutEntity {
6404    fn from(v: crate::v2_7_2::types::AboutEntity) -> Self {
6405        Self {
6406            about: Some(v.about.unwrap_or_default().into()),
6407        }
6408    }
6409}
6410
6411impl From<crate::v2_7_2::types::AccessPolicyDto> for super::types::AccessPolicyDto {
6412    fn from(v: crate::v2_7_2::types::AccessPolicyDto) -> Self {
6413        Self {
6414            action: v.action.map(|v| {
6415                serde_json::to_value(&v)
6416                    .ok()
6417                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6418                    .unwrap_or_default()
6419            }),
6420            component_reference: v.component_reference.map(Into::into),
6421            configurable: v.configurable,
6422            id: v.id,
6423            parent_group_id: v.parent_group_id,
6424            position: v.position.map(Into::into),
6425            resource: v.resource,
6426            user_groups: v
6427                .user_groups
6428                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6429            users: v.users.map(|v| v.into_iter().map(|v| v.into()).collect()),
6430            versioned_component_id: v.versioned_component_id,
6431        }
6432    }
6433}
6434
6435impl From<crate::v2_7_2::types::AccessPolicyEntity> for super::types::AccessPolicyEntity {
6436    fn from(v: crate::v2_7_2::types::AccessPolicyEntity) -> Self {
6437        Self {
6438            bulletins: v
6439                .bulletins
6440                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6441            component: v.component.map(Into::into),
6442            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
6443            generated: v.generated,
6444            id: v.id,
6445            permissions: v.permissions.map(Into::into),
6446            position: v.position.map(Into::into),
6447            revision: v.revision.map(Into::into),
6448            uri: v.uri,
6449        }
6450    }
6451}
6452
6453impl From<crate::v2_7_2::types::AccessPolicySummaryDto> for super::types::AccessPolicySummaryDto {
6454    fn from(v: crate::v2_7_2::types::AccessPolicySummaryDto) -> Self {
6455        Self {
6456            action: v.action.map(|v| {
6457                serde_json::to_value(&v)
6458                    .ok()
6459                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6460                    .unwrap_or_default()
6461            }),
6462            component_reference: v.component_reference.map(Into::into),
6463            configurable: v.configurable,
6464            id: v.id,
6465            parent_group_id: v.parent_group_id,
6466            position: v.position.map(Into::into),
6467            resource: v.resource,
6468            versioned_component_id: v.versioned_component_id,
6469        }
6470    }
6471}
6472
6473impl From<crate::v2_7_2::types::AccessPolicySummaryEntity>
6474    for super::types::AccessPolicySummaryEntity
6475{
6476    fn from(v: crate::v2_7_2::types::AccessPolicySummaryEntity) -> Self {
6477        Self {
6478            bulletins: v
6479                .bulletins
6480                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6481            component: v.component.map(Into::into),
6482            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
6483            id: v.id,
6484            permissions: v.permissions.map(Into::into),
6485            position: v.position.map(Into::into),
6486            revision: v.revision.map(Into::into),
6487            uri: v.uri,
6488        }
6489    }
6490}
6491
6492impl From<crate::v2_7_2::types::ActionDetailsDto> for super::types::ActionDetailsDto {
6493    fn from(_v: crate::v2_7_2::types::ActionDetailsDto) -> Self {
6494        Self {}
6495    }
6496}
6497
6498impl From<crate::v2_7_2::types::ActionDto> for super::types::ActionDto {
6499    fn from(v: crate::v2_7_2::types::ActionDto) -> Self {
6500        Self {
6501            action_details: v.action_details.map(Into::into),
6502            component_details: v.component_details.map(Into::into),
6503            id: v.id,
6504            operation: v.operation,
6505            source_id: v.source_id,
6506            source_name: v.source_name,
6507            source_type: v.source_type,
6508            timestamp: v.timestamp,
6509            user_identity: v.user_identity,
6510        }
6511    }
6512}
6513
6514impl From<crate::v2_7_2::types::ActionEntity> for super::types::ActionEntity {
6515    fn from(v: crate::v2_7_2::types::ActionEntity) -> Self {
6516        Self {
6517            action: v.action.map(Into::into),
6518            can_read: v.can_read,
6519            id: v.id,
6520            source_id: v.source_id,
6521            timestamp: v.timestamp,
6522        }
6523    }
6524}
6525
6526impl From<crate::v2_7_2::types::ActivateControllerServicesEntity>
6527    for super::types::ActivateControllerServicesEntity
6528{
6529    fn from(v: crate::v2_7_2::types::ActivateControllerServicesEntity) -> Self {
6530        Self {
6531            components: v
6532                .components
6533                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
6534            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
6535            id: v.id,
6536            state: v.state.map(|v| {
6537                serde_json::to_value(&v)
6538                    .ok()
6539                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6540                    .unwrap_or_default()
6541            }),
6542        }
6543    }
6544}
6545
6546impl From<crate::v2_7_2::types::AdditionalDetailsEntity> for super::types::AdditionalDetailsEntity {
6547    fn from(v: crate::v2_7_2::types::AdditionalDetailsEntity) -> Self {
6548        Self {
6549            additional_details: v.additional_details,
6550        }
6551    }
6552}
6553
6554impl From<crate::v2_7_2::types::AffectedComponentDto> for super::types::AffectedComponentDto {
6555    fn from(v: crate::v2_7_2::types::AffectedComponentDto) -> Self {
6556        Self {
6557            active_thread_count: v.active_thread_count,
6558            id: v.id,
6559            name: v.name,
6560            process_group_id: v.process_group_id,
6561            reference_type: v.reference_type.map(|v| {
6562                serde_json::to_value(&v)
6563                    .ok()
6564                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6565                    .unwrap_or_default()
6566            }),
6567            state: v.state,
6568            validation_errors: v.validation_errors,
6569        }
6570    }
6571}
6572
6573impl From<crate::v2_7_2::types::AffectedComponentEntity> for super::types::AffectedComponentEntity {
6574    fn from(v: crate::v2_7_2::types::AffectedComponentEntity) -> Self {
6575        Self {
6576            bulletins: v
6577                .bulletins
6578                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6579            component: v.component.map(Into::into),
6580            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
6581            id: v.id,
6582            permissions: v.permissions.map(Into::into),
6583            position: v.position.map(Into::into),
6584            process_group: v.process_group.map(Into::into),
6585            reference_type: v.reference_type.map(|v| {
6586                serde_json::to_value(&v)
6587                    .ok()
6588                    .and_then(|v| v.as_str().map(|s| s.to_string()))
6589                    .unwrap_or_default()
6590            }),
6591            revision: v.revision.map(Into::into),
6592            uri: v.uri,
6593        }
6594    }
6595}
6596
6597impl From<crate::v2_7_2::types::AllowableValueDto> for super::types::AllowableValueDto {
6598    fn from(v: crate::v2_7_2::types::AllowableValueDto) -> Self {
6599        Self {
6600            description: v.description,
6601            display_name: v.display_name,
6602            value: v.value,
6603        }
6604    }
6605}
6606
6607impl From<crate::v2_7_2::types::AllowableValueEntity> for super::types::AllowableValueEntity {
6608    fn from(v: crate::v2_7_2::types::AllowableValueEntity) -> Self {
6609        Self {
6610            allowable_value: v.allowable_value.map(Into::into),
6611            can_read: v.can_read,
6612        }
6613    }
6614}
6615
6616impl From<crate::v2_7_2::types::AssetDto> for super::types::AssetDto {
6617    fn from(v: crate::v2_7_2::types::AssetDto) -> Self {
6618        Self {
6619            digest: v.digest,
6620            id: v.id,
6621            missing_content: v.missing_content,
6622            name: v.name,
6623        }
6624    }
6625}
6626
6627impl From<crate::v2_7_2::types::AssetEntity> for super::types::AssetEntity {
6628    fn from(v: crate::v2_7_2::types::AssetEntity) -> Self {
6629        Self {
6630            asset: Some(v.asset.unwrap_or_default().into()),
6631        }
6632    }
6633}
6634
6635impl From<crate::v2_7_2::types::AssetReferenceDto> for super::types::AssetReferenceDto {
6636    fn from(v: crate::v2_7_2::types::AssetReferenceDto) -> Self {
6637        Self {
6638            id: v.id,
6639            name: v.name,
6640        }
6641    }
6642}
6643
6644impl From<crate::v2_7_2::types::AssetsEntity> for super::types::AssetsEntity {
6645    fn from(v: crate::v2_7_2::types::AssetsEntity) -> Self {
6646        Self {
6647            assets: v.assets.map(|v| v.into_iter().map(|v| v.into()).collect()),
6648        }
6649    }
6650}
6651
6652impl From<crate::v2_7_2::types::Attribute> for super::types::Attribute {
6653    fn from(v: crate::v2_7_2::types::Attribute) -> Self {
6654        Self {
6655            description: v.description,
6656            name: v.name,
6657        }
6658    }
6659}
6660
6661impl From<crate::v2_7_2::types::AttributeDto> for super::types::AttributeDto {
6662    fn from(v: crate::v2_7_2::types::AttributeDto) -> Self {
6663        Self {
6664            name: v.name,
6665            previous_value: v.previous_value,
6666            value: v.value,
6667        }
6668    }
6669}
6670
6671impl From<crate::v2_7_2::types::AuthenticationConfigurationDto>
6672    for super::types::AuthenticationConfigurationDto
6673{
6674    fn from(v: crate::v2_7_2::types::AuthenticationConfigurationDto) -> Self {
6675        Self {
6676            external_login_required: v.external_login_required,
6677            login_supported: v.login_supported,
6678            login_uri: v.login_uri,
6679            logout_uri: v.logout_uri,
6680        }
6681    }
6682}
6683
6684impl From<crate::v2_7_2::types::AuthenticationConfigurationEntity>
6685    for super::types::AuthenticationConfigurationEntity
6686{
6687    fn from(v: crate::v2_7_2::types::AuthenticationConfigurationEntity) -> Self {
6688        Self {
6689            authentication_configuration: Some(
6690                v.authentication_configuration.unwrap_or_default().into(),
6691            ),
6692        }
6693    }
6694}
6695
6696impl From<crate::v2_7_2::types::BannerDto> for super::types::BannerDto {
6697    fn from(v: crate::v2_7_2::types::BannerDto) -> Self {
6698        Self {
6699            footer_text: v.footer_text,
6700            header_text: v.header_text,
6701        }
6702    }
6703}
6704
6705impl From<crate::v2_7_2::types::BannerEntity> for super::types::BannerEntity {
6706    fn from(v: crate::v2_7_2::types::BannerEntity) -> Self {
6707        Self {
6708            banners: Some(v.banners.unwrap_or_default().into()),
6709        }
6710    }
6711}
6712
6713impl From<crate::v2_7_2::types::BatchSettingsDto> for super::types::BatchSettingsDto {
6714    fn from(v: crate::v2_7_2::types::BatchSettingsDto) -> Self {
6715        Self {
6716            count: v.count,
6717            duration: v.duration,
6718            size: v.size,
6719        }
6720    }
6721}
6722
6723impl From<crate::v2_7_2::types::BatchSize> for super::types::BatchSize {
6724    fn from(v: crate::v2_7_2::types::BatchSize) -> Self {
6725        Self {
6726            count: v.count,
6727            duration: v.duration,
6728            size: v.size,
6729        }
6730    }
6731}
6732
6733impl From<crate::v2_7_2::types::BuildInfo> for super::types::BuildInfo {
6734    fn from(v: crate::v2_7_2::types::BuildInfo) -> Self {
6735        Self {
6736            compiler: v.compiler,
6737            compiler_flags: v.compiler_flags,
6738            revision: v.revision,
6739            target_arch: v.target_arch,
6740            timestamp: v.timestamp,
6741            version: v.version,
6742        }
6743    }
6744}
6745
6746impl From<crate::v2_7_2::types::BulletinBoardDto> for super::types::BulletinBoardDto {
6747    fn from(v: crate::v2_7_2::types::BulletinBoardDto) -> Self {
6748        Self {
6749            bulletins: v
6750                .bulletins
6751                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6752            generated: v.generated,
6753        }
6754    }
6755}
6756
6757impl From<crate::v2_7_2::types::BulletinBoardEntity> for super::types::BulletinBoardEntity {
6758    fn from(v: crate::v2_7_2::types::BulletinBoardEntity) -> Self {
6759        Self {
6760            bulletin_board: Some(v.bulletin_board.unwrap_or_default().into()),
6761        }
6762    }
6763}
6764
6765impl From<crate::v2_7_2::types::BulletinBoardPatternParameter>
6766    for super::types::BulletinBoardPatternParameter
6767{
6768    fn from(v: crate::v2_7_2::types::BulletinBoardPatternParameter) -> Self {
6769        Self {
6770            pattern: v.pattern.map(Into::into),
6771            raw_pattern: v.raw_pattern,
6772        }
6773    }
6774}
6775
6776impl From<crate::v2_7_2::types::BulletinDto> for super::types::BulletinDto {
6777    fn from(v: crate::v2_7_2::types::BulletinDto) -> Self {
6778        Self {
6779            category: v.category,
6780            group_id: v.group_id,
6781            id: v.id,
6782            level: v.level,
6783            message: v.message,
6784            node_address: v.node_address,
6785            source_id: v.source_id,
6786            source_name: v.source_name,
6787            source_type: v.source_type,
6788            stack_trace: v.stack_trace,
6789            timestamp: v.timestamp,
6790            timestamp_iso: v.timestamp_iso,
6791        }
6792    }
6793}
6794
6795impl From<crate::v2_7_2::types::BulletinEntity> for super::types::BulletinEntity {
6796    fn from(v: crate::v2_7_2::types::BulletinEntity) -> Self {
6797        Self {
6798            bulletin: v.bulletin.map(Into::into),
6799            can_read: v.can_read,
6800            group_id: v.group_id,
6801            id: v.id,
6802            node_address: v.node_address,
6803            source_id: v.source_id,
6804            timestamp: v.timestamp,
6805            timestamp_iso: v.timestamp_iso,
6806        }
6807    }
6808}
6809
6810impl From<crate::v2_7_2::types::Bundle> for super::types::Bundle {
6811    fn from(v: crate::v2_7_2::types::Bundle) -> Self {
6812        Self {
6813            artifact: v.artifact,
6814            group: v.group,
6815            version: v.version,
6816        }
6817    }
6818}
6819
6820impl From<crate::v2_7_2::types::BundleDto> for super::types::BundleDto {
6821    fn from(v: crate::v2_7_2::types::BundleDto) -> Self {
6822        Self {
6823            artifact: v.artifact,
6824            group: v.group,
6825            version: v.version,
6826        }
6827    }
6828}
6829
6830impl From<crate::v2_7_2::types::ClearBulletinsForGroupRequestEntity>
6831    for super::types::ClearBulletinsForGroupRequestEntity
6832{
6833    fn from(v: crate::v2_7_2::types::ClearBulletinsForGroupRequestEntity) -> Self {
6834        Self {
6835            components: v.components,
6836            from_timestamp: Some(v.from_timestamp),
6837            id: v.id,
6838        }
6839    }
6840}
6841
6842impl From<crate::v2_7_2::types::ClearBulletinsForGroupResultsEntity>
6843    for super::types::ClearBulletinsForGroupResultsEntity
6844{
6845    fn from(v: crate::v2_7_2::types::ClearBulletinsForGroupResultsEntity) -> Self {
6846        Self {
6847            bulletins_cleared: v.bulletins_cleared,
6848        }
6849    }
6850}
6851
6852impl From<crate::v2_7_2::types::ClearBulletinsRequestEntity>
6853    for super::types::ClearBulletinsRequestEntity
6854{
6855    fn from(v: crate::v2_7_2::types::ClearBulletinsRequestEntity) -> Self {
6856        Self {
6857            from_timestamp: Some(v.from_timestamp),
6858        }
6859    }
6860}
6861
6862impl From<crate::v2_7_2::types::ClearBulletinsResultEntity>
6863    for super::types::ClearBulletinsResultEntity
6864{
6865    fn from(v: crate::v2_7_2::types::ClearBulletinsResultEntity) -> Self {
6866        Self {
6867            bulletins: v
6868                .bulletins
6869                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6870            bulletins_cleared: v.bulletins_cleared,
6871            component_id: v.component_id,
6872        }
6873    }
6874}
6875
6876impl From<crate::v2_7_2::types::ClientIdParameter> for super::types::ClientIdParameter {
6877    fn from(v: crate::v2_7_2::types::ClientIdParameter) -> Self {
6878        Self {
6879            client_id: v.client_id,
6880        }
6881    }
6882}
6883
6884impl From<crate::v2_7_2::types::ClusterDto> for super::types::ClusterDto {
6885    fn from(v: crate::v2_7_2::types::ClusterDto) -> Self {
6886        Self {
6887            generated: v.generated,
6888            nodes: v.nodes.map(|v| v.into_iter().map(|v| v.into()).collect()),
6889        }
6890    }
6891}
6892
6893impl From<crate::v2_7_2::types::ClusterEntity> for super::types::ClusterEntity {
6894    fn from(v: crate::v2_7_2::types::ClusterEntity) -> Self {
6895        Self {
6896            cluster: Some(v.cluster.unwrap_or_default().into()),
6897        }
6898    }
6899}
6900
6901impl From<crate::v2_7_2::types::ClusterSearchResultsEntity>
6902    for super::types::ClusterSearchResultsEntity
6903{
6904    fn from(v: crate::v2_7_2::types::ClusterSearchResultsEntity) -> Self {
6905        Self {
6906            node_results: v
6907                .node_results
6908                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6909        }
6910    }
6911}
6912
6913impl From<crate::v2_7_2::types::ClusterSummaryDto> for super::types::ClusterSummaryDto {
6914    fn from(v: crate::v2_7_2::types::ClusterSummaryDto) -> Self {
6915        Self {
6916            clustered: v.clustered,
6917            connected_node_count: v.connected_node_count,
6918            connected_nodes: v.connected_nodes,
6919            connected_to_cluster: v.connected_to_cluster,
6920            total_node_count: v.total_node_count,
6921        }
6922    }
6923}
6924
6925impl From<crate::v2_7_2::types::ClusterSummaryEntity> for super::types::ClusterSummaryEntity {
6926    fn from(v: crate::v2_7_2::types::ClusterSummaryEntity) -> Self {
6927        Self {
6928            cluster_summary: Some(v.cluster_summary.unwrap_or_default().into()),
6929        }
6930    }
6931}
6932
6933impl From<crate::v2_7_2::types::ComponentDetailsDto> for super::types::ComponentDetailsDto {
6934    fn from(_v: crate::v2_7_2::types::ComponentDetailsDto) -> Self {
6935        Self {}
6936    }
6937}
6938
6939impl From<crate::v2_7_2::types::ComponentDifferenceDto> for super::types::ComponentDifferenceDto {
6940    fn from(v: crate::v2_7_2::types::ComponentDifferenceDto) -> Self {
6941        Self {
6942            component_id: v.component_id,
6943            component_name: v.component_name,
6944            component_type: v.component_type,
6945            differences: v
6946                .differences
6947                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6948            process_group_id: v.process_group_id,
6949        }
6950    }
6951}
6952
6953impl From<crate::v2_7_2::types::ComponentHistoryDto> for super::types::ComponentHistoryDto {
6954    fn from(v: crate::v2_7_2::types::ComponentHistoryDto) -> Self {
6955        Self {
6956            component_id: v.component_id,
6957            property_history: v
6958                .property_history
6959                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
6960        }
6961    }
6962}
6963
6964impl From<crate::v2_7_2::types::ComponentHistoryEntity> for super::types::ComponentHistoryEntity {
6965    fn from(v: crate::v2_7_2::types::ComponentHistoryEntity) -> Self {
6966        Self {
6967            component_history: Some(v.component_history.unwrap_or_default().into()),
6968        }
6969    }
6970}
6971
6972impl From<crate::v2_7_2::types::ComponentManifest> for super::types::ComponentManifest {
6973    fn from(v: crate::v2_7_2::types::ComponentManifest) -> Self {
6974        Self {
6975            apis: v.apis.map(|v| v.into_iter().map(|v| v.into()).collect()),
6976            controller_services: v
6977                .controller_services
6978                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6979            flow_analysis_rules: v
6980                .flow_analysis_rules
6981                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6982            flow_registry_clients: v
6983                .flow_registry_clients
6984                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6985            parameter_providers: v
6986                .parameter_providers
6987                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6988            processors: v
6989                .processors
6990                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6991            reporting_tasks: v
6992                .reporting_tasks
6993                .map(|v| v.into_iter().map(|v| v.into()).collect()),
6994        }
6995    }
6996}
6997
6998impl From<crate::v2_7_2::types::ComponentReferenceDto> for super::types::ComponentReferenceDto {
6999    fn from(v: crate::v2_7_2::types::ComponentReferenceDto) -> Self {
7000        Self {
7001            id: v.id,
7002            name: v.name,
7003            parent_group_id: v.parent_group_id,
7004            position: v.position.map(Into::into),
7005            versioned_component_id: v.versioned_component_id,
7006        }
7007    }
7008}
7009
7010impl From<crate::v2_7_2::types::ComponentReferenceEntity>
7011    for super::types::ComponentReferenceEntity
7012{
7013    fn from(v: crate::v2_7_2::types::ComponentReferenceEntity) -> Self {
7014        Self {
7015            bulletins: v
7016                .bulletins
7017                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7018            component: v.component.map(Into::into),
7019            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
7020            id: v.id,
7021            parent_group_id: v.parent_group_id,
7022            permissions: v.permissions.map(Into::into),
7023            position: v.position.map(Into::into),
7024            revision: v.revision.map(Into::into),
7025            uri: v.uri,
7026        }
7027    }
7028}
7029
7030impl From<crate::v2_7_2::types::ComponentRestrictionPermissionDto>
7031    for super::types::ComponentRestrictionPermissionDto
7032{
7033    fn from(v: crate::v2_7_2::types::ComponentRestrictionPermissionDto) -> Self {
7034        Self {
7035            permissions: v.permissions.map(Into::into),
7036            required_permission: v.required_permission.map(Into::into),
7037        }
7038    }
7039}
7040
7041impl From<crate::v2_7_2::types::ComponentSearchResultDto>
7042    for super::types::ComponentSearchResultDto
7043{
7044    fn from(v: crate::v2_7_2::types::ComponentSearchResultDto) -> Self {
7045        Self {
7046            group_id: v.group_id,
7047            id: v.id,
7048            matches: v.matches,
7049            name: v.name,
7050            parent_group: v.parent_group.map(Into::into),
7051            versioned_group: v.versioned_group.map(Into::into),
7052        }
7053    }
7054}
7055
7056impl From<crate::v2_7_2::types::ComponentStateDto> for super::types::ComponentStateDto {
7057    fn from(v: crate::v2_7_2::types::ComponentStateDto) -> Self {
7058        Self {
7059            cluster_state: v.cluster_state.map(Into::into),
7060            component_id: v.component_id,
7061            drop_state_key_supported: v.drop_state_key_supported,
7062            local_state: v.local_state.map(Into::into),
7063            state_description: v.state_description,
7064        }
7065    }
7066}
7067
7068impl From<crate::v2_7_2::types::ComponentStateEntity> for super::types::ComponentStateEntity {
7069    fn from(v: crate::v2_7_2::types::ComponentStateEntity) -> Self {
7070        Self {
7071            component_state: Some(v.component_state.unwrap_or_default().into()),
7072        }
7073    }
7074}
7075
7076impl From<crate::v2_7_2::types::ComponentValidationResultDto>
7077    for super::types::ComponentValidationResultDto
7078{
7079    fn from(v: crate::v2_7_2::types::ComponentValidationResultDto) -> Self {
7080        Self {
7081            active_thread_count: v.active_thread_count,
7082            currently_valid: v.currently_valid,
7083            id: v.id,
7084            name: v.name,
7085            process_group_id: v.process_group_id,
7086            reference_type: v.reference_type.map(|v| {
7087                serde_json::to_value(&v)
7088                    .ok()
7089                    .and_then(|v| v.as_str().map(|s| s.to_string()))
7090                    .unwrap_or_default()
7091            }),
7092            resultant_validation_errors: v.resultant_validation_errors,
7093            results_valid: v.results_valid,
7094            state: v.state,
7095            validation_errors: v.validation_errors,
7096        }
7097    }
7098}
7099
7100impl From<crate::v2_7_2::types::ComponentValidationResultEntity>
7101    for super::types::ComponentValidationResultEntity
7102{
7103    fn from(v: crate::v2_7_2::types::ComponentValidationResultEntity) -> Self {
7104        Self {
7105            bulletins: v
7106                .bulletins
7107                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7108            component: v.component.map(Into::into),
7109            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
7110            id: v.id,
7111            permissions: v.permissions.map(Into::into),
7112            position: v.position.map(Into::into),
7113            revision: v.revision.map(Into::into),
7114            uri: v.uri,
7115        }
7116    }
7117}
7118
7119impl From<crate::v2_7_2::types::ComponentValidationResultsEntity>
7120    for super::types::ComponentValidationResultsEntity
7121{
7122    fn from(v: crate::v2_7_2::types::ComponentValidationResultsEntity) -> Self {
7123        Self {
7124            validation_results: v
7125                .validation_results
7126                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7127        }
7128    }
7129}
7130
7131impl From<crate::v2_7_2::types::ConfigVerificationResultDto>
7132    for super::types::ConfigVerificationResultDto
7133{
7134    fn from(v: crate::v2_7_2::types::ConfigVerificationResultDto) -> Self {
7135        Self {
7136            explanation: v.explanation,
7137            outcome: v.outcome.map(|v| {
7138                serde_json::to_value(&v)
7139                    .ok()
7140                    .and_then(|v| v.as_str().map(|s| s.to_string()))
7141                    .unwrap_or_default()
7142            }),
7143            verification_step_name: v.verification_step_name,
7144        }
7145    }
7146}
7147
7148impl From<crate::v2_7_2::types::ConfigurationAnalysisDto>
7149    for super::types::ConfigurationAnalysisDto
7150{
7151    fn from(v: crate::v2_7_2::types::ConfigurationAnalysisDto) -> Self {
7152        Self {
7153            component_id: v.component_id,
7154            properties: v.properties,
7155            referenced_attributes: v.referenced_attributes,
7156            supports_verification: v.supports_verification,
7157        }
7158    }
7159}
7160
7161impl From<crate::v2_7_2::types::ConfigurationAnalysisEntity>
7162    for super::types::ConfigurationAnalysisEntity
7163{
7164    fn from(v: crate::v2_7_2::types::ConfigurationAnalysisEntity) -> Self {
7165        Self {
7166            configuration_analysis: Some(v.configuration_analysis.unwrap_or_default().into()),
7167        }
7168    }
7169}
7170
7171impl From<crate::v2_7_2::types::ConnectableComponent> for super::types::ConnectableComponent {
7172    fn from(v: crate::v2_7_2::types::ConnectableComponent) -> Self {
7173        Self {
7174            comments: v.comments,
7175            group_id: v.group_id,
7176            id: v.id,
7177            instance_identifier: v.instance_identifier,
7178            name: v.name,
7179            r#type: v.r#type.map(|v| {
7180                serde_json::to_value(&v)
7181                    .ok()
7182                    .and_then(|v| v.as_str().map(|s| s.to_string()))
7183                    .unwrap_or_default()
7184            }),
7185        }
7186    }
7187}
7188
7189impl From<crate::v2_7_2::types::ConnectableDto> for super::types::ConnectableDto {
7190    fn from(v: crate::v2_7_2::types::ConnectableDto) -> Self {
7191        Self {
7192            comments: v.comments,
7193            exists: v.exists,
7194            group_id: Some(v.group_id),
7195            id: Some(v.id),
7196            name: v.name,
7197            running: v.running,
7198            transmitting: v.transmitting,
7199            r#type: Some(
7200                serde_json::to_value(&v.r#type)
7201                    .ok()
7202                    .and_then(|v| v.as_str().map(|s| s.to_string()))
7203                    .unwrap_or_default(),
7204            ),
7205            versioned_component_id: v.versioned_component_id,
7206        }
7207    }
7208}
7209
7210impl From<crate::v2_7_2::types::ConnectionDto> for super::types::ConnectionDto {
7211    fn from(v: crate::v2_7_2::types::ConnectionDto) -> Self {
7212        Self {
7213            available_relationships: v.available_relationships,
7214            back_pressure_data_size_threshold: v.back_pressure_data_size_threshold,
7215            back_pressure_object_threshold: v.back_pressure_object_threshold,
7216            bends: v.bends.map(|v| v.into_iter().map(|v| v.into()).collect()),
7217            destination: v.destination.map(Into::into),
7218            flow_file_expiration: v.flow_file_expiration,
7219            getz_index: v.getz_index,
7220            id: v.id,
7221            label_index: v.label_index,
7222            load_balance_compression: v.load_balance_compression,
7223            load_balance_partition_attribute: v.load_balance_partition_attribute,
7224            load_balance_status: v.load_balance_status,
7225            load_balance_strategy: v.load_balance_strategy,
7226            name: v.name,
7227            parent_group_id: v.parent_group_id,
7228            position: v.position.map(Into::into),
7229            prioritizers: v.prioritizers,
7230            retried_relationships: v.retried_relationships,
7231            selected_relationships: v.selected_relationships,
7232            source: v.source.map(Into::into),
7233            versioned_component_id: v.versioned_component_id,
7234        }
7235    }
7236}
7237
7238impl From<crate::v2_7_2::types::ConnectionEntity> for super::types::ConnectionEntity {
7239    fn from(v: crate::v2_7_2::types::ConnectionEntity) -> Self {
7240        Self {
7241            bends: v.bends.map(|v| v.into_iter().map(|v| v.into()).collect()),
7242            bulletins: v
7243                .bulletins
7244                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7245            component: v.component.map(Into::into),
7246            destination_group_id: v.destination_group_id,
7247            destination_id: v.destination_id,
7248            destination_type: Some(
7249                serde_json::to_value(&v.destination_type)
7250                    .ok()
7251                    .and_then(|v| v.as_str().map(|s| s.to_string()))
7252                    .unwrap_or_default(),
7253            ),
7254            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
7255            getz_index: v.getz_index,
7256            id: v.id,
7257            label_index: v.label_index,
7258            permissions: v.permissions.map(Into::into),
7259            position: v.position.map(Into::into),
7260            revision: v.revision.map(Into::into),
7261            source_group_id: v.source_group_id,
7262            source_id: v.source_id,
7263            source_type: Some(
7264                serde_json::to_value(&v.source_type)
7265                    .ok()
7266                    .and_then(|v| v.as_str().map(|s| s.to_string()))
7267                    .unwrap_or_default(),
7268            ),
7269            status: v.status.map(Into::into),
7270            uri: v.uri,
7271        }
7272    }
7273}
7274
7275impl From<crate::v2_7_2::types::ConnectionStatisticsDto> for super::types::ConnectionStatisticsDto {
7276    fn from(v: crate::v2_7_2::types::ConnectionStatisticsDto) -> Self {
7277        Self {
7278            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
7279            id: v.id,
7280            node_snapshots: v
7281                .node_snapshots
7282                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7283            stats_last_refreshed: v.stats_last_refreshed,
7284        }
7285    }
7286}
7287
7288impl From<crate::v2_7_2::types::ConnectionStatisticsEntity>
7289    for super::types::ConnectionStatisticsEntity
7290{
7291    fn from(v: crate::v2_7_2::types::ConnectionStatisticsEntity) -> Self {
7292        Self {
7293            can_read: v.can_read,
7294            connection_statistics: v.connection_statistics.map(Into::into),
7295        }
7296    }
7297}
7298
7299impl From<crate::v2_7_2::types::ConnectionStatisticsSnapshotDto>
7300    for super::types::ConnectionStatisticsSnapshotDto
7301{
7302    fn from(v: crate::v2_7_2::types::ConnectionStatisticsSnapshotDto) -> Self {
7303        Self {
7304            id: v.id,
7305            predicted_bytes_at_next_interval: v.predicted_bytes_at_next_interval,
7306            predicted_count_at_next_interval: v.predicted_count_at_next_interval,
7307            predicted_millis_until_bytes_backpressure: v.predicted_millis_until_bytes_backpressure,
7308            predicted_millis_until_count_backpressure: v.predicted_millis_until_count_backpressure,
7309            predicted_percent_bytes: v.predicted_percent_bytes,
7310            predicted_percent_count: v.predicted_percent_count,
7311            prediction_interval_millis: v.prediction_interval_millis,
7312        }
7313    }
7314}
7315
7316impl From<crate::v2_7_2::types::ConnectionStatusDto> for super::types::ConnectionStatusDto {
7317    fn from(v: crate::v2_7_2::types::ConnectionStatusDto) -> Self {
7318        Self {
7319            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
7320            destination_id: v.destination_id,
7321            destination_name: v.destination_name,
7322            group_id: v.group_id,
7323            id: v.id,
7324            name: v.name,
7325            node_snapshots: v
7326                .node_snapshots
7327                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7328            source_id: v.source_id,
7329            source_name: v.source_name,
7330            stats_last_refreshed: v.stats_last_refreshed,
7331        }
7332    }
7333}
7334
7335impl From<crate::v2_7_2::types::ConnectionStatusEntity> for super::types::ConnectionStatusEntity {
7336    fn from(v: crate::v2_7_2::types::ConnectionStatusEntity) -> Self {
7337        Self {
7338            can_read: v.can_read,
7339            connection_status: v.connection_status.map(Into::into),
7340        }
7341    }
7342}
7343
7344impl From<crate::v2_7_2::types::ConnectionStatusPredictionsSnapshotDto>
7345    for super::types::ConnectionStatusPredictionsSnapshotDto
7346{
7347    fn from(v: crate::v2_7_2::types::ConnectionStatusPredictionsSnapshotDto) -> Self {
7348        Self {
7349            predicted_bytes_at_next_interval: v.predicted_bytes_at_next_interval,
7350            predicted_count_at_next_interval: v.predicted_count_at_next_interval,
7351            predicted_millis_until_bytes_backpressure: v.predicted_millis_until_bytes_backpressure,
7352            predicted_millis_until_count_backpressure: v.predicted_millis_until_count_backpressure,
7353            predicted_percent_bytes: v.predicted_percent_bytes,
7354            predicted_percent_count: v.predicted_percent_count,
7355            prediction_interval_seconds: v.prediction_interval_seconds,
7356        }
7357    }
7358}
7359
7360impl From<crate::v2_7_2::types::ConnectionStatusSnapshotDto>
7361    for super::types::ConnectionStatusSnapshotDto
7362{
7363    fn from(v: crate::v2_7_2::types::ConnectionStatusSnapshotDto) -> Self {
7364        Self {
7365            bytes_in: v.bytes_in,
7366            bytes_out: v.bytes_out,
7367            bytes_queued: v.bytes_queued,
7368            destination_id: v.destination_id,
7369            destination_name: v.destination_name,
7370            flow_file_availability: v.flow_file_availability,
7371            flow_files_in: v.flow_files_in,
7372            flow_files_out: v.flow_files_out,
7373            flow_files_queued: v.flow_files_queued,
7374            group_id: v.group_id,
7375            id: v.id,
7376            input: v.input,
7377            load_balance_status: v.load_balance_status.map(|v| {
7378                serde_json::to_value(&v)
7379                    .ok()
7380                    .and_then(|v| v.as_str().map(|s| s.to_string()))
7381                    .unwrap_or_default()
7382            }),
7383            name: v.name,
7384            output: v.output,
7385            percent_use_bytes: v.percent_use_bytes,
7386            percent_use_count: v.percent_use_count,
7387            predictions: v.predictions.map(Into::into),
7388            queued: v.queued,
7389            queued_count: v.queued_count,
7390            queued_size: v.queued_size,
7391            source_id: v.source_id,
7392            source_name: v.source_name,
7393        }
7394    }
7395}
7396
7397impl From<crate::v2_7_2::types::ConnectionStatusSnapshotEntity>
7398    for super::types::ConnectionStatusSnapshotEntity
7399{
7400    fn from(v: crate::v2_7_2::types::ConnectionStatusSnapshotEntity) -> Self {
7401        Self {
7402            can_read: v.can_read,
7403            connection_status_snapshot: v.connection_status_snapshot.map(Into::into),
7404            id: v.id,
7405        }
7406    }
7407}
7408
7409impl From<crate::v2_7_2::types::ConnectionsEntity> for super::types::ConnectionsEntity {
7410    fn from(v: crate::v2_7_2::types::ConnectionsEntity) -> Self {
7411        Self {
7412            connections: v
7413                .connections
7414                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7415        }
7416    }
7417}
7418
7419impl From<crate::v2_7_2::types::ContentViewerDto> for super::types::ContentViewerDto {
7420    fn from(v: crate::v2_7_2::types::ContentViewerDto) -> Self {
7421        Self {
7422            display_name: v.display_name,
7423            supported_mime_types: v
7424                .supported_mime_types
7425                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7426            uri: v.uri,
7427        }
7428    }
7429}
7430
7431impl From<crate::v2_7_2::types::ContentViewerEntity> for super::types::ContentViewerEntity {
7432    fn from(v: crate::v2_7_2::types::ContentViewerEntity) -> Self {
7433        Self {
7434            content_viewers: v
7435                .content_viewers
7436                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7437        }
7438    }
7439}
7440
7441impl From<crate::v2_7_2::types::ControllerBulletinsEntity>
7442    for super::types::ControllerBulletinsEntity
7443{
7444    fn from(v: crate::v2_7_2::types::ControllerBulletinsEntity) -> Self {
7445        Self {
7446            bulletins: v
7447                .bulletins
7448                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7449            controller_service_bulletins: v
7450                .controller_service_bulletins
7451                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7452            flow_analysis_rule_bulletins: v
7453                .flow_analysis_rule_bulletins
7454                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7455            flow_registry_client_bulletins: v
7456                .flow_registry_client_bulletins
7457                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7458            parameter_provider_bulletins: v
7459                .parameter_provider_bulletins
7460                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7461            reporting_task_bulletins: v
7462                .reporting_task_bulletins
7463                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7464        }
7465    }
7466}
7467
7468impl From<crate::v2_7_2::types::ControllerConfigurationDto>
7469    for super::types::ControllerConfigurationDto
7470{
7471    fn from(v: crate::v2_7_2::types::ControllerConfigurationDto) -> Self {
7472        Self {
7473            max_timer_driven_thread_count: v.max_timer_driven_thread_count,
7474        }
7475    }
7476}
7477
7478impl From<crate::v2_7_2::types::ControllerConfigurationEntity>
7479    for super::types::ControllerConfigurationEntity
7480{
7481    fn from(v: crate::v2_7_2::types::ControllerConfigurationEntity) -> Self {
7482        Self {
7483            component: v.component.map(Into::into),
7484            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
7485            permissions: v.permissions.map(Into::into),
7486            revision: v.revision.map(Into::into),
7487        }
7488    }
7489}
7490
7491impl From<crate::v2_7_2::types::ControllerDto> for super::types::ControllerDto {
7492    fn from(v: crate::v2_7_2::types::ControllerDto) -> Self {
7493        Self {
7494            active_remote_port_count: v.active_remote_port_count,
7495            comments: v.comments,
7496            disabled_count: v.disabled_count,
7497            id: v.id,
7498            inactive_remote_port_count: v.inactive_remote_port_count,
7499            input_port_count: v.input_port_count,
7500            input_ports: v
7501                .input_ports
7502                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7503            instance_id: v.instance_id,
7504            invalid_count: v.invalid_count,
7505            name: v.name,
7506            output_port_count: v.output_port_count,
7507            output_ports: v
7508                .output_ports
7509                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7510            remote_site_http_listening_port: v.remote_site_http_listening_port,
7511            remote_site_listening_port: v.remote_site_listening_port,
7512            running_count: v.running_count,
7513            site_to_site_secure: v.site_to_site_secure,
7514            stopped_count: v.stopped_count,
7515        }
7516    }
7517}
7518
7519impl From<crate::v2_7_2::types::ControllerEntity> for super::types::ControllerEntity {
7520    fn from(v: crate::v2_7_2::types::ControllerEntity) -> Self {
7521        Self {
7522            controller: Some(v.controller.unwrap_or_default().into()),
7523        }
7524    }
7525}
7526
7527impl From<crate::v2_7_2::types::ControllerServiceAPI> for super::types::ControllerServiceAPI {
7528    fn from(v: crate::v2_7_2::types::ControllerServiceAPI) -> Self {
7529        Self {
7530            bundle: v.bundle.map(Into::into),
7531            r#type: v.r#type,
7532        }
7533    }
7534}
7535
7536impl From<crate::v2_7_2::types::ControllerServiceApiDto> for super::types::ControllerServiceApiDto {
7537    fn from(v: crate::v2_7_2::types::ControllerServiceApiDto) -> Self {
7538        Self {
7539            bundle: v.bundle.map(Into::into),
7540            r#type: v.r#type,
7541        }
7542    }
7543}
7544
7545impl From<crate::v2_7_2::types::ControllerServiceDefinition>
7546    for super::types::ControllerServiceDefinition
7547{
7548    fn from(v: crate::v2_7_2::types::ControllerServiceDefinition) -> Self {
7549        Self {
7550            additional_details: v.additional_details,
7551            artifact: v.artifact,
7552            build_info: v.build_info.map(Into::into),
7553            deprecated: v.deprecated,
7554            deprecation_alternatives: v.deprecation_alternatives,
7555            deprecation_reason: v.deprecation_reason,
7556            dynamic_properties: v
7557                .dynamic_properties
7558                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7559            explicit_restrictions: v
7560                .explicit_restrictions
7561                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7562            group: v.group,
7563            property_descriptors: v
7564                .property_descriptors
7565                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
7566            provided_api_implementations: v
7567                .provided_api_implementations
7568                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7569            restricted: v.restricted,
7570            restricted_explanation: v.restricted_explanation,
7571            see_also: v.see_also,
7572            stateful: v.stateful.map(Into::into),
7573            supports_dynamic_properties: v.supports_dynamic_properties,
7574            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
7575            system_resource_considerations: v
7576                .system_resource_considerations
7577                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7578            tags: v.tags,
7579            r#type: v.r#type,
7580            type_description: v.type_description,
7581            version: v.version,
7582        }
7583    }
7584}
7585
7586impl From<crate::v2_7_2::types::ControllerServiceDto> for super::types::ControllerServiceDto {
7587    fn from(v: crate::v2_7_2::types::ControllerServiceDto) -> Self {
7588        Self {
7589            annotation_data: v.annotation_data,
7590            bulletin_level: v.bulletin_level,
7591            bundle: v.bundle.map(Into::into),
7592            comments: v.comments,
7593            controller_service_apis: v
7594                .controller_service_apis
7595                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7596            custom_ui_url: v.custom_ui_url,
7597            deprecated: v.deprecated,
7598            descriptors: v
7599                .descriptors
7600                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
7601            extension_missing: v.extension_missing,
7602            id: v.id,
7603            multiple_versions_available: v.multiple_versions_available,
7604            name: v.name,
7605            parent_group_id: v.parent_group_id,
7606            persists_state: v.persists_state,
7607            position: v.position.map(Into::into),
7608            properties: v.properties,
7609            referencing_components: v
7610                .referencing_components
7611                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7612            restricted: v.restricted,
7613            sensitive_dynamic_property_names: v.sensitive_dynamic_property_names,
7614            state: v.state.map(|v| {
7615                serde_json::to_value(&v)
7616                    .ok()
7617                    .and_then(|v| v.as_str().map(|s| s.to_string()))
7618                    .unwrap_or_default()
7619            }),
7620            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
7621            r#type: v.r#type,
7622            validation_errors: v.validation_errors,
7623            validation_status: v.validation_status.map(|v| {
7624                serde_json::to_value(&v)
7625                    .ok()
7626                    .and_then(|v| v.as_str().map(|s| s.to_string()))
7627                    .unwrap_or_default()
7628            }),
7629            versioned_component_id: v.versioned_component_id,
7630        }
7631    }
7632}
7633
7634impl From<crate::v2_7_2::types::ControllerServiceEntity> for super::types::ControllerServiceEntity {
7635    fn from(v: crate::v2_7_2::types::ControllerServiceEntity) -> Self {
7636        Self {
7637            bulletins: v
7638                .bulletins
7639                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7640            component: v.component.map(Into::into),
7641            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
7642            id: v.id,
7643            operate_permissions: v.operate_permissions.map(Into::into),
7644            parent_group_id: v.parent_group_id,
7645            permissions: v.permissions.map(Into::into),
7646            position: v.position.map(Into::into),
7647            revision: v.revision.map(Into::into),
7648            status: v.status.map(Into::into),
7649            uri: v.uri,
7650        }
7651    }
7652}
7653
7654impl From<crate::v2_7_2::types::ControllerServiceReferencingComponentDto>
7655    for super::types::ControllerServiceReferencingComponentDto
7656{
7657    fn from(v: crate::v2_7_2::types::ControllerServiceReferencingComponentDto) -> Self {
7658        Self {
7659            active_thread_count: v.active_thread_count,
7660            descriptors: v
7661                .descriptors
7662                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
7663            group_id: v.group_id,
7664            id: v.id,
7665            name: v.name,
7666            properties: v.properties,
7667            reference_cycle: v.reference_cycle,
7668            reference_type: v.reference_type.map(|v| {
7669                serde_json::to_value(&v)
7670                    .ok()
7671                    .and_then(|v| v.as_str().map(|s| s.to_string()))
7672                    .unwrap_or_default()
7673            }),
7674            referencing_components: v
7675                .referencing_components
7676                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7677            state: v.state,
7678            r#type: v.r#type,
7679            validation_errors: v.validation_errors,
7680        }
7681    }
7682}
7683
7684impl From<crate::v2_7_2::types::ControllerServiceReferencingComponentEntity>
7685    for super::types::ControllerServiceReferencingComponentEntity
7686{
7687    fn from(v: crate::v2_7_2::types::ControllerServiceReferencingComponentEntity) -> Self {
7688        Self {
7689            bulletins: v
7690                .bulletins
7691                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7692            component: v.component.map(Into::into),
7693            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
7694            id: v.id,
7695            operate_permissions: v.operate_permissions.map(Into::into),
7696            permissions: v.permissions.map(Into::into),
7697            position: v.position.map(Into::into),
7698            revision: v.revision.map(Into::into),
7699            uri: v.uri,
7700        }
7701    }
7702}
7703
7704impl From<crate::v2_7_2::types::ControllerServiceReferencingComponentsEntity>
7705    for super::types::ControllerServiceReferencingComponentsEntity
7706{
7707    fn from(v: crate::v2_7_2::types::ControllerServiceReferencingComponentsEntity) -> Self {
7708        Self {
7709            controller_service_referencing_components: v
7710                .controller_service_referencing_components
7711                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7712        }
7713    }
7714}
7715
7716impl From<crate::v2_7_2::types::ControllerServiceRunStatusEntity>
7717    for super::types::ControllerServiceRunStatusEntity
7718{
7719    fn from(v: crate::v2_7_2::types::ControllerServiceRunStatusEntity) -> Self {
7720        Self {
7721            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
7722            revision: v.revision.map(Into::into),
7723            state: v.state.map(|v| {
7724                serde_json::to_value(&v)
7725                    .ok()
7726                    .and_then(|v| v.as_str().map(|s| s.to_string()))
7727                    .unwrap_or_default()
7728            }),
7729            ui_only: v.ui_only,
7730        }
7731    }
7732}
7733
7734impl From<crate::v2_7_2::types::ControllerServiceStatusDto>
7735    for super::types::ControllerServiceStatusDto
7736{
7737    fn from(v: crate::v2_7_2::types::ControllerServiceStatusDto) -> Self {
7738        Self {
7739            active_thread_count: v.active_thread_count,
7740            run_status: v.run_status.map(|v| {
7741                serde_json::to_value(&v)
7742                    .ok()
7743                    .and_then(|v| v.as_str().map(|s| s.to_string()))
7744                    .unwrap_or_default()
7745            }),
7746            validation_status: v.validation_status.map(|v| {
7747                serde_json::to_value(&v)
7748                    .ok()
7749                    .and_then(|v| v.as_str().map(|s| s.to_string()))
7750                    .unwrap_or_default()
7751            }),
7752        }
7753    }
7754}
7755
7756impl From<crate::v2_7_2::types::ControllerServiceTypesEntity>
7757    for super::types::ControllerServiceTypesEntity
7758{
7759    fn from(v: crate::v2_7_2::types::ControllerServiceTypesEntity) -> Self {
7760        Self {
7761            controller_service_types: v
7762                .controller_service_types
7763                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7764        }
7765    }
7766}
7767
7768impl From<crate::v2_7_2::types::ControllerServicesEntity>
7769    for super::types::ControllerServicesEntity
7770{
7771    fn from(v: crate::v2_7_2::types::ControllerServicesEntity) -> Self {
7772        Self {
7773            controller_services: v
7774                .controller_services
7775                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7776            current_time: v.current_time,
7777        }
7778    }
7779}
7780
7781impl From<crate::v2_7_2::types::ControllerStatusDto> for super::types::ControllerStatusDto {
7782    fn from(v: crate::v2_7_2::types::ControllerStatusDto) -> Self {
7783        Self {
7784            active_remote_port_count: v.active_remote_port_count,
7785            active_thread_count: v.active_thread_count,
7786            bytes_queued: v.bytes_queued,
7787            disabled_count: v.disabled_count,
7788            flow_files_queued: v.flow_files_queued,
7789            inactive_remote_port_count: v.inactive_remote_port_count,
7790            invalid_count: v.invalid_count,
7791            locally_modified_and_stale_count: v.locally_modified_and_stale_count,
7792            locally_modified_count: v.locally_modified_count,
7793            queued: v.queued,
7794            running_count: v.running_count,
7795            stale_count: v.stale_count,
7796            stopped_count: v.stopped_count,
7797            sync_failure_count: v.sync_failure_count,
7798            terminated_thread_count: v.terminated_thread_count,
7799            up_to_date_count: v.up_to_date_count,
7800        }
7801    }
7802}
7803
7804impl From<crate::v2_7_2::types::ControllerStatusEntity> for super::types::ControllerStatusEntity {
7805    fn from(v: crate::v2_7_2::types::ControllerStatusEntity) -> Self {
7806        Self {
7807            controller_status: Some(v.controller_status.unwrap_or_default().into()),
7808        }
7809    }
7810}
7811
7812impl From<crate::v2_7_2::types::CopyRequestEntity> for super::types::CopyRequestEntity {
7813    fn from(v: crate::v2_7_2::types::CopyRequestEntity) -> Self {
7814        Self {
7815            connections: v.connections,
7816            funnels: v.funnels,
7817            input_ports: v.input_ports,
7818            labels: v.labels,
7819            output_ports: v.output_ports,
7820            process_groups: v.process_groups,
7821            processors: v.processors,
7822            remote_process_groups: v.remote_process_groups,
7823        }
7824    }
7825}
7826
7827impl From<crate::v2_7_2::types::CopyResponseEntity> for super::types::CopyResponseEntity {
7828    fn from(v: crate::v2_7_2::types::CopyResponseEntity) -> Self {
7829        Self {
7830            connections: v
7831                .connections
7832                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7833            external_controller_service_references: v
7834                .external_controller_service_references
7835                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
7836            funnels: v.funnels.map(|v| v.into_iter().map(|v| v.into()).collect()),
7837            id: v.id,
7838            input_ports: v
7839                .input_ports
7840                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7841            labels: v.labels.map(|v| v.into_iter().map(|v| v.into()).collect()),
7842            output_ports: v
7843                .output_ports
7844                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7845            parameter_contexts: v
7846                .parameter_contexts
7847                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
7848            parameter_providers: v
7849                .parameter_providers
7850                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
7851            process_groups: v
7852                .process_groups
7853                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7854            processors: v
7855                .processors
7856                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7857            remote_process_groups: v
7858                .remote_process_groups
7859                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7860        }
7861    }
7862}
7863
7864impl From<crate::v2_7_2::types::CopySnippetRequestEntity>
7865    for super::types::CopySnippetRequestEntity
7866{
7867    fn from(v: crate::v2_7_2::types::CopySnippetRequestEntity) -> Self {
7868        Self {
7869            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
7870            origin_x: v.origin_x,
7871            origin_y: v.origin_y,
7872            snippet_id: v.snippet_id,
7873        }
7874    }
7875}
7876
7877impl From<crate::v2_7_2::types::CounterDto> for super::types::CounterDto {
7878    fn from(v: crate::v2_7_2::types::CounterDto) -> Self {
7879        Self {
7880            context: v.context,
7881            id: v.id,
7882            name: v.name,
7883            value: v.value,
7884            value_count: v.value_count,
7885        }
7886    }
7887}
7888
7889impl From<crate::v2_7_2::types::CounterEntity> for super::types::CounterEntity {
7890    fn from(v: crate::v2_7_2::types::CounterEntity) -> Self {
7891        Self {
7892            counter: Some(v.counter.unwrap_or_default().into()),
7893        }
7894    }
7895}
7896
7897impl From<crate::v2_7_2::types::CountersDto> for super::types::CountersDto {
7898    fn from(v: crate::v2_7_2::types::CountersDto) -> Self {
7899        Self {
7900            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
7901            node_snapshots: v
7902                .node_snapshots
7903                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7904        }
7905    }
7906}
7907
7908impl From<crate::v2_7_2::types::CountersEntity> for super::types::CountersEntity {
7909    fn from(v: crate::v2_7_2::types::CountersEntity) -> Self {
7910        Self {
7911            counters: Some(v.counters.unwrap_or_default().into()),
7912        }
7913    }
7914}
7915
7916impl From<crate::v2_7_2::types::CountersSnapshotDto> for super::types::CountersSnapshotDto {
7917    fn from(v: crate::v2_7_2::types::CountersSnapshotDto) -> Self {
7918        Self {
7919            counters: v
7920                .counters
7921                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7922            generated: v.generated,
7923        }
7924    }
7925}
7926
7927impl From<crate::v2_7_2::types::CreateActiveRequestEntity>
7928    for super::types::CreateActiveRequestEntity
7929{
7930    fn from(v: crate::v2_7_2::types::CreateActiveRequestEntity) -> Self {
7931        Self {
7932            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
7933            process_group_id: v.process_group_id,
7934        }
7935    }
7936}
7937
7938impl From<crate::v2_7_2::types::CurrentUserEntity> for super::types::CurrentUserEntity {
7939    fn from(v: crate::v2_7_2::types::CurrentUserEntity) -> Self {
7940        Self {
7941            anonymous: v.anonymous,
7942            can_version_flows: v.can_version_flows,
7943            component_restriction_permissions: v
7944                .component_restriction_permissions
7945                .map(|v| v.into_iter().map(|v| v.into()).collect()),
7946            controller_permissions: v.controller_permissions.map(Into::into),
7947            counters_permissions: v.counters_permissions.map(Into::into),
7948            identity: v.identity,
7949            logout_supported: v.logout_supported,
7950            parameter_context_permissions: v.parameter_context_permissions.map(Into::into),
7951            policies_permissions: v.policies_permissions.map(Into::into),
7952            provenance_permissions: v.provenance_permissions.map(Into::into),
7953            restricted_components_permissions: v.restricted_components_permissions.map(Into::into),
7954            system_permissions: v.system_permissions.map(Into::into),
7955            tenants_permissions: v.tenants_permissions.map(Into::into),
7956        }
7957    }
7958}
7959
7960impl From<crate::v2_7_2::types::DateTimeParameter> for super::types::DateTimeParameter {
7961    fn from(v: crate::v2_7_2::types::DateTimeParameter) -> Self {
7962        Self {
7963            date_time: v.date_time,
7964        }
7965    }
7966}
7967
7968impl From<crate::v2_7_2::types::DefinedType> for super::types::DefinedType {
7969    fn from(v: crate::v2_7_2::types::DefinedType) -> Self {
7970        Self {
7971            artifact: v.artifact,
7972            group: v.group,
7973            r#type: v.r#type,
7974            type_description: v.type_description,
7975            version: v.version,
7976        }
7977    }
7978}
7979
7980impl From<crate::v2_7_2::types::DiagnosticLevel> for super::types::DiagnosticLevel {
7981    fn from(v: crate::v2_7_2::types::DiagnosticLevel) -> Self {
7982        let s = serde_json::to_string(&v).expect("serialize enum");
7983        serde_json::from_str(&s).expect("deserialize enum")
7984    }
7985}
7986
7987impl From<crate::v2_7_2::types::DifferenceDto> for super::types::DifferenceDto {
7988    fn from(v: crate::v2_7_2::types::DifferenceDto) -> Self {
7989        Self {
7990            difference: v.difference,
7991            difference_type: v.difference_type,
7992        }
7993    }
7994}
7995
7996impl From<crate::v2_7_2::types::DimensionsDto> for super::types::DimensionsDto {
7997    fn from(v: crate::v2_7_2::types::DimensionsDto) -> Self {
7998        Self {
7999            height: v.height,
8000            width: v.width,
8001        }
8002    }
8003}
8004
8005impl From<crate::v2_7_2::types::DocumentedTypeDto> for super::types::DocumentedTypeDto {
8006    fn from(v: crate::v2_7_2::types::DocumentedTypeDto) -> Self {
8007        Self {
8008            bundle: v.bundle.map(Into::into),
8009            controller_service_apis: v
8010                .controller_service_apis
8011                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8012            deprecation_reason: v.deprecation_reason,
8013            description: v.description,
8014            explicit_restrictions: v
8015                .explicit_restrictions
8016                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8017            restricted: v.restricted,
8018            tags: v.tags,
8019            r#type: v.r#type,
8020            usage_restriction: v.usage_restriction,
8021        }
8022    }
8023}
8024
8025impl From<crate::v2_7_2::types::DropRequestDto> for super::types::DropRequestDto {
8026    fn from(v: crate::v2_7_2::types::DropRequestDto) -> Self {
8027        Self {
8028            current: v.current,
8029            current_count: v.current_count,
8030            current_size: v.current_size,
8031            dropped: v.dropped,
8032            dropped_count: v.dropped_count,
8033            dropped_size: v.dropped_size,
8034            failure_reason: v.failure_reason,
8035            finished: v.finished,
8036            id: v.id,
8037            last_updated: v.last_updated,
8038            original: v.original,
8039            original_count: v.original_count,
8040            original_size: v.original_size,
8041            percent_completed: v.percent_completed,
8042            state: v.state,
8043            submission_time: v.submission_time,
8044            uri: v.uri,
8045        }
8046    }
8047}
8048
8049impl From<crate::v2_7_2::types::DropRequestEntity> for super::types::DropRequestEntity {
8050    fn from(v: crate::v2_7_2::types::DropRequestEntity) -> Self {
8051        Self {
8052            drop_request: Some(v.drop_request.unwrap_or_default().into()),
8053        }
8054    }
8055}
8056
8057impl From<crate::v2_7_2::types::DynamicProperty> for super::types::DynamicProperty {
8058    fn from(v: crate::v2_7_2::types::DynamicProperty) -> Self {
8059        Self {
8060            description: v.description,
8061            expression_language_scope: v.expression_language_scope.map(|v| {
8062                serde_json::to_value(&v)
8063                    .ok()
8064                    .and_then(|v| v.as_str().map(|s| s.to_string()))
8065                    .unwrap_or_default()
8066            }),
8067            name: v.name,
8068            value: v.value,
8069        }
8070    }
8071}
8072
8073impl From<crate::v2_7_2::types::DynamicRelationship> for super::types::DynamicRelationship {
8074    fn from(v: crate::v2_7_2::types::DynamicRelationship) -> Self {
8075        Self {
8076            description: v.description,
8077            name: v.name,
8078        }
8079    }
8080}
8081
8082impl From<crate::v2_7_2::types::ExplicitRestrictionDto> for super::types::ExplicitRestrictionDto {
8083    fn from(v: crate::v2_7_2::types::ExplicitRestrictionDto) -> Self {
8084        Self {
8085            explanation: v.explanation,
8086            required_permission: v.required_permission.map(Into::into),
8087        }
8088    }
8089}
8090
8091impl From<crate::v2_7_2::types::ExternalControllerServiceReference>
8092    for super::types::ExternalControllerServiceReference
8093{
8094    fn from(v: crate::v2_7_2::types::ExternalControllerServiceReference) -> Self {
8095        Self {
8096            identifier: v.identifier,
8097            name: v.name,
8098        }
8099    }
8100}
8101
8102impl From<crate::v2_7_2::types::FlowAnalysisResultEntity>
8103    for super::types::FlowAnalysisResultEntity
8104{
8105    fn from(v: crate::v2_7_2::types::FlowAnalysisResultEntity) -> Self {
8106        Self {
8107            flow_analysis_pending: v.flow_analysis_pending,
8108            rule_violations: v
8109                .rule_violations
8110                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8111            rules: v.rules.map(|v| v.into_iter().map(|v| v.into()).collect()),
8112        }
8113    }
8114}
8115
8116impl From<crate::v2_7_2::types::FlowAnalysisRuleDefinition>
8117    for super::types::FlowAnalysisRuleDefinition
8118{
8119    fn from(v: crate::v2_7_2::types::FlowAnalysisRuleDefinition) -> Self {
8120        Self {
8121            additional_details: v.additional_details,
8122            artifact: v.artifact,
8123            build_info: v.build_info.map(Into::into),
8124            deprecated: v.deprecated,
8125            deprecation_alternatives: v.deprecation_alternatives,
8126            deprecation_reason: v.deprecation_reason,
8127            dynamic_properties: v
8128                .dynamic_properties
8129                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8130            explicit_restrictions: v
8131                .explicit_restrictions
8132                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8133            group: v.group,
8134            property_descriptors: v
8135                .property_descriptors
8136                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
8137            provided_api_implementations: v
8138                .provided_api_implementations
8139                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8140            restricted: v.restricted,
8141            restricted_explanation: v.restricted_explanation,
8142            see_also: v.see_also,
8143            stateful: v.stateful.map(Into::into),
8144            supports_dynamic_properties: v.supports_dynamic_properties,
8145            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
8146            system_resource_considerations: v
8147                .system_resource_considerations
8148                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8149            tags: v.tags,
8150            r#type: v.r#type,
8151            type_description: v.type_description,
8152            version: v.version,
8153        }
8154    }
8155}
8156
8157impl From<crate::v2_7_2::types::FlowAnalysisRuleDto> for super::types::FlowAnalysisRuleDto {
8158    fn from(v: crate::v2_7_2::types::FlowAnalysisRuleDto) -> Self {
8159        Self {
8160            bundle: v.bundle.map(Into::into),
8161            comments: v.comments,
8162            deprecated: v.deprecated,
8163            descriptors: v
8164                .descriptors
8165                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
8166            enforcement_policy: v.enforcement_policy,
8167            extension_missing: v.extension_missing,
8168            id: v.id,
8169            multiple_versions_available: v.multiple_versions_available,
8170            name: v.name,
8171            parent_group_id: v.parent_group_id,
8172            persists_state: v.persists_state,
8173            position: v.position.map(Into::into),
8174            properties: v.properties,
8175            restricted: v.restricted,
8176            sensitive_dynamic_property_names: v.sensitive_dynamic_property_names,
8177            state: v.state.map(|v| {
8178                serde_json::to_value(&v)
8179                    .ok()
8180                    .and_then(|v| v.as_str().map(|s| s.to_string()))
8181                    .unwrap_or_default()
8182            }),
8183            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
8184            r#type: v.r#type,
8185            validation_errors: v.validation_errors,
8186            validation_status: v.validation_status.map(|v| {
8187                serde_json::to_value(&v)
8188                    .ok()
8189                    .and_then(|v| v.as_str().map(|s| s.to_string()))
8190                    .unwrap_or_default()
8191            }),
8192            versioned_component_id: v.versioned_component_id,
8193        }
8194    }
8195}
8196
8197impl From<crate::v2_7_2::types::FlowAnalysisRuleEntity> for super::types::FlowAnalysisRuleEntity {
8198    fn from(v: crate::v2_7_2::types::FlowAnalysisRuleEntity) -> Self {
8199        Self {
8200            bulletins: v
8201                .bulletins
8202                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8203            component: v.component.map(Into::into),
8204            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
8205            id: v.id,
8206            operate_permissions: v.operate_permissions.map(Into::into),
8207            permissions: v.permissions.map(Into::into),
8208            position: v.position.map(Into::into),
8209            revision: v.revision.map(Into::into),
8210            status: v.status.map(Into::into),
8211            uri: v.uri,
8212        }
8213    }
8214}
8215
8216impl From<crate::v2_7_2::types::FlowAnalysisRuleRunStatusEntity>
8217    for super::types::FlowAnalysisRuleRunStatusEntity
8218{
8219    fn from(v: crate::v2_7_2::types::FlowAnalysisRuleRunStatusEntity) -> Self {
8220        Self {
8221            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
8222            revision: v.revision.map(Into::into),
8223            state: v.state.map(|v| {
8224                serde_json::to_value(&v)
8225                    .ok()
8226                    .and_then(|v| v.as_str().map(|s| s.to_string()))
8227                    .unwrap_or_default()
8228            }),
8229        }
8230    }
8231}
8232
8233impl From<crate::v2_7_2::types::FlowAnalysisRuleStatusDto>
8234    for super::types::FlowAnalysisRuleStatusDto
8235{
8236    fn from(v: crate::v2_7_2::types::FlowAnalysisRuleStatusDto) -> Self {
8237        Self {
8238            active_thread_count: v.active_thread_count,
8239            run_status: v.run_status.map(|v| {
8240                serde_json::to_value(&v)
8241                    .ok()
8242                    .and_then(|v| v.as_str().map(|s| s.to_string()))
8243                    .unwrap_or_default()
8244            }),
8245            validation_status: v.validation_status.map(|v| {
8246                serde_json::to_value(&v)
8247                    .ok()
8248                    .and_then(|v| v.as_str().map(|s| s.to_string()))
8249                    .unwrap_or_default()
8250            }),
8251        }
8252    }
8253}
8254
8255impl From<crate::v2_7_2::types::FlowAnalysisRuleTypesEntity>
8256    for super::types::FlowAnalysisRuleTypesEntity
8257{
8258    fn from(v: crate::v2_7_2::types::FlowAnalysisRuleTypesEntity) -> Self {
8259        Self {
8260            flow_analysis_rule_types: v
8261                .flow_analysis_rule_types
8262                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8263        }
8264    }
8265}
8266
8267impl From<crate::v2_7_2::types::FlowAnalysisRuleViolationDto>
8268    for super::types::FlowAnalysisRuleViolationDto
8269{
8270    fn from(v: crate::v2_7_2::types::FlowAnalysisRuleViolationDto) -> Self {
8271        Self {
8272            enabled: v.enabled,
8273            enforcement_policy: v.enforcement_policy,
8274            group_id: v.group_id,
8275            issue_id: v.issue_id,
8276            rule_id: v.rule_id,
8277            scope: v.scope,
8278            subject_component_type: v.subject_component_type,
8279            subject_display_name: v.subject_display_name,
8280            subject_id: v.subject_id,
8281            subject_permission_dto: v.subject_permission_dto.map(Into::into),
8282            violation_message: v.violation_message,
8283        }
8284    }
8285}
8286
8287impl From<crate::v2_7_2::types::FlowAnalysisRulesEntity> for super::types::FlowAnalysisRulesEntity {
8288    fn from(v: crate::v2_7_2::types::FlowAnalysisRulesEntity) -> Self {
8289        Self {
8290            current_time: v.current_time,
8291            flow_analysis_rules: v
8292                .flow_analysis_rules
8293                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8294        }
8295    }
8296}
8297
8298impl From<crate::v2_7_2::types::FlowBreadcrumbDto> for super::types::FlowBreadcrumbDto {
8299    fn from(v: crate::v2_7_2::types::FlowBreadcrumbDto) -> Self {
8300        Self {
8301            id: v.id,
8302            name: v.name,
8303            version_control_information: v.version_control_information.map(Into::into),
8304        }
8305    }
8306}
8307
8308impl From<crate::v2_7_2::types::FlowBreadcrumbEntity> for super::types::FlowBreadcrumbEntity {
8309    fn from(v: crate::v2_7_2::types::FlowBreadcrumbEntity) -> Self {
8310        Self {
8311            breadcrumb: v.breadcrumb.map(Into::into),
8312            id: v.id,
8313            parent_breadcrumb: v.parent_breadcrumb.map(|v| Box::new((*v).into())),
8314            permissions: v.permissions.map(Into::into),
8315            versioned_flow_state: v.versioned_flow_state.map(|v| {
8316                serde_json::to_value(&v)
8317                    .ok()
8318                    .and_then(|v| v.as_str().map(|s| s.to_string()))
8319                    .unwrap_or_default()
8320            }),
8321        }
8322    }
8323}
8324
8325impl From<crate::v2_7_2::types::FlowComparisonEntity> for super::types::FlowComparisonEntity {
8326    fn from(v: crate::v2_7_2::types::FlowComparisonEntity) -> Self {
8327        Self {
8328            component_differences: v
8329                .component_differences
8330                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8331        }
8332    }
8333}
8334
8335impl From<crate::v2_7_2::types::FlowConfigurationDto> for super::types::FlowConfigurationDto {
8336    fn from(v: crate::v2_7_2::types::FlowConfigurationDto) -> Self {
8337        Self {
8338            current_time: v.current_time,
8339            default_back_pressure_data_size_threshold: v.default_back_pressure_data_size_threshold,
8340            default_back_pressure_object_threshold: v.default_back_pressure_object_threshold,
8341            supports_configurable_authorizer: v.supports_configurable_authorizer,
8342            supports_configurable_users_and_groups: v.supports_configurable_users_and_groups,
8343            supports_managed_authorizer: v.supports_managed_authorizer,
8344            time_offset: v.time_offset,
8345        }
8346    }
8347}
8348
8349impl From<crate::v2_7_2::types::FlowConfigurationEntity> for super::types::FlowConfigurationEntity {
8350    fn from(v: crate::v2_7_2::types::FlowConfigurationEntity) -> Self {
8351        Self {
8352            flow_configuration: Some(v.flow_configuration.unwrap_or_default().into()),
8353        }
8354    }
8355}
8356
8357impl From<crate::v2_7_2::types::FlowDto> for super::types::FlowDto {
8358    fn from(v: crate::v2_7_2::types::FlowDto) -> Self {
8359        Self {
8360            connections: v
8361                .connections
8362                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8363            funnels: v.funnels.map(|v| v.into_iter().map(|v| v.into()).collect()),
8364            input_ports: v
8365                .input_ports
8366                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8367            labels: v.labels.map(|v| v.into_iter().map(|v| v.into()).collect()),
8368            output_ports: v
8369                .output_ports
8370                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8371            process_groups: v
8372                .process_groups
8373                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8374            processors: v
8375                .processors
8376                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8377            remote_process_groups: v
8378                .remote_process_groups
8379                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8380        }
8381    }
8382}
8383
8384impl From<crate::v2_7_2::types::FlowEntity> for super::types::FlowEntity {
8385    fn from(v: crate::v2_7_2::types::FlowEntity) -> Self {
8386        Self {
8387            flow: Some(v.flow.unwrap_or_default().into()),
8388        }
8389    }
8390}
8391
8392impl From<crate::v2_7_2::types::FlowFileDto> for super::types::FlowFileDto {
8393    fn from(v: crate::v2_7_2::types::FlowFileDto) -> Self {
8394        Self {
8395            attributes: v.attributes,
8396            cluster_node_address: v.cluster_node_address,
8397            cluster_node_id: v.cluster_node_id,
8398            content_claim_container: v.content_claim_container,
8399            content_claim_file_size: v.content_claim_file_size,
8400            content_claim_file_size_bytes: v.content_claim_file_size_bytes,
8401            content_claim_identifier: v.content_claim_identifier,
8402            content_claim_offset: v.content_claim_offset,
8403            content_claim_section: v.content_claim_section,
8404            filename: v.filename,
8405            lineage_duration: v.lineage_duration,
8406            mime_type: v.mime_type,
8407            penalized: v.penalized,
8408            penalty_expires_in: v.penalty_expires_in,
8409            position: v.position,
8410            queued_duration: v.queued_duration,
8411            size: v.size,
8412            uri: v.uri,
8413            uuid: v.uuid,
8414        }
8415    }
8416}
8417
8418impl From<crate::v2_7_2::types::FlowFileEntity> for super::types::FlowFileEntity {
8419    fn from(v: crate::v2_7_2::types::FlowFileEntity) -> Self {
8420        Self {
8421            flow_file: Some(v.flow_file.unwrap_or_default().into()),
8422        }
8423    }
8424}
8425
8426impl From<crate::v2_7_2::types::FlowFileSummaryDto> for super::types::FlowFileSummaryDto {
8427    fn from(v: crate::v2_7_2::types::FlowFileSummaryDto) -> Self {
8428        Self {
8429            cluster_node_address: v.cluster_node_address,
8430            cluster_node_id: v.cluster_node_id,
8431            filename: v.filename,
8432            lineage_duration: v.lineage_duration,
8433            mime_type: v.mime_type,
8434            penalized: v.penalized,
8435            penalty_expires_in: v.penalty_expires_in,
8436            position: v.position,
8437            queued_duration: v.queued_duration,
8438            size: v.size,
8439            uri: v.uri,
8440            uuid: v.uuid,
8441        }
8442    }
8443}
8444
8445impl From<crate::v2_7_2::types::FlowMetricsReportingStrategy>
8446    for super::types::FlowMetricsReportingStrategy
8447{
8448    fn from(v: crate::v2_7_2::types::FlowMetricsReportingStrategy) -> Self {
8449        let s = serde_json::to_string(&v).expect("serialize enum");
8450        serde_json::from_str(&s).expect("deserialize enum")
8451    }
8452}
8453
8454impl From<crate::v2_7_2::types::FlowRegistryBranchDto> for super::types::FlowRegistryBranchDto {
8455    fn from(v: crate::v2_7_2::types::FlowRegistryBranchDto) -> Self {
8456        Self { name: v.name }
8457    }
8458}
8459
8460impl From<crate::v2_7_2::types::FlowRegistryBranchEntity>
8461    for super::types::FlowRegistryBranchEntity
8462{
8463    fn from(v: crate::v2_7_2::types::FlowRegistryBranchEntity) -> Self {
8464        Self {
8465            branch: Some(v.branch.unwrap_or_default().into()),
8466        }
8467    }
8468}
8469
8470impl From<crate::v2_7_2::types::FlowRegistryBranchesEntity>
8471    for super::types::FlowRegistryBranchesEntity
8472{
8473    fn from(v: crate::v2_7_2::types::FlowRegistryBranchesEntity) -> Self {
8474        Self {
8475            branches: v
8476                .branches
8477                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8478        }
8479    }
8480}
8481
8482impl From<crate::v2_7_2::types::FlowRegistryBucket> for super::types::FlowRegistryBucket {
8483    fn from(v: crate::v2_7_2::types::FlowRegistryBucket) -> Self {
8484        Self {
8485            created_timestamp: v.created_timestamp,
8486            description: v.description,
8487            identifier: v.identifier,
8488            name: v.name,
8489            permissions: v.permissions.map(Into::into),
8490        }
8491    }
8492}
8493
8494impl From<crate::v2_7_2::types::FlowRegistryBucketDto> for super::types::FlowRegistryBucketDto {
8495    fn from(v: crate::v2_7_2::types::FlowRegistryBucketDto) -> Self {
8496        Self {
8497            created: v.created,
8498            description: v.description,
8499            id: v.id,
8500            name: v.name,
8501        }
8502    }
8503}
8504
8505impl From<crate::v2_7_2::types::FlowRegistryBucketEntity>
8506    for super::types::FlowRegistryBucketEntity
8507{
8508    fn from(v: crate::v2_7_2::types::FlowRegistryBucketEntity) -> Self {
8509        Self {
8510            bucket: v.bucket.map(Into::into),
8511            id: v.id,
8512            permissions: v.permissions.map(Into::into),
8513        }
8514    }
8515}
8516
8517impl From<crate::v2_7_2::types::FlowRegistryBucketsEntity>
8518    for super::types::FlowRegistryBucketsEntity
8519{
8520    fn from(v: crate::v2_7_2::types::FlowRegistryBucketsEntity) -> Self {
8521        Self {
8522            buckets: v.buckets.map(|v| v.into_iter().map(|v| v.into()).collect()),
8523        }
8524    }
8525}
8526
8527impl From<crate::v2_7_2::types::FlowRegistryClientDefinition>
8528    for super::types::FlowRegistryClientDefinition
8529{
8530    fn from(v: crate::v2_7_2::types::FlowRegistryClientDefinition) -> Self {
8531        Self {
8532            additional_details: v.additional_details,
8533            artifact: v.artifact,
8534            build_info: v.build_info.map(Into::into),
8535            deprecated: v.deprecated,
8536            deprecation_alternatives: v.deprecation_alternatives,
8537            deprecation_reason: v.deprecation_reason,
8538            dynamic_properties: v
8539                .dynamic_properties
8540                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8541            explicit_restrictions: v
8542                .explicit_restrictions
8543                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8544            group: v.group,
8545            property_descriptors: v
8546                .property_descriptors
8547                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
8548            provided_api_implementations: v
8549                .provided_api_implementations
8550                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8551            restricted: v.restricted,
8552            restricted_explanation: v.restricted_explanation,
8553            see_also: v.see_also,
8554            stateful: v.stateful.map(Into::into),
8555            supports_dynamic_properties: v.supports_dynamic_properties,
8556            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
8557            system_resource_considerations: v
8558                .system_resource_considerations
8559                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8560            tags: v.tags,
8561            r#type: v.r#type,
8562            type_description: v.type_description,
8563            version: v.version,
8564        }
8565    }
8566}
8567
8568impl From<crate::v2_7_2::types::FlowRegistryClientDto> for super::types::FlowRegistryClientDto {
8569    fn from(v: crate::v2_7_2::types::FlowRegistryClientDto) -> Self {
8570        Self {
8571            annotation_data: v.annotation_data,
8572            bundle: v.bundle.map(Into::into),
8573            deprecated: v.deprecated,
8574            description: v.description,
8575            descriptors: v
8576                .descriptors
8577                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
8578            extension_missing: v.extension_missing,
8579            id: v.id,
8580            multiple_versions_available: v.multiple_versions_available,
8581            name: v.name,
8582            properties: v.properties,
8583            restricted: v.restricted,
8584            sensitive_dynamic_property_names: v.sensitive_dynamic_property_names,
8585            supports_branching: v.supports_branching,
8586            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
8587            r#type: v.r#type,
8588            validation_errors: v.validation_errors,
8589            validation_status: v.validation_status.map(|v| {
8590                serde_json::to_value(&v)
8591                    .ok()
8592                    .and_then(|v| v.as_str().map(|s| s.to_string()))
8593                    .unwrap_or_default()
8594            }),
8595        }
8596    }
8597}
8598
8599impl From<crate::v2_7_2::types::FlowRegistryClientEntity>
8600    for super::types::FlowRegistryClientEntity
8601{
8602    fn from(v: crate::v2_7_2::types::FlowRegistryClientEntity) -> Self {
8603        Self {
8604            bulletins: v
8605                .bulletins
8606                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8607            component: v.component.map(Into::into),
8608            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
8609            id: v.id,
8610            operate_permissions: v.operate_permissions.map(Into::into),
8611            permissions: v.permissions.map(Into::into),
8612            position: v.position.map(Into::into),
8613            revision: v.revision.map(Into::into),
8614            uri: v.uri,
8615        }
8616    }
8617}
8618
8619impl From<crate::v2_7_2::types::FlowRegistryClientTypesEntity>
8620    for super::types::FlowRegistryClientTypesEntity
8621{
8622    fn from(v: crate::v2_7_2::types::FlowRegistryClientTypesEntity) -> Self {
8623        Self {
8624            flow_registry_client_types: v
8625                .flow_registry_client_types
8626                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8627        }
8628    }
8629}
8630
8631impl From<crate::v2_7_2::types::FlowRegistryClientsEntity>
8632    for super::types::FlowRegistryClientsEntity
8633{
8634    fn from(v: crate::v2_7_2::types::FlowRegistryClientsEntity) -> Self {
8635        Self {
8636            current_time: v.current_time,
8637            registries: v
8638                .registries
8639                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8640        }
8641    }
8642}
8643
8644impl From<crate::v2_7_2::types::FlowRegistryPermissions> for super::types::FlowRegistryPermissions {
8645    fn from(v: crate::v2_7_2::types::FlowRegistryPermissions) -> Self {
8646        Self {
8647            can_delete: v.can_delete,
8648            can_read: v.can_read,
8649            can_write: v.can_write,
8650        }
8651    }
8652}
8653
8654impl From<crate::v2_7_2::types::FlowSnippetDto> for super::types::FlowSnippetDto {
8655    fn from(v: crate::v2_7_2::types::FlowSnippetDto) -> Self {
8656        Self {
8657            connections: v
8658                .connections
8659                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8660            controller_services: v
8661                .controller_services
8662                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8663            funnels: v.funnels.map(|v| v.into_iter().map(|v| v.into()).collect()),
8664            input_ports: v
8665                .input_ports
8666                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8667            labels: v.labels.map(|v| v.into_iter().map(|v| v.into()).collect()),
8668            output_ports: v
8669                .output_ports
8670                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8671            process_groups: v
8672                .process_groups
8673                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8674            processors: v
8675                .processors
8676                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8677            remote_process_groups: v
8678                .remote_process_groups
8679                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8680        }
8681    }
8682}
8683
8684impl From<crate::v2_7_2::types::FunnelDto> for super::types::FunnelDto {
8685    fn from(v: crate::v2_7_2::types::FunnelDto) -> Self {
8686        Self {
8687            id: v.id,
8688            parent_group_id: v.parent_group_id,
8689            position: v.position.map(Into::into),
8690            versioned_component_id: v.versioned_component_id,
8691        }
8692    }
8693}
8694
8695impl From<crate::v2_7_2::types::FunnelEntity> for super::types::FunnelEntity {
8696    fn from(v: crate::v2_7_2::types::FunnelEntity) -> Self {
8697        Self {
8698            bulletins: v
8699                .bulletins
8700                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8701            component: v.component.map(Into::into),
8702            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
8703            id: v.id,
8704            permissions: v.permissions.map(Into::into),
8705            position: v.position.map(Into::into),
8706            revision: v.revision.map(Into::into),
8707            uri: v.uri,
8708        }
8709    }
8710}
8711
8712impl From<crate::v2_7_2::types::FunnelsEntity> for super::types::FunnelsEntity {
8713    fn from(v: crate::v2_7_2::types::FunnelsEntity) -> Self {
8714        Self {
8715            funnels: v.funnels.map(|v| v.into_iter().map(|v| v.into()).collect()),
8716        }
8717    }
8718}
8719
8720impl From<crate::v2_7_2::types::GarbageCollectionDto> for super::types::GarbageCollectionDto {
8721    fn from(v: crate::v2_7_2::types::GarbageCollectionDto) -> Self {
8722        Self {
8723            collection_count: v.collection_count,
8724            collection_millis: v.collection_millis,
8725            collection_time: v.collection_time,
8726            name: v.name,
8727        }
8728    }
8729}
8730
8731impl From<crate::v2_7_2::types::HistoryDto> for super::types::HistoryDto {
8732    fn from(v: crate::v2_7_2::types::HistoryDto) -> Self {
8733        Self {
8734            actions: v.actions.map(|v| v.into_iter().map(|v| v.into()).collect()),
8735            last_refreshed: v.last_refreshed,
8736            total: v.total,
8737        }
8738    }
8739}
8740
8741impl From<crate::v2_7_2::types::HistoryEntity> for super::types::HistoryEntity {
8742    fn from(v: crate::v2_7_2::types::HistoryEntity) -> Self {
8743        Self {
8744            history: Some(v.history.unwrap_or_default().into()),
8745        }
8746    }
8747}
8748
8749impl From<crate::v2_7_2::types::IncludedRegistries> for super::types::IncludedRegistries {
8750    fn from(v: crate::v2_7_2::types::IncludedRegistries) -> Self {
8751        let s = serde_json::to_string(&v).expect("serialize enum");
8752        serde_json::from_str(&s).expect("deserialize enum")
8753    }
8754}
8755
8756impl From<crate::v2_7_2::types::InputPortsEntity> for super::types::InputPortsEntity {
8757    fn from(v: crate::v2_7_2::types::InputPortsEntity) -> Self {
8758        Self {
8759            input_ports: v
8760                .input_ports
8761                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8762        }
8763    }
8764}
8765
8766impl From<crate::v2_7_2::types::IntegerParameter> for super::types::IntegerParameter {
8767    fn from(v: crate::v2_7_2::types::IntegerParameter) -> Self {
8768        Self { integer: v.integer }
8769    }
8770}
8771
8772impl From<crate::v2_7_2::types::JmxMetricsResultDto> for super::types::JmxMetricsResultDto {
8773    fn from(v: crate::v2_7_2::types::JmxMetricsResultDto) -> Self {
8774        Self {
8775            attribute_name: v.attribute_name,
8776            attribute_value: v.attribute_value.map(Into::into),
8777            bean_name: v.bean_name,
8778        }
8779    }
8780}
8781
8782impl From<crate::v2_7_2::types::JmxMetricsResultsEntity> for super::types::JmxMetricsResultsEntity {
8783    fn from(v: crate::v2_7_2::types::JmxMetricsResultsEntity) -> Self {
8784        Self {
8785            jmx_metrics_results: v
8786                .jmx_metrics_results
8787                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8788        }
8789    }
8790}
8791
8792impl From<crate::v2_7_2::types::LabelDto> for super::types::LabelDto {
8793    fn from(v: crate::v2_7_2::types::LabelDto) -> Self {
8794        Self {
8795            getz_index: v.getz_index,
8796            height: v.height,
8797            id: v.id,
8798            label: v.label,
8799            parent_group_id: v.parent_group_id,
8800            position: v.position.map(Into::into),
8801            style: v.style,
8802            versioned_component_id: v.versioned_component_id,
8803            width: v.width,
8804        }
8805    }
8806}
8807
8808impl From<crate::v2_7_2::types::LabelEntity> for super::types::LabelEntity {
8809    fn from(v: crate::v2_7_2::types::LabelEntity) -> Self {
8810        Self {
8811            bulletins: v
8812                .bulletins
8813                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8814            component: v.component.map(Into::into),
8815            dimensions: v.dimensions.map(Into::into),
8816            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
8817            getz_index: v.getz_index,
8818            id: v.id,
8819            permissions: v.permissions.map(Into::into),
8820            position: v.position.map(Into::into),
8821            revision: v.revision.map(Into::into),
8822            uri: v.uri,
8823        }
8824    }
8825}
8826
8827impl From<crate::v2_7_2::types::LabelsEntity> for super::types::LabelsEntity {
8828    fn from(v: crate::v2_7_2::types::LabelsEntity) -> Self {
8829        Self {
8830            labels: v.labels.map(|v| v.into_iter().map(|v| v.into()).collect()),
8831        }
8832    }
8833}
8834
8835impl From<crate::v2_7_2::types::LatestProvenanceEventsDto>
8836    for super::types::LatestProvenanceEventsDto
8837{
8838    fn from(v: crate::v2_7_2::types::LatestProvenanceEventsDto) -> Self {
8839        Self {
8840            component_id: v.component_id,
8841            provenance_events: v
8842                .provenance_events
8843                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8844        }
8845    }
8846}
8847
8848impl From<crate::v2_7_2::types::LatestProvenanceEventsEntity>
8849    for super::types::LatestProvenanceEventsEntity
8850{
8851    fn from(v: crate::v2_7_2::types::LatestProvenanceEventsEntity) -> Self {
8852        Self {
8853            latest_provenance_events: Some(v.latest_provenance_events.unwrap_or_default().into()),
8854        }
8855    }
8856}
8857
8858impl From<crate::v2_7_2::types::LineageDto> for super::types::LineageDto {
8859    fn from(v: crate::v2_7_2::types::LineageDto) -> Self {
8860        Self {
8861            expiration: v.expiration,
8862            finished: v.finished,
8863            id: v.id,
8864            percent_completed: v.percent_completed,
8865            request: v.request.map(Into::into),
8866            results: v.results.map(Into::into),
8867            submission_time: v.submission_time,
8868            uri: v.uri,
8869        }
8870    }
8871}
8872
8873impl From<crate::v2_7_2::types::LineageEntity> for super::types::LineageEntity {
8874    fn from(v: crate::v2_7_2::types::LineageEntity) -> Self {
8875        Self {
8876            lineage: Some(v.lineage.unwrap_or_default().into()),
8877        }
8878    }
8879}
8880
8881impl From<crate::v2_7_2::types::LineageRequestDto> for super::types::LineageRequestDto {
8882    fn from(v: crate::v2_7_2::types::LineageRequestDto) -> Self {
8883        Self {
8884            cluster_node_id: v.cluster_node_id,
8885            event_id: v.event_id,
8886            lineage_request_type: v.lineage_request_type.map(|v| {
8887                serde_json::to_value(&v)
8888                    .ok()
8889                    .and_then(|v| v.as_str().map(|s| s.to_string()))
8890                    .unwrap_or_default()
8891            }),
8892            uuid: v.uuid,
8893        }
8894    }
8895}
8896
8897impl From<crate::v2_7_2::types::LineageResultsDto> for super::types::LineageResultsDto {
8898    fn from(v: crate::v2_7_2::types::LineageResultsDto) -> Self {
8899        Self {
8900            errors: v.errors,
8901            links: v.links.map(|v| v.into_iter().map(|v| v.into()).collect()),
8902            nodes: v.nodes.map(|v| v.into_iter().map(|v| v.into()).collect()),
8903        }
8904    }
8905}
8906
8907impl From<crate::v2_7_2::types::ListenPortDto> for super::types::ListenPortDto {
8908    fn from(v: crate::v2_7_2::types::ListenPortDto) -> Self {
8909        Self {
8910            application_protocols: v.application_protocols,
8911            component_class: v.component_class,
8912            component_id: v.component_id,
8913            component_name: v.component_name,
8914            component_type: v.component_type,
8915            parent_group_id: v.parent_group_id,
8916            parent_group_name: v.parent_group_name,
8917            port_name: v.port_name,
8918            port_number: v.port_number,
8919            transport_protocol: v.transport_protocol,
8920        }
8921    }
8922}
8923
8924impl From<crate::v2_7_2::types::ListenPortsEntity> for super::types::ListenPortsEntity {
8925    fn from(v: crate::v2_7_2::types::ListenPortsEntity) -> Self {
8926        Self {
8927            listen_ports: v
8928                .listen_ports
8929                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8930        }
8931    }
8932}
8933
8934impl From<crate::v2_7_2::types::ListingRequestDto> for super::types::ListingRequestDto {
8935    fn from(v: crate::v2_7_2::types::ListingRequestDto) -> Self {
8936        Self {
8937            destination_running: v.destination_running,
8938            failure_reason: v.failure_reason,
8939            finished: v.finished,
8940            flow_file_summaries: v
8941                .flow_file_summaries
8942                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8943            id: v.id,
8944            last_updated: v.last_updated,
8945            max_results: v.max_results,
8946            percent_completed: v.percent_completed,
8947            queue_size: v.queue_size.map(Into::into),
8948            source_running: v.source_running,
8949            state: v.state,
8950            submission_time: v.submission_time,
8951            uri: v.uri,
8952        }
8953    }
8954}
8955
8956impl From<crate::v2_7_2::types::ListingRequestEntity> for super::types::ListingRequestEntity {
8957    fn from(v: crate::v2_7_2::types::ListingRequestEntity) -> Self {
8958        Self {
8959            listing_request: Some(v.listing_request.unwrap_or_default().into()),
8960        }
8961    }
8962}
8963
8964impl From<crate::v2_7_2::types::LongParameter> for super::types::LongParameter {
8965    fn from(v: crate::v2_7_2::types::LongParameter) -> Self {
8966        Self { long: v.long }
8967    }
8968}
8969
8970impl From<crate::v2_7_2::types::MultiProcessorUseCase> for super::types::MultiProcessorUseCase {
8971    fn from(v: crate::v2_7_2::types::MultiProcessorUseCase) -> Self {
8972        Self {
8973            configurations: v
8974                .configurations
8975                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8976            description: v.description,
8977            keywords: v.keywords,
8978            notes: v.notes,
8979        }
8980    }
8981}
8982
8983impl From<crate::v2_7_2::types::NarCoordinateDto> for super::types::NarCoordinateDto {
8984    fn from(v: crate::v2_7_2::types::NarCoordinateDto) -> Self {
8985        Self {
8986            artifact: v.artifact,
8987            group: v.group,
8988            version: v.version,
8989        }
8990    }
8991}
8992
8993impl From<crate::v2_7_2::types::NarDetailsEntity> for super::types::NarDetailsEntity {
8994    fn from(v: crate::v2_7_2::types::NarDetailsEntity) -> Self {
8995        Self {
8996            controller_service_types: v
8997                .controller_service_types
8998                .map(|v| v.into_iter().map(|v| v.into()).collect()),
8999            dependent_coordinates: v
9000                .dependent_coordinates
9001                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9002            flow_analysis_rule_types: v
9003                .flow_analysis_rule_types
9004                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9005            flow_registry_client_types: v
9006                .flow_registry_client_types
9007                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9008            nar_summary: v.nar_summary.map(Into::into),
9009            parameter_provider_types: v
9010                .parameter_provider_types
9011                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9012            processor_types: v
9013                .processor_types
9014                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9015            reporting_task_types: v
9016                .reporting_task_types
9017                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9018        }
9019    }
9020}
9021
9022impl From<crate::v2_7_2::types::NarSummariesEntity> for super::types::NarSummariesEntity {
9023    fn from(v: crate::v2_7_2::types::NarSummariesEntity) -> Self {
9024        Self {
9025            current_time: v.current_time,
9026            nar_summaries: v
9027                .nar_summaries
9028                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9029        }
9030    }
9031}
9032
9033impl From<crate::v2_7_2::types::NarSummaryDto> for super::types::NarSummaryDto {
9034    fn from(v: crate::v2_7_2::types::NarSummaryDto) -> Self {
9035        Self {
9036            build_time: v.build_time,
9037            coordinate: v.coordinate.map(Into::into),
9038            created_by: v.created_by,
9039            dependency_coordinate: v.dependency_coordinate.map(Into::into),
9040            digest: v.digest,
9041            extension_count: v.extension_count,
9042            failure_message: v.failure_message,
9043            identifier: v.identifier,
9044            install_complete: v.install_complete,
9045            source_identifier: v.source_identifier,
9046            source_type: v.source_type,
9047            state: v.state,
9048        }
9049    }
9050}
9051
9052impl From<crate::v2_7_2::types::NarSummaryEntity> for super::types::NarSummaryEntity {
9053    fn from(v: crate::v2_7_2::types::NarSummaryEntity) -> Self {
9054        Self {
9055            nar_summary: Some(v.nar_summary.unwrap_or_default().into()),
9056        }
9057    }
9058}
9059
9060impl From<crate::v2_7_2::types::NodeConnectionStatisticsSnapshotDto>
9061    for super::types::NodeConnectionStatisticsSnapshotDto
9062{
9063    fn from(v: crate::v2_7_2::types::NodeConnectionStatisticsSnapshotDto) -> Self {
9064        Self {
9065            address: v.address,
9066            api_port: v.api_port,
9067            node_id: v.node_id,
9068            statistics_snapshot: v.statistics_snapshot.map(Into::into),
9069        }
9070    }
9071}
9072
9073impl From<crate::v2_7_2::types::NodeConnectionStatusSnapshotDto>
9074    for super::types::NodeConnectionStatusSnapshotDto
9075{
9076    fn from(v: crate::v2_7_2::types::NodeConnectionStatusSnapshotDto) -> Self {
9077        Self {
9078            address: v.address,
9079            api_port: v.api_port,
9080            node_id: v.node_id,
9081            status_snapshot: v.status_snapshot.map(Into::into),
9082        }
9083    }
9084}
9085
9086impl From<crate::v2_7_2::types::NodeCountersSnapshotDto> for super::types::NodeCountersSnapshotDto {
9087    fn from(v: crate::v2_7_2::types::NodeCountersSnapshotDto) -> Self {
9088        Self {
9089            address: v.address,
9090            api_port: v.api_port,
9091            node_id: v.node_id,
9092            snapshot: v.snapshot.map(Into::into),
9093        }
9094    }
9095}
9096
9097impl From<crate::v2_7_2::types::NodeDto> for super::types::NodeDto {
9098    fn from(v: crate::v2_7_2::types::NodeDto) -> Self {
9099        Self {
9100            active_thread_count: v.active_thread_count,
9101            address: v.address,
9102            api_port: v.api_port,
9103            bytes_queued: v.bytes_queued,
9104            connection_requested: v.connection_requested,
9105            events: v.events.map(|v| v.into_iter().map(|v| v.into()).collect()),
9106            flow_file_bytes: v.flow_file_bytes,
9107            flow_files_queued: v.flow_files_queued,
9108            heartbeat: v.heartbeat,
9109            node_id: v.node_id,
9110            node_start_time: v.node_start_time,
9111            queued: v.queued,
9112            roles: v.roles,
9113            status: v.status,
9114        }
9115    }
9116}
9117
9118impl From<crate::v2_7_2::types::NodeEntity> for super::types::NodeEntity {
9119    fn from(v: crate::v2_7_2::types::NodeEntity) -> Self {
9120        Self {
9121            node: Some(v.node.unwrap_or_default().into()),
9122        }
9123    }
9124}
9125
9126impl From<crate::v2_7_2::types::NodeEventDto> for super::types::NodeEventDto {
9127    fn from(v: crate::v2_7_2::types::NodeEventDto) -> Self {
9128        Self {
9129            category: v.category,
9130            message: v.message,
9131            timestamp: v.timestamp,
9132        }
9133    }
9134}
9135
9136impl From<crate::v2_7_2::types::NodePortStatusSnapshotDto>
9137    for super::types::NodePortStatusSnapshotDto
9138{
9139    fn from(v: crate::v2_7_2::types::NodePortStatusSnapshotDto) -> Self {
9140        Self {
9141            address: v.address,
9142            api_port: v.api_port,
9143            node_id: v.node_id,
9144            status_snapshot: v.status_snapshot.map(Into::into),
9145        }
9146    }
9147}
9148
9149impl From<crate::v2_7_2::types::NodeProcessGroupStatusSnapshotDto>
9150    for super::types::NodeProcessGroupStatusSnapshotDto
9151{
9152    fn from(v: crate::v2_7_2::types::NodeProcessGroupStatusSnapshotDto) -> Self {
9153        Self {
9154            address: v.address,
9155            api_port: v.api_port,
9156            node_id: v.node_id,
9157            status_snapshot: v.status_snapshot.map(Into::into),
9158        }
9159    }
9160}
9161
9162impl From<crate::v2_7_2::types::NodeProcessorStatusSnapshotDto>
9163    for super::types::NodeProcessorStatusSnapshotDto
9164{
9165    fn from(v: crate::v2_7_2::types::NodeProcessorStatusSnapshotDto) -> Self {
9166        Self {
9167            address: v.address,
9168            api_port: v.api_port,
9169            node_id: v.node_id,
9170            status_snapshot: v.status_snapshot.map(Into::into),
9171        }
9172    }
9173}
9174
9175impl From<crate::v2_7_2::types::NodeRemoteProcessGroupStatusSnapshotDto>
9176    for super::types::NodeRemoteProcessGroupStatusSnapshotDto
9177{
9178    fn from(v: crate::v2_7_2::types::NodeRemoteProcessGroupStatusSnapshotDto) -> Self {
9179        Self {
9180            address: v.address,
9181            api_port: v.api_port,
9182            node_id: v.node_id,
9183            status_snapshot: v.status_snapshot.map(Into::into),
9184        }
9185    }
9186}
9187
9188impl From<crate::v2_7_2::types::NodeReplayLastEventSnapshotDto>
9189    for super::types::NodeReplayLastEventSnapshotDto
9190{
9191    fn from(v: crate::v2_7_2::types::NodeReplayLastEventSnapshotDto) -> Self {
9192        Self {
9193            address: v.address,
9194            api_port: v.api_port,
9195            node_id: v.node_id,
9196            snapshot: v.snapshot.map(Into::into),
9197        }
9198    }
9199}
9200
9201impl From<crate::v2_7_2::types::NodeSearchResultDto> for super::types::NodeSearchResultDto {
9202    fn from(v: crate::v2_7_2::types::NodeSearchResultDto) -> Self {
9203        Self {
9204            address: v.address,
9205            id: v.id,
9206        }
9207    }
9208}
9209
9210impl From<crate::v2_7_2::types::NodeStatusSnapshotsDto> for super::types::NodeStatusSnapshotsDto {
9211    fn from(v: crate::v2_7_2::types::NodeStatusSnapshotsDto) -> Self {
9212        Self {
9213            address: v.address,
9214            api_port: v.api_port,
9215            node_id: v.node_id,
9216            status_snapshots: v
9217                .status_snapshots
9218                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9219        }
9220    }
9221}
9222
9223impl From<crate::v2_7_2::types::NodeSystemDiagnosticsSnapshotDto>
9224    for super::types::NodeSystemDiagnosticsSnapshotDto
9225{
9226    fn from(v: crate::v2_7_2::types::NodeSystemDiagnosticsSnapshotDto) -> Self {
9227        Self {
9228            address: v.address,
9229            api_port: v.api_port,
9230            node_id: v.node_id,
9231            snapshot: v.snapshot.map(Into::into),
9232        }
9233    }
9234}
9235
9236impl From<crate::v2_7_2::types::OutputPortsEntity> for super::types::OutputPortsEntity {
9237    fn from(v: crate::v2_7_2::types::OutputPortsEntity) -> Self {
9238        Self {
9239            output_ports: v
9240                .output_ports
9241                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9242        }
9243    }
9244}
9245
9246impl From<crate::v2_7_2::types::ParameterContextDto> for super::types::ParameterContextDto {
9247    fn from(v: crate::v2_7_2::types::ParameterContextDto) -> Self {
9248        Self {
9249            bound_process_groups: v
9250                .bound_process_groups
9251                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9252            description: v.description,
9253            id: v.id,
9254            inherited_parameter_contexts: v
9255                .inherited_parameter_contexts
9256                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9257            name: v.name,
9258            parameter_provider_configuration: v.parameter_provider_configuration.map(Into::into),
9259            parameters: v
9260                .parameters
9261                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9262        }
9263    }
9264}
9265
9266impl From<crate::v2_7_2::types::ParameterContextEntity> for super::types::ParameterContextEntity {
9267    fn from(v: crate::v2_7_2::types::ParameterContextEntity) -> Self {
9268        Self {
9269            bulletins: v
9270                .bulletins
9271                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9272            component: v.component.map(Into::into),
9273            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
9274            id: v.id,
9275            permissions: v.permissions.map(Into::into),
9276            position: v.position.map(Into::into),
9277            revision: v.revision.map(Into::into),
9278            uri: v.uri,
9279        }
9280    }
9281}
9282
9283impl From<crate::v2_7_2::types::ParameterContextHandlingStrategy>
9284    for super::types::ParameterContextHandlingStrategy
9285{
9286    fn from(v: crate::v2_7_2::types::ParameterContextHandlingStrategy) -> Self {
9287        let s = serde_json::to_string(&v).expect("serialize enum");
9288        serde_json::from_str(&s).expect("deserialize enum")
9289    }
9290}
9291
9292impl From<crate::v2_7_2::types::ParameterContextReferenceDto>
9293    for super::types::ParameterContextReferenceDto
9294{
9295    fn from(v: crate::v2_7_2::types::ParameterContextReferenceDto) -> Self {
9296        Self {
9297            id: v.id,
9298            name: v.name,
9299        }
9300    }
9301}
9302
9303impl From<crate::v2_7_2::types::ParameterContextReferenceEntity>
9304    for super::types::ParameterContextReferenceEntity
9305{
9306    fn from(v: crate::v2_7_2::types::ParameterContextReferenceEntity) -> Self {
9307        Self {
9308            component: v.component.map(Into::into),
9309            id: v.id,
9310            permissions: v.permissions.map(Into::into),
9311        }
9312    }
9313}
9314
9315impl From<crate::v2_7_2::types::ParameterContextUpdateEntity>
9316    for super::types::ParameterContextUpdateEntity
9317{
9318    fn from(v: crate::v2_7_2::types::ParameterContextUpdateEntity) -> Self {
9319        Self {
9320            parameter_context: v.parameter_context.map(Into::into),
9321            parameter_context_revision: v.parameter_context_revision.map(Into::into),
9322            referencing_components: v
9323                .referencing_components
9324                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9325        }
9326    }
9327}
9328
9329impl From<crate::v2_7_2::types::ParameterContextUpdateRequestDto>
9330    for super::types::ParameterContextUpdateRequestDto
9331{
9332    fn from(v: crate::v2_7_2::types::ParameterContextUpdateRequestDto) -> Self {
9333        Self {
9334            complete: v.complete,
9335            failure_reason: v.failure_reason,
9336            last_updated: v.last_updated,
9337            parameter_context: v.parameter_context.map(Into::into),
9338            percent_completed: v.percent_completed,
9339            referencing_components: v
9340                .referencing_components
9341                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9342            request_id: v.request_id,
9343            state: v.state,
9344            submission_time: v.submission_time,
9345            update_steps: v
9346                .update_steps
9347                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9348            uri: v.uri,
9349        }
9350    }
9351}
9352
9353impl From<crate::v2_7_2::types::ParameterContextUpdateRequestEntity>
9354    for super::types::ParameterContextUpdateRequestEntity
9355{
9356    fn from(v: crate::v2_7_2::types::ParameterContextUpdateRequestEntity) -> Self {
9357        Self {
9358            parameter_context_revision: v.parameter_context_revision.map(Into::into),
9359            request: v.request.map(Into::into),
9360        }
9361    }
9362}
9363
9364impl From<crate::v2_7_2::types::ParameterContextUpdateStepDto>
9365    for super::types::ParameterContextUpdateStepDto
9366{
9367    fn from(v: crate::v2_7_2::types::ParameterContextUpdateStepDto) -> Self {
9368        Self {
9369            complete: v.complete,
9370            description: v.description,
9371            failure_reason: v.failure_reason,
9372        }
9373    }
9374}
9375
9376impl From<crate::v2_7_2::types::ParameterContextValidationRequestDto>
9377    for super::types::ParameterContextValidationRequestDto
9378{
9379    fn from(v: crate::v2_7_2::types::ParameterContextValidationRequestDto) -> Self {
9380        Self {
9381            complete: v.complete,
9382            component_validation_results: v.component_validation_results.map(Into::into),
9383            failure_reason: v.failure_reason,
9384            last_updated: v.last_updated,
9385            parameter_context: v.parameter_context.map(Into::into),
9386            percent_completed: v.percent_completed,
9387            request_id: v.request_id,
9388            state: v.state,
9389            submission_time: v.submission_time,
9390            update_steps: v
9391                .update_steps
9392                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9393            uri: v.uri,
9394        }
9395    }
9396}
9397
9398impl From<crate::v2_7_2::types::ParameterContextValidationRequestEntity>
9399    for super::types::ParameterContextValidationRequestEntity
9400{
9401    fn from(v: crate::v2_7_2::types::ParameterContextValidationRequestEntity) -> Self {
9402        Self {
9403            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
9404            request: v.request.map(Into::into),
9405        }
9406    }
9407}
9408
9409impl From<crate::v2_7_2::types::ParameterContextValidationStepDto>
9410    for super::types::ParameterContextValidationStepDto
9411{
9412    fn from(v: crate::v2_7_2::types::ParameterContextValidationStepDto) -> Self {
9413        Self {
9414            complete: v.complete,
9415            description: v.description,
9416            failure_reason: v.failure_reason,
9417        }
9418    }
9419}
9420
9421impl From<crate::v2_7_2::types::ParameterContextsEntity> for super::types::ParameterContextsEntity {
9422    fn from(v: crate::v2_7_2::types::ParameterContextsEntity) -> Self {
9423        Self {
9424            current_time: v.current_time,
9425            parameter_contexts: v
9426                .parameter_contexts
9427                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9428        }
9429    }
9430}
9431
9432impl From<crate::v2_7_2::types::ParameterDto> for super::types::ParameterDto {
9433    fn from(v: crate::v2_7_2::types::ParameterDto) -> Self {
9434        Self {
9435            description: v.description,
9436            inherited: v.inherited,
9437            name: v.name,
9438            parameter_context: v.parameter_context.map(Into::into),
9439            provided: v.provided,
9440            referenced_assets: v
9441                .referenced_assets
9442                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9443            referencing_components: v
9444                .referencing_components
9445                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9446            sensitive: v.sensitive,
9447            value: v.value,
9448            value_removed: v.value_removed,
9449        }
9450    }
9451}
9452
9453impl From<crate::v2_7_2::types::ParameterEntity> for super::types::ParameterEntity {
9454    fn from(v: crate::v2_7_2::types::ParameterEntity) -> Self {
9455        Self {
9456            can_write: v.can_write,
9457            parameter: v.parameter.map(Into::into),
9458        }
9459    }
9460}
9461
9462impl From<crate::v2_7_2::types::ParameterGroupConfigurationEntity>
9463    for super::types::ParameterGroupConfigurationEntity
9464{
9465    fn from(v: crate::v2_7_2::types::ParameterGroupConfigurationEntity) -> Self {
9466        Self {
9467            group_name: v.group_name,
9468            parameter_context_name: v.parameter_context_name,
9469            parameter_sensitivities: v.parameter_sensitivities.map(|m| {
9470                m.into_iter()
9471                    .map(|(k, v)| {
9472                        (
9473                            k,
9474                            v.map(|v| {
9475                                serde_json::to_value(&v)
9476                                    .ok()
9477                                    .and_then(|v| v.as_str().map(|s| s.to_string()))
9478                                    .unwrap_or_default()
9479                            }),
9480                        )
9481                    })
9482                    .collect()
9483            }),
9484            synchronized: v.synchronized,
9485        }
9486    }
9487}
9488
9489impl From<crate::v2_7_2::types::ParameterProviderApplyParametersRequestDto>
9490    for super::types::ParameterProviderApplyParametersRequestDto
9491{
9492    fn from(v: crate::v2_7_2::types::ParameterProviderApplyParametersRequestDto) -> Self {
9493        Self {
9494            complete: v.complete,
9495            failure_reason: v.failure_reason,
9496            last_updated: v.last_updated,
9497            parameter_context_updates: v
9498                .parameter_context_updates
9499                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9500            parameter_provider: v.parameter_provider.map(Into::into),
9501            percent_completed: v.percent_completed,
9502            referencing_components: v
9503                .referencing_components
9504                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9505            request_id: v.request_id,
9506            state: v.state,
9507            submission_time: v.submission_time,
9508            update_steps: v
9509                .update_steps
9510                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9511            uri: v.uri,
9512        }
9513    }
9514}
9515
9516impl From<crate::v2_7_2::types::ParameterProviderApplyParametersRequestEntity>
9517    for super::types::ParameterProviderApplyParametersRequestEntity
9518{
9519    fn from(v: crate::v2_7_2::types::ParameterProviderApplyParametersRequestEntity) -> Self {
9520        Self {
9521            request: Some(v.request.unwrap_or_default().into()),
9522        }
9523    }
9524}
9525
9526impl From<crate::v2_7_2::types::ParameterProviderApplyParametersUpdateStepDto>
9527    for super::types::ParameterProviderApplyParametersUpdateStepDto
9528{
9529    fn from(v: crate::v2_7_2::types::ParameterProviderApplyParametersUpdateStepDto) -> Self {
9530        Self {
9531            complete: v.complete,
9532            description: v.description,
9533            failure_reason: v.failure_reason,
9534        }
9535    }
9536}
9537
9538impl From<crate::v2_7_2::types::ParameterProviderConfigurationDto>
9539    for super::types::ParameterProviderConfigurationDto
9540{
9541    fn from(v: crate::v2_7_2::types::ParameterProviderConfigurationDto) -> Self {
9542        Self {
9543            parameter_group_name: v.parameter_group_name,
9544            parameter_provider_id: v.parameter_provider_id,
9545            parameter_provider_name: v.parameter_provider_name,
9546            synchronized: v.synchronized,
9547        }
9548    }
9549}
9550
9551impl From<crate::v2_7_2::types::ParameterProviderConfigurationEntity>
9552    for super::types::ParameterProviderConfigurationEntity
9553{
9554    fn from(v: crate::v2_7_2::types::ParameterProviderConfigurationEntity) -> Self {
9555        Self {
9556            component: v.component.map(Into::into),
9557            id: v.id,
9558            permissions: v.permissions.map(Into::into),
9559        }
9560    }
9561}
9562
9563impl From<crate::v2_7_2::types::ParameterProviderDefinition>
9564    for super::types::ParameterProviderDefinition
9565{
9566    fn from(v: crate::v2_7_2::types::ParameterProviderDefinition) -> Self {
9567        Self {
9568            additional_details: v.additional_details,
9569            artifact: v.artifact,
9570            build_info: v.build_info.map(Into::into),
9571            deprecated: v.deprecated,
9572            deprecation_alternatives: v.deprecation_alternatives,
9573            deprecation_reason: v.deprecation_reason,
9574            dynamic_properties: v
9575                .dynamic_properties
9576                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9577            explicit_restrictions: v
9578                .explicit_restrictions
9579                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9580            group: v.group,
9581            property_descriptors: v
9582                .property_descriptors
9583                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
9584            provided_api_implementations: v
9585                .provided_api_implementations
9586                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9587            restricted: v.restricted,
9588            restricted_explanation: v.restricted_explanation,
9589            see_also: v.see_also,
9590            stateful: v.stateful.map(Into::into),
9591            supports_dynamic_properties: v.supports_dynamic_properties,
9592            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
9593            system_resource_considerations: v
9594                .system_resource_considerations
9595                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9596            tags: v.tags,
9597            r#type: v.r#type,
9598            type_description: v.type_description,
9599            version: v.version,
9600        }
9601    }
9602}
9603
9604impl From<crate::v2_7_2::types::ParameterProviderDto> for super::types::ParameterProviderDto {
9605    fn from(v: crate::v2_7_2::types::ParameterProviderDto) -> Self {
9606        Self {
9607            affected_components: v
9608                .affected_components
9609                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9610            annotation_data: v.annotation_data,
9611            bundle: v.bundle.map(Into::into),
9612            comments: v.comments,
9613            custom_ui_url: v.custom_ui_url,
9614            deprecated: v.deprecated,
9615            descriptors: v
9616                .descriptors
9617                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
9618            extension_missing: v.extension_missing,
9619            id: v.id,
9620            multiple_versions_available: v.multiple_versions_available,
9621            name: v.name,
9622            parameter_group_configurations: v
9623                .parameter_group_configurations
9624                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9625            parameter_status: v
9626                .parameter_status
9627                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9628            parent_group_id: v.parent_group_id,
9629            persists_state: v.persists_state,
9630            position: v.position.map(Into::into),
9631            properties: v.properties,
9632            referencing_parameter_contexts: v
9633                .referencing_parameter_contexts
9634                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9635            restricted: v.restricted,
9636            r#type: v.r#type,
9637            validation_errors: v.validation_errors,
9638            validation_status: v.validation_status.map(|v| {
9639                serde_json::to_value(&v)
9640                    .ok()
9641                    .and_then(|v| v.as_str().map(|s| s.to_string()))
9642                    .unwrap_or_default()
9643            }),
9644            versioned_component_id: v.versioned_component_id,
9645        }
9646    }
9647}
9648
9649impl From<crate::v2_7_2::types::ParameterProviderEntity> for super::types::ParameterProviderEntity {
9650    fn from(v: crate::v2_7_2::types::ParameterProviderEntity) -> Self {
9651        Self {
9652            bulletins: v
9653                .bulletins
9654                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9655            component: v.component.map(Into::into),
9656            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
9657            id: v.id,
9658            permissions: v.permissions.map(Into::into),
9659            position: v.position.map(Into::into),
9660            revision: v.revision.map(Into::into),
9661            uri: v.uri,
9662        }
9663    }
9664}
9665
9666impl From<crate::v2_7_2::types::ParameterProviderParameterApplicationEntity>
9667    for super::types::ParameterProviderParameterApplicationEntity
9668{
9669    fn from(v: crate::v2_7_2::types::ParameterProviderParameterApplicationEntity) -> Self {
9670        Self {
9671            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
9672            id: v.id,
9673            parameter_group_configurations: v
9674                .parameter_group_configurations
9675                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9676            revision: v.revision.map(Into::into),
9677        }
9678    }
9679}
9680
9681impl From<crate::v2_7_2::types::ParameterProviderParameterFetchEntity>
9682    for super::types::ParameterProviderParameterFetchEntity
9683{
9684    fn from(v: crate::v2_7_2::types::ParameterProviderParameterFetchEntity) -> Self {
9685        Self {
9686            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
9687            id: v.id,
9688            revision: v.revision.map(Into::into),
9689        }
9690    }
9691}
9692
9693impl From<crate::v2_7_2::types::ParameterProviderReference>
9694    for super::types::ParameterProviderReference
9695{
9696    fn from(v: crate::v2_7_2::types::ParameterProviderReference) -> Self {
9697        Self {
9698            bundle: v.bundle.map(Into::into),
9699            identifier: v.identifier,
9700            name: v.name,
9701            r#type: v.r#type,
9702        }
9703    }
9704}
9705
9706impl From<crate::v2_7_2::types::ParameterProviderReferencingComponentDto>
9707    for super::types::ParameterProviderReferencingComponentDto
9708{
9709    fn from(v: crate::v2_7_2::types::ParameterProviderReferencingComponentDto) -> Self {
9710        Self {
9711            id: v.id,
9712            name: v.name,
9713        }
9714    }
9715}
9716
9717impl From<crate::v2_7_2::types::ParameterProviderReferencingComponentEntity>
9718    for super::types::ParameterProviderReferencingComponentEntity
9719{
9720    fn from(v: crate::v2_7_2::types::ParameterProviderReferencingComponentEntity) -> Self {
9721        Self {
9722            bulletins: v
9723                .bulletins
9724                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9725            component: v.component.map(Into::into),
9726            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
9727            id: v.id,
9728            permissions: v.permissions.map(Into::into),
9729            position: v.position.map(Into::into),
9730            revision: v.revision.map(Into::into),
9731            uri: v.uri,
9732        }
9733    }
9734}
9735
9736impl From<crate::v2_7_2::types::ParameterProviderReferencingComponentsEntity>
9737    for super::types::ParameterProviderReferencingComponentsEntity
9738{
9739    fn from(v: crate::v2_7_2::types::ParameterProviderReferencingComponentsEntity) -> Self {
9740        Self {
9741            parameter_provider_referencing_components: v
9742                .parameter_provider_referencing_components
9743                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9744        }
9745    }
9746}
9747
9748impl From<crate::v2_7_2::types::ParameterProviderTypesEntity>
9749    for super::types::ParameterProviderTypesEntity
9750{
9751    fn from(v: crate::v2_7_2::types::ParameterProviderTypesEntity) -> Self {
9752        Self {
9753            parameter_provider_types: v
9754                .parameter_provider_types
9755                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9756        }
9757    }
9758}
9759
9760impl From<crate::v2_7_2::types::ParameterProvidersEntity>
9761    for super::types::ParameterProvidersEntity
9762{
9763    fn from(v: crate::v2_7_2::types::ParameterProvidersEntity) -> Self {
9764        Self {
9765            current_time: v.current_time,
9766            parameter_providers: v
9767                .parameter_providers
9768                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9769        }
9770    }
9771}
9772
9773impl From<crate::v2_7_2::types::ParameterStatusDto> for super::types::ParameterStatusDto {
9774    fn from(v: crate::v2_7_2::types::ParameterStatusDto) -> Self {
9775        Self {
9776            parameter: v.parameter.map(Into::into),
9777            status: v.status.map(|v| {
9778                serde_json::to_value(&v)
9779                    .ok()
9780                    .and_then(|v| v.as_str().map(|s| s.to_string()))
9781                    .unwrap_or_default()
9782            }),
9783        }
9784    }
9785}
9786
9787impl From<crate::v2_7_2::types::PasteRequestEntity> for super::types::PasteRequestEntity {
9788    fn from(v: crate::v2_7_2::types::PasteRequestEntity) -> Self {
9789        Self {
9790            copy_response: v.copy_response.map(Into::into),
9791            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
9792            revision: v.revision.map(Into::into),
9793        }
9794    }
9795}
9796
9797impl From<crate::v2_7_2::types::PasteResponseEntity> for super::types::PasteResponseEntity {
9798    fn from(v: crate::v2_7_2::types::PasteResponseEntity) -> Self {
9799        Self {
9800            flow: v.flow.map(Into::into),
9801            revision: v.revision.map(Into::into),
9802        }
9803    }
9804}
9805
9806impl From<crate::v2_7_2::types::PeerDto> for super::types::PeerDto {
9807    fn from(v: crate::v2_7_2::types::PeerDto) -> Self {
9808        Self {
9809            flow_file_count: v.flow_file_count,
9810            hostname: v.hostname,
9811            port: v.port,
9812            secure: v.secure,
9813        }
9814    }
9815}
9816
9817impl From<crate::v2_7_2::types::PeersEntity> for super::types::PeersEntity {
9818    fn from(v: crate::v2_7_2::types::PeersEntity) -> Self {
9819        Self {
9820            peers: v.peers.map(|v| v.into_iter().map(|v| v.into()).collect()),
9821        }
9822    }
9823}
9824
9825impl From<crate::v2_7_2::types::PermissionsDto> for super::types::PermissionsDto {
9826    fn from(v: crate::v2_7_2::types::PermissionsDto) -> Self {
9827        Self {
9828            can_read: v.can_read,
9829            can_write: v.can_write,
9830        }
9831    }
9832}
9833
9834impl From<crate::v2_7_2::types::PortDto> for super::types::PortDto {
9835    fn from(v: crate::v2_7_2::types::PortDto) -> Self {
9836        Self {
9837            allow_remote_access: v.allow_remote_access,
9838            comments: v.comments,
9839            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
9840            id: v.id,
9841            name: v.name,
9842            parent_group_id: v.parent_group_id,
9843            port_function: v.port_function.map(|v| {
9844                serde_json::to_value(&v)
9845                    .ok()
9846                    .and_then(|v| v.as_str().map(|s| s.to_string()))
9847                    .unwrap_or_default()
9848            }),
9849            position: v.position.map(Into::into),
9850            state: v.state.map(|v| {
9851                serde_json::to_value(&v)
9852                    .ok()
9853                    .and_then(|v| v.as_str().map(|s| s.to_string()))
9854                    .unwrap_or_default()
9855            }),
9856            transmitting: v.transmitting,
9857            r#type: v.r#type.map(|v| {
9858                serde_json::to_value(&v)
9859                    .ok()
9860                    .and_then(|v| v.as_str().map(|s| s.to_string()))
9861                    .unwrap_or_default()
9862            }),
9863            validation_errors: v.validation_errors,
9864            versioned_component_id: v.versioned_component_id,
9865        }
9866    }
9867}
9868
9869impl From<crate::v2_7_2::types::PortEntity> for super::types::PortEntity {
9870    fn from(v: crate::v2_7_2::types::PortEntity) -> Self {
9871        Self {
9872            allow_remote_access: v.allow_remote_access,
9873            bulletins: v
9874                .bulletins
9875                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9876            component: v.component.map(Into::into),
9877            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
9878            id: v.id,
9879            operate_permissions: v.operate_permissions.map(Into::into),
9880            permissions: v.permissions.map(Into::into),
9881            port_type: v.port_type,
9882            position: v.position.map(Into::into),
9883            revision: v.revision.map(Into::into),
9884            status: v.status.map(Into::into),
9885            uri: v.uri,
9886        }
9887    }
9888}
9889
9890impl From<crate::v2_7_2::types::PortRunStatusEntity> for super::types::PortRunStatusEntity {
9891    fn from(v: crate::v2_7_2::types::PortRunStatusEntity) -> Self {
9892        Self {
9893            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
9894            revision: v.revision.map(Into::into),
9895            state: v.state.map(|v| {
9896                serde_json::to_value(&v)
9897                    .ok()
9898                    .and_then(|v| v.as_str().map(|s| s.to_string()))
9899                    .unwrap_or_default()
9900            }),
9901        }
9902    }
9903}
9904
9905impl From<crate::v2_7_2::types::PortStatusDto> for super::types::PortStatusDto {
9906    fn from(v: crate::v2_7_2::types::PortStatusDto) -> Self {
9907        Self {
9908            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
9909            group_id: v.group_id,
9910            id: v.id,
9911            name: v.name,
9912            node_snapshots: v
9913                .node_snapshots
9914                .map(|v| v.into_iter().map(|v| v.into()).collect()),
9915            run_status: v.run_status.map(|v| {
9916                serde_json::to_value(&v)
9917                    .ok()
9918                    .and_then(|v| v.as_str().map(|s| s.to_string()))
9919                    .unwrap_or_default()
9920            }),
9921            stats_last_refreshed: v.stats_last_refreshed,
9922            transmitting: v.transmitting,
9923        }
9924    }
9925}
9926
9927impl From<crate::v2_7_2::types::PortStatusEntity> for super::types::PortStatusEntity {
9928    fn from(v: crate::v2_7_2::types::PortStatusEntity) -> Self {
9929        Self {
9930            can_read: v.can_read,
9931            port_status: v.port_status.map(Into::into),
9932        }
9933    }
9934}
9935
9936impl From<crate::v2_7_2::types::PortStatusSnapshotDto> for super::types::PortStatusSnapshotDto {
9937    fn from(v: crate::v2_7_2::types::PortStatusSnapshotDto) -> Self {
9938        Self {
9939            active_thread_count: v.active_thread_count,
9940            bytes_in: v.bytes_in,
9941            bytes_out: v.bytes_out,
9942            flow_files_in: v.flow_files_in,
9943            flow_files_out: v.flow_files_out,
9944            group_id: v.group_id,
9945            id: v.id,
9946            input: v.input,
9947            name: v.name,
9948            output: v.output,
9949            run_status: v.run_status.map(|v| {
9950                serde_json::to_value(&v)
9951                    .ok()
9952                    .and_then(|v| v.as_str().map(|s| s.to_string()))
9953                    .unwrap_or_default()
9954            }),
9955            transmitting: v.transmitting,
9956        }
9957    }
9958}
9959
9960impl From<crate::v2_7_2::types::PortStatusSnapshotEntity>
9961    for super::types::PortStatusSnapshotEntity
9962{
9963    fn from(v: crate::v2_7_2::types::PortStatusSnapshotEntity) -> Self {
9964        Self {
9965            can_read: v.can_read,
9966            id: v.id,
9967            port_status_snapshot: v.port_status_snapshot.map(Into::into),
9968        }
9969    }
9970}
9971
9972impl From<crate::v2_7_2::types::Position> for super::types::Position {
9973    fn from(v: crate::v2_7_2::types::Position) -> Self {
9974        Self { x: v.x, y: v.y }
9975    }
9976}
9977
9978impl From<crate::v2_7_2::types::PositionDto> for super::types::PositionDto {
9979    fn from(v: crate::v2_7_2::types::PositionDto) -> Self {
9980        Self { x: v.x, y: v.y }
9981    }
9982}
9983
9984impl From<crate::v2_7_2::types::PreviousValueDto> for super::types::PreviousValueDto {
9985    fn from(v: crate::v2_7_2::types::PreviousValueDto) -> Self {
9986        Self {
9987            previous_value: v.previous_value,
9988            timestamp: v.timestamp,
9989            user_identity: v.user_identity,
9990        }
9991    }
9992}
9993
9994impl From<crate::v2_7_2::types::PrioritizerTypesEntity> for super::types::PrioritizerTypesEntity {
9995    fn from(v: crate::v2_7_2::types::PrioritizerTypesEntity) -> Self {
9996        Self {
9997            prioritizer_types: v
9998                .prioritizer_types
9999                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10000        }
10001    }
10002}
10003
10004impl From<crate::v2_7_2::types::ProcessGroupDto> for super::types::ProcessGroupDto {
10005    fn from(v: crate::v2_7_2::types::ProcessGroupDto) -> Self {
10006        Self {
10007            active_remote_port_count: v.active_remote_port_count,
10008            comments: v.comments,
10009            contents: v.contents.map(Into::into),
10010            default_back_pressure_data_size_threshold: v.default_back_pressure_data_size_threshold,
10011            default_back_pressure_object_threshold: v.default_back_pressure_object_threshold,
10012            default_flow_file_expiration: v.default_flow_file_expiration,
10013            disabled_count: v.disabled_count,
10014            execution_engine: v.execution_engine.map(|v| {
10015                serde_json::to_value(&v)
10016                    .ok()
10017                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10018                    .unwrap_or_default()
10019            }),
10020            flowfile_concurrency: v.flowfile_concurrency.map(|v| {
10021                serde_json::to_value(&v)
10022                    .ok()
10023                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10024                    .unwrap_or_default()
10025            }),
10026            flowfile_outbound_policy: v.flowfile_outbound_policy.map(|v| {
10027                serde_json::to_value(&v)
10028                    .ok()
10029                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10030                    .unwrap_or_default()
10031            }),
10032            id: v.id,
10033            inactive_remote_port_count: v.inactive_remote_port_count,
10034            input_port_count: v.input_port_count,
10035            invalid_count: v.invalid_count,
10036            local_input_port_count: v.local_input_port_count,
10037            local_output_port_count: v.local_output_port_count,
10038            locally_modified_and_stale_count: v.locally_modified_and_stale_count,
10039            locally_modified_count: v.locally_modified_count,
10040            log_file_suffix: v.log_file_suffix,
10041            max_concurrent_tasks: v.max_concurrent_tasks,
10042            name: v.name,
10043            output_port_count: v.output_port_count,
10044            parameter_context: v.parameter_context.map(Into::into),
10045            parent_group_id: v.parent_group_id,
10046            position: v.position.map(Into::into),
10047            public_input_port_count: v.public_input_port_count,
10048            public_output_port_count: v.public_output_port_count,
10049            running_count: v.running_count,
10050            stale_count: v.stale_count,
10051            stateless_flow_timeout: v.stateless_flow_timeout,
10052            stateless_group_scheduled_state: v.stateless_group_scheduled_state.map(|v| {
10053                serde_json::to_value(&v)
10054                    .ok()
10055                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10056                    .unwrap_or_default()
10057            }),
10058            stopped_count: v.stopped_count,
10059            sync_failure_count: v.sync_failure_count,
10060            up_to_date_count: v.up_to_date_count,
10061            version_control_information: v.version_control_information.map(Into::into),
10062            versioned_component_id: v.versioned_component_id,
10063        }
10064    }
10065}
10066
10067impl From<crate::v2_7_2::types::ProcessGroupEntity> for super::types::ProcessGroupEntity {
10068    fn from(v: crate::v2_7_2::types::ProcessGroupEntity) -> Self {
10069        Self {
10070            active_remote_port_count: v.active_remote_port_count,
10071            bulletins: v
10072                .bulletins
10073                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10074            component: v.component.map(Into::into),
10075            disabled_count: v.disabled_count,
10076            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
10077            id: v.id,
10078            inactive_remote_port_count: v.inactive_remote_port_count,
10079            input_port_count: v.input_port_count,
10080            invalid_count: v.invalid_count,
10081            local_input_port_count: v.local_input_port_count,
10082            local_output_port_count: v.local_output_port_count,
10083            locally_modified_and_stale_count: v.locally_modified_and_stale_count,
10084            locally_modified_count: v.locally_modified_count,
10085            output_port_count: v.output_port_count,
10086            parameter_context: v.parameter_context.map(Into::into),
10087            permissions: v.permissions.map(Into::into),
10088            position: v.position.map(Into::into),
10089            process_group_update_strategy: v.process_group_update_strategy.map(|v| {
10090                serde_json::to_value(&v)
10091                    .ok()
10092                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10093                    .unwrap_or_default()
10094            }),
10095            public_input_port_count: v.public_input_port_count,
10096            public_output_port_count: v.public_output_port_count,
10097            revision: v.revision.map(Into::into),
10098            running_count: v.running_count,
10099            stale_count: v.stale_count,
10100            status: v.status.map(Into::into),
10101            stopped_count: v.stopped_count,
10102            sync_failure_count: v.sync_failure_count,
10103            up_to_date_count: v.up_to_date_count,
10104            uri: v.uri,
10105            versioned_flow_snapshot: v.versioned_flow_snapshot.map(Into::into),
10106            versioned_flow_state: v.versioned_flow_state.map(|v| {
10107                serde_json::to_value(&v)
10108                    .ok()
10109                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10110                    .unwrap_or_default()
10111            }),
10112        }
10113    }
10114}
10115
10116impl From<crate::v2_7_2::types::ProcessGroupFlowDto> for super::types::ProcessGroupFlowDto {
10117    fn from(v: crate::v2_7_2::types::ProcessGroupFlowDto) -> Self {
10118        Self {
10119            breadcrumb: v.breadcrumb.map(Into::into),
10120            flow: v.flow.map(Into::into),
10121            id: v.id,
10122            last_refreshed: v.last_refreshed,
10123            parameter_context: v.parameter_context.map(Into::into),
10124            parent_group_id: v.parent_group_id,
10125            uri: v.uri,
10126        }
10127    }
10128}
10129
10130impl From<crate::v2_7_2::types::ProcessGroupFlowEntity> for super::types::ProcessGroupFlowEntity {
10131    fn from(v: crate::v2_7_2::types::ProcessGroupFlowEntity) -> Self {
10132        Self {
10133            permissions: v.permissions.map(Into::into),
10134            process_group_flow: v.process_group_flow.map(Into::into),
10135            revision: v.revision.map(Into::into),
10136        }
10137    }
10138}
10139
10140impl From<crate::v2_7_2::types::ProcessGroupImportEntity>
10141    for super::types::ProcessGroupImportEntity
10142{
10143    fn from(v: crate::v2_7_2::types::ProcessGroupImportEntity) -> Self {
10144        Self {
10145            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
10146            process_group_revision: v.process_group_revision.map(Into::into),
10147            versioned_flow_snapshot: v.versioned_flow_snapshot.map(Into::into),
10148        }
10149    }
10150}
10151
10152impl From<crate::v2_7_2::types::ProcessGroupNameDto> for super::types::ProcessGroupNameDto {
10153    fn from(v: crate::v2_7_2::types::ProcessGroupNameDto) -> Self {
10154        Self {
10155            id: v.id,
10156            name: v.name,
10157        }
10158    }
10159}
10160
10161impl From<crate::v2_7_2::types::ProcessGroupReplaceRequestDto>
10162    for super::types::ProcessGroupReplaceRequestDto
10163{
10164    fn from(v: crate::v2_7_2::types::ProcessGroupReplaceRequestDto) -> Self {
10165        Self {
10166            complete: v.complete,
10167            failure_reason: v.failure_reason,
10168            last_updated: v.last_updated,
10169            percent_completed: v.percent_completed,
10170            process_group_id: v.process_group_id,
10171            request_id: v.request_id,
10172            state: v.state,
10173            uri: v.uri,
10174        }
10175    }
10176}
10177
10178impl From<crate::v2_7_2::types::ProcessGroupReplaceRequestEntity>
10179    for super::types::ProcessGroupReplaceRequestEntity
10180{
10181    fn from(v: crate::v2_7_2::types::ProcessGroupReplaceRequestEntity) -> Self {
10182        Self {
10183            process_group_revision: v.process_group_revision.map(Into::into),
10184            request: v.request.map(Into::into),
10185            versioned_flow_snapshot: v.versioned_flow_snapshot.map(Into::into),
10186        }
10187    }
10188}
10189
10190impl From<crate::v2_7_2::types::ProcessGroupStatusDto> for super::types::ProcessGroupStatusDto {
10191    fn from(v: crate::v2_7_2::types::ProcessGroupStatusDto) -> Self {
10192        Self {
10193            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
10194            id: v.id,
10195            name: v.name,
10196            node_snapshots: v
10197                .node_snapshots
10198                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10199            stats_last_refreshed: v.stats_last_refreshed,
10200        }
10201    }
10202}
10203
10204impl From<crate::v2_7_2::types::ProcessGroupStatusEntity>
10205    for super::types::ProcessGroupStatusEntity
10206{
10207    fn from(v: crate::v2_7_2::types::ProcessGroupStatusEntity) -> Self {
10208        Self {
10209            can_read: v.can_read,
10210            process_group_status: v.process_group_status.map(Into::into),
10211        }
10212    }
10213}
10214
10215impl From<crate::v2_7_2::types::ProcessGroupStatusSnapshotDto>
10216    for super::types::ProcessGroupStatusSnapshotDto
10217{
10218    fn from(v: crate::v2_7_2::types::ProcessGroupStatusSnapshotDto) -> Self {
10219        Self {
10220            active_thread_count: v.active_thread_count,
10221            bytes_in: v.bytes_in,
10222            bytes_out: v.bytes_out,
10223            bytes_queued: v.bytes_queued,
10224            bytes_read: v.bytes_read,
10225            bytes_received: v.bytes_received,
10226            bytes_sent: v.bytes_sent,
10227            bytes_transferred: v.bytes_transferred,
10228            bytes_written: v.bytes_written,
10229            connection_status_snapshots: v
10230                .connection_status_snapshots
10231                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10232            flow_files_in: v.flow_files_in,
10233            flow_files_out: v.flow_files_out,
10234            flow_files_queued: v.flow_files_queued,
10235            flow_files_received: v.flow_files_received,
10236            flow_files_sent: v.flow_files_sent,
10237            flow_files_transferred: v.flow_files_transferred,
10238            id: v.id,
10239            input: v.input,
10240            input_port_status_snapshots: v
10241                .input_port_status_snapshots
10242                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10243            name: v.name,
10244            output: v.output,
10245            output_port_status_snapshots: v
10246                .output_port_status_snapshots
10247                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10248            process_group_status_snapshots: v
10249                .process_group_status_snapshots
10250                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10251            processing_nanos: v.processing_nanos,
10252            processing_performance_status: v.processing_performance_status.map(Into::into),
10253            processor_status_snapshots: v
10254                .processor_status_snapshots
10255                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10256            queued: v.queued,
10257            queued_count: v.queued_count,
10258            queued_size: v.queued_size,
10259            read: v.read,
10260            received: v.received,
10261            remote_process_group_status_snapshots: v
10262                .remote_process_group_status_snapshots
10263                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10264            sent: v.sent,
10265            stateless_active_thread_count: v.stateless_active_thread_count,
10266            terminated_thread_count: v.terminated_thread_count,
10267            transferred: v.transferred,
10268            versioned_flow_state: v.versioned_flow_state.map(|v| {
10269                serde_json::to_value(&v)
10270                    .ok()
10271                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10272                    .unwrap_or_default()
10273            }),
10274            written: v.written,
10275        }
10276    }
10277}
10278
10279impl From<crate::v2_7_2::types::ProcessGroupStatusSnapshotEntity>
10280    for super::types::ProcessGroupStatusSnapshotEntity
10281{
10282    fn from(v: crate::v2_7_2::types::ProcessGroupStatusSnapshotEntity) -> Self {
10283        Self {
10284            can_read: v.can_read,
10285            id: v.id,
10286            process_group_status_snapshot: v.process_group_status_snapshot.map(Into::into),
10287        }
10288    }
10289}
10290
10291impl From<crate::v2_7_2::types::ProcessGroupUploadEntity>
10292    for super::types::ProcessGroupUploadEntity
10293{
10294    fn from(v: crate::v2_7_2::types::ProcessGroupUploadEntity) -> Self {
10295        Self {
10296            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
10297            flow_snapshot: v.flow_snapshot.map(Into::into),
10298            group_id: v.group_id,
10299            group_name: v.group_name,
10300            position_d_t_o: v.position_d_t_o.map(Into::into),
10301            revision_d_t_o: v.revision_d_t_o.map(Into::into),
10302        }
10303    }
10304}
10305
10306impl From<crate::v2_7_2::types::ProcessGroupsEntity> for super::types::ProcessGroupsEntity {
10307    fn from(v: crate::v2_7_2::types::ProcessGroupsEntity) -> Self {
10308        Self {
10309            process_groups: v
10310                .process_groups
10311                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10312        }
10313    }
10314}
10315
10316impl From<crate::v2_7_2::types::ProcessingPerformanceStatusDto>
10317    for super::types::ProcessingPerformanceStatusDto
10318{
10319    fn from(v: crate::v2_7_2::types::ProcessingPerformanceStatusDto) -> Self {
10320        Self {
10321            content_read_duration: v.content_read_duration,
10322            content_write_duration: v.content_write_duration,
10323            cpu_duration: v.cpu_duration,
10324            garbage_collection_duration: v.garbage_collection_duration,
10325            identifier: v.identifier,
10326            session_commit_duration: v.session_commit_duration,
10327        }
10328    }
10329}
10330
10331impl From<crate::v2_7_2::types::ProcessorConfigDto> for super::types::ProcessorConfigDto {
10332    fn from(v: crate::v2_7_2::types::ProcessorConfigDto) -> Self {
10333        Self {
10334            annotation_data: v.annotation_data,
10335            auto_terminated_relationships: v.auto_terminated_relationships,
10336            backoff_mechanism: v.backoff_mechanism,
10337            bulletin_level: v.bulletin_level,
10338            comments: v.comments,
10339            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
10340            custom_ui_url: v.custom_ui_url,
10341            default_concurrent_tasks: v.default_concurrent_tasks,
10342            default_scheduling_period: v.default_scheduling_period,
10343            descriptors: v
10344                .descriptors
10345                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
10346            execution_node: v.execution_node,
10347            loss_tolerant: v.loss_tolerant,
10348            max_backoff_period: v.max_backoff_period,
10349            penalty_duration: v.penalty_duration,
10350            properties: v.properties,
10351            retried_relationships: v.retried_relationships,
10352            retry_count: v.retry_count,
10353            run_duration_millis: v.run_duration_millis,
10354            scheduling_period: v.scheduling_period,
10355            scheduling_strategy: v.scheduling_strategy,
10356            sensitive_dynamic_property_names: v.sensitive_dynamic_property_names,
10357            yield_duration: v.yield_duration,
10358        }
10359    }
10360}
10361
10362impl From<crate::v2_7_2::types::ProcessorConfiguration> for super::types::ProcessorConfiguration {
10363    fn from(v: crate::v2_7_2::types::ProcessorConfiguration) -> Self {
10364        Self {
10365            configuration: v.configuration,
10366            processor_class_name: v.processor_class_name,
10367        }
10368    }
10369}
10370
10371impl From<crate::v2_7_2::types::ProcessorDefinition> for super::types::ProcessorDefinition {
10372    fn from(v: crate::v2_7_2::types::ProcessorDefinition) -> Self {
10373        Self {
10374            additional_details: v.additional_details,
10375            artifact: v.artifact,
10376            build_info: v.build_info.map(Into::into),
10377            default_bulletin_level: v.default_bulletin_level,
10378            default_concurrent_tasks_by_scheduling_strategy: v
10379                .default_concurrent_tasks_by_scheduling_strategy,
10380            default_penalty_duration: v.default_penalty_duration,
10381            default_scheduling_period_by_scheduling_strategy: v
10382                .default_scheduling_period_by_scheduling_strategy,
10383            default_scheduling_strategy: v.default_scheduling_strategy,
10384            default_yield_duration: v.default_yield_duration,
10385            deprecated: v.deprecated,
10386            deprecation_alternatives: v.deprecation_alternatives,
10387            deprecation_reason: v.deprecation_reason,
10388            dynamic_properties: v
10389                .dynamic_properties
10390                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10391            dynamic_relationship: v.dynamic_relationship.map(Into::into),
10392            explicit_restrictions: v
10393                .explicit_restrictions
10394                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10395            group: v.group,
10396            input_requirement: v.input_requirement.map(|v| {
10397                serde_json::to_value(&v)
10398                    .ok()
10399                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10400                    .unwrap_or_default()
10401            }),
10402            multi_processor_use_cases: v
10403                .multi_processor_use_cases
10404                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10405            primary_node_only: v.primary_node_only,
10406            property_descriptors: v
10407                .property_descriptors
10408                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
10409            provided_api_implementations: v
10410                .provided_api_implementations
10411                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10412            reads_attributes: v
10413                .reads_attributes
10414                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10415            restricted: v.restricted,
10416            restricted_explanation: v.restricted_explanation,
10417            see_also: v.see_also,
10418            side_effect_free: v.side_effect_free,
10419            stateful: v.stateful.map(Into::into),
10420            supported_relationships: v
10421                .supported_relationships
10422                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10423            supported_scheduling_strategies: v.supported_scheduling_strategies,
10424            supports_batching: v.supports_batching,
10425            supports_dynamic_properties: v.supports_dynamic_properties,
10426            supports_dynamic_relationships: v.supports_dynamic_relationships,
10427            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
10428            system_resource_considerations: v
10429                .system_resource_considerations
10430                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10431            tags: v.tags,
10432            trigger_serially: v.trigger_serially,
10433            trigger_when_any_destination_available: v.trigger_when_any_destination_available,
10434            trigger_when_empty: v.trigger_when_empty,
10435            r#type: v.r#type,
10436            type_description: v.type_description,
10437            use_cases: v
10438                .use_cases
10439                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10440            version: v.version,
10441            writes_attributes: v
10442                .writes_attributes
10443                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10444        }
10445    }
10446}
10447
10448impl From<crate::v2_7_2::types::ProcessorDto> for super::types::ProcessorDto {
10449    fn from(v: crate::v2_7_2::types::ProcessorDto) -> Self {
10450        Self {
10451            bundle: v.bundle.map(Into::into),
10452            config: v.config.map(Into::into),
10453            deprecated: v.deprecated,
10454            description: v.description,
10455            execution_node_restricted: v.execution_node_restricted,
10456            extension_missing: v.extension_missing,
10457            id: v.id,
10458            input_requirement: v.input_requirement,
10459            multiple_versions_available: v.multiple_versions_available,
10460            name: v.name,
10461            parent_group_id: v.parent_group_id,
10462            persists_state: v.persists_state,
10463            physical_state: v.physical_state.map(|v| {
10464                serde_json::to_value(&v)
10465                    .ok()
10466                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10467                    .unwrap_or_default()
10468            }),
10469            position: v.position.map(Into::into),
10470            relationships: v
10471                .relationships
10472                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10473            restricted: v.restricted,
10474            state: v.state.map(|v| {
10475                serde_json::to_value(&v)
10476                    .ok()
10477                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10478                    .unwrap_or_default()
10479            }),
10480            style: v.style,
10481            supports_batching: v.supports_batching,
10482            supports_parallel_processing: v.supports_parallel_processing,
10483            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
10484            r#type: v.r#type,
10485            validation_errors: v.validation_errors,
10486            validation_status: v.validation_status.map(|v| {
10487                serde_json::to_value(&v)
10488                    .ok()
10489                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10490                    .unwrap_or_default()
10491            }),
10492            versioned_component_id: v.versioned_component_id,
10493        }
10494    }
10495}
10496
10497impl From<crate::v2_7_2::types::ProcessorEntity> for super::types::ProcessorEntity {
10498    fn from(v: crate::v2_7_2::types::ProcessorEntity) -> Self {
10499        Self {
10500            bulletins: v
10501                .bulletins
10502                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10503            component: v.component.map(Into::into),
10504            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
10505            id: v.id,
10506            input_requirement: v.input_requirement,
10507            operate_permissions: v.operate_permissions.map(Into::into),
10508            permissions: v.permissions.map(Into::into),
10509            physical_state: v.physical_state.map(|v| {
10510                serde_json::to_value(&v)
10511                    .ok()
10512                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10513                    .unwrap_or_default()
10514            }),
10515            position: v.position.map(Into::into),
10516            revision: v.revision.map(Into::into),
10517            status: v.status.map(Into::into),
10518            uri: v.uri,
10519        }
10520    }
10521}
10522
10523impl From<crate::v2_7_2::types::ProcessorRunStatusDetailsDto>
10524    for super::types::ProcessorRunStatusDetailsDto
10525{
10526    fn from(v: crate::v2_7_2::types::ProcessorRunStatusDetailsDto) -> Self {
10527        Self {
10528            active_thread_count: v.active_thread_count,
10529            id: v.id,
10530            name: v.name,
10531            run_status: v.run_status.map(|v| {
10532                serde_json::to_value(&v)
10533                    .ok()
10534                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10535                    .unwrap_or_default()
10536            }),
10537            validation_errors: v.validation_errors,
10538        }
10539    }
10540}
10541
10542impl From<crate::v2_7_2::types::ProcessorRunStatusDetailsEntity>
10543    for super::types::ProcessorRunStatusDetailsEntity
10544{
10545    fn from(v: crate::v2_7_2::types::ProcessorRunStatusDetailsEntity) -> Self {
10546        Self {
10547            permissions: v.permissions.map(Into::into),
10548            revision: v.revision.map(Into::into),
10549            run_status_details: v.run_status_details.map(Into::into),
10550        }
10551    }
10552}
10553
10554impl From<crate::v2_7_2::types::ProcessorRunStatusEntity>
10555    for super::types::ProcessorRunStatusEntity
10556{
10557    fn from(v: crate::v2_7_2::types::ProcessorRunStatusEntity) -> Self {
10558        Self {
10559            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
10560            revision: v.revision.map(Into::into),
10561            state: v.state.map(|v| {
10562                serde_json::to_value(&v)
10563                    .ok()
10564                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10565                    .unwrap_or_default()
10566            }),
10567        }
10568    }
10569}
10570
10571impl From<crate::v2_7_2::types::ProcessorStatusDto> for super::types::ProcessorStatusDto {
10572    fn from(v: crate::v2_7_2::types::ProcessorStatusDto) -> Self {
10573        Self {
10574            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
10575            group_id: v.group_id,
10576            id: v.id,
10577            name: v.name,
10578            node_snapshots: v
10579                .node_snapshots
10580                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10581            run_status: v.run_status.map(|v| {
10582                serde_json::to_value(&v)
10583                    .ok()
10584                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10585                    .unwrap_or_default()
10586            }),
10587            stats_last_refreshed: v.stats_last_refreshed,
10588            r#type: v.r#type,
10589        }
10590    }
10591}
10592
10593impl From<crate::v2_7_2::types::ProcessorStatusEntity> for super::types::ProcessorStatusEntity {
10594    fn from(v: crate::v2_7_2::types::ProcessorStatusEntity) -> Self {
10595        Self {
10596            can_read: v.can_read,
10597            processor_status: v.processor_status.map(Into::into),
10598        }
10599    }
10600}
10601
10602impl From<crate::v2_7_2::types::ProcessorStatusSnapshotDto>
10603    for super::types::ProcessorStatusSnapshotDto
10604{
10605    fn from(v: crate::v2_7_2::types::ProcessorStatusSnapshotDto) -> Self {
10606        Self {
10607            active_thread_count: v.active_thread_count,
10608            bytes_in: v.bytes_in,
10609            bytes_out: v.bytes_out,
10610            bytes_read: v.bytes_read,
10611            bytes_written: v.bytes_written,
10612            execution_node: v.execution_node.map(|v| {
10613                serde_json::to_value(&v)
10614                    .ok()
10615                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10616                    .unwrap_or_default()
10617            }),
10618            flow_files_in: v.flow_files_in,
10619            flow_files_out: v.flow_files_out,
10620            group_id: v.group_id,
10621            id: v.id,
10622            input: v.input,
10623            name: v.name,
10624            output: v.output,
10625            processing_performance_status: v.processing_performance_status.map(Into::into),
10626            read: v.read,
10627            run_status: v.run_status.map(|v| {
10628                serde_json::to_value(&v)
10629                    .ok()
10630                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10631                    .unwrap_or_default()
10632            }),
10633            task_count: v.task_count,
10634            tasks: v.tasks,
10635            tasks_duration: v.tasks_duration,
10636            tasks_duration_nanos: v.tasks_duration_nanos,
10637            terminated_thread_count: v.terminated_thread_count,
10638            r#type: v.r#type,
10639            written: v.written,
10640        }
10641    }
10642}
10643
10644impl From<crate::v2_7_2::types::ProcessorStatusSnapshotEntity>
10645    for super::types::ProcessorStatusSnapshotEntity
10646{
10647    fn from(v: crate::v2_7_2::types::ProcessorStatusSnapshotEntity) -> Self {
10648        Self {
10649            can_read: v.can_read,
10650            id: v.id,
10651            processor_status_snapshot: v.processor_status_snapshot.map(Into::into),
10652        }
10653    }
10654}
10655
10656impl From<crate::v2_7_2::types::ProcessorTypesEntity> for super::types::ProcessorTypesEntity {
10657    fn from(v: crate::v2_7_2::types::ProcessorTypesEntity) -> Self {
10658        Self {
10659            processor_types: v
10660                .processor_types
10661                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10662        }
10663    }
10664}
10665
10666impl From<crate::v2_7_2::types::ProcessorsEntity> for super::types::ProcessorsEntity {
10667    fn from(v: crate::v2_7_2::types::ProcessorsEntity) -> Self {
10668        Self {
10669            processors: v
10670                .processors
10671                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10672        }
10673    }
10674}
10675
10676impl From<crate::v2_7_2::types::ProcessorsRunStatusDetailsEntity>
10677    for super::types::ProcessorsRunStatusDetailsEntity
10678{
10679    fn from(v: crate::v2_7_2::types::ProcessorsRunStatusDetailsEntity) -> Self {
10680        Self {
10681            run_status_details: v
10682                .run_status_details
10683                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10684        }
10685    }
10686}
10687
10688impl From<crate::v2_7_2::types::PropertyAllowableValue> for super::types::PropertyAllowableValue {
10689    fn from(v: crate::v2_7_2::types::PropertyAllowableValue) -> Self {
10690        Self {
10691            description: v.description,
10692            display_name: v.display_name,
10693            value: v.value,
10694        }
10695    }
10696}
10697
10698impl From<crate::v2_7_2::types::PropertyDependency> for super::types::PropertyDependency {
10699    fn from(v: crate::v2_7_2::types::PropertyDependency) -> Self {
10700        Self {
10701            dependent_values: v.dependent_values,
10702            property_display_name: v.property_display_name,
10703            property_name: v.property_name,
10704        }
10705    }
10706}
10707
10708impl From<crate::v2_7_2::types::PropertyDependencyDto> for super::types::PropertyDependencyDto {
10709    fn from(v: crate::v2_7_2::types::PropertyDependencyDto) -> Self {
10710        Self {
10711            dependent_values: v.dependent_values,
10712            property_name: v.property_name,
10713        }
10714    }
10715}
10716
10717impl From<crate::v2_7_2::types::PropertyDescriptor> for super::types::PropertyDescriptor {
10718    fn from(v: crate::v2_7_2::types::PropertyDescriptor) -> Self {
10719        Self {
10720            allowable_values: v
10721                .allowable_values
10722                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10723            default_value: v.default_value,
10724            dependencies: v
10725                .dependencies
10726                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10727            description: v.description,
10728            display_name: v.display_name,
10729            dynamic: v.dynamic,
10730            expression_language_scope: v.expression_language_scope.map(|v| {
10731                serde_json::to_value(&v)
10732                    .ok()
10733                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10734                    .unwrap_or_default()
10735            }),
10736            expression_language_scope_description: v.expression_language_scope_description,
10737            listen_port_definition: v.listen_port_definition.map(Into::into),
10738            name: v.name,
10739            required: v.required,
10740            resource_definition: v.resource_definition.map(Into::into),
10741            sensitive: v.sensitive,
10742            type_provided_by_value: v.type_provided_by_value.map(Into::into),
10743            valid_regex: v.valid_regex,
10744            validator: v.validator,
10745        }
10746    }
10747}
10748
10749impl From<crate::v2_7_2::types::PropertyDescriptorDto> for super::types::PropertyDescriptorDto {
10750    fn from(v: crate::v2_7_2::types::PropertyDescriptorDto) -> Self {
10751        Self {
10752            allowable_values: v
10753                .allowable_values
10754                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10755            default_value: v.default_value,
10756            dependencies: v
10757                .dependencies
10758                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10759            description: v.description,
10760            display_name: v.display_name,
10761            dynamic: v.dynamic,
10762            expression_language_scope: v.expression_language_scope,
10763            identifies_controller_service: v.identifies_controller_service,
10764            identifies_controller_service_bundle: v
10765                .identifies_controller_service_bundle
10766                .map(Into::into),
10767            name: v.name,
10768            required: v.required,
10769            sensitive: v.sensitive,
10770            supports_el: v.supports_el,
10771        }
10772    }
10773}
10774
10775impl From<crate::v2_7_2::types::PropertyDescriptorEntity>
10776    for super::types::PropertyDescriptorEntity
10777{
10778    fn from(v: crate::v2_7_2::types::PropertyDescriptorEntity) -> Self {
10779        Self {
10780            property_descriptor: Some(v.property_descriptor.unwrap_or_default().into()),
10781        }
10782    }
10783}
10784
10785impl From<crate::v2_7_2::types::PropertyHistoryDto> for super::types::PropertyHistoryDto {
10786    fn from(v: crate::v2_7_2::types::PropertyHistoryDto) -> Self {
10787        Self {
10788            previous_values: v
10789                .previous_values
10790                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10791        }
10792    }
10793}
10794
10795impl From<crate::v2_7_2::types::PropertyListenPortDefinition>
10796    for super::types::PropertyListenPortDefinition
10797{
10798    fn from(v: crate::v2_7_2::types::PropertyListenPortDefinition) -> Self {
10799        Self {
10800            application_protocols: v.application_protocols,
10801            transport_protocol: v.transport_protocol.map(|v| {
10802                serde_json::to_value(&v)
10803                    .ok()
10804                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10805                    .unwrap_or_default()
10806            }),
10807        }
10808    }
10809}
10810
10811impl From<crate::v2_7_2::types::PropertyResourceDefinition>
10812    for super::types::PropertyResourceDefinition
10813{
10814    fn from(v: crate::v2_7_2::types::PropertyResourceDefinition) -> Self {
10815        Self {
10816            cardinality: v.cardinality.map(|v| {
10817                serde_json::to_value(&v)
10818                    .ok()
10819                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10820                    .unwrap_or_default()
10821            }),
10822            resource_types: v.resource_types.map(|v| {
10823                v.into_iter()
10824                    .map(|v| {
10825                        serde_json::to_value(&v)
10826                            .ok()
10827                            .and_then(|v| v.as_str().map(|s| s.to_string()))
10828                            .unwrap_or_default()
10829                    })
10830                    .collect()
10831            }),
10832        }
10833    }
10834}
10835
10836impl From<crate::v2_7_2::types::ProvenanceDto> for super::types::ProvenanceDto {
10837    fn from(v: crate::v2_7_2::types::ProvenanceDto) -> Self {
10838        Self {
10839            expiration: v.expiration,
10840            finished: v.finished,
10841            id: v.id,
10842            percent_completed: v.percent_completed,
10843            request: v.request.map(Into::into),
10844            results: v.results.map(Into::into),
10845            submission_time: v.submission_time,
10846            uri: v.uri,
10847        }
10848    }
10849}
10850
10851impl From<crate::v2_7_2::types::ProvenanceEntity> for super::types::ProvenanceEntity {
10852    fn from(v: crate::v2_7_2::types::ProvenanceEntity) -> Self {
10853        Self {
10854            provenance: Some(v.provenance.unwrap_or_default().into()),
10855        }
10856    }
10857}
10858
10859impl From<crate::v2_7_2::types::ProvenanceEventDto> for super::types::ProvenanceEventDto {
10860    fn from(v: crate::v2_7_2::types::ProvenanceEventDto) -> Self {
10861        Self {
10862            alternate_identifier_uri: v.alternate_identifier_uri,
10863            attributes: v
10864                .attributes
10865                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10866            child_uuids: v.child_uuids,
10867            cluster_node_address: v.cluster_node_address,
10868            cluster_node_id: v.cluster_node_id,
10869            component_id: v.component_id,
10870            component_name: v.component_name,
10871            component_type: v.component_type,
10872            content_equal: v.content_equal,
10873            details: v.details,
10874            event_duration: v.event_duration,
10875            event_id: v.event_id,
10876            event_time: v.event_time,
10877            event_timestamp: None,
10878            event_type: v.event_type,
10879            file_size: v.file_size,
10880            file_size_bytes: v.file_size_bytes,
10881            flow_file_uuid: v.flow_file_uuid,
10882            group_id: v.group_id,
10883            id: v.id,
10884            input_content_available: v.input_content_available,
10885            input_content_claim_container: v.input_content_claim_container,
10886            input_content_claim_file_size: v.input_content_claim_file_size,
10887            input_content_claim_file_size_bytes: v.input_content_claim_file_size_bytes,
10888            input_content_claim_identifier: v.input_content_claim_identifier,
10889            input_content_claim_offset: v.input_content_claim_offset,
10890            input_content_claim_section: v.input_content_claim_section,
10891            lineage_duration: v.lineage_duration,
10892            output_content_available: v.output_content_available,
10893            output_content_claim_container: v.output_content_claim_container,
10894            output_content_claim_file_size: v.output_content_claim_file_size,
10895            output_content_claim_file_size_bytes: v.output_content_claim_file_size_bytes,
10896            output_content_claim_identifier: v.output_content_claim_identifier,
10897            output_content_claim_offset: v.output_content_claim_offset,
10898            output_content_claim_section: v.output_content_claim_section,
10899            parent_uuids: v.parent_uuids,
10900            relationship: v.relationship,
10901            replay_available: v.replay_available,
10902            replay_explanation: v.replay_explanation,
10903            source_connection_identifier: v.source_connection_identifier,
10904            source_system_flow_file_id: v.source_system_flow_file_id,
10905            transit_uri: v.transit_uri,
10906        }
10907    }
10908}
10909
10910impl From<crate::v2_7_2::types::ProvenanceEventEntity> for super::types::ProvenanceEventEntity {
10911    fn from(v: crate::v2_7_2::types::ProvenanceEventEntity) -> Self {
10912        Self {
10913            provenance_event: Some(v.provenance_event.unwrap_or_default().into()),
10914        }
10915    }
10916}
10917
10918impl From<crate::v2_7_2::types::ProvenanceLinkDto> for super::types::ProvenanceLinkDto {
10919    fn from(v: crate::v2_7_2::types::ProvenanceLinkDto) -> Self {
10920        Self {
10921            flow_file_uuid: v.flow_file_uuid,
10922            millis: v.millis,
10923            source_id: v.source_id,
10924            target_id: v.target_id,
10925            timestamp: v.timestamp,
10926        }
10927    }
10928}
10929
10930impl From<crate::v2_7_2::types::ProvenanceNodeDto> for super::types::ProvenanceNodeDto {
10931    fn from(v: crate::v2_7_2::types::ProvenanceNodeDto) -> Self {
10932        Self {
10933            child_uuids: v.child_uuids,
10934            cluster_node_identifier: v.cluster_node_identifier,
10935            component_type: None,
10936            event_type: v.event_type,
10937            flow_file_uuid: v.flow_file_uuid,
10938            id: v.id,
10939            millis: v.millis,
10940            parent_uuids: v.parent_uuids,
10941            timestamp: v.timestamp,
10942            r#type: v.r#type.map(|v| {
10943                serde_json::to_value(&v)
10944                    .ok()
10945                    .and_then(|v| v.as_str().map(|s| s.to_string()))
10946                    .unwrap_or_default()
10947            }),
10948        }
10949    }
10950}
10951
10952impl From<crate::v2_7_2::types::ProvenanceOptionsDto> for super::types::ProvenanceOptionsDto {
10953    fn from(v: crate::v2_7_2::types::ProvenanceOptionsDto) -> Self {
10954        Self {
10955            searchable_fields: v
10956                .searchable_fields
10957                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10958        }
10959    }
10960}
10961
10962impl From<crate::v2_7_2::types::ProvenanceOptionsEntity> for super::types::ProvenanceOptionsEntity {
10963    fn from(v: crate::v2_7_2::types::ProvenanceOptionsEntity) -> Self {
10964        Self {
10965            provenance_options: Some(v.provenance_options.unwrap_or_default().into()),
10966        }
10967    }
10968}
10969
10970impl From<crate::v2_7_2::types::ProvenanceRequestDto> for super::types::ProvenanceRequestDto {
10971    fn from(v: crate::v2_7_2::types::ProvenanceRequestDto) -> Self {
10972        Self {
10973            cluster_node_id: v.cluster_node_id,
10974            end_date: v.end_date,
10975            incremental_results: v.incremental_results,
10976            max_results: v.max_results,
10977            maximum_file_size: v.maximum_file_size,
10978            minimum_file_size: v.minimum_file_size,
10979            search_terms: v
10980                .search_terms
10981                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
10982            start_date: v.start_date,
10983            summarize: v.summarize,
10984        }
10985    }
10986}
10987
10988impl From<crate::v2_7_2::types::ProvenanceResultsDto> for super::types::ProvenanceResultsDto {
10989    fn from(v: crate::v2_7_2::types::ProvenanceResultsDto) -> Self {
10990        Self {
10991            errors: v.errors,
10992            generated: v.generated,
10993            oldest_event: v.oldest_event,
10994            provenance_events: v
10995                .provenance_events
10996                .map(|v| v.into_iter().map(|v| v.into()).collect()),
10997            time_offset: v.time_offset,
10998            total: v.total,
10999            total_count: v.total_count,
11000        }
11001    }
11002}
11003
11004impl From<crate::v2_7_2::types::ProvenanceSearchValueDto>
11005    for super::types::ProvenanceSearchValueDto
11006{
11007    fn from(v: crate::v2_7_2::types::ProvenanceSearchValueDto) -> Self {
11008        Self {
11009            inverse: v.inverse,
11010            value: v.value,
11011        }
11012    }
11013}
11014
11015impl From<crate::v2_7_2::types::ProvenanceSearchableFieldDto>
11016    for super::types::ProvenanceSearchableFieldDto
11017{
11018    fn from(v: crate::v2_7_2::types::ProvenanceSearchableFieldDto) -> Self {
11019        Self {
11020            field: v.field,
11021            id: v.id,
11022            label: v.label,
11023            r#type: v.r#type,
11024        }
11025    }
11026}
11027
11028impl From<crate::v2_7_2::types::QueueSizeDto> for super::types::QueueSizeDto {
11029    fn from(v: crate::v2_7_2::types::QueueSizeDto) -> Self {
11030        Self {
11031            byte_count: v.byte_count,
11032            object_count: v.object_count,
11033        }
11034    }
11035}
11036
11037impl From<crate::v2_7_2::types::RegisteredFlow> for super::types::RegisteredFlow {
11038    fn from(v: crate::v2_7_2::types::RegisteredFlow) -> Self {
11039        Self {
11040            branch: v.branch,
11041            bucket_identifier: v.bucket_identifier,
11042            bucket_name: v.bucket_name,
11043            created_timestamp: v.created_timestamp,
11044            description: v.description,
11045            identifier: v.identifier,
11046            last_modified_timestamp: v.last_modified_timestamp,
11047            name: v.name,
11048            permissions: v.permissions.map(Into::into),
11049            version_count: v.version_count,
11050            version_info: v.version_info.map(Into::into),
11051        }
11052    }
11053}
11054
11055impl From<crate::v2_7_2::types::RegisteredFlowSnapshot> for super::types::RegisteredFlowSnapshot {
11056    fn from(v: crate::v2_7_2::types::RegisteredFlowSnapshot) -> Self {
11057        Self {
11058            bucket: v.bucket.map(Into::into),
11059            external_controller_services: v
11060                .external_controller_services
11061                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
11062            flow: v.flow.map(Into::into),
11063            flow_contents: v.flow_contents.map(Into::into),
11064            flow_encoding_version: v.flow_encoding_version,
11065            latest: v.latest,
11066            parameter_contexts: v
11067                .parameter_contexts
11068                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
11069            parameter_providers: v
11070                .parameter_providers
11071                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
11072            snapshot_metadata: v.snapshot_metadata.map(Into::into),
11073        }
11074    }
11075}
11076
11077impl From<crate::v2_7_2::types::RegisteredFlowSnapshotMetadata>
11078    for super::types::RegisteredFlowSnapshotMetadata
11079{
11080    fn from(v: crate::v2_7_2::types::RegisteredFlowSnapshotMetadata) -> Self {
11081        Self {
11082            author: v.author,
11083            branch: v.branch,
11084            bucket_identifier: v.bucket_identifier,
11085            comments: v.comments,
11086            flow_identifier: v.flow_identifier,
11087            flow_name: v.flow_name,
11088            registry_identifier: v.registry_identifier,
11089            registry_name: v.registry_name,
11090            timestamp: v.timestamp,
11091            version: v.version,
11092        }
11093    }
11094}
11095
11096impl From<crate::v2_7_2::types::RegisteredFlowVersionInfo>
11097    for super::types::RegisteredFlowVersionInfo
11098{
11099    fn from(v: crate::v2_7_2::types::RegisteredFlowVersionInfo) -> Self {
11100        Self { version: v.version }
11101    }
11102}
11103
11104impl From<crate::v2_7_2::types::Relationship> for super::types::Relationship {
11105    fn from(v: crate::v2_7_2::types::Relationship) -> Self {
11106        Self {
11107            description: v.description,
11108            name: v.name,
11109        }
11110    }
11111}
11112
11113impl From<crate::v2_7_2::types::RelationshipDto> for super::types::RelationshipDto {
11114    fn from(v: crate::v2_7_2::types::RelationshipDto) -> Self {
11115        Self {
11116            auto_terminate: v.auto_terminate,
11117            description: v.description,
11118            name: v.name,
11119            retry: v.retry,
11120        }
11121    }
11122}
11123
11124impl From<crate::v2_7_2::types::RemotePortRunStatusEntity>
11125    for super::types::RemotePortRunStatusEntity
11126{
11127    fn from(v: crate::v2_7_2::types::RemotePortRunStatusEntity) -> Self {
11128        Self {
11129            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
11130            revision: v.revision.map(Into::into),
11131            state: v.state.map(|v| {
11132                serde_json::to_value(&v)
11133                    .ok()
11134                    .and_then(|v| v.as_str().map(|s| s.to_string()))
11135                    .unwrap_or_default()
11136            }),
11137        }
11138    }
11139}
11140
11141impl From<crate::v2_7_2::types::RemoteProcessGroupContentsDto>
11142    for super::types::RemoteProcessGroupContentsDto
11143{
11144    fn from(v: crate::v2_7_2::types::RemoteProcessGroupContentsDto) -> Self {
11145        Self {
11146            input_ports: v
11147                .input_ports
11148                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11149            output_ports: v
11150                .output_ports
11151                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11152        }
11153    }
11154}
11155
11156impl From<crate::v2_7_2::types::RemoteProcessGroupDto> for super::types::RemoteProcessGroupDto {
11157    fn from(v: crate::v2_7_2::types::RemoteProcessGroupDto) -> Self {
11158        Self {
11159            active_remote_input_port_count: v.active_remote_input_port_count,
11160            active_remote_output_port_count: v.active_remote_output_port_count,
11161            authorization_issues: v.authorization_issues,
11162            comments: v.comments,
11163            communications_timeout: v.communications_timeout,
11164            contents: v.contents.map(Into::into),
11165            flow_refreshed: v.flow_refreshed,
11166            id: v.id,
11167            inactive_remote_input_port_count: v.inactive_remote_input_port_count,
11168            inactive_remote_output_port_count: v.inactive_remote_output_port_count,
11169            input_port_count: v.input_port_count,
11170            local_network_interface: v.local_network_interface,
11171            name: v.name,
11172            output_port_count: v.output_port_count,
11173            parent_group_id: v.parent_group_id,
11174            position: v.position.map(Into::into),
11175            proxy_host: v.proxy_host,
11176            proxy_password: v.proxy_password,
11177            proxy_port: v.proxy_port,
11178            proxy_user: v.proxy_user,
11179            target_secure: v.target_secure,
11180            target_uri: v.target_uri,
11181            target_uris: v.target_uris,
11182            transmitting: v.transmitting,
11183            transport_protocol: v.transport_protocol,
11184            validation_errors: v.validation_errors,
11185            versioned_component_id: v.versioned_component_id,
11186            yield_duration: v.yield_duration,
11187        }
11188    }
11189}
11190
11191impl From<crate::v2_7_2::types::RemoteProcessGroupEntity>
11192    for super::types::RemoteProcessGroupEntity
11193{
11194    fn from(v: crate::v2_7_2::types::RemoteProcessGroupEntity) -> Self {
11195        Self {
11196            bulletins: v
11197                .bulletins
11198                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11199            component: v.component.map(Into::into),
11200            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
11201            id: v.id,
11202            input_port_count: v.input_port_count,
11203            operate_permissions: v.operate_permissions.map(Into::into),
11204            output_port_count: v.output_port_count,
11205            permissions: v.permissions.map(Into::into),
11206            position: v.position.map(Into::into),
11207            revision: v.revision.map(Into::into),
11208            status: v.status.map(Into::into),
11209            uri: v.uri,
11210        }
11211    }
11212}
11213
11214impl From<crate::v2_7_2::types::RemoteProcessGroupPortDto>
11215    for super::types::RemoteProcessGroupPortDto
11216{
11217    fn from(v: crate::v2_7_2::types::RemoteProcessGroupPortDto) -> Self {
11218        Self {
11219            batch_settings: v.batch_settings.map(Into::into),
11220            comments: v.comments,
11221            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
11222            connected: v.connected,
11223            exists: v.exists,
11224            group_id: v.group_id,
11225            id: v.id,
11226            name: v.name,
11227            target_id: v.target_id,
11228            target_running: v.target_running,
11229            transmitting: v.transmitting,
11230            use_compression: v.use_compression,
11231            versioned_component_id: v.versioned_component_id,
11232        }
11233    }
11234}
11235
11236impl From<crate::v2_7_2::types::RemoteProcessGroupPortEntity>
11237    for super::types::RemoteProcessGroupPortEntity
11238{
11239    fn from(v: crate::v2_7_2::types::RemoteProcessGroupPortEntity) -> Self {
11240        Self {
11241            bulletins: v
11242                .bulletins
11243                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11244            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
11245            id: v.id,
11246            operate_permissions: v.operate_permissions.map(Into::into),
11247            permissions: v.permissions.map(Into::into),
11248            position: v.position.map(Into::into),
11249            remote_process_group_port: v.remote_process_group_port.map(Into::into),
11250            revision: v.revision.map(Into::into),
11251            uri: v.uri,
11252        }
11253    }
11254}
11255
11256impl From<crate::v2_7_2::types::RemoteProcessGroupStatusDto>
11257    for super::types::RemoteProcessGroupStatusDto
11258{
11259    fn from(v: crate::v2_7_2::types::RemoteProcessGroupStatusDto) -> Self {
11260        Self {
11261            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
11262            group_id: v.group_id,
11263            id: v.id,
11264            name: v.name,
11265            node_snapshots: v
11266                .node_snapshots
11267                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11268            stats_last_refreshed: v.stats_last_refreshed,
11269            target_uri: v.target_uri,
11270            transmission_status: v.transmission_status,
11271            validation_status: v.validation_status.map(|v| {
11272                serde_json::to_value(&v)
11273                    .ok()
11274                    .and_then(|v| v.as_str().map(|s| s.to_string()))
11275                    .unwrap_or_default()
11276            }),
11277        }
11278    }
11279}
11280
11281impl From<crate::v2_7_2::types::RemoteProcessGroupStatusEntity>
11282    for super::types::RemoteProcessGroupStatusEntity
11283{
11284    fn from(v: crate::v2_7_2::types::RemoteProcessGroupStatusEntity) -> Self {
11285        Self {
11286            can_read: v.can_read,
11287            remote_process_group_status: v.remote_process_group_status.map(Into::into),
11288        }
11289    }
11290}
11291
11292impl From<crate::v2_7_2::types::RemoteProcessGroupStatusSnapshotDto>
11293    for super::types::RemoteProcessGroupStatusSnapshotDto
11294{
11295    fn from(v: crate::v2_7_2::types::RemoteProcessGroupStatusSnapshotDto) -> Self {
11296        Self {
11297            active_thread_count: v.active_thread_count,
11298            bytes_received: v.bytes_received,
11299            bytes_sent: v.bytes_sent,
11300            flow_files_received: v.flow_files_received,
11301            flow_files_sent: v.flow_files_sent,
11302            group_id: v.group_id,
11303            id: v.id,
11304            name: v.name,
11305            received: v.received,
11306            sent: v.sent,
11307            target_uri: v.target_uri,
11308            transmission_status: v.transmission_status,
11309        }
11310    }
11311}
11312
11313impl From<crate::v2_7_2::types::RemoteProcessGroupStatusSnapshotEntity>
11314    for super::types::RemoteProcessGroupStatusSnapshotEntity
11315{
11316    fn from(v: crate::v2_7_2::types::RemoteProcessGroupStatusSnapshotEntity) -> Self {
11317        Self {
11318            can_read: v.can_read,
11319            id: v.id,
11320            remote_process_group_status_snapshot: v
11321                .remote_process_group_status_snapshot
11322                .map(Into::into),
11323        }
11324    }
11325}
11326
11327impl From<crate::v2_7_2::types::RemoteProcessGroupsEntity>
11328    for super::types::RemoteProcessGroupsEntity
11329{
11330    fn from(v: crate::v2_7_2::types::RemoteProcessGroupsEntity) -> Self {
11331        Self {
11332            remote_process_groups: v
11333                .remote_process_groups
11334                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11335        }
11336    }
11337}
11338
11339impl From<crate::v2_7_2::types::ReplayLastEventRequestEntity>
11340    for super::types::ReplayLastEventRequestEntity
11341{
11342    fn from(v: crate::v2_7_2::types::ReplayLastEventRequestEntity) -> Self {
11343        Self {
11344            component_id: v.component_id,
11345            nodes: v.nodes.map(|v| {
11346                serde_json::to_value(&v)
11347                    .ok()
11348                    .and_then(|v| v.as_str().map(|s| s.to_string()))
11349                    .unwrap_or_default()
11350            }),
11351        }
11352    }
11353}
11354
11355impl From<crate::v2_7_2::types::ReplayLastEventResponseEntity>
11356    for super::types::ReplayLastEventResponseEntity
11357{
11358    fn from(v: crate::v2_7_2::types::ReplayLastEventResponseEntity) -> Self {
11359        Self {
11360            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
11361            component_id: v.component_id,
11362            node_snapshots: v
11363                .node_snapshots
11364                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11365            nodes: v.nodes.map(|v| {
11366                serde_json::to_value(&v)
11367                    .ok()
11368                    .and_then(|v| v.as_str().map(|s| s.to_string()))
11369                    .unwrap_or_default()
11370            }),
11371        }
11372    }
11373}
11374
11375impl From<crate::v2_7_2::types::ReplayLastEventSnapshotDto>
11376    for super::types::ReplayLastEventSnapshotDto
11377{
11378    fn from(v: crate::v2_7_2::types::ReplayLastEventSnapshotDto) -> Self {
11379        Self {
11380            event_available: v.event_available,
11381            events_replayed: v.events_replayed,
11382            failure_explanation: v.failure_explanation,
11383        }
11384    }
11385}
11386
11387impl From<crate::v2_7_2::types::ReportingTaskDefinition> for super::types::ReportingTaskDefinition {
11388    fn from(v: crate::v2_7_2::types::ReportingTaskDefinition) -> Self {
11389        Self {
11390            additional_details: v.additional_details,
11391            artifact: v.artifact,
11392            build_info: v.build_info.map(Into::into),
11393            default_scheduling_period_by_scheduling_strategy: v
11394                .default_scheduling_period_by_scheduling_strategy,
11395            default_scheduling_strategy: v.default_scheduling_strategy,
11396            deprecated: v.deprecated,
11397            deprecation_alternatives: v.deprecation_alternatives,
11398            deprecation_reason: v.deprecation_reason,
11399            dynamic_properties: v
11400                .dynamic_properties
11401                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11402            explicit_restrictions: v
11403                .explicit_restrictions
11404                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11405            group: v.group,
11406            property_descriptors: v
11407                .property_descriptors
11408                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
11409            provided_api_implementations: v
11410                .provided_api_implementations
11411                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11412            restricted: v.restricted,
11413            restricted_explanation: v.restricted_explanation,
11414            see_also: v.see_also,
11415            stateful: v.stateful.map(Into::into),
11416            supported_scheduling_strategies: v.supported_scheduling_strategies,
11417            supports_dynamic_properties: v.supports_dynamic_properties,
11418            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
11419            system_resource_considerations: v
11420                .system_resource_considerations
11421                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11422            tags: v.tags,
11423            r#type: v.r#type,
11424            type_description: v.type_description,
11425            version: v.version,
11426        }
11427    }
11428}
11429
11430impl From<crate::v2_7_2::types::ReportingTaskDto> for super::types::ReportingTaskDto {
11431    fn from(v: crate::v2_7_2::types::ReportingTaskDto) -> Self {
11432        Self {
11433            active_thread_count: v.active_thread_count,
11434            annotation_data: v.annotation_data,
11435            bundle: v.bundle.map(Into::into),
11436            comments: v.comments,
11437            custom_ui_url: v.custom_ui_url,
11438            default_scheduling_period: v.default_scheduling_period,
11439            deprecated: v.deprecated,
11440            descriptors: v
11441                .descriptors
11442                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
11443            extension_missing: v.extension_missing,
11444            id: v.id,
11445            multiple_versions_available: v.multiple_versions_available,
11446            name: v.name,
11447            parent_group_id: v.parent_group_id,
11448            persists_state: v.persists_state,
11449            position: v.position.map(Into::into),
11450            properties: v.properties,
11451            restricted: v.restricted,
11452            scheduling_period: v.scheduling_period,
11453            scheduling_strategy: v.scheduling_strategy,
11454            sensitive_dynamic_property_names: v.sensitive_dynamic_property_names,
11455            state: v.state.map(|v| {
11456                serde_json::to_value(&v)
11457                    .ok()
11458                    .and_then(|v| v.as_str().map(|s| s.to_string()))
11459                    .unwrap_or_default()
11460            }),
11461            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
11462            r#type: v.r#type,
11463            validation_errors: v.validation_errors,
11464            validation_status: v.validation_status.map(|v| {
11465                serde_json::to_value(&v)
11466                    .ok()
11467                    .and_then(|v| v.as_str().map(|s| s.to_string()))
11468                    .unwrap_or_default()
11469            }),
11470            versioned_component_id: v.versioned_component_id,
11471        }
11472    }
11473}
11474
11475impl From<crate::v2_7_2::types::ReportingTaskEntity> for super::types::ReportingTaskEntity {
11476    fn from(v: crate::v2_7_2::types::ReportingTaskEntity) -> Self {
11477        Self {
11478            bulletins: v
11479                .bulletins
11480                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11481            component: v.component.map(Into::into),
11482            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
11483            id: v.id,
11484            operate_permissions: v.operate_permissions.map(Into::into),
11485            permissions: v.permissions.map(Into::into),
11486            position: v.position.map(Into::into),
11487            revision: v.revision.map(Into::into),
11488            status: v.status.map(Into::into),
11489            uri: v.uri,
11490        }
11491    }
11492}
11493
11494impl From<crate::v2_7_2::types::ReportingTaskRunStatusEntity>
11495    for super::types::ReportingTaskRunStatusEntity
11496{
11497    fn from(v: crate::v2_7_2::types::ReportingTaskRunStatusEntity) -> Self {
11498        Self {
11499            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
11500            revision: v.revision.map(Into::into),
11501            state: v.state.map(|v| {
11502                serde_json::to_value(&v)
11503                    .ok()
11504                    .and_then(|v| v.as_str().map(|s| s.to_string()))
11505                    .unwrap_or_default()
11506            }),
11507        }
11508    }
11509}
11510
11511impl From<crate::v2_7_2::types::ReportingTaskStatusDto> for super::types::ReportingTaskStatusDto {
11512    fn from(v: crate::v2_7_2::types::ReportingTaskStatusDto) -> Self {
11513        Self {
11514            active_thread_count: v.active_thread_count,
11515            run_status: v.run_status.map(|v| {
11516                serde_json::to_value(&v)
11517                    .ok()
11518                    .and_then(|v| v.as_str().map(|s| s.to_string()))
11519                    .unwrap_or_default()
11520            }),
11521            validation_status: v.validation_status.map(|v| {
11522                serde_json::to_value(&v)
11523                    .ok()
11524                    .and_then(|v| v.as_str().map(|s| s.to_string()))
11525                    .unwrap_or_default()
11526            }),
11527        }
11528    }
11529}
11530
11531impl From<crate::v2_7_2::types::ReportingTaskTypesEntity>
11532    for super::types::ReportingTaskTypesEntity
11533{
11534    fn from(v: crate::v2_7_2::types::ReportingTaskTypesEntity) -> Self {
11535        Self {
11536            reporting_task_types: v
11537                .reporting_task_types
11538                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11539        }
11540    }
11541}
11542
11543impl From<crate::v2_7_2::types::ReportingTasksEntity> for super::types::ReportingTasksEntity {
11544    fn from(v: crate::v2_7_2::types::ReportingTasksEntity) -> Self {
11545        Self {
11546            current_time: v.current_time,
11547            reporting_tasks: v
11548                .reporting_tasks
11549                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11550        }
11551    }
11552}
11553
11554impl From<crate::v2_7_2::types::RequiredPermissionDto> for super::types::RequiredPermissionDto {
11555    fn from(v: crate::v2_7_2::types::RequiredPermissionDto) -> Self {
11556        Self {
11557            id: v.id,
11558            label: v.label,
11559        }
11560    }
11561}
11562
11563impl From<crate::v2_7_2::types::ResourceClaimDetailsDto> for super::types::ResourceClaimDetailsDto {
11564    fn from(v: crate::v2_7_2::types::ResourceClaimDetailsDto) -> Self {
11565        Self {
11566            awaiting_destruction: v.awaiting_destruction,
11567            claimant_count: v.claimant_count,
11568            container: v.container,
11569            identifier: v.identifier,
11570            in_use: v.in_use,
11571            section: v.section,
11572            writable: v.writable,
11573        }
11574    }
11575}
11576
11577impl From<crate::v2_7_2::types::ResourceDto> for super::types::ResourceDto {
11578    fn from(v: crate::v2_7_2::types::ResourceDto) -> Self {
11579        Self {
11580            identifier: v.identifier,
11581            name: v.name,
11582        }
11583    }
11584}
11585
11586impl From<crate::v2_7_2::types::ResourcesEntity> for super::types::ResourcesEntity {
11587    fn from(v: crate::v2_7_2::types::ResourcesEntity) -> Self {
11588        Self {
11589            resources: v
11590                .resources
11591                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11592        }
11593    }
11594}
11595
11596impl From<crate::v2_7_2::types::Restriction> for super::types::Restriction {
11597    fn from(v: crate::v2_7_2::types::Restriction) -> Self {
11598        Self {
11599            explanation: v.explanation,
11600            required_permission: v.required_permission,
11601        }
11602    }
11603}
11604
11605impl From<crate::v2_7_2::types::RevisionDto> for super::types::RevisionDto {
11606    fn from(v: crate::v2_7_2::types::RevisionDto) -> Self {
11607        Self {
11608            client_id: v.client_id,
11609            last_modifier: v.last_modifier,
11610            version: v.version,
11611        }
11612    }
11613}
11614
11615impl From<crate::v2_7_2::types::RunStatusDetailsRequestEntity>
11616    for super::types::RunStatusDetailsRequestEntity
11617{
11618    fn from(v: crate::v2_7_2::types::RunStatusDetailsRequestEntity) -> Self {
11619        Self {
11620            processor_ids: v.processor_ids,
11621        }
11622    }
11623}
11624
11625impl From<crate::v2_7_2::types::RuntimeManifest> for super::types::RuntimeManifest {
11626    fn from(v: crate::v2_7_2::types::RuntimeManifest) -> Self {
11627        Self {
11628            agent_type: v.agent_type,
11629            build_info: v.build_info.map(Into::into),
11630            bundles: v.bundles.map(|v| v.into_iter().map(|v| v.into()).collect()),
11631            identifier: v.identifier,
11632            scheduling_defaults: v.scheduling_defaults.map(Into::into),
11633            version: v.version,
11634        }
11635    }
11636}
11637
11638impl From<crate::v2_7_2::types::RuntimeManifestEntity> for super::types::RuntimeManifestEntity {
11639    fn from(v: crate::v2_7_2::types::RuntimeManifestEntity) -> Self {
11640        Self {
11641            runtime_manifest: Some(v.runtime_manifest.unwrap_or_default().into()),
11642        }
11643    }
11644}
11645
11646impl From<crate::v2_7_2::types::ScheduleComponentsEntity>
11647    for super::types::ScheduleComponentsEntity
11648{
11649    fn from(v: crate::v2_7_2::types::ScheduleComponentsEntity) -> Self {
11650        Self {
11651            components: v
11652                .components
11653                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
11654            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
11655            id: v.id,
11656            state: v.state.map(|v| {
11657                serde_json::to_value(&v)
11658                    .ok()
11659                    .and_then(|v| v.as_str().map(|s| s.to_string()))
11660                    .unwrap_or_default()
11661            }),
11662        }
11663    }
11664}
11665
11666impl From<crate::v2_7_2::types::SchedulingDefaults> for super::types::SchedulingDefaults {
11667    fn from(v: crate::v2_7_2::types::SchedulingDefaults) -> Self {
11668        Self {
11669            default_concurrent_tasks_by_scheduling_strategy: v
11670                .default_concurrent_tasks_by_scheduling_strategy,
11671            default_max_concurrent_tasks: v.default_max_concurrent_tasks,
11672            default_run_duration_nanos: v.default_run_duration_nanos,
11673            default_scheduling_period_millis: v.default_scheduling_period_millis,
11674            default_scheduling_periods_by_scheduling_strategy: v
11675                .default_scheduling_periods_by_scheduling_strategy,
11676            default_scheduling_strategy: v.default_scheduling_strategy.map(|v| {
11677                serde_json::to_value(&v)
11678                    .ok()
11679                    .and_then(|v| v.as_str().map(|s| s.to_string()))
11680                    .unwrap_or_default()
11681            }),
11682            penalization_period_millis: v.penalization_period_millis,
11683            yield_duration_millis: v.yield_duration_millis,
11684        }
11685    }
11686}
11687
11688impl From<crate::v2_7_2::types::SearchResultGroupDto> for super::types::SearchResultGroupDto {
11689    fn from(v: crate::v2_7_2::types::SearchResultGroupDto) -> Self {
11690        Self {
11691            id: Some(v.id),
11692            name: v.name,
11693        }
11694    }
11695}
11696
11697impl From<crate::v2_7_2::types::SearchResultsDto> for super::types::SearchResultsDto {
11698    fn from(v: crate::v2_7_2::types::SearchResultsDto) -> Self {
11699        Self {
11700            connection_results: v
11701                .connection_results
11702                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11703            controller_service_node_results: v
11704                .controller_service_node_results
11705                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11706            funnel_results: v
11707                .funnel_results
11708                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11709            input_port_results: v
11710                .input_port_results
11711                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11712            label_results: v
11713                .label_results
11714                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11715            output_port_results: v
11716                .output_port_results
11717                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11718            parameter_context_results: v
11719                .parameter_context_results
11720                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11721            parameter_provider_node_results: v
11722                .parameter_provider_node_results
11723                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11724            parameter_results: v
11725                .parameter_results
11726                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11727            process_group_results: v
11728                .process_group_results
11729                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11730            processor_results: v
11731                .processor_results
11732                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11733            remote_process_group_results: v
11734                .remote_process_group_results
11735                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11736        }
11737    }
11738}
11739
11740impl From<crate::v2_7_2::types::SearchResultsEntity> for super::types::SearchResultsEntity {
11741    fn from(v: crate::v2_7_2::types::SearchResultsEntity) -> Self {
11742        Self {
11743            search_results_d_t_o: Some(v.search_results_d_t_o.unwrap_or_default().into()),
11744        }
11745    }
11746}
11747
11748impl From<crate::v2_7_2::types::SnippetDto> for super::types::SnippetDto {
11749    fn from(v: crate::v2_7_2::types::SnippetDto) -> Self {
11750        Self {
11751            connections: v
11752                .connections
11753                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
11754            funnels: v
11755                .funnels
11756                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
11757            id: v.id,
11758            input_ports: v
11759                .input_ports
11760                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
11761            labels: v
11762                .labels
11763                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
11764            output_ports: v
11765                .output_ports
11766                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
11767            parent_group_id: v.parent_group_id,
11768            process_groups: v
11769                .process_groups
11770                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
11771            processors: v
11772                .processors
11773                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
11774            remote_process_groups: v
11775                .remote_process_groups
11776                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
11777            uri: v.uri,
11778        }
11779    }
11780}
11781
11782impl From<crate::v2_7_2::types::SnippetEntity> for super::types::SnippetEntity {
11783    fn from(v: crate::v2_7_2::types::SnippetEntity) -> Self {
11784        Self {
11785            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
11786            snippet: v.snippet.map(Into::into),
11787        }
11788    }
11789}
11790
11791impl From<crate::v2_7_2::types::StartVersionControlRequestEntity>
11792    for super::types::StartVersionControlRequestEntity
11793{
11794    fn from(v: crate::v2_7_2::types::StartVersionControlRequestEntity) -> Self {
11795        Self {
11796            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
11797            process_group_revision: v.process_group_revision.map(Into::into),
11798            versioned_flow: v.versioned_flow.map(Into::into),
11799        }
11800    }
11801}
11802
11803impl From<crate::v2_7_2::types::StateEntryDto> for super::types::StateEntryDto {
11804    fn from(v: crate::v2_7_2::types::StateEntryDto) -> Self {
11805        Self {
11806            cluster_node_address: v.cluster_node_address,
11807            cluster_node_id: v.cluster_node_id,
11808            key: v.key,
11809            value: v.value,
11810        }
11811    }
11812}
11813
11814impl From<crate::v2_7_2::types::StateMapDto> for super::types::StateMapDto {
11815    fn from(v: crate::v2_7_2::types::StateMapDto) -> Self {
11816        Self {
11817            scope: v.scope,
11818            state: v.state.map(|v| v.into_iter().map(|v| v.into()).collect()),
11819            total_entry_count: v.total_entry_count,
11820        }
11821    }
11822}
11823
11824impl From<crate::v2_7_2::types::Stateful> for super::types::Stateful {
11825    fn from(v: crate::v2_7_2::types::Stateful) -> Self {
11826        Self {
11827            description: v.description,
11828            scopes: v.scopes.map(|v| {
11829                v.into_iter()
11830                    .map(|v| {
11831                        serde_json::to_value(&v)
11832                            .ok()
11833                            .and_then(|v| v.as_str().map(|s| s.to_string()))
11834                            .unwrap_or_default()
11835                    })
11836                    .collect()
11837            }),
11838        }
11839    }
11840}
11841
11842impl From<crate::v2_7_2::types::StatusDescriptorDto> for super::types::StatusDescriptorDto {
11843    fn from(v: crate::v2_7_2::types::StatusDescriptorDto) -> Self {
11844        Self {
11845            description: v.description,
11846            field: v.field,
11847            formatter: v.formatter,
11848            label: v.label,
11849        }
11850    }
11851}
11852
11853impl From<crate::v2_7_2::types::StatusHistoryDto> for super::types::StatusHistoryDto {
11854    fn from(v: crate::v2_7_2::types::StatusHistoryDto) -> Self {
11855        Self {
11856            aggregate_snapshots: v
11857                .aggregate_snapshots
11858                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11859            component_details: v.component_details,
11860            field_descriptors: v
11861                .field_descriptors
11862                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11863            generated: v.generated,
11864            node_snapshots: v
11865                .node_snapshots
11866                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11867        }
11868    }
11869}
11870
11871impl From<crate::v2_7_2::types::StatusHistoryEntity> for super::types::StatusHistoryEntity {
11872    fn from(v: crate::v2_7_2::types::StatusHistoryEntity) -> Self {
11873        Self {
11874            can_read: v.can_read,
11875            status_history: v.status_history.map(Into::into),
11876        }
11877    }
11878}
11879
11880impl From<crate::v2_7_2::types::StatusSnapshotDto> for super::types::StatusSnapshotDto {
11881    fn from(v: crate::v2_7_2::types::StatusSnapshotDto) -> Self {
11882        Self {
11883            status_metrics: v.status_metrics,
11884            timestamp: v.timestamp,
11885        }
11886    }
11887}
11888
11889impl From<crate::v2_7_2::types::StorageUsageDto> for super::types::StorageUsageDto {
11890    fn from(v: crate::v2_7_2::types::StorageUsageDto) -> Self {
11891        Self {
11892            free_space: v.free_space,
11893            free_space_bytes: v.free_space_bytes,
11894            identifier: v.identifier,
11895            total_space: v.total_space,
11896            total_space_bytes: v.total_space_bytes,
11897            used_space: v.used_space,
11898            used_space_bytes: v.used_space_bytes,
11899            utilization: v.utilization,
11900        }
11901    }
11902}
11903
11904impl From<crate::v2_7_2::types::StreamingOutput> for super::types::StreamingOutput {
11905    fn from(_v: crate::v2_7_2::types::StreamingOutput) -> Self {
11906        Self {}
11907    }
11908}
11909
11910impl From<crate::v2_7_2::types::SubmitReplayRequestEntity>
11911    for super::types::SubmitReplayRequestEntity
11912{
11913    fn from(v: crate::v2_7_2::types::SubmitReplayRequestEntity) -> Self {
11914        Self {
11915            cluster_node_id: v.cluster_node_id,
11916            event_id: v.event_id,
11917        }
11918    }
11919}
11920
11921impl From<crate::v2_7_2::types::SupportedMimeTypesDto> for super::types::SupportedMimeTypesDto {
11922    fn from(v: crate::v2_7_2::types::SupportedMimeTypesDto) -> Self {
11923        Self {
11924            display_name: v.display_name,
11925            mime_types: v.mime_types,
11926        }
11927    }
11928}
11929
11930impl From<crate::v2_7_2::types::SystemDiagnosticsDto> for super::types::SystemDiagnosticsDto {
11931    fn from(v: crate::v2_7_2::types::SystemDiagnosticsDto) -> Self {
11932        Self {
11933            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
11934            node_snapshots: v
11935                .node_snapshots
11936                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11937        }
11938    }
11939}
11940
11941impl From<crate::v2_7_2::types::SystemDiagnosticsEntity> for super::types::SystemDiagnosticsEntity {
11942    fn from(v: crate::v2_7_2::types::SystemDiagnosticsEntity) -> Self {
11943        Self {
11944            system_diagnostics: Some(v.system_diagnostics.unwrap_or_default().into()),
11945        }
11946    }
11947}
11948
11949impl From<crate::v2_7_2::types::SystemDiagnosticsSnapshotDto>
11950    for super::types::SystemDiagnosticsSnapshotDto
11951{
11952    fn from(v: crate::v2_7_2::types::SystemDiagnosticsSnapshotDto) -> Self {
11953        Self {
11954            available_processors: v.available_processors,
11955            content_repository_storage_usage: v
11956                .content_repository_storage_usage
11957                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11958            daemon_threads: v.daemon_threads,
11959            flow_file_repository_storage_usage: v
11960                .flow_file_repository_storage_usage
11961                .map(Into::into),
11962            free_heap: v.free_heap,
11963            free_heap_bytes: v.free_heap_bytes,
11964            free_non_heap: v.free_non_heap,
11965            free_non_heap_bytes: v.free_non_heap_bytes,
11966            garbage_collection: v
11967                .garbage_collection
11968                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11969            heap_utilization: v.heap_utilization,
11970            max_heap: v.max_heap,
11971            max_heap_bytes: v.max_heap_bytes,
11972            max_non_heap: v.max_non_heap,
11973            max_non_heap_bytes: v.max_non_heap_bytes,
11974            non_heap_utilization: v.non_heap_utilization,
11975            processor_load_average: v.processor_load_average,
11976            provenance_repository_storage_usage: v
11977                .provenance_repository_storage_usage
11978                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11979            resource_claim_details: v
11980                .resource_claim_details
11981                .map(|v| v.into_iter().map(|v| v.into()).collect()),
11982            stats_last_refreshed: v.stats_last_refreshed,
11983            total_heap: v.total_heap,
11984            total_heap_bytes: v.total_heap_bytes,
11985            total_non_heap: v.total_non_heap,
11986            total_non_heap_bytes: v.total_non_heap_bytes,
11987            total_threads: v.total_threads,
11988            uptime: v.uptime,
11989            used_heap: v.used_heap,
11990            used_heap_bytes: v.used_heap_bytes,
11991            used_non_heap: v.used_non_heap,
11992            used_non_heap_bytes: v.used_non_heap_bytes,
11993            version_info: v.version_info.map(Into::into),
11994        }
11995    }
11996}
11997
11998impl From<crate::v2_7_2::types::SystemResourceConsideration>
11999    for super::types::SystemResourceConsideration
12000{
12001    fn from(v: crate::v2_7_2::types::SystemResourceConsideration) -> Self {
12002        Self {
12003            description: v.description,
12004            resource: v.resource,
12005        }
12006    }
12007}
12008
12009impl From<crate::v2_7_2::types::TenantDto> for super::types::TenantDto {
12010    fn from(v: crate::v2_7_2::types::TenantDto) -> Self {
12011        Self {
12012            configurable: v.configurable,
12013            id: v.id,
12014            identity: v.identity,
12015            parent_group_id: v.parent_group_id,
12016            position: v.position.map(Into::into),
12017            versioned_component_id: v.versioned_component_id,
12018        }
12019    }
12020}
12021
12022impl From<crate::v2_7_2::types::TenantEntity> for super::types::TenantEntity {
12023    fn from(v: crate::v2_7_2::types::TenantEntity) -> Self {
12024        Self {
12025            bulletins: v
12026                .bulletins
12027                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12028            component: v.component.map(Into::into),
12029            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
12030            id: v.id,
12031            permissions: v.permissions.map(Into::into),
12032            position: v.position.map(Into::into),
12033            revision: v.revision.map(Into::into),
12034            uri: v.uri,
12035        }
12036    }
12037}
12038
12039impl From<crate::v2_7_2::types::TenantsEntity> for super::types::TenantsEntity {
12040    fn from(v: crate::v2_7_2::types::TenantsEntity) -> Self {
12041        Self {
12042            user_groups: v
12043                .user_groups
12044                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12045            users: v.users.map(|v| v.into_iter().map(|v| v.into()).collect()),
12046        }
12047    }
12048}
12049
12050impl From<crate::v2_7_2::types::TransactionResultEntity> for super::types::TransactionResultEntity {
12051    fn from(v: crate::v2_7_2::types::TransactionResultEntity) -> Self {
12052        Self {
12053            flow_file_sent: v.flow_file_sent,
12054            message: v.message,
12055            response_code: v.response_code,
12056        }
12057    }
12058}
12059
12060impl From<crate::v2_7_2::types::UpdateControllerServiceReferenceRequestEntity>
12061    for super::types::UpdateControllerServiceReferenceRequestEntity
12062{
12063    fn from(v: crate::v2_7_2::types::UpdateControllerServiceReferenceRequestEntity) -> Self {
12064        Self {
12065            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
12066            id: v.id,
12067            referencing_component_revisions: v
12068                .referencing_component_revisions
12069                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
12070            state: v.state.map(|v| {
12071                serde_json::to_value(&v)
12072                    .ok()
12073                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12074                    .unwrap_or_default()
12075            }),
12076            ui_only: v.ui_only,
12077        }
12078    }
12079}
12080
12081impl From<crate::v2_7_2::types::UseCase> for super::types::UseCase {
12082    fn from(v: crate::v2_7_2::types::UseCase) -> Self {
12083        Self {
12084            configuration: v.configuration,
12085            description: v.description,
12086            input_requirement: v.input_requirement.map(|v| {
12087                serde_json::to_value(&v)
12088                    .ok()
12089                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12090                    .unwrap_or_default()
12091            }),
12092            keywords: v.keywords,
12093            notes: v.notes,
12094        }
12095    }
12096}
12097
12098impl From<crate::v2_7_2::types::UserDto> for super::types::UserDto {
12099    fn from(v: crate::v2_7_2::types::UserDto) -> Self {
12100        Self {
12101            access_policies: v
12102                .access_policies
12103                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12104            configurable: v.configurable,
12105            id: v.id,
12106            identity: v.identity,
12107            parent_group_id: v.parent_group_id,
12108            position: v.position.map(Into::into),
12109            user_groups: v
12110                .user_groups
12111                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12112            versioned_component_id: v.versioned_component_id,
12113        }
12114    }
12115}
12116
12117impl From<crate::v2_7_2::types::UserEntity> for super::types::UserEntity {
12118    fn from(v: crate::v2_7_2::types::UserEntity) -> Self {
12119        Self {
12120            bulletins: v
12121                .bulletins
12122                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12123            component: v.component.map(Into::into),
12124            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
12125            id: v.id,
12126            permissions: v.permissions.map(Into::into),
12127            position: v.position.map(Into::into),
12128            revision: v.revision.map(Into::into),
12129            uri: v.uri,
12130        }
12131    }
12132}
12133
12134impl From<crate::v2_7_2::types::UserGroupDto> for super::types::UserGroupDto {
12135    fn from(v: crate::v2_7_2::types::UserGroupDto) -> Self {
12136        Self {
12137            access_policies: v
12138                .access_policies
12139                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12140            configurable: v.configurable,
12141            id: v.id,
12142            identity: v.identity,
12143            parent_group_id: v.parent_group_id,
12144            position: v.position.map(Into::into),
12145            users: v.users.map(|v| v.into_iter().map(|v| v.into()).collect()),
12146            versioned_component_id: v.versioned_component_id,
12147        }
12148    }
12149}
12150
12151impl From<crate::v2_7_2::types::UserGroupEntity> for super::types::UserGroupEntity {
12152    fn from(v: crate::v2_7_2::types::UserGroupEntity) -> Self {
12153        Self {
12154            bulletins: v
12155                .bulletins
12156                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12157            component: v.component.map(Into::into),
12158            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
12159            id: v.id,
12160            permissions: v.permissions.map(Into::into),
12161            position: v.position.map(Into::into),
12162            revision: v.revision.map(Into::into),
12163            uri: v.uri,
12164        }
12165    }
12166}
12167
12168impl From<crate::v2_7_2::types::UserGroupsEntity> for super::types::UserGroupsEntity {
12169    fn from(v: crate::v2_7_2::types::UserGroupsEntity) -> Self {
12170        Self {
12171            user_groups: v
12172                .user_groups
12173                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12174        }
12175    }
12176}
12177
12178impl From<crate::v2_7_2::types::UsersEntity> for super::types::UsersEntity {
12179    fn from(v: crate::v2_7_2::types::UsersEntity) -> Self {
12180        Self {
12181            generated: v.generated,
12182            users: v.users.map(|v| v.into_iter().map(|v| v.into()).collect()),
12183        }
12184    }
12185}
12186
12187impl From<crate::v2_7_2::types::VerifyConfigRequestDto> for super::types::VerifyConfigRequestDto {
12188    fn from(v: crate::v2_7_2::types::VerifyConfigRequestDto) -> Self {
12189        Self {
12190            attributes: v.attributes,
12191            complete: v.complete,
12192            component_id: v.component_id,
12193            failure_reason: v.failure_reason,
12194            last_updated: v.last_updated,
12195            percent_completed: v.percent_completed,
12196            properties: v.properties,
12197            request_id: v.request_id,
12198            results: v.results.map(|v| v.into_iter().map(|v| v.into()).collect()),
12199            state: v.state,
12200            submission_time: v.submission_time,
12201            update_steps: v
12202                .update_steps
12203                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12204            uri: v.uri,
12205        }
12206    }
12207}
12208
12209impl From<crate::v2_7_2::types::VerifyConfigRequestEntity>
12210    for super::types::VerifyConfigRequestEntity
12211{
12212    fn from(v: crate::v2_7_2::types::VerifyConfigRequestEntity) -> Self {
12213        Self {
12214            request: Some(v.request.unwrap_or_default().into()),
12215        }
12216    }
12217}
12218
12219impl From<crate::v2_7_2::types::VerifyConfigUpdateStepDto>
12220    for super::types::VerifyConfigUpdateStepDto
12221{
12222    fn from(v: crate::v2_7_2::types::VerifyConfigUpdateStepDto) -> Self {
12223        Self {
12224            complete: v.complete,
12225            description: v.description,
12226            failure_reason: v.failure_reason,
12227        }
12228    }
12229}
12230
12231impl From<crate::v2_7_2::types::VersionControlComponentMappingEntity>
12232    for super::types::VersionControlComponentMappingEntity
12233{
12234    fn from(v: crate::v2_7_2::types::VersionControlComponentMappingEntity) -> Self {
12235        Self {
12236            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
12237            process_group_revision: v.process_group_revision.map(Into::into),
12238            version_control_component_mapping: v.version_control_component_mapping,
12239            version_control_information: v.version_control_information.map(Into::into),
12240        }
12241    }
12242}
12243
12244impl From<crate::v2_7_2::types::VersionControlInformationDto>
12245    for super::types::VersionControlInformationDto
12246{
12247    fn from(v: crate::v2_7_2::types::VersionControlInformationDto) -> Self {
12248        Self {
12249            branch: v.branch,
12250            bucket_id: v.bucket_id,
12251            bucket_name: v.bucket_name,
12252            flow_description: v.flow_description,
12253            flow_id: v.flow_id,
12254            flow_name: v.flow_name,
12255            group_id: v.group_id,
12256            registry_id: v.registry_id,
12257            registry_name: v.registry_name,
12258            state: v.state.map(|v| {
12259                serde_json::to_value(&v)
12260                    .ok()
12261                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12262                    .unwrap_or_default()
12263            }),
12264            state_explanation: v.state_explanation,
12265            storage_location: v.storage_location,
12266            version: v.version,
12267        }
12268    }
12269}
12270
12271impl From<crate::v2_7_2::types::VersionControlInformationEntity>
12272    for super::types::VersionControlInformationEntity
12273{
12274    fn from(v: crate::v2_7_2::types::VersionControlInformationEntity) -> Self {
12275        Self {
12276            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
12277            process_group_revision: v.process_group_revision.map(Into::into),
12278            version_control_information: v.version_control_information.map(Into::into),
12279        }
12280    }
12281}
12282
12283impl From<crate::v2_7_2::types::VersionInfoDto> for super::types::VersionInfoDto {
12284    fn from(v: crate::v2_7_2::types::VersionInfoDto) -> Self {
12285        Self {
12286            build_branch: v.build_branch,
12287            build_revision: v.build_revision,
12288            build_tag: v.build_tag,
12289            build_timestamp: v.build_timestamp,
12290            java_vendor: v.java_vendor,
12291            java_version: v.java_version,
12292            ni_fi_version: v.ni_fi_version,
12293            os_architecture: v.os_architecture,
12294            os_name: v.os_name,
12295            os_version: v.os_version,
12296        }
12297    }
12298}
12299
12300impl From<crate::v2_7_2::types::VersionedAsset> for super::types::VersionedAsset {
12301    fn from(v: crate::v2_7_2::types::VersionedAsset) -> Self {
12302        Self {
12303            identifier: v.identifier,
12304            name: v.name,
12305        }
12306    }
12307}
12308
12309impl From<crate::v2_7_2::types::VersionedConnection> for super::types::VersionedConnection {
12310    fn from(v: crate::v2_7_2::types::VersionedConnection) -> Self {
12311        Self {
12312            back_pressure_data_size_threshold: v.back_pressure_data_size_threshold,
12313            back_pressure_object_threshold: v.back_pressure_object_threshold,
12314            bends: v.bends.map(|v| v.into_iter().map(|v| v.into()).collect()),
12315            comments: v.comments,
12316            component_type: v.component_type.map(|v| {
12317                serde_json::to_value(&v)
12318                    .ok()
12319                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12320                    .unwrap_or_default()
12321            }),
12322            destination: v.destination.map(Into::into),
12323            flow_file_expiration: v.flow_file_expiration,
12324            group_identifier: v.group_identifier,
12325            identifier: v.identifier,
12326            instance_identifier: v.instance_identifier,
12327            label_index: v.label_index,
12328            load_balance_compression: v.load_balance_compression,
12329            load_balance_strategy: v.load_balance_strategy,
12330            name: v.name,
12331            partitioning_attribute: v.partitioning_attribute,
12332            position: v.position.map(Into::into),
12333            prioritizers: v.prioritizers,
12334            selected_relationships: v.selected_relationships,
12335            source: v.source.map(Into::into),
12336            z_index: v.z_index,
12337        }
12338    }
12339}
12340
12341impl From<crate::v2_7_2::types::VersionedControllerService>
12342    for super::types::VersionedControllerService
12343{
12344    fn from(v: crate::v2_7_2::types::VersionedControllerService) -> Self {
12345        Self {
12346            annotation_data: v.annotation_data,
12347            bulletin_level: v.bulletin_level,
12348            bundle: v.bundle.map(Into::into),
12349            comments: v.comments,
12350            component_type: v.component_type.map(|v| {
12351                serde_json::to_value(&v)
12352                    .ok()
12353                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12354                    .unwrap_or_default()
12355            }),
12356            controller_service_apis: v
12357                .controller_service_apis
12358                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12359            group_identifier: v.group_identifier,
12360            identifier: v.identifier,
12361            instance_identifier: v.instance_identifier,
12362            name: v.name,
12363            position: v.position.map(Into::into),
12364            properties: v.properties,
12365            property_descriptors: v
12366                .property_descriptors
12367                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
12368            scheduled_state: v.scheduled_state.map(|v| {
12369                serde_json::to_value(&v)
12370                    .ok()
12371                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12372                    .unwrap_or_default()
12373            }),
12374            r#type: v.r#type,
12375        }
12376    }
12377}
12378
12379impl From<crate::v2_7_2::types::VersionedFlowCoordinates>
12380    for super::types::VersionedFlowCoordinates
12381{
12382    fn from(v: crate::v2_7_2::types::VersionedFlowCoordinates) -> Self {
12383        Self {
12384            branch: v.branch,
12385            bucket_id: v.bucket_id,
12386            flow_id: v.flow_id,
12387            latest: v.latest,
12388            registry_id: v.registry_id,
12389            storage_location: v.storage_location,
12390            version: v.version,
12391        }
12392    }
12393}
12394
12395impl From<crate::v2_7_2::types::VersionedFlowDto> for super::types::VersionedFlowDto {
12396    fn from(v: crate::v2_7_2::types::VersionedFlowDto) -> Self {
12397        Self {
12398            action: v.action.map(|v| {
12399                serde_json::to_value(&v)
12400                    .ok()
12401                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12402                    .unwrap_or_default()
12403            }),
12404            branch: v.branch,
12405            bucket_id: v.bucket_id,
12406            comments: v.comments,
12407            description: v.description,
12408            flow_id: v.flow_id,
12409            flow_name: v.flow_name,
12410            registry_id: v.registry_id,
12411        }
12412    }
12413}
12414
12415impl From<crate::v2_7_2::types::VersionedFlowEntity> for super::types::VersionedFlowEntity {
12416    fn from(v: crate::v2_7_2::types::VersionedFlowEntity) -> Self {
12417        Self {
12418            versioned_flow: Some(v.versioned_flow.unwrap_or_default().into()),
12419        }
12420    }
12421}
12422
12423impl From<crate::v2_7_2::types::VersionedFlowSnapshotEntity>
12424    for super::types::VersionedFlowSnapshotEntity
12425{
12426    fn from(v: crate::v2_7_2::types::VersionedFlowSnapshotEntity) -> Self {
12427        Self {
12428            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
12429            process_group_revision: v.process_group_revision.map(Into::into),
12430            registry_id: v.registry_id,
12431            update_descendant_versioned_flows: v.update_descendant_versioned_flows,
12432            versioned_flow: v.versioned_flow.map(Into::into),
12433            versioned_flow_snapshot: v.versioned_flow_snapshot.map(Into::into),
12434        }
12435    }
12436}
12437
12438impl From<crate::v2_7_2::types::VersionedFlowSnapshotMetadataEntity>
12439    for super::types::VersionedFlowSnapshotMetadataEntity
12440{
12441    fn from(v: crate::v2_7_2::types::VersionedFlowSnapshotMetadataEntity) -> Self {
12442        Self {
12443            registry_id: v.registry_id,
12444            versioned_flow_snapshot_metadata: v.versioned_flow_snapshot_metadata.map(Into::into),
12445        }
12446    }
12447}
12448
12449impl From<crate::v2_7_2::types::VersionedFlowSnapshotMetadataSetEntity>
12450    for super::types::VersionedFlowSnapshotMetadataSetEntity
12451{
12452    fn from(v: crate::v2_7_2::types::VersionedFlowSnapshotMetadataSetEntity) -> Self {
12453        Self {
12454            versioned_flow_snapshot_metadata_set: v
12455                .versioned_flow_snapshot_metadata_set
12456                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12457        }
12458    }
12459}
12460
12461impl From<crate::v2_7_2::types::VersionedFlowUpdateRequestDto>
12462    for super::types::VersionedFlowUpdateRequestDto
12463{
12464    fn from(v: crate::v2_7_2::types::VersionedFlowUpdateRequestDto) -> Self {
12465        Self {
12466            complete: v.complete,
12467            failure_reason: v.failure_reason,
12468            last_updated: v.last_updated,
12469            percent_completed: v.percent_completed,
12470            process_group_id: v.process_group_id,
12471            request_id: v.request_id,
12472            state: v.state,
12473            uri: v.uri,
12474            version_control_information: v.version_control_information.map(Into::into),
12475        }
12476    }
12477}
12478
12479impl From<crate::v2_7_2::types::VersionedFlowUpdateRequestEntity>
12480    for super::types::VersionedFlowUpdateRequestEntity
12481{
12482    fn from(v: crate::v2_7_2::types::VersionedFlowUpdateRequestEntity) -> Self {
12483        Self {
12484            process_group_revision: v.process_group_revision.map(Into::into),
12485            request: v.request.map(Into::into),
12486        }
12487    }
12488}
12489
12490impl From<crate::v2_7_2::types::VersionedFlowsEntity> for super::types::VersionedFlowsEntity {
12491    fn from(v: crate::v2_7_2::types::VersionedFlowsEntity) -> Self {
12492        Self {
12493            versioned_flows: v
12494                .versioned_flows
12495                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12496        }
12497    }
12498}
12499
12500impl From<crate::v2_7_2::types::VersionedFunnel> for super::types::VersionedFunnel {
12501    fn from(v: crate::v2_7_2::types::VersionedFunnel) -> Self {
12502        Self {
12503            comments: v.comments,
12504            component_type: v.component_type.map(|v| {
12505                serde_json::to_value(&v)
12506                    .ok()
12507                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12508                    .unwrap_or_default()
12509            }),
12510            group_identifier: v.group_identifier,
12511            identifier: v.identifier,
12512            instance_identifier: v.instance_identifier,
12513            name: v.name,
12514            position: v.position.map(Into::into),
12515        }
12516    }
12517}
12518
12519impl From<crate::v2_7_2::types::VersionedLabel> for super::types::VersionedLabel {
12520    fn from(v: crate::v2_7_2::types::VersionedLabel) -> Self {
12521        Self {
12522            comments: v.comments,
12523            component_type: v.component_type.map(|v| {
12524                serde_json::to_value(&v)
12525                    .ok()
12526                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12527                    .unwrap_or_default()
12528            }),
12529            group_identifier: v.group_identifier,
12530            height: v.height,
12531            identifier: v.identifier,
12532            instance_identifier: v.instance_identifier,
12533            label: v.label,
12534            name: v.name,
12535            position: v.position.map(Into::into),
12536            style: v.style,
12537            width: v.width,
12538            z_index: v.z_index,
12539        }
12540    }
12541}
12542
12543impl From<crate::v2_7_2::types::VersionedListenPortDefinition>
12544    for super::types::VersionedListenPortDefinition
12545{
12546    fn from(v: crate::v2_7_2::types::VersionedListenPortDefinition) -> Self {
12547        Self {
12548            application_protocols: v.application_protocols,
12549            transport_protocol: v.transport_protocol.map(|v| {
12550                serde_json::to_value(&v)
12551                    .ok()
12552                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12553                    .unwrap_or_default()
12554            }),
12555        }
12556    }
12557}
12558
12559impl From<crate::v2_7_2::types::VersionedParameter> for super::types::VersionedParameter {
12560    fn from(v: crate::v2_7_2::types::VersionedParameter) -> Self {
12561        Self {
12562            description: v.description,
12563            name: v.name,
12564            provided: v.provided,
12565            referenced_assets: v
12566                .referenced_assets
12567                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12568            sensitive: v.sensitive,
12569            value: v.value,
12570        }
12571    }
12572}
12573
12574impl From<crate::v2_7_2::types::VersionedParameterContext>
12575    for super::types::VersionedParameterContext
12576{
12577    fn from(v: crate::v2_7_2::types::VersionedParameterContext) -> Self {
12578        Self {
12579            comments: v.comments,
12580            component_type: v.component_type.map(|v| {
12581                serde_json::to_value(&v)
12582                    .ok()
12583                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12584                    .unwrap_or_default()
12585            }),
12586            description: v.description,
12587            group_identifier: v.group_identifier,
12588            identifier: v.identifier,
12589            inherited_parameter_contexts: v.inherited_parameter_contexts,
12590            instance_identifier: v.instance_identifier,
12591            name: v.name,
12592            parameter_group_name: v.parameter_group_name,
12593            parameter_provider: v.parameter_provider,
12594            parameters: v
12595                .parameters
12596                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12597            position: v.position.map(Into::into),
12598            synchronized: v.synchronized,
12599        }
12600    }
12601}
12602
12603impl From<crate::v2_7_2::types::VersionedPort> for super::types::VersionedPort {
12604    fn from(v: crate::v2_7_2::types::VersionedPort) -> Self {
12605        Self {
12606            allow_remote_access: v.allow_remote_access,
12607            comments: v.comments,
12608            component_type: v.component_type.map(|v| {
12609                serde_json::to_value(&v)
12610                    .ok()
12611                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12612                    .unwrap_or_default()
12613            }),
12614            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
12615            group_identifier: v.group_identifier,
12616            identifier: v.identifier,
12617            instance_identifier: v.instance_identifier,
12618            name: v.name,
12619            port_function: v.port_function.map(|v| {
12620                serde_json::to_value(&v)
12621                    .ok()
12622                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12623                    .unwrap_or_default()
12624            }),
12625            position: v.position.map(Into::into),
12626            scheduled_state: v.scheduled_state.map(|v| {
12627                serde_json::to_value(&v)
12628                    .ok()
12629                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12630                    .unwrap_or_default()
12631            }),
12632            r#type: v.r#type.map(|v| {
12633                serde_json::to_value(&v)
12634                    .ok()
12635                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12636                    .unwrap_or_default()
12637            }),
12638        }
12639    }
12640}
12641
12642impl From<crate::v2_7_2::types::VersionedProcessGroup> for super::types::VersionedProcessGroup {
12643    fn from(v: crate::v2_7_2::types::VersionedProcessGroup) -> Self {
12644        Self {
12645            comments: v.comments,
12646            component_type: v.component_type.map(|v| {
12647                serde_json::to_value(&v)
12648                    .ok()
12649                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12650                    .unwrap_or_default()
12651            }),
12652            connections: v
12653                .connections
12654                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12655            controller_services: v
12656                .controller_services
12657                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12658            default_back_pressure_data_size_threshold: v.default_back_pressure_data_size_threshold,
12659            default_back_pressure_object_threshold: v.default_back_pressure_object_threshold,
12660            default_flow_file_expiration: v.default_flow_file_expiration,
12661            execution_engine: v.execution_engine.map(|v| {
12662                serde_json::to_value(&v)
12663                    .ok()
12664                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12665                    .unwrap_or_default()
12666            }),
12667            flow_file_concurrency: v.flow_file_concurrency,
12668            flow_file_outbound_policy: v.flow_file_outbound_policy,
12669            funnels: v.funnels.map(|v| v.into_iter().map(|v| v.into()).collect()),
12670            group_identifier: v.group_identifier,
12671            identifier: v.identifier,
12672            input_ports: v
12673                .input_ports
12674                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12675            instance_identifier: v.instance_identifier,
12676            labels: v.labels.map(|v| v.into_iter().map(|v| v.into()).collect()),
12677            log_file_suffix: v.log_file_suffix,
12678            max_concurrent_tasks: v.max_concurrent_tasks,
12679            name: v.name,
12680            output_ports: v
12681                .output_ports
12682                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12683            parameter_context_name: v.parameter_context_name,
12684            position: v.position.map(Into::into),
12685            process_groups: v
12686                .process_groups
12687                .map(|v| v.into_iter().map(|v| Box::new((*v).into())).collect()),
12688            processors: v
12689                .processors
12690                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12691            remote_process_groups: v
12692                .remote_process_groups
12693                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12694            scheduled_state: v.scheduled_state.map(|v| {
12695                serde_json::to_value(&v)
12696                    .ok()
12697                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12698                    .unwrap_or_default()
12699            }),
12700            stateless_flow_timeout: v.stateless_flow_timeout,
12701            versioned_flow_coordinates: v.versioned_flow_coordinates.map(Into::into),
12702        }
12703    }
12704}
12705
12706impl From<crate::v2_7_2::types::VersionedProcessor> for super::types::VersionedProcessor {
12707    fn from(v: crate::v2_7_2::types::VersionedProcessor) -> Self {
12708        Self {
12709            annotation_data: v.annotation_data,
12710            auto_terminated_relationships: v.auto_terminated_relationships,
12711            backoff_mechanism: v.backoff_mechanism,
12712            bulletin_level: v.bulletin_level,
12713            bundle: v.bundle.map(Into::into),
12714            comments: v.comments,
12715            component_type: v.component_type.map(|v| {
12716                serde_json::to_value(&v)
12717                    .ok()
12718                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12719                    .unwrap_or_default()
12720            }),
12721            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
12722            execution_node: v.execution_node,
12723            group_identifier: v.group_identifier,
12724            identifier: v.identifier,
12725            instance_identifier: v.instance_identifier,
12726            max_backoff_period: v.max_backoff_period,
12727            name: v.name,
12728            penalty_duration: v.penalty_duration,
12729            position: v.position.map(Into::into),
12730            properties: v.properties,
12731            property_descriptors: v
12732                .property_descriptors
12733                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
12734            retried_relationships: v.retried_relationships,
12735            retry_count: v.retry_count,
12736            run_duration_millis: v.run_duration_millis,
12737            scheduled_state: v.scheduled_state.map(|v| {
12738                serde_json::to_value(&v)
12739                    .ok()
12740                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12741                    .unwrap_or_default()
12742            }),
12743            scheduling_period: v.scheduling_period,
12744            scheduling_strategy: v.scheduling_strategy,
12745            style: v.style,
12746            r#type: v.r#type,
12747            yield_duration: v.yield_duration,
12748        }
12749    }
12750}
12751
12752impl From<crate::v2_7_2::types::VersionedPropertyDescriptor>
12753    for super::types::VersionedPropertyDescriptor
12754{
12755    fn from(v: crate::v2_7_2::types::VersionedPropertyDescriptor) -> Self {
12756        Self {
12757            display_name: v.display_name,
12758            dynamic: v.dynamic,
12759            identifies_controller_service: v.identifies_controller_service,
12760            listen_port_definition: v.listen_port_definition.map(Into::into),
12761            name: v.name,
12762            resource_definition: v.resource_definition.map(Into::into),
12763            sensitive: v.sensitive,
12764        }
12765    }
12766}
12767
12768impl From<crate::v2_7_2::types::VersionedRemoteGroupPort>
12769    for super::types::VersionedRemoteGroupPort
12770{
12771    fn from(v: crate::v2_7_2::types::VersionedRemoteGroupPort) -> Self {
12772        Self {
12773            batch_size: v.batch_size.map(Into::into),
12774            comments: v.comments,
12775            component_type: v.component_type.map(|v| {
12776                serde_json::to_value(&v)
12777                    .ok()
12778                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12779                    .unwrap_or_default()
12780            }),
12781            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
12782            group_identifier: v.group_identifier,
12783            identifier: v.identifier,
12784            instance_identifier: v.instance_identifier,
12785            name: v.name,
12786            position: v.position.map(Into::into),
12787            remote_group_id: v.remote_group_id,
12788            scheduled_state: v.scheduled_state.map(|v| {
12789                serde_json::to_value(&v)
12790                    .ok()
12791                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12792                    .unwrap_or_default()
12793            }),
12794            target_id: v.target_id,
12795            use_compression: v.use_compression,
12796        }
12797    }
12798}
12799
12800impl From<crate::v2_7_2::types::VersionedRemoteProcessGroup>
12801    for super::types::VersionedRemoteProcessGroup
12802{
12803    fn from(v: crate::v2_7_2::types::VersionedRemoteProcessGroup) -> Self {
12804        Self {
12805            comments: v.comments,
12806            communications_timeout: v.communications_timeout,
12807            component_type: v.component_type.map(|v| {
12808                serde_json::to_value(&v)
12809                    .ok()
12810                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12811                    .unwrap_or_default()
12812            }),
12813            group_identifier: v.group_identifier,
12814            identifier: v.identifier,
12815            input_ports: v
12816                .input_ports
12817                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12818            instance_identifier: v.instance_identifier,
12819            local_network_interface: v.local_network_interface,
12820            name: v.name,
12821            output_ports: v
12822                .output_ports
12823                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12824            position: v.position.map(Into::into),
12825            proxy_host: v.proxy_host,
12826            proxy_password: v.proxy_password,
12827            proxy_port: v.proxy_port,
12828            proxy_user: v.proxy_user,
12829            target_uris: v.target_uris,
12830            transport_protocol: v.transport_protocol,
12831            yield_duration: v.yield_duration,
12832        }
12833    }
12834}
12835
12836impl From<crate::v2_7_2::types::VersionedReportingTask> for super::types::VersionedReportingTask {
12837    fn from(v: crate::v2_7_2::types::VersionedReportingTask) -> Self {
12838        Self {
12839            annotation_data: v.annotation_data,
12840            bundle: v.bundle.map(Into::into),
12841            comments: v.comments,
12842            component_type: v.component_type.map(|v| {
12843                serde_json::to_value(&v)
12844                    .ok()
12845                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12846                    .unwrap_or_default()
12847            }),
12848            group_identifier: v.group_identifier,
12849            identifier: v.identifier,
12850            instance_identifier: v.instance_identifier,
12851            name: v.name,
12852            position: v.position.map(Into::into),
12853            properties: v.properties,
12854            property_descriptors: v
12855                .property_descriptors
12856                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
12857            scheduled_state: v.scheduled_state.map(|v| {
12858                serde_json::to_value(&v)
12859                    .ok()
12860                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12861                    .unwrap_or_default()
12862            }),
12863            scheduling_period: v.scheduling_period,
12864            scheduling_strategy: v.scheduling_strategy,
12865            r#type: v.r#type,
12866        }
12867    }
12868}
12869
12870impl From<crate::v2_7_2::types::VersionedReportingTaskImportRequestEntity>
12871    for super::types::VersionedReportingTaskImportRequestEntity
12872{
12873    fn from(v: crate::v2_7_2::types::VersionedReportingTaskImportRequestEntity) -> Self {
12874        Self {
12875            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
12876            reporting_task_snapshot: v.reporting_task_snapshot.map(Into::into),
12877        }
12878    }
12879}
12880
12881impl From<crate::v2_7_2::types::VersionedReportingTaskImportResponseEntity>
12882    for super::types::VersionedReportingTaskImportResponseEntity
12883{
12884    fn from(v: crate::v2_7_2::types::VersionedReportingTaskImportResponseEntity) -> Self {
12885        Self {
12886            controller_services: v
12887                .controller_services
12888                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12889            reporting_tasks: v
12890                .reporting_tasks
12891                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12892        }
12893    }
12894}
12895
12896impl From<crate::v2_7_2::types::VersionedReportingTaskSnapshot>
12897    for super::types::VersionedReportingTaskSnapshot
12898{
12899    fn from(v: crate::v2_7_2::types::VersionedReportingTaskSnapshot) -> Self {
12900        Self {
12901            controller_services: v
12902                .controller_services
12903                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12904            reporting_tasks: v
12905                .reporting_tasks
12906                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12907        }
12908    }
12909}
12910
12911impl From<crate::v2_7_2::types::VersionedResourceDefinition>
12912    for super::types::VersionedResourceDefinition
12913{
12914    fn from(v: crate::v2_7_2::types::VersionedResourceDefinition) -> Self {
12915        Self {
12916            cardinality: v.cardinality.map(|v| {
12917                serde_json::to_value(&v)
12918                    .ok()
12919                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12920                    .unwrap_or_default()
12921            }),
12922            resource_types: v.resource_types.map(|v| {
12923                v.into_iter()
12924                    .map(|v| {
12925                        serde_json::to_value(&v)
12926                            .ok()
12927                            .and_then(|v| v.as_str().map(|s| s.to_string()))
12928                            .unwrap_or_default()
12929                    })
12930                    .collect()
12931            }),
12932        }
12933    }
12934}
12935
12936impl From<crate::v2_8_0::types::AboutDto> for super::types::AboutDto {
12937    fn from(v: crate::v2_8_0::types::AboutDto) -> Self {
12938        Self {
12939            build_branch: v.build_branch,
12940            build_revision: v.build_revision,
12941            build_tag: v.build_tag,
12942            build_timestamp: v.build_timestamp,
12943            content_viewer_url: v.content_viewer_url,
12944            timezone: v.timezone,
12945            title: v.title,
12946            uri: v.uri,
12947            version: v.version,
12948        }
12949    }
12950}
12951
12952impl From<crate::v2_8_0::types::AboutEntity> for super::types::AboutEntity {
12953    fn from(v: crate::v2_8_0::types::AboutEntity) -> Self {
12954        Self {
12955            about: Some(v.about.unwrap_or_default().into()),
12956        }
12957    }
12958}
12959
12960impl From<crate::v2_8_0::types::AccessPolicyDto> for super::types::AccessPolicyDto {
12961    fn from(v: crate::v2_8_0::types::AccessPolicyDto) -> Self {
12962        Self {
12963            action: v.action.map(|v| {
12964                serde_json::to_value(&v)
12965                    .ok()
12966                    .and_then(|v| v.as_str().map(|s| s.to_string()))
12967                    .unwrap_or_default()
12968            }),
12969            component_reference: v.component_reference.map(Into::into),
12970            configurable: v.configurable,
12971            id: v.id,
12972            parent_group_id: v.parent_group_id,
12973            position: v.position.map(Into::into),
12974            resource: v.resource,
12975            user_groups: v
12976                .user_groups
12977                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12978            users: v.users.map(|v| v.into_iter().map(|v| v.into()).collect()),
12979            versioned_component_id: v.versioned_component_id,
12980        }
12981    }
12982}
12983
12984impl From<crate::v2_8_0::types::AccessPolicyEntity> for super::types::AccessPolicyEntity {
12985    fn from(v: crate::v2_8_0::types::AccessPolicyEntity) -> Self {
12986        Self {
12987            bulletins: v
12988                .bulletins
12989                .map(|v| v.into_iter().map(|v| v.into()).collect()),
12990            component: v.component.map(Into::into),
12991            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
12992            generated: v.generated,
12993            id: v.id,
12994            permissions: v.permissions.map(Into::into),
12995            position: v.position.map(Into::into),
12996            revision: v.revision.map(Into::into),
12997            uri: v.uri,
12998        }
12999    }
13000}
13001
13002impl From<crate::v2_8_0::types::AccessPolicySummaryDto> for super::types::AccessPolicySummaryDto {
13003    fn from(v: crate::v2_8_0::types::AccessPolicySummaryDto) -> Self {
13004        Self {
13005            action: v.action.map(|v| {
13006                serde_json::to_value(&v)
13007                    .ok()
13008                    .and_then(|v| v.as_str().map(|s| s.to_string()))
13009                    .unwrap_or_default()
13010            }),
13011            component_reference: v.component_reference.map(Into::into),
13012            configurable: v.configurable,
13013            id: v.id,
13014            parent_group_id: v.parent_group_id,
13015            position: v.position.map(Into::into),
13016            resource: v.resource,
13017            versioned_component_id: v.versioned_component_id,
13018        }
13019    }
13020}
13021
13022impl From<crate::v2_8_0::types::AccessPolicySummaryEntity>
13023    for super::types::AccessPolicySummaryEntity
13024{
13025    fn from(v: crate::v2_8_0::types::AccessPolicySummaryEntity) -> Self {
13026        Self {
13027            bulletins: v
13028                .bulletins
13029                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13030            component: v.component.map(Into::into),
13031            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
13032            id: v.id,
13033            permissions: v.permissions.map(Into::into),
13034            position: v.position.map(Into::into),
13035            revision: v.revision.map(Into::into),
13036            uri: v.uri,
13037        }
13038    }
13039}
13040
13041impl From<crate::v2_8_0::types::ActionDetailsDto> for super::types::ActionDetailsDto {
13042    fn from(_v: crate::v2_8_0::types::ActionDetailsDto) -> Self {
13043        Self {}
13044    }
13045}
13046
13047impl From<crate::v2_8_0::types::ActionDto> for super::types::ActionDto {
13048    fn from(v: crate::v2_8_0::types::ActionDto) -> Self {
13049        Self {
13050            action_details: v.action_details.map(Into::into),
13051            component_details: v.component_details.map(Into::into),
13052            id: v.id,
13053            operation: v.operation,
13054            source_id: v.source_id,
13055            source_name: v.source_name,
13056            source_type: v.source_type,
13057            timestamp: v.timestamp,
13058            user_identity: v.user_identity,
13059        }
13060    }
13061}
13062
13063impl From<crate::v2_8_0::types::ActionEntity> for super::types::ActionEntity {
13064    fn from(v: crate::v2_8_0::types::ActionEntity) -> Self {
13065        Self {
13066            action: v.action.map(Into::into),
13067            can_read: v.can_read,
13068            id: v.id,
13069            source_id: v.source_id,
13070            timestamp: v.timestamp,
13071        }
13072    }
13073}
13074
13075impl From<crate::v2_8_0::types::ActivateControllerServicesEntity>
13076    for super::types::ActivateControllerServicesEntity
13077{
13078    fn from(v: crate::v2_8_0::types::ActivateControllerServicesEntity) -> Self {
13079        Self {
13080            components: v
13081                .components
13082                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
13083            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
13084            id: v.id,
13085            state: v.state.map(|v| {
13086                serde_json::to_value(&v)
13087                    .ok()
13088                    .and_then(|v| v.as_str().map(|s| s.to_string()))
13089                    .unwrap_or_default()
13090            }),
13091        }
13092    }
13093}
13094
13095impl From<crate::v2_8_0::types::AdditionalDetailsEntity> for super::types::AdditionalDetailsEntity {
13096    fn from(v: crate::v2_8_0::types::AdditionalDetailsEntity) -> Self {
13097        Self {
13098            additional_details: v.additional_details,
13099        }
13100    }
13101}
13102
13103impl From<crate::v2_8_0::types::AffectedComponentDto> for super::types::AffectedComponentDto {
13104    fn from(v: crate::v2_8_0::types::AffectedComponentDto) -> Self {
13105        Self {
13106            active_thread_count: v.active_thread_count,
13107            id: v.id,
13108            name: v.name,
13109            process_group_id: v.process_group_id,
13110            reference_type: v.reference_type.map(|v| {
13111                serde_json::to_value(&v)
13112                    .ok()
13113                    .and_then(|v| v.as_str().map(|s| s.to_string()))
13114                    .unwrap_or_default()
13115            }),
13116            state: v.state,
13117            validation_errors: v.validation_errors,
13118        }
13119    }
13120}
13121
13122impl From<crate::v2_8_0::types::AffectedComponentEntity> for super::types::AffectedComponentEntity {
13123    fn from(v: crate::v2_8_0::types::AffectedComponentEntity) -> Self {
13124        Self {
13125            bulletins: v
13126                .bulletins
13127                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13128            component: v.component.map(Into::into),
13129            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
13130            id: v.id,
13131            permissions: v.permissions.map(Into::into),
13132            position: v.position.map(Into::into),
13133            process_group: v.process_group.map(Into::into),
13134            reference_type: v.reference_type.map(|v| {
13135                serde_json::to_value(&v)
13136                    .ok()
13137                    .and_then(|v| v.as_str().map(|s| s.to_string()))
13138                    .unwrap_or_default()
13139            }),
13140            revision: v.revision.map(Into::into),
13141            uri: v.uri,
13142        }
13143    }
13144}
13145
13146impl From<crate::v2_8_0::types::AllowableValueDto> for super::types::AllowableValueDto {
13147    fn from(v: crate::v2_8_0::types::AllowableValueDto) -> Self {
13148        Self {
13149            description: v.description,
13150            display_name: v.display_name,
13151            value: v.value,
13152        }
13153    }
13154}
13155
13156impl From<crate::v2_8_0::types::AllowableValueEntity> for super::types::AllowableValueEntity {
13157    fn from(v: crate::v2_8_0::types::AllowableValueEntity) -> Self {
13158        Self {
13159            allowable_value: v.allowable_value.map(Into::into),
13160            can_read: v.can_read,
13161        }
13162    }
13163}
13164
13165impl From<crate::v2_8_0::types::AssetDto> for super::types::AssetDto {
13166    fn from(v: crate::v2_8_0::types::AssetDto) -> Self {
13167        Self {
13168            digest: v.digest,
13169            id: v.id,
13170            missing_content: v.missing_content,
13171            name: v.name,
13172        }
13173    }
13174}
13175
13176impl From<crate::v2_8_0::types::AssetEntity> for super::types::AssetEntity {
13177    fn from(v: crate::v2_8_0::types::AssetEntity) -> Self {
13178        Self {
13179            asset: Some(v.asset.unwrap_or_default().into()),
13180        }
13181    }
13182}
13183
13184impl From<crate::v2_8_0::types::AssetReferenceDto> for super::types::AssetReferenceDto {
13185    fn from(v: crate::v2_8_0::types::AssetReferenceDto) -> Self {
13186        Self {
13187            id: v.id,
13188            name: v.name,
13189        }
13190    }
13191}
13192
13193impl From<crate::v2_8_0::types::AssetsEntity> for super::types::AssetsEntity {
13194    fn from(v: crate::v2_8_0::types::AssetsEntity) -> Self {
13195        Self {
13196            assets: v.assets.map(|v| v.into_iter().map(|v| v.into()).collect()),
13197        }
13198    }
13199}
13200
13201impl From<crate::v2_8_0::types::Attribute> for super::types::Attribute {
13202    fn from(v: crate::v2_8_0::types::Attribute) -> Self {
13203        Self {
13204            description: v.description,
13205            name: v.name,
13206        }
13207    }
13208}
13209
13210impl From<crate::v2_8_0::types::AttributeDto> for super::types::AttributeDto {
13211    fn from(v: crate::v2_8_0::types::AttributeDto) -> Self {
13212        Self {
13213            name: v.name,
13214            previous_value: v.previous_value,
13215            value: v.value,
13216        }
13217    }
13218}
13219
13220impl From<crate::v2_8_0::types::AuthenticationConfigurationDto>
13221    for super::types::AuthenticationConfigurationDto
13222{
13223    fn from(v: crate::v2_8_0::types::AuthenticationConfigurationDto) -> Self {
13224        Self {
13225            external_login_required: v.external_login_required,
13226            login_supported: v.login_supported,
13227            login_uri: v.login_uri,
13228            logout_uri: v.logout_uri,
13229        }
13230    }
13231}
13232
13233impl From<crate::v2_8_0::types::AuthenticationConfigurationEntity>
13234    for super::types::AuthenticationConfigurationEntity
13235{
13236    fn from(v: crate::v2_8_0::types::AuthenticationConfigurationEntity) -> Self {
13237        Self {
13238            authentication_configuration: Some(
13239                v.authentication_configuration.unwrap_or_default().into(),
13240            ),
13241        }
13242    }
13243}
13244
13245impl From<crate::v2_8_0::types::BannerDto> for super::types::BannerDto {
13246    fn from(v: crate::v2_8_0::types::BannerDto) -> Self {
13247        Self {
13248            footer_text: v.footer_text,
13249            header_text: v.header_text,
13250        }
13251    }
13252}
13253
13254impl From<crate::v2_8_0::types::BannerEntity> for super::types::BannerEntity {
13255    fn from(v: crate::v2_8_0::types::BannerEntity) -> Self {
13256        Self {
13257            banners: Some(v.banners.unwrap_or_default().into()),
13258        }
13259    }
13260}
13261
13262impl From<crate::v2_8_0::types::BatchSettingsDto> for super::types::BatchSettingsDto {
13263    fn from(v: crate::v2_8_0::types::BatchSettingsDto) -> Self {
13264        Self {
13265            count: v.count,
13266            duration: v.duration,
13267            size: v.size,
13268        }
13269    }
13270}
13271
13272impl From<crate::v2_8_0::types::BatchSize> for super::types::BatchSize {
13273    fn from(v: crate::v2_8_0::types::BatchSize) -> Self {
13274        Self {
13275            count: v.count,
13276            duration: v.duration,
13277            size: v.size,
13278        }
13279    }
13280}
13281
13282impl From<crate::v2_8_0::types::BuildInfo> for super::types::BuildInfo {
13283    fn from(v: crate::v2_8_0::types::BuildInfo) -> Self {
13284        Self {
13285            compiler: v.compiler,
13286            compiler_flags: v.compiler_flags,
13287            revision: v.revision,
13288            target_arch: v.target_arch,
13289            timestamp: v.timestamp,
13290            version: v.version,
13291        }
13292    }
13293}
13294
13295impl From<crate::v2_8_0::types::BulletinBoardDto> for super::types::BulletinBoardDto {
13296    fn from(v: crate::v2_8_0::types::BulletinBoardDto) -> Self {
13297        Self {
13298            bulletins: v
13299                .bulletins
13300                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13301            generated: v.generated,
13302        }
13303    }
13304}
13305
13306impl From<crate::v2_8_0::types::BulletinBoardEntity> for super::types::BulletinBoardEntity {
13307    fn from(v: crate::v2_8_0::types::BulletinBoardEntity) -> Self {
13308        Self {
13309            bulletin_board: Some(v.bulletin_board.unwrap_or_default().into()),
13310        }
13311    }
13312}
13313
13314impl From<crate::v2_8_0::types::BulletinBoardPatternParameter>
13315    for super::types::BulletinBoardPatternParameter
13316{
13317    fn from(v: crate::v2_8_0::types::BulletinBoardPatternParameter) -> Self {
13318        Self {
13319            pattern: v.pattern.map(Into::into),
13320            raw_pattern: v.raw_pattern,
13321        }
13322    }
13323}
13324
13325impl From<crate::v2_8_0::types::BulletinDto> for super::types::BulletinDto {
13326    fn from(v: crate::v2_8_0::types::BulletinDto) -> Self {
13327        Self {
13328            category: v.category,
13329            group_id: v.group_id,
13330            id: v.id,
13331            level: v.level,
13332            message: v.message,
13333            node_address: v.node_address,
13334            source_id: v.source_id,
13335            source_name: v.source_name,
13336            source_type: v.source_type,
13337            stack_trace: v.stack_trace,
13338            timestamp: v.timestamp,
13339            timestamp_iso: v.timestamp_iso,
13340        }
13341    }
13342}
13343
13344impl From<crate::v2_8_0::types::BulletinEntity> for super::types::BulletinEntity {
13345    fn from(v: crate::v2_8_0::types::BulletinEntity) -> Self {
13346        Self {
13347            bulletin: v.bulletin.map(Into::into),
13348            can_read: v.can_read,
13349            group_id: v.group_id,
13350            id: v.id,
13351            node_address: v.node_address,
13352            source_id: v.source_id,
13353            timestamp: v.timestamp,
13354            timestamp_iso: v.timestamp_iso,
13355        }
13356    }
13357}
13358
13359impl From<crate::v2_8_0::types::Bundle> for super::types::Bundle {
13360    fn from(v: crate::v2_8_0::types::Bundle) -> Self {
13361        Self {
13362            artifact: v.artifact,
13363            group: v.group,
13364            version: v.version,
13365        }
13366    }
13367}
13368
13369impl From<crate::v2_8_0::types::BundleDto> for super::types::BundleDto {
13370    fn from(v: crate::v2_8_0::types::BundleDto) -> Self {
13371        Self {
13372            artifact: v.artifact,
13373            group: v.group,
13374            version: v.version,
13375        }
13376    }
13377}
13378
13379impl From<crate::v2_8_0::types::ClearBulletinsForGroupRequestEntity>
13380    for super::types::ClearBulletinsForGroupRequestEntity
13381{
13382    fn from(v: crate::v2_8_0::types::ClearBulletinsForGroupRequestEntity) -> Self {
13383        Self {
13384            components: v.components,
13385            from_timestamp: Some(v.from_timestamp),
13386            id: v.id,
13387        }
13388    }
13389}
13390
13391impl From<crate::v2_8_0::types::ClearBulletinsForGroupResultsEntity>
13392    for super::types::ClearBulletinsForGroupResultsEntity
13393{
13394    fn from(v: crate::v2_8_0::types::ClearBulletinsForGroupResultsEntity) -> Self {
13395        Self {
13396            bulletins_cleared: v.bulletins_cleared,
13397        }
13398    }
13399}
13400
13401impl From<crate::v2_8_0::types::ClearBulletinsRequestEntity>
13402    for super::types::ClearBulletinsRequestEntity
13403{
13404    fn from(v: crate::v2_8_0::types::ClearBulletinsRequestEntity) -> Self {
13405        Self {
13406            from_timestamp: Some(v.from_timestamp),
13407        }
13408    }
13409}
13410
13411impl From<crate::v2_8_0::types::ClearBulletinsResultEntity>
13412    for super::types::ClearBulletinsResultEntity
13413{
13414    fn from(v: crate::v2_8_0::types::ClearBulletinsResultEntity) -> Self {
13415        Self {
13416            bulletins: v
13417                .bulletins
13418                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13419            bulletins_cleared: v.bulletins_cleared,
13420            component_id: v.component_id,
13421        }
13422    }
13423}
13424
13425impl From<crate::v2_8_0::types::ClientIdParameter> for super::types::ClientIdParameter {
13426    fn from(v: crate::v2_8_0::types::ClientIdParameter) -> Self {
13427        Self {
13428            client_id: v.client_id,
13429        }
13430    }
13431}
13432
13433impl From<crate::v2_8_0::types::ClusterDto> for super::types::ClusterDto {
13434    fn from(v: crate::v2_8_0::types::ClusterDto) -> Self {
13435        Self {
13436            generated: v.generated,
13437            nodes: v.nodes.map(|v| v.into_iter().map(|v| v.into()).collect()),
13438        }
13439    }
13440}
13441
13442impl From<crate::v2_8_0::types::ClusterEntity> for super::types::ClusterEntity {
13443    fn from(v: crate::v2_8_0::types::ClusterEntity) -> Self {
13444        Self {
13445            cluster: Some(v.cluster.unwrap_or_default().into()),
13446        }
13447    }
13448}
13449
13450impl From<crate::v2_8_0::types::ClusterSearchResultsEntity>
13451    for super::types::ClusterSearchResultsEntity
13452{
13453    fn from(v: crate::v2_8_0::types::ClusterSearchResultsEntity) -> Self {
13454        Self {
13455            node_results: v
13456                .node_results
13457                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13458        }
13459    }
13460}
13461
13462impl From<crate::v2_8_0::types::ClusterSummaryDto> for super::types::ClusterSummaryDto {
13463    fn from(v: crate::v2_8_0::types::ClusterSummaryDto) -> Self {
13464        Self {
13465            clustered: v.clustered,
13466            connected_node_count: v.connected_node_count,
13467            connected_nodes: v.connected_nodes,
13468            connected_to_cluster: v.connected_to_cluster,
13469            total_node_count: v.total_node_count,
13470        }
13471    }
13472}
13473
13474impl From<crate::v2_8_0::types::ClusterSummaryEntity> for super::types::ClusterSummaryEntity {
13475    fn from(v: crate::v2_8_0::types::ClusterSummaryEntity) -> Self {
13476        Self {
13477            cluster_summary: Some(v.cluster_summary.unwrap_or_default().into()),
13478        }
13479    }
13480}
13481
13482impl From<crate::v2_8_0::types::ComponentDetailsDto> for super::types::ComponentDetailsDto {
13483    fn from(_v: crate::v2_8_0::types::ComponentDetailsDto) -> Self {
13484        Self {}
13485    }
13486}
13487
13488impl From<crate::v2_8_0::types::ComponentDifferenceDto> for super::types::ComponentDifferenceDto {
13489    fn from(v: crate::v2_8_0::types::ComponentDifferenceDto) -> Self {
13490        Self {
13491            component_id: v.component_id,
13492            component_name: v.component_name,
13493            component_type: v.component_type,
13494            differences: v
13495                .differences
13496                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13497            process_group_id: v.process_group_id,
13498        }
13499    }
13500}
13501
13502impl From<crate::v2_8_0::types::ComponentHistoryDto> for super::types::ComponentHistoryDto {
13503    fn from(v: crate::v2_8_0::types::ComponentHistoryDto) -> Self {
13504        Self {
13505            component_id: v.component_id,
13506            property_history: v
13507                .property_history
13508                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
13509        }
13510    }
13511}
13512
13513impl From<crate::v2_8_0::types::ComponentHistoryEntity> for super::types::ComponentHistoryEntity {
13514    fn from(v: crate::v2_8_0::types::ComponentHistoryEntity) -> Self {
13515        Self {
13516            component_history: Some(v.component_history.unwrap_or_default().into()),
13517        }
13518    }
13519}
13520
13521impl From<crate::v2_8_0::types::ComponentManifest> for super::types::ComponentManifest {
13522    fn from(v: crate::v2_8_0::types::ComponentManifest) -> Self {
13523        Self {
13524            apis: v.apis.map(|v| v.into_iter().map(|v| v.into()).collect()),
13525            controller_services: v
13526                .controller_services
13527                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13528            flow_analysis_rules: v
13529                .flow_analysis_rules
13530                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13531            flow_registry_clients: v
13532                .flow_registry_clients
13533                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13534            parameter_providers: v
13535                .parameter_providers
13536                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13537            processors: v
13538                .processors
13539                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13540            reporting_tasks: v
13541                .reporting_tasks
13542                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13543        }
13544    }
13545}
13546
13547impl From<crate::v2_8_0::types::ComponentReferenceDto> for super::types::ComponentReferenceDto {
13548    fn from(v: crate::v2_8_0::types::ComponentReferenceDto) -> Self {
13549        Self {
13550            id: v.id,
13551            name: v.name,
13552            parent_group_id: v.parent_group_id,
13553            position: v.position.map(Into::into),
13554            versioned_component_id: v.versioned_component_id,
13555        }
13556    }
13557}
13558
13559impl From<crate::v2_8_0::types::ComponentReferenceEntity>
13560    for super::types::ComponentReferenceEntity
13561{
13562    fn from(v: crate::v2_8_0::types::ComponentReferenceEntity) -> Self {
13563        Self {
13564            bulletins: v
13565                .bulletins
13566                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13567            component: v.component.map(Into::into),
13568            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
13569            id: v.id,
13570            parent_group_id: v.parent_group_id,
13571            permissions: v.permissions.map(Into::into),
13572            position: v.position.map(Into::into),
13573            revision: v.revision.map(Into::into),
13574            uri: v.uri,
13575        }
13576    }
13577}
13578
13579impl From<crate::v2_8_0::types::ComponentRestrictionPermissionDto>
13580    for super::types::ComponentRestrictionPermissionDto
13581{
13582    fn from(v: crate::v2_8_0::types::ComponentRestrictionPermissionDto) -> Self {
13583        Self {
13584            permissions: v.permissions.map(Into::into),
13585            required_permission: v.required_permission.map(Into::into),
13586        }
13587    }
13588}
13589
13590impl From<crate::v2_8_0::types::ComponentSearchResultDto>
13591    for super::types::ComponentSearchResultDto
13592{
13593    fn from(v: crate::v2_8_0::types::ComponentSearchResultDto) -> Self {
13594        Self {
13595            group_id: v.group_id,
13596            id: v.id,
13597            matches: v.matches,
13598            name: v.name,
13599            parent_group: v.parent_group.map(Into::into),
13600            versioned_group: v.versioned_group.map(Into::into),
13601        }
13602    }
13603}
13604
13605impl From<crate::v2_8_0::types::ComponentStateDto> for super::types::ComponentStateDto {
13606    fn from(v: crate::v2_8_0::types::ComponentStateDto) -> Self {
13607        Self {
13608            cluster_state: v.cluster_state.map(Into::into),
13609            component_id: v.component_id,
13610            drop_state_key_supported: v.drop_state_key_supported,
13611            local_state: v.local_state.map(Into::into),
13612            state_description: v.state_description,
13613        }
13614    }
13615}
13616
13617impl From<crate::v2_8_0::types::ComponentStateEntity> for super::types::ComponentStateEntity {
13618    fn from(v: crate::v2_8_0::types::ComponentStateEntity) -> Self {
13619        Self {
13620            component_state: Some(v.component_state.unwrap_or_default().into()),
13621        }
13622    }
13623}
13624
13625impl From<crate::v2_8_0::types::ComponentValidationResultDto>
13626    for super::types::ComponentValidationResultDto
13627{
13628    fn from(v: crate::v2_8_0::types::ComponentValidationResultDto) -> Self {
13629        Self {
13630            active_thread_count: v.active_thread_count,
13631            currently_valid: v.currently_valid,
13632            id: v.id,
13633            name: v.name,
13634            process_group_id: v.process_group_id,
13635            reference_type: v.reference_type.map(|v| {
13636                serde_json::to_value(&v)
13637                    .ok()
13638                    .and_then(|v| v.as_str().map(|s| s.to_string()))
13639                    .unwrap_or_default()
13640            }),
13641            resultant_validation_errors: v.resultant_validation_errors,
13642            results_valid: v.results_valid,
13643            state: v.state,
13644            validation_errors: v.validation_errors,
13645        }
13646    }
13647}
13648
13649impl From<crate::v2_8_0::types::ComponentValidationResultEntity>
13650    for super::types::ComponentValidationResultEntity
13651{
13652    fn from(v: crate::v2_8_0::types::ComponentValidationResultEntity) -> Self {
13653        Self {
13654            bulletins: v
13655                .bulletins
13656                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13657            component: v.component.map(Into::into),
13658            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
13659            id: v.id,
13660            permissions: v.permissions.map(Into::into),
13661            position: v.position.map(Into::into),
13662            revision: v.revision.map(Into::into),
13663            uri: v.uri,
13664        }
13665    }
13666}
13667
13668impl From<crate::v2_8_0::types::ComponentValidationResultsEntity>
13669    for super::types::ComponentValidationResultsEntity
13670{
13671    fn from(v: crate::v2_8_0::types::ComponentValidationResultsEntity) -> Self {
13672        Self {
13673            validation_results: v
13674                .validation_results
13675                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13676        }
13677    }
13678}
13679
13680impl From<crate::v2_8_0::types::ConfigVerificationResultDto>
13681    for super::types::ConfigVerificationResultDto
13682{
13683    fn from(v: crate::v2_8_0::types::ConfigVerificationResultDto) -> Self {
13684        Self {
13685            explanation: v.explanation,
13686            outcome: v.outcome.map(|v| {
13687                serde_json::to_value(&v)
13688                    .ok()
13689                    .and_then(|v| v.as_str().map(|s| s.to_string()))
13690                    .unwrap_or_default()
13691            }),
13692            verification_step_name: v.verification_step_name,
13693        }
13694    }
13695}
13696
13697impl From<crate::v2_8_0::types::ConfigurationAnalysisDto>
13698    for super::types::ConfigurationAnalysisDto
13699{
13700    fn from(v: crate::v2_8_0::types::ConfigurationAnalysisDto) -> Self {
13701        Self {
13702            component_id: v.component_id,
13703            properties: v.properties,
13704            referenced_attributes: v.referenced_attributes,
13705            supports_verification: v.supports_verification,
13706        }
13707    }
13708}
13709
13710impl From<crate::v2_8_0::types::ConfigurationAnalysisEntity>
13711    for super::types::ConfigurationAnalysisEntity
13712{
13713    fn from(v: crate::v2_8_0::types::ConfigurationAnalysisEntity) -> Self {
13714        Self {
13715            configuration_analysis: Some(v.configuration_analysis.unwrap_or_default().into()),
13716        }
13717    }
13718}
13719
13720impl From<crate::v2_8_0::types::ConnectableComponent> for super::types::ConnectableComponent {
13721    fn from(v: crate::v2_8_0::types::ConnectableComponent) -> Self {
13722        Self {
13723            comments: v.comments,
13724            group_id: v.group_id,
13725            id: v.id,
13726            instance_identifier: v.instance_identifier,
13727            name: v.name,
13728            r#type: v.r#type.map(|v| {
13729                serde_json::to_value(&v)
13730                    .ok()
13731                    .and_then(|v| v.as_str().map(|s| s.to_string()))
13732                    .unwrap_or_default()
13733            }),
13734        }
13735    }
13736}
13737
13738impl From<crate::v2_8_0::types::ConnectableDto> for super::types::ConnectableDto {
13739    fn from(v: crate::v2_8_0::types::ConnectableDto) -> Self {
13740        Self {
13741            comments: v.comments,
13742            exists: v.exists,
13743            group_id: Some(v.group_id),
13744            id: Some(v.id),
13745            name: v.name,
13746            running: v.running,
13747            transmitting: v.transmitting,
13748            r#type: Some(
13749                serde_json::to_value(&v.r#type)
13750                    .ok()
13751                    .and_then(|v| v.as_str().map(|s| s.to_string()))
13752                    .unwrap_or_default(),
13753            ),
13754            versioned_component_id: v.versioned_component_id,
13755        }
13756    }
13757}
13758
13759impl From<crate::v2_8_0::types::ConnectionDto> for super::types::ConnectionDto {
13760    fn from(v: crate::v2_8_0::types::ConnectionDto) -> Self {
13761        Self {
13762            available_relationships: v.available_relationships,
13763            back_pressure_data_size_threshold: v.back_pressure_data_size_threshold,
13764            back_pressure_object_threshold: v.back_pressure_object_threshold,
13765            bends: v.bends.map(|v| v.into_iter().map(|v| v.into()).collect()),
13766            destination: v.destination.map(Into::into),
13767            flow_file_expiration: v.flow_file_expiration,
13768            getz_index: v.getz_index,
13769            id: v.id,
13770            label_index: v.label_index,
13771            load_balance_compression: v.load_balance_compression,
13772            load_balance_partition_attribute: v.load_balance_partition_attribute,
13773            load_balance_status: v.load_balance_status,
13774            load_balance_strategy: v.load_balance_strategy,
13775            name: v.name,
13776            parent_group_id: v.parent_group_id,
13777            position: v.position.map(Into::into),
13778            prioritizers: v.prioritizers,
13779            retried_relationships: v.retried_relationships,
13780            selected_relationships: v.selected_relationships,
13781            source: v.source.map(Into::into),
13782            versioned_component_id: v.versioned_component_id,
13783        }
13784    }
13785}
13786
13787impl From<crate::v2_8_0::types::ConnectionEntity> for super::types::ConnectionEntity {
13788    fn from(v: crate::v2_8_0::types::ConnectionEntity) -> Self {
13789        Self {
13790            bends: v.bends.map(|v| v.into_iter().map(|v| v.into()).collect()),
13791            bulletins: v
13792                .bulletins
13793                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13794            component: v.component.map(Into::into),
13795            destination_group_id: v.destination_group_id,
13796            destination_id: v.destination_id,
13797            destination_type: Some(
13798                serde_json::to_value(&v.destination_type)
13799                    .ok()
13800                    .and_then(|v| v.as_str().map(|s| s.to_string()))
13801                    .unwrap_or_default(),
13802            ),
13803            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
13804            getz_index: v.getz_index,
13805            id: v.id,
13806            label_index: v.label_index,
13807            permissions: v.permissions.map(Into::into),
13808            position: v.position.map(Into::into),
13809            revision: v.revision.map(Into::into),
13810            source_group_id: v.source_group_id,
13811            source_id: v.source_id,
13812            source_type: Some(
13813                serde_json::to_value(&v.source_type)
13814                    .ok()
13815                    .and_then(|v| v.as_str().map(|s| s.to_string()))
13816                    .unwrap_or_default(),
13817            ),
13818            status: v.status.map(Into::into),
13819            uri: v.uri,
13820        }
13821    }
13822}
13823
13824impl From<crate::v2_8_0::types::ConnectionStatisticsDto> for super::types::ConnectionStatisticsDto {
13825    fn from(v: crate::v2_8_0::types::ConnectionStatisticsDto) -> Self {
13826        Self {
13827            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
13828            id: v.id,
13829            node_snapshots: v
13830                .node_snapshots
13831                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13832            stats_last_refreshed: v.stats_last_refreshed,
13833        }
13834    }
13835}
13836
13837impl From<crate::v2_8_0::types::ConnectionStatisticsEntity>
13838    for super::types::ConnectionStatisticsEntity
13839{
13840    fn from(v: crate::v2_8_0::types::ConnectionStatisticsEntity) -> Self {
13841        Self {
13842            can_read: v.can_read,
13843            connection_statistics: v.connection_statistics.map(Into::into),
13844        }
13845    }
13846}
13847
13848impl From<crate::v2_8_0::types::ConnectionStatisticsSnapshotDto>
13849    for super::types::ConnectionStatisticsSnapshotDto
13850{
13851    fn from(v: crate::v2_8_0::types::ConnectionStatisticsSnapshotDto) -> Self {
13852        Self {
13853            id: v.id,
13854            predicted_bytes_at_next_interval: v.predicted_bytes_at_next_interval,
13855            predicted_count_at_next_interval: v.predicted_count_at_next_interval,
13856            predicted_millis_until_bytes_backpressure: v.predicted_millis_until_bytes_backpressure,
13857            predicted_millis_until_count_backpressure: v.predicted_millis_until_count_backpressure,
13858            predicted_percent_bytes: v.predicted_percent_bytes,
13859            predicted_percent_count: v.predicted_percent_count,
13860            prediction_interval_millis: v.prediction_interval_millis,
13861        }
13862    }
13863}
13864
13865impl From<crate::v2_8_0::types::ConnectionStatusDto> for super::types::ConnectionStatusDto {
13866    fn from(v: crate::v2_8_0::types::ConnectionStatusDto) -> Self {
13867        Self {
13868            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
13869            destination_id: v.destination_id,
13870            destination_name: v.destination_name,
13871            group_id: v.group_id,
13872            id: v.id,
13873            name: v.name,
13874            node_snapshots: v
13875                .node_snapshots
13876                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13877            source_id: v.source_id,
13878            source_name: v.source_name,
13879            stats_last_refreshed: v.stats_last_refreshed,
13880        }
13881    }
13882}
13883
13884impl From<crate::v2_8_0::types::ConnectionStatusEntity> for super::types::ConnectionStatusEntity {
13885    fn from(v: crate::v2_8_0::types::ConnectionStatusEntity) -> Self {
13886        Self {
13887            can_read: v.can_read,
13888            connection_status: v.connection_status.map(Into::into),
13889        }
13890    }
13891}
13892
13893impl From<crate::v2_8_0::types::ConnectionStatusPredictionsSnapshotDto>
13894    for super::types::ConnectionStatusPredictionsSnapshotDto
13895{
13896    fn from(v: crate::v2_8_0::types::ConnectionStatusPredictionsSnapshotDto) -> Self {
13897        Self {
13898            predicted_bytes_at_next_interval: v.predicted_bytes_at_next_interval,
13899            predicted_count_at_next_interval: v.predicted_count_at_next_interval,
13900            predicted_millis_until_bytes_backpressure: v.predicted_millis_until_bytes_backpressure,
13901            predicted_millis_until_count_backpressure: v.predicted_millis_until_count_backpressure,
13902            predicted_percent_bytes: v.predicted_percent_bytes,
13903            predicted_percent_count: v.predicted_percent_count,
13904            prediction_interval_seconds: v.prediction_interval_seconds,
13905        }
13906    }
13907}
13908
13909impl From<crate::v2_8_0::types::ConnectionStatusSnapshotDto>
13910    for super::types::ConnectionStatusSnapshotDto
13911{
13912    fn from(v: crate::v2_8_0::types::ConnectionStatusSnapshotDto) -> Self {
13913        Self {
13914            bytes_in: v.bytes_in,
13915            bytes_out: v.bytes_out,
13916            bytes_queued: v.bytes_queued,
13917            destination_id: v.destination_id,
13918            destination_name: v.destination_name,
13919            flow_file_availability: v.flow_file_availability,
13920            flow_files_in: v.flow_files_in,
13921            flow_files_out: v.flow_files_out,
13922            flow_files_queued: v.flow_files_queued,
13923            group_id: v.group_id,
13924            id: v.id,
13925            input: v.input,
13926            load_balance_status: v.load_balance_status.map(|v| {
13927                serde_json::to_value(&v)
13928                    .ok()
13929                    .and_then(|v| v.as_str().map(|s| s.to_string()))
13930                    .unwrap_or_default()
13931            }),
13932            name: v.name,
13933            output: v.output,
13934            percent_use_bytes: v.percent_use_bytes,
13935            percent_use_count: v.percent_use_count,
13936            predictions: v.predictions.map(Into::into),
13937            queued: v.queued,
13938            queued_count: v.queued_count,
13939            queued_size: v.queued_size,
13940            source_id: v.source_id,
13941            source_name: v.source_name,
13942        }
13943    }
13944}
13945
13946impl From<crate::v2_8_0::types::ConnectionStatusSnapshotEntity>
13947    for super::types::ConnectionStatusSnapshotEntity
13948{
13949    fn from(v: crate::v2_8_0::types::ConnectionStatusSnapshotEntity) -> Self {
13950        Self {
13951            can_read: v.can_read,
13952            connection_status_snapshot: v.connection_status_snapshot.map(Into::into),
13953            id: v.id,
13954        }
13955    }
13956}
13957
13958impl From<crate::v2_8_0::types::ConnectionsEntity> for super::types::ConnectionsEntity {
13959    fn from(v: crate::v2_8_0::types::ConnectionsEntity) -> Self {
13960        Self {
13961            connections: v
13962                .connections
13963                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13964        }
13965    }
13966}
13967
13968impl From<crate::v2_8_0::types::ContentViewerDto> for super::types::ContentViewerDto {
13969    fn from(v: crate::v2_8_0::types::ContentViewerDto) -> Self {
13970        Self {
13971            display_name: v.display_name,
13972            supported_mime_types: v
13973                .supported_mime_types
13974                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13975            uri: v.uri,
13976        }
13977    }
13978}
13979
13980impl From<crate::v2_8_0::types::ContentViewerEntity> for super::types::ContentViewerEntity {
13981    fn from(v: crate::v2_8_0::types::ContentViewerEntity) -> Self {
13982        Self {
13983            content_viewers: v
13984                .content_viewers
13985                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13986        }
13987    }
13988}
13989
13990impl From<crate::v2_8_0::types::ControllerBulletinsEntity>
13991    for super::types::ControllerBulletinsEntity
13992{
13993    fn from(v: crate::v2_8_0::types::ControllerBulletinsEntity) -> Self {
13994        Self {
13995            bulletins: v
13996                .bulletins
13997                .map(|v| v.into_iter().map(|v| v.into()).collect()),
13998            controller_service_bulletins: v
13999                .controller_service_bulletins
14000                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14001            flow_analysis_rule_bulletins: v
14002                .flow_analysis_rule_bulletins
14003                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14004            flow_registry_client_bulletins: v
14005                .flow_registry_client_bulletins
14006                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14007            parameter_provider_bulletins: v
14008                .parameter_provider_bulletins
14009                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14010            reporting_task_bulletins: v
14011                .reporting_task_bulletins
14012                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14013        }
14014    }
14015}
14016
14017impl From<crate::v2_8_0::types::ControllerConfigurationDto>
14018    for super::types::ControllerConfigurationDto
14019{
14020    fn from(v: crate::v2_8_0::types::ControllerConfigurationDto) -> Self {
14021        Self {
14022            max_timer_driven_thread_count: v.max_timer_driven_thread_count,
14023        }
14024    }
14025}
14026
14027impl From<crate::v2_8_0::types::ControllerConfigurationEntity>
14028    for super::types::ControllerConfigurationEntity
14029{
14030    fn from(v: crate::v2_8_0::types::ControllerConfigurationEntity) -> Self {
14031        Self {
14032            component: v.component.map(Into::into),
14033            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
14034            permissions: v.permissions.map(Into::into),
14035            revision: v.revision.map(Into::into),
14036        }
14037    }
14038}
14039
14040impl From<crate::v2_8_0::types::ControllerDto> for super::types::ControllerDto {
14041    fn from(v: crate::v2_8_0::types::ControllerDto) -> Self {
14042        Self {
14043            active_remote_port_count: v.active_remote_port_count,
14044            comments: v.comments,
14045            disabled_count: v.disabled_count,
14046            id: v.id,
14047            inactive_remote_port_count: v.inactive_remote_port_count,
14048            input_port_count: v.input_port_count,
14049            input_ports: v
14050                .input_ports
14051                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14052            instance_id: v.instance_id,
14053            invalid_count: v.invalid_count,
14054            name: v.name,
14055            output_port_count: v.output_port_count,
14056            output_ports: v
14057                .output_ports
14058                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14059            remote_site_http_listening_port: v.remote_site_http_listening_port,
14060            remote_site_listening_port: v.remote_site_listening_port,
14061            running_count: v.running_count,
14062            site_to_site_secure: v.site_to_site_secure,
14063            stopped_count: v.stopped_count,
14064        }
14065    }
14066}
14067
14068impl From<crate::v2_8_0::types::ControllerEntity> for super::types::ControllerEntity {
14069    fn from(v: crate::v2_8_0::types::ControllerEntity) -> Self {
14070        Self {
14071            controller: Some(v.controller.unwrap_or_default().into()),
14072        }
14073    }
14074}
14075
14076impl From<crate::v2_8_0::types::ControllerServiceAPI> for super::types::ControllerServiceAPI {
14077    fn from(v: crate::v2_8_0::types::ControllerServiceAPI) -> Self {
14078        Self {
14079            bundle: v.bundle.map(Into::into),
14080            r#type: v.r#type,
14081        }
14082    }
14083}
14084
14085impl From<crate::v2_8_0::types::ControllerServiceApiDto> for super::types::ControllerServiceApiDto {
14086    fn from(v: crate::v2_8_0::types::ControllerServiceApiDto) -> Self {
14087        Self {
14088            bundle: v.bundle.map(Into::into),
14089            r#type: v.r#type,
14090        }
14091    }
14092}
14093
14094impl From<crate::v2_8_0::types::ControllerServiceDefinition>
14095    for super::types::ControllerServiceDefinition
14096{
14097    fn from(v: crate::v2_8_0::types::ControllerServiceDefinition) -> Self {
14098        Self {
14099            additional_details: v.additional_details,
14100            artifact: v.artifact,
14101            build_info: v.build_info.map(Into::into),
14102            deprecated: v.deprecated,
14103            deprecation_alternatives: v.deprecation_alternatives,
14104            deprecation_reason: v.deprecation_reason,
14105            dynamic_properties: v
14106                .dynamic_properties
14107                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14108            explicit_restrictions: v
14109                .explicit_restrictions
14110                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14111            group: v.group,
14112            property_descriptors: v
14113                .property_descriptors
14114                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
14115            provided_api_implementations: v
14116                .provided_api_implementations
14117                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14118            restricted: v.restricted,
14119            restricted_explanation: v.restricted_explanation,
14120            see_also: v.see_also,
14121            stateful: v.stateful.map(Into::into),
14122            supports_dynamic_properties: v.supports_dynamic_properties,
14123            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
14124            system_resource_considerations: v
14125                .system_resource_considerations
14126                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14127            tags: v.tags,
14128            r#type: v.r#type,
14129            type_description: v.type_description,
14130            version: v.version,
14131        }
14132    }
14133}
14134
14135impl From<crate::v2_8_0::types::ControllerServiceDto> for super::types::ControllerServiceDto {
14136    fn from(v: crate::v2_8_0::types::ControllerServiceDto) -> Self {
14137        Self {
14138            annotation_data: v.annotation_data,
14139            bulletin_level: v.bulletin_level,
14140            bundle: v.bundle.map(Into::into),
14141            comments: v.comments,
14142            controller_service_apis: v
14143                .controller_service_apis
14144                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14145            custom_ui_url: v.custom_ui_url,
14146            deprecated: v.deprecated,
14147            descriptors: v
14148                .descriptors
14149                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
14150            extension_missing: v.extension_missing,
14151            id: v.id,
14152            multiple_versions_available: v.multiple_versions_available,
14153            name: v.name,
14154            parent_group_id: v.parent_group_id,
14155            persists_state: v.persists_state,
14156            position: v.position.map(Into::into),
14157            properties: v.properties,
14158            referencing_components: v
14159                .referencing_components
14160                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14161            restricted: v.restricted,
14162            sensitive_dynamic_property_names: v.sensitive_dynamic_property_names,
14163            state: v.state.map(|v| {
14164                serde_json::to_value(&v)
14165                    .ok()
14166                    .and_then(|v| v.as_str().map(|s| s.to_string()))
14167                    .unwrap_or_default()
14168            }),
14169            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
14170            r#type: v.r#type,
14171            validation_errors: v.validation_errors,
14172            validation_status: v.validation_status.map(|v| {
14173                serde_json::to_value(&v)
14174                    .ok()
14175                    .and_then(|v| v.as_str().map(|s| s.to_string()))
14176                    .unwrap_or_default()
14177            }),
14178            versioned_component_id: v.versioned_component_id,
14179        }
14180    }
14181}
14182
14183impl From<crate::v2_8_0::types::ControllerServiceEntity> for super::types::ControllerServiceEntity {
14184    fn from(v: crate::v2_8_0::types::ControllerServiceEntity) -> Self {
14185        Self {
14186            bulletins: v
14187                .bulletins
14188                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14189            component: v.component.map(Into::into),
14190            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
14191            id: v.id,
14192            operate_permissions: v.operate_permissions.map(Into::into),
14193            parent_group_id: v.parent_group_id,
14194            permissions: v.permissions.map(Into::into),
14195            position: v.position.map(Into::into),
14196            revision: v.revision.map(Into::into),
14197            status: v.status.map(Into::into),
14198            uri: v.uri,
14199        }
14200    }
14201}
14202
14203impl From<crate::v2_8_0::types::ControllerServiceReferencingComponentDto>
14204    for super::types::ControllerServiceReferencingComponentDto
14205{
14206    fn from(v: crate::v2_8_0::types::ControllerServiceReferencingComponentDto) -> Self {
14207        Self {
14208            active_thread_count: v.active_thread_count,
14209            descriptors: v
14210                .descriptors
14211                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
14212            group_id: v.group_id,
14213            id: v.id,
14214            name: v.name,
14215            properties: v.properties,
14216            reference_cycle: v.reference_cycle,
14217            reference_type: v.reference_type.map(|v| {
14218                serde_json::to_value(&v)
14219                    .ok()
14220                    .and_then(|v| v.as_str().map(|s| s.to_string()))
14221                    .unwrap_or_default()
14222            }),
14223            referencing_components: v
14224                .referencing_components
14225                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14226            state: v.state,
14227            r#type: v.r#type,
14228            validation_errors: v.validation_errors,
14229        }
14230    }
14231}
14232
14233impl From<crate::v2_8_0::types::ControllerServiceReferencingComponentEntity>
14234    for super::types::ControllerServiceReferencingComponentEntity
14235{
14236    fn from(v: crate::v2_8_0::types::ControllerServiceReferencingComponentEntity) -> Self {
14237        Self {
14238            bulletins: v
14239                .bulletins
14240                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14241            component: v.component.map(Into::into),
14242            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
14243            id: v.id,
14244            operate_permissions: v.operate_permissions.map(Into::into),
14245            permissions: v.permissions.map(Into::into),
14246            position: v.position.map(Into::into),
14247            revision: v.revision.map(Into::into),
14248            uri: v.uri,
14249        }
14250    }
14251}
14252
14253impl From<crate::v2_8_0::types::ControllerServiceReferencingComponentsEntity>
14254    for super::types::ControllerServiceReferencingComponentsEntity
14255{
14256    fn from(v: crate::v2_8_0::types::ControllerServiceReferencingComponentsEntity) -> Self {
14257        Self {
14258            controller_service_referencing_components: v
14259                .controller_service_referencing_components
14260                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14261        }
14262    }
14263}
14264
14265impl From<crate::v2_8_0::types::ControllerServiceRunStatusEntity>
14266    for super::types::ControllerServiceRunStatusEntity
14267{
14268    fn from(v: crate::v2_8_0::types::ControllerServiceRunStatusEntity) -> Self {
14269        Self {
14270            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
14271            revision: v.revision.map(Into::into),
14272            state: v.state.map(|v| {
14273                serde_json::to_value(&v)
14274                    .ok()
14275                    .and_then(|v| v.as_str().map(|s| s.to_string()))
14276                    .unwrap_or_default()
14277            }),
14278            ui_only: v.ui_only,
14279        }
14280    }
14281}
14282
14283impl From<crate::v2_8_0::types::ControllerServiceStatusDto>
14284    for super::types::ControllerServiceStatusDto
14285{
14286    fn from(v: crate::v2_8_0::types::ControllerServiceStatusDto) -> Self {
14287        Self {
14288            active_thread_count: v.active_thread_count,
14289            run_status: v.run_status.map(|v| {
14290                serde_json::to_value(&v)
14291                    .ok()
14292                    .and_then(|v| v.as_str().map(|s| s.to_string()))
14293                    .unwrap_or_default()
14294            }),
14295            validation_status: v.validation_status.map(|v| {
14296                serde_json::to_value(&v)
14297                    .ok()
14298                    .and_then(|v| v.as_str().map(|s| s.to_string()))
14299                    .unwrap_or_default()
14300            }),
14301        }
14302    }
14303}
14304
14305impl From<crate::v2_8_0::types::ControllerServiceTypesEntity>
14306    for super::types::ControllerServiceTypesEntity
14307{
14308    fn from(v: crate::v2_8_0::types::ControllerServiceTypesEntity) -> Self {
14309        Self {
14310            controller_service_types: v
14311                .controller_service_types
14312                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14313        }
14314    }
14315}
14316
14317impl From<crate::v2_8_0::types::ControllerServicesEntity>
14318    for super::types::ControllerServicesEntity
14319{
14320    fn from(v: crate::v2_8_0::types::ControllerServicesEntity) -> Self {
14321        Self {
14322            controller_services: v
14323                .controller_services
14324                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14325            current_time: v.current_time,
14326        }
14327    }
14328}
14329
14330impl From<crate::v2_8_0::types::ControllerStatusDto> for super::types::ControllerStatusDto {
14331    fn from(v: crate::v2_8_0::types::ControllerStatusDto) -> Self {
14332        Self {
14333            active_remote_port_count: v.active_remote_port_count,
14334            active_thread_count: v.active_thread_count,
14335            bytes_queued: v.bytes_queued,
14336            disabled_count: v.disabled_count,
14337            flow_files_queued: v.flow_files_queued,
14338            inactive_remote_port_count: v.inactive_remote_port_count,
14339            invalid_count: v.invalid_count,
14340            locally_modified_and_stale_count: v.locally_modified_and_stale_count,
14341            locally_modified_count: v.locally_modified_count,
14342            queued: v.queued,
14343            running_count: v.running_count,
14344            stale_count: v.stale_count,
14345            stopped_count: v.stopped_count,
14346            sync_failure_count: v.sync_failure_count,
14347            terminated_thread_count: v.terminated_thread_count,
14348            up_to_date_count: v.up_to_date_count,
14349        }
14350    }
14351}
14352
14353impl From<crate::v2_8_0::types::ControllerStatusEntity> for super::types::ControllerStatusEntity {
14354    fn from(v: crate::v2_8_0::types::ControllerStatusEntity) -> Self {
14355        Self {
14356            controller_status: Some(v.controller_status.unwrap_or_default().into()),
14357        }
14358    }
14359}
14360
14361impl From<crate::v2_8_0::types::CopyRequestEntity> for super::types::CopyRequestEntity {
14362    fn from(v: crate::v2_8_0::types::CopyRequestEntity) -> Self {
14363        Self {
14364            connections: v.connections,
14365            funnels: v.funnels,
14366            input_ports: v.input_ports,
14367            labels: v.labels,
14368            output_ports: v.output_ports,
14369            process_groups: v.process_groups,
14370            processors: v.processors,
14371            remote_process_groups: v.remote_process_groups,
14372        }
14373    }
14374}
14375
14376impl From<crate::v2_8_0::types::CopyResponseEntity> for super::types::CopyResponseEntity {
14377    fn from(v: crate::v2_8_0::types::CopyResponseEntity) -> Self {
14378        Self {
14379            connections: v
14380                .connections
14381                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14382            external_controller_service_references: v
14383                .external_controller_service_references
14384                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
14385            funnels: v.funnels.map(|v| v.into_iter().map(|v| v.into()).collect()),
14386            id: v.id,
14387            input_ports: v
14388                .input_ports
14389                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14390            labels: v.labels.map(|v| v.into_iter().map(|v| v.into()).collect()),
14391            output_ports: v
14392                .output_ports
14393                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14394            parameter_contexts: v
14395                .parameter_contexts
14396                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
14397            parameter_providers: v
14398                .parameter_providers
14399                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
14400            process_groups: v
14401                .process_groups
14402                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14403            processors: v
14404                .processors
14405                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14406            remote_process_groups: v
14407                .remote_process_groups
14408                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14409        }
14410    }
14411}
14412
14413impl From<crate::v2_8_0::types::CopySnippetRequestEntity>
14414    for super::types::CopySnippetRequestEntity
14415{
14416    fn from(v: crate::v2_8_0::types::CopySnippetRequestEntity) -> Self {
14417        Self {
14418            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
14419            origin_x: v.origin_x,
14420            origin_y: v.origin_y,
14421            snippet_id: v.snippet_id,
14422        }
14423    }
14424}
14425
14426impl From<crate::v2_8_0::types::CounterDto> for super::types::CounterDto {
14427    fn from(v: crate::v2_8_0::types::CounterDto) -> Self {
14428        Self {
14429            context: v.context,
14430            id: v.id,
14431            name: v.name,
14432            value: v.value,
14433            value_count: v.value_count,
14434        }
14435    }
14436}
14437
14438impl From<crate::v2_8_0::types::CounterEntity> for super::types::CounterEntity {
14439    fn from(v: crate::v2_8_0::types::CounterEntity) -> Self {
14440        Self {
14441            counter: Some(v.counter.unwrap_or_default().into()),
14442        }
14443    }
14444}
14445
14446impl From<crate::v2_8_0::types::CountersDto> for super::types::CountersDto {
14447    fn from(v: crate::v2_8_0::types::CountersDto) -> Self {
14448        Self {
14449            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
14450            node_snapshots: v
14451                .node_snapshots
14452                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14453        }
14454    }
14455}
14456
14457impl From<crate::v2_8_0::types::CountersEntity> for super::types::CountersEntity {
14458    fn from(v: crate::v2_8_0::types::CountersEntity) -> Self {
14459        Self {
14460            counters: Some(v.counters.unwrap_or_default().into()),
14461        }
14462    }
14463}
14464
14465impl From<crate::v2_8_0::types::CountersSnapshotDto> for super::types::CountersSnapshotDto {
14466    fn from(v: crate::v2_8_0::types::CountersSnapshotDto) -> Self {
14467        Self {
14468            counters: v
14469                .counters
14470                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14471            generated: v.generated,
14472        }
14473    }
14474}
14475
14476impl From<crate::v2_8_0::types::CreateActiveRequestEntity>
14477    for super::types::CreateActiveRequestEntity
14478{
14479    fn from(v: crate::v2_8_0::types::CreateActiveRequestEntity) -> Self {
14480        Self {
14481            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
14482            process_group_id: v.process_group_id,
14483        }
14484    }
14485}
14486
14487impl From<crate::v2_8_0::types::CurrentUserEntity> for super::types::CurrentUserEntity {
14488    fn from(v: crate::v2_8_0::types::CurrentUserEntity) -> Self {
14489        Self {
14490            anonymous: v.anonymous,
14491            can_version_flows: v.can_version_flows,
14492            component_restriction_permissions: v
14493                .component_restriction_permissions
14494                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14495            controller_permissions: v.controller_permissions.map(Into::into),
14496            counters_permissions: v.counters_permissions.map(Into::into),
14497            identity: v.identity,
14498            logout_supported: v.logout_supported,
14499            parameter_context_permissions: v.parameter_context_permissions.map(Into::into),
14500            policies_permissions: v.policies_permissions.map(Into::into),
14501            provenance_permissions: v.provenance_permissions.map(Into::into),
14502            restricted_components_permissions: v.restricted_components_permissions.map(Into::into),
14503            system_permissions: v.system_permissions.map(Into::into),
14504            tenants_permissions: v.tenants_permissions.map(Into::into),
14505        }
14506    }
14507}
14508
14509impl From<crate::v2_8_0::types::DateTimeParameter> for super::types::DateTimeParameter {
14510    fn from(v: crate::v2_8_0::types::DateTimeParameter) -> Self {
14511        Self {
14512            date_time: v.date_time,
14513        }
14514    }
14515}
14516
14517impl From<crate::v2_8_0::types::DefinedType> for super::types::DefinedType {
14518    fn from(v: crate::v2_8_0::types::DefinedType) -> Self {
14519        Self {
14520            artifact: v.artifact,
14521            group: v.group,
14522            r#type: v.r#type,
14523            type_description: v.type_description,
14524            version: v.version,
14525        }
14526    }
14527}
14528
14529impl From<crate::v2_8_0::types::DiagnosticLevel> for super::types::DiagnosticLevel {
14530    fn from(v: crate::v2_8_0::types::DiagnosticLevel) -> Self {
14531        let s = serde_json::to_string(&v).expect("serialize enum");
14532        serde_json::from_str(&s).expect("deserialize enum")
14533    }
14534}
14535
14536impl From<crate::v2_8_0::types::DifferenceDto> for super::types::DifferenceDto {
14537    fn from(v: crate::v2_8_0::types::DifferenceDto) -> Self {
14538        Self {
14539            difference: v.difference,
14540            difference_type: v.difference_type,
14541        }
14542    }
14543}
14544
14545impl From<crate::v2_8_0::types::DimensionsDto> for super::types::DimensionsDto {
14546    fn from(v: crate::v2_8_0::types::DimensionsDto) -> Self {
14547        Self {
14548            height: v.height,
14549            width: v.width,
14550        }
14551    }
14552}
14553
14554impl From<crate::v2_8_0::types::DocumentedTypeDto> for super::types::DocumentedTypeDto {
14555    fn from(v: crate::v2_8_0::types::DocumentedTypeDto) -> Self {
14556        Self {
14557            bundle: v.bundle.map(Into::into),
14558            controller_service_apis: v
14559                .controller_service_apis
14560                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14561            deprecation_reason: v.deprecation_reason,
14562            description: v.description,
14563            explicit_restrictions: v
14564                .explicit_restrictions
14565                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14566            restricted: v.restricted,
14567            tags: v.tags,
14568            r#type: v.r#type,
14569            usage_restriction: v.usage_restriction,
14570        }
14571    }
14572}
14573
14574impl From<crate::v2_8_0::types::DropRequestDto> for super::types::DropRequestDto {
14575    fn from(v: crate::v2_8_0::types::DropRequestDto) -> Self {
14576        Self {
14577            current: v.current,
14578            current_count: v.current_count,
14579            current_size: v.current_size,
14580            dropped: v.dropped,
14581            dropped_count: v.dropped_count,
14582            dropped_size: v.dropped_size,
14583            failure_reason: v.failure_reason,
14584            finished: v.finished,
14585            id: v.id,
14586            last_updated: v.last_updated,
14587            original: v.original,
14588            original_count: v.original_count,
14589            original_size: v.original_size,
14590            percent_completed: v.percent_completed,
14591            state: v.state,
14592            submission_time: v.submission_time,
14593            uri: v.uri,
14594        }
14595    }
14596}
14597
14598impl From<crate::v2_8_0::types::DropRequestEntity> for super::types::DropRequestEntity {
14599    fn from(v: crate::v2_8_0::types::DropRequestEntity) -> Self {
14600        Self {
14601            drop_request: Some(v.drop_request.unwrap_or_default().into()),
14602        }
14603    }
14604}
14605
14606impl From<crate::v2_8_0::types::DynamicProperty> for super::types::DynamicProperty {
14607    fn from(v: crate::v2_8_0::types::DynamicProperty) -> Self {
14608        Self {
14609            description: v.description,
14610            expression_language_scope: v.expression_language_scope.map(|v| {
14611                serde_json::to_value(&v)
14612                    .ok()
14613                    .and_then(|v| v.as_str().map(|s| s.to_string()))
14614                    .unwrap_or_default()
14615            }),
14616            name: v.name,
14617            value: v.value,
14618        }
14619    }
14620}
14621
14622impl From<crate::v2_8_0::types::DynamicRelationship> for super::types::DynamicRelationship {
14623    fn from(v: crate::v2_8_0::types::DynamicRelationship) -> Self {
14624        Self {
14625            description: v.description,
14626            name: v.name,
14627        }
14628    }
14629}
14630
14631impl From<crate::v2_8_0::types::ExplicitRestrictionDto> for super::types::ExplicitRestrictionDto {
14632    fn from(v: crate::v2_8_0::types::ExplicitRestrictionDto) -> Self {
14633        Self {
14634            explanation: v.explanation,
14635            required_permission: v.required_permission.map(Into::into),
14636        }
14637    }
14638}
14639
14640impl From<crate::v2_8_0::types::ExternalControllerServiceReference>
14641    for super::types::ExternalControllerServiceReference
14642{
14643    fn from(v: crate::v2_8_0::types::ExternalControllerServiceReference) -> Self {
14644        Self {
14645            identifier: v.identifier,
14646            name: v.name,
14647        }
14648    }
14649}
14650
14651impl From<crate::v2_8_0::types::FlowAnalysisResultEntity>
14652    for super::types::FlowAnalysisResultEntity
14653{
14654    fn from(v: crate::v2_8_0::types::FlowAnalysisResultEntity) -> Self {
14655        Self {
14656            flow_analysis_pending: v.flow_analysis_pending,
14657            rule_violations: v
14658                .rule_violations
14659                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14660            rules: v.rules.map(|v| v.into_iter().map(|v| v.into()).collect()),
14661        }
14662    }
14663}
14664
14665impl From<crate::v2_8_0::types::FlowAnalysisRuleDefinition>
14666    for super::types::FlowAnalysisRuleDefinition
14667{
14668    fn from(v: crate::v2_8_0::types::FlowAnalysisRuleDefinition) -> Self {
14669        Self {
14670            additional_details: v.additional_details,
14671            artifact: v.artifact,
14672            build_info: v.build_info.map(Into::into),
14673            deprecated: v.deprecated,
14674            deprecation_alternatives: v.deprecation_alternatives,
14675            deprecation_reason: v.deprecation_reason,
14676            dynamic_properties: v
14677                .dynamic_properties
14678                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14679            explicit_restrictions: v
14680                .explicit_restrictions
14681                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14682            group: v.group,
14683            property_descriptors: v
14684                .property_descriptors
14685                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
14686            provided_api_implementations: v
14687                .provided_api_implementations
14688                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14689            restricted: v.restricted,
14690            restricted_explanation: v.restricted_explanation,
14691            see_also: v.see_also,
14692            stateful: v.stateful.map(Into::into),
14693            supports_dynamic_properties: v.supports_dynamic_properties,
14694            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
14695            system_resource_considerations: v
14696                .system_resource_considerations
14697                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14698            tags: v.tags,
14699            r#type: v.r#type,
14700            type_description: v.type_description,
14701            version: v.version,
14702        }
14703    }
14704}
14705
14706impl From<crate::v2_8_0::types::FlowAnalysisRuleDto> for super::types::FlowAnalysisRuleDto {
14707    fn from(v: crate::v2_8_0::types::FlowAnalysisRuleDto) -> Self {
14708        Self {
14709            bundle: v.bundle.map(Into::into),
14710            comments: v.comments,
14711            deprecated: v.deprecated,
14712            descriptors: v
14713                .descriptors
14714                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
14715            enforcement_policy: v.enforcement_policy,
14716            extension_missing: v.extension_missing,
14717            id: v.id,
14718            multiple_versions_available: v.multiple_versions_available,
14719            name: v.name,
14720            parent_group_id: v.parent_group_id,
14721            persists_state: v.persists_state,
14722            position: v.position.map(Into::into),
14723            properties: v.properties,
14724            restricted: v.restricted,
14725            sensitive_dynamic_property_names: v.sensitive_dynamic_property_names,
14726            state: v.state.map(|v| {
14727                serde_json::to_value(&v)
14728                    .ok()
14729                    .and_then(|v| v.as_str().map(|s| s.to_string()))
14730                    .unwrap_or_default()
14731            }),
14732            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
14733            r#type: v.r#type,
14734            validation_errors: v.validation_errors,
14735            validation_status: v.validation_status.map(|v| {
14736                serde_json::to_value(&v)
14737                    .ok()
14738                    .and_then(|v| v.as_str().map(|s| s.to_string()))
14739                    .unwrap_or_default()
14740            }),
14741            versioned_component_id: v.versioned_component_id,
14742        }
14743    }
14744}
14745
14746impl From<crate::v2_8_0::types::FlowAnalysisRuleEntity> for super::types::FlowAnalysisRuleEntity {
14747    fn from(v: crate::v2_8_0::types::FlowAnalysisRuleEntity) -> Self {
14748        Self {
14749            bulletins: v
14750                .bulletins
14751                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14752            component: v.component.map(Into::into),
14753            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
14754            id: v.id,
14755            operate_permissions: v.operate_permissions.map(Into::into),
14756            permissions: v.permissions.map(Into::into),
14757            position: v.position.map(Into::into),
14758            revision: v.revision.map(Into::into),
14759            status: v.status.map(Into::into),
14760            uri: v.uri,
14761        }
14762    }
14763}
14764
14765impl From<crate::v2_8_0::types::FlowAnalysisRuleRunStatusEntity>
14766    for super::types::FlowAnalysisRuleRunStatusEntity
14767{
14768    fn from(v: crate::v2_8_0::types::FlowAnalysisRuleRunStatusEntity) -> Self {
14769        Self {
14770            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
14771            revision: v.revision.map(Into::into),
14772            state: v.state.map(|v| {
14773                serde_json::to_value(&v)
14774                    .ok()
14775                    .and_then(|v| v.as_str().map(|s| s.to_string()))
14776                    .unwrap_or_default()
14777            }),
14778        }
14779    }
14780}
14781
14782impl From<crate::v2_8_0::types::FlowAnalysisRuleStatusDto>
14783    for super::types::FlowAnalysisRuleStatusDto
14784{
14785    fn from(v: crate::v2_8_0::types::FlowAnalysisRuleStatusDto) -> Self {
14786        Self {
14787            active_thread_count: v.active_thread_count,
14788            run_status: v.run_status.map(|v| {
14789                serde_json::to_value(&v)
14790                    .ok()
14791                    .and_then(|v| v.as_str().map(|s| s.to_string()))
14792                    .unwrap_or_default()
14793            }),
14794            validation_status: v.validation_status.map(|v| {
14795                serde_json::to_value(&v)
14796                    .ok()
14797                    .and_then(|v| v.as_str().map(|s| s.to_string()))
14798                    .unwrap_or_default()
14799            }),
14800        }
14801    }
14802}
14803
14804impl From<crate::v2_8_0::types::FlowAnalysisRuleTypesEntity>
14805    for super::types::FlowAnalysisRuleTypesEntity
14806{
14807    fn from(v: crate::v2_8_0::types::FlowAnalysisRuleTypesEntity) -> Self {
14808        Self {
14809            flow_analysis_rule_types: v
14810                .flow_analysis_rule_types
14811                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14812        }
14813    }
14814}
14815
14816impl From<crate::v2_8_0::types::FlowAnalysisRuleViolationDto>
14817    for super::types::FlowAnalysisRuleViolationDto
14818{
14819    fn from(v: crate::v2_8_0::types::FlowAnalysisRuleViolationDto) -> Self {
14820        Self {
14821            enabled: v.enabled,
14822            enforcement_policy: v.enforcement_policy,
14823            group_id: v.group_id,
14824            issue_id: v.issue_id,
14825            rule_id: v.rule_id,
14826            scope: v.scope,
14827            subject_component_type: v.subject_component_type,
14828            subject_display_name: v.subject_display_name,
14829            subject_id: v.subject_id,
14830            subject_permission_dto: v.subject_permission_dto.map(Into::into),
14831            violation_message: v.violation_message,
14832        }
14833    }
14834}
14835
14836impl From<crate::v2_8_0::types::FlowAnalysisRulesEntity> for super::types::FlowAnalysisRulesEntity {
14837    fn from(v: crate::v2_8_0::types::FlowAnalysisRulesEntity) -> Self {
14838        Self {
14839            current_time: v.current_time,
14840            flow_analysis_rules: v
14841                .flow_analysis_rules
14842                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14843        }
14844    }
14845}
14846
14847impl From<crate::v2_8_0::types::FlowBreadcrumbDto> for super::types::FlowBreadcrumbDto {
14848    fn from(v: crate::v2_8_0::types::FlowBreadcrumbDto) -> Self {
14849        Self {
14850            id: v.id,
14851            name: v.name,
14852            version_control_information: v.version_control_information.map(Into::into),
14853        }
14854    }
14855}
14856
14857impl From<crate::v2_8_0::types::FlowBreadcrumbEntity> for super::types::FlowBreadcrumbEntity {
14858    fn from(v: crate::v2_8_0::types::FlowBreadcrumbEntity) -> Self {
14859        Self {
14860            breadcrumb: v.breadcrumb.map(Into::into),
14861            id: v.id,
14862            parent_breadcrumb: v.parent_breadcrumb.map(|v| Box::new((*v).into())),
14863            permissions: v.permissions.map(Into::into),
14864            versioned_flow_state: v.versioned_flow_state.map(|v| {
14865                serde_json::to_value(&v)
14866                    .ok()
14867                    .and_then(|v| v.as_str().map(|s| s.to_string()))
14868                    .unwrap_or_default()
14869            }),
14870        }
14871    }
14872}
14873
14874impl From<crate::v2_8_0::types::FlowComparisonEntity> for super::types::FlowComparisonEntity {
14875    fn from(v: crate::v2_8_0::types::FlowComparisonEntity) -> Self {
14876        Self {
14877            component_differences: v
14878                .component_differences
14879                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14880        }
14881    }
14882}
14883
14884impl From<crate::v2_8_0::types::FlowConfigurationDto> for super::types::FlowConfigurationDto {
14885    fn from(v: crate::v2_8_0::types::FlowConfigurationDto) -> Self {
14886        Self {
14887            current_time: v.current_time,
14888            default_back_pressure_data_size_threshold: v.default_back_pressure_data_size_threshold,
14889            default_back_pressure_object_threshold: v.default_back_pressure_object_threshold,
14890            supports_configurable_authorizer: v.supports_configurable_authorizer,
14891            supports_configurable_users_and_groups: v.supports_configurable_users_and_groups,
14892            supports_managed_authorizer: v.supports_managed_authorizer,
14893            time_offset: v.time_offset,
14894        }
14895    }
14896}
14897
14898impl From<crate::v2_8_0::types::FlowConfigurationEntity> for super::types::FlowConfigurationEntity {
14899    fn from(v: crate::v2_8_0::types::FlowConfigurationEntity) -> Self {
14900        Self {
14901            flow_configuration: Some(v.flow_configuration.unwrap_or_default().into()),
14902        }
14903    }
14904}
14905
14906impl From<crate::v2_8_0::types::FlowDto> for super::types::FlowDto {
14907    fn from(v: crate::v2_8_0::types::FlowDto) -> Self {
14908        Self {
14909            connections: v
14910                .connections
14911                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14912            funnels: v.funnels.map(|v| v.into_iter().map(|v| v.into()).collect()),
14913            input_ports: v
14914                .input_ports
14915                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14916            labels: v.labels.map(|v| v.into_iter().map(|v| v.into()).collect()),
14917            output_ports: v
14918                .output_ports
14919                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14920            process_groups: v
14921                .process_groups
14922                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14923            processors: v
14924                .processors
14925                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14926            remote_process_groups: v
14927                .remote_process_groups
14928                .map(|v| v.into_iter().map(|v| v.into()).collect()),
14929        }
14930    }
14931}
14932
14933impl From<crate::v2_8_0::types::FlowEntity> for super::types::FlowEntity {
14934    fn from(v: crate::v2_8_0::types::FlowEntity) -> Self {
14935        Self {
14936            flow: Some(v.flow.unwrap_or_default().into()),
14937        }
14938    }
14939}
14940
14941impl From<crate::v2_8_0::types::FlowFileDto> for super::types::FlowFileDto {
14942    fn from(v: crate::v2_8_0::types::FlowFileDto) -> Self {
14943        Self {
14944            attributes: v.attributes,
14945            cluster_node_address: v.cluster_node_address,
14946            cluster_node_id: v.cluster_node_id,
14947            content_claim_container: v.content_claim_container,
14948            content_claim_file_size: v.content_claim_file_size,
14949            content_claim_file_size_bytes: v.content_claim_file_size_bytes,
14950            content_claim_identifier: v.content_claim_identifier,
14951            content_claim_offset: v.content_claim_offset,
14952            content_claim_section: v.content_claim_section,
14953            filename: v.filename,
14954            lineage_duration: v.lineage_duration,
14955            mime_type: v.mime_type,
14956            penalized: v.penalized,
14957            penalty_expires_in: v.penalty_expires_in,
14958            position: v.position,
14959            queued_duration: v.queued_duration,
14960            size: v.size,
14961            uri: v.uri,
14962            uuid: v.uuid,
14963        }
14964    }
14965}
14966
14967impl From<crate::v2_8_0::types::FlowFileEntity> for super::types::FlowFileEntity {
14968    fn from(v: crate::v2_8_0::types::FlowFileEntity) -> Self {
14969        Self {
14970            flow_file: Some(v.flow_file.unwrap_or_default().into()),
14971        }
14972    }
14973}
14974
14975impl From<crate::v2_8_0::types::FlowFileSummaryDto> for super::types::FlowFileSummaryDto {
14976    fn from(v: crate::v2_8_0::types::FlowFileSummaryDto) -> Self {
14977        Self {
14978            cluster_node_address: v.cluster_node_address,
14979            cluster_node_id: v.cluster_node_id,
14980            filename: v.filename,
14981            lineage_duration: v.lineage_duration,
14982            mime_type: v.mime_type,
14983            penalized: v.penalized,
14984            penalty_expires_in: v.penalty_expires_in,
14985            position: v.position,
14986            queued_duration: v.queued_duration,
14987            size: v.size,
14988            uri: v.uri,
14989            uuid: v.uuid,
14990        }
14991    }
14992}
14993
14994impl From<crate::v2_8_0::types::FlowMetricsReportingStrategy>
14995    for super::types::FlowMetricsReportingStrategy
14996{
14997    fn from(v: crate::v2_8_0::types::FlowMetricsReportingStrategy) -> Self {
14998        let s = serde_json::to_string(&v).expect("serialize enum");
14999        serde_json::from_str(&s).expect("deserialize enum")
15000    }
15001}
15002
15003impl From<crate::v2_8_0::types::FlowRegistryBranchDto> for super::types::FlowRegistryBranchDto {
15004    fn from(v: crate::v2_8_0::types::FlowRegistryBranchDto) -> Self {
15005        Self { name: v.name }
15006    }
15007}
15008
15009impl From<crate::v2_8_0::types::FlowRegistryBranchEntity>
15010    for super::types::FlowRegistryBranchEntity
15011{
15012    fn from(v: crate::v2_8_0::types::FlowRegistryBranchEntity) -> Self {
15013        Self {
15014            branch: Some(v.branch.unwrap_or_default().into()),
15015        }
15016    }
15017}
15018
15019impl From<crate::v2_8_0::types::FlowRegistryBranchesEntity>
15020    for super::types::FlowRegistryBranchesEntity
15021{
15022    fn from(v: crate::v2_8_0::types::FlowRegistryBranchesEntity) -> Self {
15023        Self {
15024            branches: v
15025                .branches
15026                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15027        }
15028    }
15029}
15030
15031impl From<crate::v2_8_0::types::FlowRegistryBucket> for super::types::FlowRegistryBucket {
15032    fn from(v: crate::v2_8_0::types::FlowRegistryBucket) -> Self {
15033        Self {
15034            created_timestamp: v.created_timestamp,
15035            description: v.description,
15036            identifier: v.identifier,
15037            name: v.name,
15038            permissions: v.permissions.map(Into::into),
15039        }
15040    }
15041}
15042
15043impl From<crate::v2_8_0::types::FlowRegistryBucketDto> for super::types::FlowRegistryBucketDto {
15044    fn from(v: crate::v2_8_0::types::FlowRegistryBucketDto) -> Self {
15045        Self {
15046            created: v.created,
15047            description: v.description,
15048            id: v.id,
15049            name: v.name,
15050        }
15051    }
15052}
15053
15054impl From<crate::v2_8_0::types::FlowRegistryBucketEntity>
15055    for super::types::FlowRegistryBucketEntity
15056{
15057    fn from(v: crate::v2_8_0::types::FlowRegistryBucketEntity) -> Self {
15058        Self {
15059            bucket: v.bucket.map(Into::into),
15060            id: v.id,
15061            permissions: v.permissions.map(Into::into),
15062        }
15063    }
15064}
15065
15066impl From<crate::v2_8_0::types::FlowRegistryBucketsEntity>
15067    for super::types::FlowRegistryBucketsEntity
15068{
15069    fn from(v: crate::v2_8_0::types::FlowRegistryBucketsEntity) -> Self {
15070        Self {
15071            buckets: v.buckets.map(|v| v.into_iter().map(|v| v.into()).collect()),
15072        }
15073    }
15074}
15075
15076impl From<crate::v2_8_0::types::FlowRegistryClientDefinition>
15077    for super::types::FlowRegistryClientDefinition
15078{
15079    fn from(v: crate::v2_8_0::types::FlowRegistryClientDefinition) -> Self {
15080        Self {
15081            additional_details: v.additional_details,
15082            artifact: v.artifact,
15083            build_info: v.build_info.map(Into::into),
15084            deprecated: v.deprecated,
15085            deprecation_alternatives: v.deprecation_alternatives,
15086            deprecation_reason: v.deprecation_reason,
15087            dynamic_properties: v
15088                .dynamic_properties
15089                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15090            explicit_restrictions: v
15091                .explicit_restrictions
15092                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15093            group: v.group,
15094            property_descriptors: v
15095                .property_descriptors
15096                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
15097            provided_api_implementations: v
15098                .provided_api_implementations
15099                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15100            restricted: v.restricted,
15101            restricted_explanation: v.restricted_explanation,
15102            see_also: v.see_also,
15103            stateful: v.stateful.map(Into::into),
15104            supports_dynamic_properties: v.supports_dynamic_properties,
15105            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
15106            system_resource_considerations: v
15107                .system_resource_considerations
15108                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15109            tags: v.tags,
15110            r#type: v.r#type,
15111            type_description: v.type_description,
15112            version: v.version,
15113        }
15114    }
15115}
15116
15117impl From<crate::v2_8_0::types::FlowRegistryClientDto> for super::types::FlowRegistryClientDto {
15118    fn from(v: crate::v2_8_0::types::FlowRegistryClientDto) -> Self {
15119        Self {
15120            annotation_data: v.annotation_data,
15121            bundle: v.bundle.map(Into::into),
15122            deprecated: v.deprecated,
15123            description: v.description,
15124            descriptors: v
15125                .descriptors
15126                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
15127            extension_missing: v.extension_missing,
15128            id: v.id,
15129            multiple_versions_available: v.multiple_versions_available,
15130            name: v.name,
15131            properties: v.properties,
15132            restricted: v.restricted,
15133            sensitive_dynamic_property_names: v.sensitive_dynamic_property_names,
15134            supports_branching: v.supports_branching,
15135            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
15136            r#type: v.r#type,
15137            validation_errors: v.validation_errors,
15138            validation_status: v.validation_status.map(|v| {
15139                serde_json::to_value(&v)
15140                    .ok()
15141                    .and_then(|v| v.as_str().map(|s| s.to_string()))
15142                    .unwrap_or_default()
15143            }),
15144        }
15145    }
15146}
15147
15148impl From<crate::v2_8_0::types::FlowRegistryClientEntity>
15149    for super::types::FlowRegistryClientEntity
15150{
15151    fn from(v: crate::v2_8_0::types::FlowRegistryClientEntity) -> Self {
15152        Self {
15153            bulletins: v
15154                .bulletins
15155                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15156            component: v.component.map(Into::into),
15157            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
15158            id: v.id,
15159            operate_permissions: v.operate_permissions.map(Into::into),
15160            permissions: v.permissions.map(Into::into),
15161            position: v.position.map(Into::into),
15162            revision: v.revision.map(Into::into),
15163            uri: v.uri,
15164        }
15165    }
15166}
15167
15168impl From<crate::v2_8_0::types::FlowRegistryClientTypesEntity>
15169    for super::types::FlowRegistryClientTypesEntity
15170{
15171    fn from(v: crate::v2_8_0::types::FlowRegistryClientTypesEntity) -> Self {
15172        Self {
15173            flow_registry_client_types: v
15174                .flow_registry_client_types
15175                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15176        }
15177    }
15178}
15179
15180impl From<crate::v2_8_0::types::FlowRegistryClientsEntity>
15181    for super::types::FlowRegistryClientsEntity
15182{
15183    fn from(v: crate::v2_8_0::types::FlowRegistryClientsEntity) -> Self {
15184        Self {
15185            current_time: v.current_time,
15186            registries: v
15187                .registries
15188                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15189        }
15190    }
15191}
15192
15193impl From<crate::v2_8_0::types::FlowRegistryPermissions> for super::types::FlowRegistryPermissions {
15194    fn from(v: crate::v2_8_0::types::FlowRegistryPermissions) -> Self {
15195        Self {
15196            can_delete: v.can_delete,
15197            can_read: v.can_read,
15198            can_write: v.can_write,
15199        }
15200    }
15201}
15202
15203impl From<crate::v2_8_0::types::FlowSnippetDto> for super::types::FlowSnippetDto {
15204    fn from(v: crate::v2_8_0::types::FlowSnippetDto) -> Self {
15205        Self {
15206            connections: v
15207                .connections
15208                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15209            controller_services: v
15210                .controller_services
15211                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15212            funnels: v.funnels.map(|v| v.into_iter().map(|v| v.into()).collect()),
15213            input_ports: v
15214                .input_ports
15215                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15216            labels: v.labels.map(|v| v.into_iter().map(|v| v.into()).collect()),
15217            output_ports: v
15218                .output_ports
15219                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15220            process_groups: v
15221                .process_groups
15222                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15223            processors: v
15224                .processors
15225                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15226            remote_process_groups: v
15227                .remote_process_groups
15228                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15229        }
15230    }
15231}
15232
15233impl From<crate::v2_8_0::types::FunnelDto> for super::types::FunnelDto {
15234    fn from(v: crate::v2_8_0::types::FunnelDto) -> Self {
15235        Self {
15236            id: v.id,
15237            parent_group_id: v.parent_group_id,
15238            position: v.position.map(Into::into),
15239            versioned_component_id: v.versioned_component_id,
15240        }
15241    }
15242}
15243
15244impl From<crate::v2_8_0::types::FunnelEntity> for super::types::FunnelEntity {
15245    fn from(v: crate::v2_8_0::types::FunnelEntity) -> Self {
15246        Self {
15247            bulletins: v
15248                .bulletins
15249                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15250            component: v.component.map(Into::into),
15251            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
15252            id: v.id,
15253            permissions: v.permissions.map(Into::into),
15254            position: v.position.map(Into::into),
15255            revision: v.revision.map(Into::into),
15256            uri: v.uri,
15257        }
15258    }
15259}
15260
15261impl From<crate::v2_8_0::types::FunnelsEntity> for super::types::FunnelsEntity {
15262    fn from(v: crate::v2_8_0::types::FunnelsEntity) -> Self {
15263        Self {
15264            funnels: v.funnels.map(|v| v.into_iter().map(|v| v.into()).collect()),
15265        }
15266    }
15267}
15268
15269impl From<crate::v2_8_0::types::GarbageCollectionDto> for super::types::GarbageCollectionDto {
15270    fn from(v: crate::v2_8_0::types::GarbageCollectionDto) -> Self {
15271        Self {
15272            collection_count: v.collection_count,
15273            collection_millis: v.collection_millis,
15274            collection_time: v.collection_time,
15275            name: v.name,
15276        }
15277    }
15278}
15279
15280impl From<crate::v2_8_0::types::HistoryDto> for super::types::HistoryDto {
15281    fn from(v: crate::v2_8_0::types::HistoryDto) -> Self {
15282        Self {
15283            actions: v.actions.map(|v| v.into_iter().map(|v| v.into()).collect()),
15284            last_refreshed: v.last_refreshed,
15285            total: v.total,
15286        }
15287    }
15288}
15289
15290impl From<crate::v2_8_0::types::HistoryEntity> for super::types::HistoryEntity {
15291    fn from(v: crate::v2_8_0::types::HistoryEntity) -> Self {
15292        Self {
15293            history: Some(v.history.unwrap_or_default().into()),
15294        }
15295    }
15296}
15297
15298impl From<crate::v2_8_0::types::IncludedRegistries> for super::types::IncludedRegistries {
15299    fn from(v: crate::v2_8_0::types::IncludedRegistries) -> Self {
15300        let s = serde_json::to_string(&v).expect("serialize enum");
15301        serde_json::from_str(&s).expect("deserialize enum")
15302    }
15303}
15304
15305impl From<crate::v2_8_0::types::InputPortsEntity> for super::types::InputPortsEntity {
15306    fn from(v: crate::v2_8_0::types::InputPortsEntity) -> Self {
15307        Self {
15308            input_ports: v
15309                .input_ports
15310                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15311        }
15312    }
15313}
15314
15315impl From<crate::v2_8_0::types::IntegerParameter> for super::types::IntegerParameter {
15316    fn from(v: crate::v2_8_0::types::IntegerParameter) -> Self {
15317        Self { integer: v.integer }
15318    }
15319}
15320
15321impl From<crate::v2_8_0::types::JmxMetricsResultDto> for super::types::JmxMetricsResultDto {
15322    fn from(v: crate::v2_8_0::types::JmxMetricsResultDto) -> Self {
15323        Self {
15324            attribute_name: v.attribute_name,
15325            attribute_value: v.attribute_value.map(Into::into),
15326            bean_name: v.bean_name,
15327        }
15328    }
15329}
15330
15331impl From<crate::v2_8_0::types::JmxMetricsResultsEntity> for super::types::JmxMetricsResultsEntity {
15332    fn from(v: crate::v2_8_0::types::JmxMetricsResultsEntity) -> Self {
15333        Self {
15334            jmx_metrics_results: v
15335                .jmx_metrics_results
15336                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15337        }
15338    }
15339}
15340
15341impl From<crate::v2_8_0::types::LabelDto> for super::types::LabelDto {
15342    fn from(v: crate::v2_8_0::types::LabelDto) -> Self {
15343        Self {
15344            getz_index: v.getz_index,
15345            height: v.height,
15346            id: v.id,
15347            label: v.label,
15348            parent_group_id: v.parent_group_id,
15349            position: v.position.map(Into::into),
15350            style: v.style,
15351            versioned_component_id: v.versioned_component_id,
15352            width: v.width,
15353        }
15354    }
15355}
15356
15357impl From<crate::v2_8_0::types::LabelEntity> for super::types::LabelEntity {
15358    fn from(v: crate::v2_8_0::types::LabelEntity) -> Self {
15359        Self {
15360            bulletins: v
15361                .bulletins
15362                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15363            component: v.component.map(Into::into),
15364            dimensions: v.dimensions.map(Into::into),
15365            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
15366            getz_index: v.getz_index,
15367            id: v.id,
15368            permissions: v.permissions.map(Into::into),
15369            position: v.position.map(Into::into),
15370            revision: v.revision.map(Into::into),
15371            uri: v.uri,
15372        }
15373    }
15374}
15375
15376impl From<crate::v2_8_0::types::LabelsEntity> for super::types::LabelsEntity {
15377    fn from(v: crate::v2_8_0::types::LabelsEntity) -> Self {
15378        Self {
15379            labels: v.labels.map(|v| v.into_iter().map(|v| v.into()).collect()),
15380        }
15381    }
15382}
15383
15384impl From<crate::v2_8_0::types::LatestProvenanceEventsDto>
15385    for super::types::LatestProvenanceEventsDto
15386{
15387    fn from(v: crate::v2_8_0::types::LatestProvenanceEventsDto) -> Self {
15388        Self {
15389            component_id: v.component_id,
15390            provenance_events: v
15391                .provenance_events
15392                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15393        }
15394    }
15395}
15396
15397impl From<crate::v2_8_0::types::LatestProvenanceEventsEntity>
15398    for super::types::LatestProvenanceEventsEntity
15399{
15400    fn from(v: crate::v2_8_0::types::LatestProvenanceEventsEntity) -> Self {
15401        Self {
15402            latest_provenance_events: Some(v.latest_provenance_events.unwrap_or_default().into()),
15403        }
15404    }
15405}
15406
15407impl From<crate::v2_8_0::types::LineageDto> for super::types::LineageDto {
15408    fn from(v: crate::v2_8_0::types::LineageDto) -> Self {
15409        Self {
15410            expiration: v.expiration,
15411            finished: v.finished,
15412            id: v.id,
15413            percent_completed: v.percent_completed,
15414            request: v.request.map(Into::into),
15415            results: v.results.map(Into::into),
15416            submission_time: v.submission_time,
15417            uri: v.uri,
15418        }
15419    }
15420}
15421
15422impl From<crate::v2_8_0::types::LineageEntity> for super::types::LineageEntity {
15423    fn from(v: crate::v2_8_0::types::LineageEntity) -> Self {
15424        Self {
15425            lineage: Some(v.lineage.unwrap_or_default().into()),
15426        }
15427    }
15428}
15429
15430impl From<crate::v2_8_0::types::LineageRequestDto> for super::types::LineageRequestDto {
15431    fn from(v: crate::v2_8_0::types::LineageRequestDto) -> Self {
15432        Self {
15433            cluster_node_id: v.cluster_node_id,
15434            event_id: v.event_id,
15435            lineage_request_type: v.lineage_request_type.map(|v| {
15436                serde_json::to_value(&v)
15437                    .ok()
15438                    .and_then(|v| v.as_str().map(|s| s.to_string()))
15439                    .unwrap_or_default()
15440            }),
15441            uuid: v.uuid,
15442        }
15443    }
15444}
15445
15446impl From<crate::v2_8_0::types::LineageResultsDto> for super::types::LineageResultsDto {
15447    fn from(v: crate::v2_8_0::types::LineageResultsDto) -> Self {
15448        Self {
15449            errors: v.errors,
15450            links: v.links.map(|v| v.into_iter().map(|v| v.into()).collect()),
15451            nodes: v.nodes.map(|v| v.into_iter().map(|v| v.into()).collect()),
15452        }
15453    }
15454}
15455
15456impl From<crate::v2_8_0::types::ListenPortDto> for super::types::ListenPortDto {
15457    fn from(v: crate::v2_8_0::types::ListenPortDto) -> Self {
15458        Self {
15459            application_protocols: v.application_protocols,
15460            component_class: v.component_class,
15461            component_id: v.component_id,
15462            component_name: v.component_name,
15463            component_type: v.component_type,
15464            parent_group_id: v.parent_group_id,
15465            parent_group_name: v.parent_group_name,
15466            port_name: v.port_name,
15467            port_number: v.port_number,
15468            transport_protocol: v.transport_protocol,
15469        }
15470    }
15471}
15472
15473impl From<crate::v2_8_0::types::ListenPortsEntity> for super::types::ListenPortsEntity {
15474    fn from(v: crate::v2_8_0::types::ListenPortsEntity) -> Self {
15475        Self {
15476            listen_ports: v
15477                .listen_ports
15478                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15479        }
15480    }
15481}
15482
15483impl From<crate::v2_8_0::types::ListingRequestDto> for super::types::ListingRequestDto {
15484    fn from(v: crate::v2_8_0::types::ListingRequestDto) -> Self {
15485        Self {
15486            destination_running: v.destination_running,
15487            failure_reason: v.failure_reason,
15488            finished: v.finished,
15489            flow_file_summaries: v
15490                .flow_file_summaries
15491                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15492            id: v.id,
15493            last_updated: v.last_updated,
15494            max_results: v.max_results,
15495            percent_completed: v.percent_completed,
15496            queue_size: v.queue_size.map(Into::into),
15497            source_running: v.source_running,
15498            state: v.state,
15499            submission_time: v.submission_time,
15500            uri: v.uri,
15501        }
15502    }
15503}
15504
15505impl From<crate::v2_8_0::types::ListingRequestEntity> for super::types::ListingRequestEntity {
15506    fn from(v: crate::v2_8_0::types::ListingRequestEntity) -> Self {
15507        Self {
15508            listing_request: Some(v.listing_request.unwrap_or_default().into()),
15509        }
15510    }
15511}
15512
15513impl From<crate::v2_8_0::types::LongParameter> for super::types::LongParameter {
15514    fn from(v: crate::v2_8_0::types::LongParameter) -> Self {
15515        Self { long: v.long }
15516    }
15517}
15518
15519impl From<crate::v2_8_0::types::MultiProcessorUseCase> for super::types::MultiProcessorUseCase {
15520    fn from(v: crate::v2_8_0::types::MultiProcessorUseCase) -> Self {
15521        Self {
15522            configurations: v
15523                .configurations
15524                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15525            description: v.description,
15526            keywords: v.keywords,
15527            notes: v.notes,
15528        }
15529    }
15530}
15531
15532impl From<crate::v2_8_0::types::NarCoordinateDto> for super::types::NarCoordinateDto {
15533    fn from(v: crate::v2_8_0::types::NarCoordinateDto) -> Self {
15534        Self {
15535            artifact: v.artifact,
15536            group: v.group,
15537            version: v.version,
15538        }
15539    }
15540}
15541
15542impl From<crate::v2_8_0::types::NarDetailsEntity> for super::types::NarDetailsEntity {
15543    fn from(v: crate::v2_8_0::types::NarDetailsEntity) -> Self {
15544        Self {
15545            controller_service_types: v
15546                .controller_service_types
15547                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15548            dependent_coordinates: v
15549                .dependent_coordinates
15550                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15551            flow_analysis_rule_types: v
15552                .flow_analysis_rule_types
15553                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15554            flow_registry_client_types: v
15555                .flow_registry_client_types
15556                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15557            nar_summary: v.nar_summary.map(Into::into),
15558            parameter_provider_types: v
15559                .parameter_provider_types
15560                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15561            processor_types: v
15562                .processor_types
15563                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15564            reporting_task_types: v
15565                .reporting_task_types
15566                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15567        }
15568    }
15569}
15570
15571impl From<crate::v2_8_0::types::NarSummariesEntity> for super::types::NarSummariesEntity {
15572    fn from(v: crate::v2_8_0::types::NarSummariesEntity) -> Self {
15573        Self {
15574            current_time: v.current_time,
15575            nar_summaries: v
15576                .nar_summaries
15577                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15578        }
15579    }
15580}
15581
15582impl From<crate::v2_8_0::types::NarSummaryDto> for super::types::NarSummaryDto {
15583    fn from(v: crate::v2_8_0::types::NarSummaryDto) -> Self {
15584        Self {
15585            build_time: v.build_time,
15586            coordinate: v.coordinate.map(Into::into),
15587            created_by: v.created_by,
15588            dependency_coordinate: v.dependency_coordinate.map(Into::into),
15589            digest: v.digest,
15590            extension_count: v.extension_count,
15591            failure_message: v.failure_message,
15592            identifier: v.identifier,
15593            install_complete: v.install_complete,
15594            source_identifier: v.source_identifier,
15595            source_type: v.source_type,
15596            state: v.state,
15597        }
15598    }
15599}
15600
15601impl From<crate::v2_8_0::types::NarSummaryEntity> for super::types::NarSummaryEntity {
15602    fn from(v: crate::v2_8_0::types::NarSummaryEntity) -> Self {
15603        Self {
15604            nar_summary: Some(v.nar_summary.unwrap_or_default().into()),
15605        }
15606    }
15607}
15608
15609impl From<crate::v2_8_0::types::NodeConnectionStatisticsSnapshotDto>
15610    for super::types::NodeConnectionStatisticsSnapshotDto
15611{
15612    fn from(v: crate::v2_8_0::types::NodeConnectionStatisticsSnapshotDto) -> Self {
15613        Self {
15614            address: v.address,
15615            api_port: v.api_port,
15616            node_id: v.node_id,
15617            statistics_snapshot: v.statistics_snapshot.map(Into::into),
15618        }
15619    }
15620}
15621
15622impl From<crate::v2_8_0::types::NodeConnectionStatusSnapshotDto>
15623    for super::types::NodeConnectionStatusSnapshotDto
15624{
15625    fn from(v: crate::v2_8_0::types::NodeConnectionStatusSnapshotDto) -> Self {
15626        Self {
15627            address: v.address,
15628            api_port: v.api_port,
15629            node_id: v.node_id,
15630            status_snapshot: v.status_snapshot.map(Into::into),
15631        }
15632    }
15633}
15634
15635impl From<crate::v2_8_0::types::NodeCountersSnapshotDto> for super::types::NodeCountersSnapshotDto {
15636    fn from(v: crate::v2_8_0::types::NodeCountersSnapshotDto) -> Self {
15637        Self {
15638            address: v.address,
15639            api_port: v.api_port,
15640            node_id: v.node_id,
15641            snapshot: v.snapshot.map(Into::into),
15642        }
15643    }
15644}
15645
15646impl From<crate::v2_8_0::types::NodeDto> for super::types::NodeDto {
15647    fn from(v: crate::v2_8_0::types::NodeDto) -> Self {
15648        Self {
15649            active_thread_count: v.active_thread_count,
15650            address: v.address,
15651            api_port: v.api_port,
15652            bytes_queued: v.bytes_queued,
15653            connection_requested: v.connection_requested,
15654            events: v.events.map(|v| v.into_iter().map(|v| v.into()).collect()),
15655            flow_file_bytes: v.flow_file_bytes,
15656            flow_files_queued: v.flow_files_queued,
15657            heartbeat: v.heartbeat,
15658            node_id: v.node_id,
15659            node_start_time: v.node_start_time,
15660            queued: v.queued,
15661            roles: v.roles,
15662            status: v.status,
15663        }
15664    }
15665}
15666
15667impl From<crate::v2_8_0::types::NodeEntity> for super::types::NodeEntity {
15668    fn from(v: crate::v2_8_0::types::NodeEntity) -> Self {
15669        Self {
15670            node: Some(v.node.unwrap_or_default().into()),
15671        }
15672    }
15673}
15674
15675impl From<crate::v2_8_0::types::NodeEventDto> for super::types::NodeEventDto {
15676    fn from(v: crate::v2_8_0::types::NodeEventDto) -> Self {
15677        Self {
15678            category: v.category,
15679            message: v.message,
15680            timestamp: v.timestamp,
15681        }
15682    }
15683}
15684
15685impl From<crate::v2_8_0::types::NodePortStatusSnapshotDto>
15686    for super::types::NodePortStatusSnapshotDto
15687{
15688    fn from(v: crate::v2_8_0::types::NodePortStatusSnapshotDto) -> Self {
15689        Self {
15690            address: v.address,
15691            api_port: v.api_port,
15692            node_id: v.node_id,
15693            status_snapshot: v.status_snapshot.map(Into::into),
15694        }
15695    }
15696}
15697
15698impl From<crate::v2_8_0::types::NodeProcessGroupStatusSnapshotDto>
15699    for super::types::NodeProcessGroupStatusSnapshotDto
15700{
15701    fn from(v: crate::v2_8_0::types::NodeProcessGroupStatusSnapshotDto) -> Self {
15702        Self {
15703            address: v.address,
15704            api_port: v.api_port,
15705            node_id: v.node_id,
15706            status_snapshot: v.status_snapshot.map(Into::into),
15707        }
15708    }
15709}
15710
15711impl From<crate::v2_8_0::types::NodeProcessorStatusSnapshotDto>
15712    for super::types::NodeProcessorStatusSnapshotDto
15713{
15714    fn from(v: crate::v2_8_0::types::NodeProcessorStatusSnapshotDto) -> Self {
15715        Self {
15716            address: v.address,
15717            api_port: v.api_port,
15718            node_id: v.node_id,
15719            status_snapshot: v.status_snapshot.map(Into::into),
15720        }
15721    }
15722}
15723
15724impl From<crate::v2_8_0::types::NodeRemoteProcessGroupStatusSnapshotDto>
15725    for super::types::NodeRemoteProcessGroupStatusSnapshotDto
15726{
15727    fn from(v: crate::v2_8_0::types::NodeRemoteProcessGroupStatusSnapshotDto) -> Self {
15728        Self {
15729            address: v.address,
15730            api_port: v.api_port,
15731            node_id: v.node_id,
15732            status_snapshot: v.status_snapshot.map(Into::into),
15733        }
15734    }
15735}
15736
15737impl From<crate::v2_8_0::types::NodeReplayLastEventSnapshotDto>
15738    for super::types::NodeReplayLastEventSnapshotDto
15739{
15740    fn from(v: crate::v2_8_0::types::NodeReplayLastEventSnapshotDto) -> Self {
15741        Self {
15742            address: v.address,
15743            api_port: v.api_port,
15744            node_id: v.node_id,
15745            snapshot: v.snapshot.map(Into::into),
15746        }
15747    }
15748}
15749
15750impl From<crate::v2_8_0::types::NodeSearchResultDto> for super::types::NodeSearchResultDto {
15751    fn from(v: crate::v2_8_0::types::NodeSearchResultDto) -> Self {
15752        Self {
15753            address: v.address,
15754            id: v.id,
15755        }
15756    }
15757}
15758
15759impl From<crate::v2_8_0::types::NodeStatusSnapshotsDto> for super::types::NodeStatusSnapshotsDto {
15760    fn from(v: crate::v2_8_0::types::NodeStatusSnapshotsDto) -> Self {
15761        Self {
15762            address: v.address,
15763            api_port: v.api_port,
15764            node_id: v.node_id,
15765            status_snapshots: v
15766                .status_snapshots
15767                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15768        }
15769    }
15770}
15771
15772impl From<crate::v2_8_0::types::NodeSystemDiagnosticsSnapshotDto>
15773    for super::types::NodeSystemDiagnosticsSnapshotDto
15774{
15775    fn from(v: crate::v2_8_0::types::NodeSystemDiagnosticsSnapshotDto) -> Self {
15776        Self {
15777            address: v.address,
15778            api_port: v.api_port,
15779            node_id: v.node_id,
15780            snapshot: v.snapshot.map(Into::into),
15781        }
15782    }
15783}
15784
15785impl From<crate::v2_8_0::types::OutputPortsEntity> for super::types::OutputPortsEntity {
15786    fn from(v: crate::v2_8_0::types::OutputPortsEntity) -> Self {
15787        Self {
15788            output_ports: v
15789                .output_ports
15790                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15791        }
15792    }
15793}
15794
15795impl From<crate::v2_8_0::types::ParameterContextDto> for super::types::ParameterContextDto {
15796    fn from(v: crate::v2_8_0::types::ParameterContextDto) -> Self {
15797        Self {
15798            bound_process_groups: v
15799                .bound_process_groups
15800                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15801            description: v.description,
15802            id: v.id,
15803            inherited_parameter_contexts: v
15804                .inherited_parameter_contexts
15805                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15806            name: v.name,
15807            parameter_provider_configuration: v.parameter_provider_configuration.map(Into::into),
15808            parameters: v
15809                .parameters
15810                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15811        }
15812    }
15813}
15814
15815impl From<crate::v2_8_0::types::ParameterContextEntity> for super::types::ParameterContextEntity {
15816    fn from(v: crate::v2_8_0::types::ParameterContextEntity) -> Self {
15817        Self {
15818            bulletins: v
15819                .bulletins
15820                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15821            component: v.component.map(Into::into),
15822            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
15823            id: v.id,
15824            permissions: v.permissions.map(Into::into),
15825            position: v.position.map(Into::into),
15826            revision: v.revision.map(Into::into),
15827            uri: v.uri,
15828        }
15829    }
15830}
15831
15832impl From<crate::v2_8_0::types::ParameterContextHandlingStrategy>
15833    for super::types::ParameterContextHandlingStrategy
15834{
15835    fn from(v: crate::v2_8_0::types::ParameterContextHandlingStrategy) -> Self {
15836        let s = serde_json::to_string(&v).expect("serialize enum");
15837        serde_json::from_str(&s).expect("deserialize enum")
15838    }
15839}
15840
15841impl From<crate::v2_8_0::types::ParameterContextReferenceDto>
15842    for super::types::ParameterContextReferenceDto
15843{
15844    fn from(v: crate::v2_8_0::types::ParameterContextReferenceDto) -> Self {
15845        Self {
15846            id: v.id,
15847            name: v.name,
15848        }
15849    }
15850}
15851
15852impl From<crate::v2_8_0::types::ParameterContextReferenceEntity>
15853    for super::types::ParameterContextReferenceEntity
15854{
15855    fn from(v: crate::v2_8_0::types::ParameterContextReferenceEntity) -> Self {
15856        Self {
15857            component: v.component.map(Into::into),
15858            id: v.id,
15859            permissions: v.permissions.map(Into::into),
15860        }
15861    }
15862}
15863
15864impl From<crate::v2_8_0::types::ParameterContextUpdateEntity>
15865    for super::types::ParameterContextUpdateEntity
15866{
15867    fn from(v: crate::v2_8_0::types::ParameterContextUpdateEntity) -> Self {
15868        Self {
15869            parameter_context: v.parameter_context.map(Into::into),
15870            parameter_context_revision: v.parameter_context_revision.map(Into::into),
15871            referencing_components: v
15872                .referencing_components
15873                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15874        }
15875    }
15876}
15877
15878impl From<crate::v2_8_0::types::ParameterContextUpdateRequestDto>
15879    for super::types::ParameterContextUpdateRequestDto
15880{
15881    fn from(v: crate::v2_8_0::types::ParameterContextUpdateRequestDto) -> Self {
15882        Self {
15883            complete: v.complete,
15884            failure_reason: v.failure_reason,
15885            last_updated: v.last_updated,
15886            parameter_context: v.parameter_context.map(Into::into),
15887            percent_completed: v.percent_completed,
15888            referencing_components: v
15889                .referencing_components
15890                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15891            request_id: v.request_id,
15892            state: v.state,
15893            submission_time: v.submission_time,
15894            update_steps: v
15895                .update_steps
15896                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15897            uri: v.uri,
15898        }
15899    }
15900}
15901
15902impl From<crate::v2_8_0::types::ParameterContextUpdateRequestEntity>
15903    for super::types::ParameterContextUpdateRequestEntity
15904{
15905    fn from(v: crate::v2_8_0::types::ParameterContextUpdateRequestEntity) -> Self {
15906        Self {
15907            parameter_context_revision: v.parameter_context_revision.map(Into::into),
15908            request: v.request.map(Into::into),
15909        }
15910    }
15911}
15912
15913impl From<crate::v2_8_0::types::ParameterContextUpdateStepDto>
15914    for super::types::ParameterContextUpdateStepDto
15915{
15916    fn from(v: crate::v2_8_0::types::ParameterContextUpdateStepDto) -> Self {
15917        Self {
15918            complete: v.complete,
15919            description: v.description,
15920            failure_reason: v.failure_reason,
15921        }
15922    }
15923}
15924
15925impl From<crate::v2_8_0::types::ParameterContextValidationRequestDto>
15926    for super::types::ParameterContextValidationRequestDto
15927{
15928    fn from(v: crate::v2_8_0::types::ParameterContextValidationRequestDto) -> Self {
15929        Self {
15930            complete: v.complete,
15931            component_validation_results: v.component_validation_results.map(Into::into),
15932            failure_reason: v.failure_reason,
15933            last_updated: v.last_updated,
15934            parameter_context: v.parameter_context.map(Into::into),
15935            percent_completed: v.percent_completed,
15936            request_id: v.request_id,
15937            state: v.state,
15938            submission_time: v.submission_time,
15939            update_steps: v
15940                .update_steps
15941                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15942            uri: v.uri,
15943        }
15944    }
15945}
15946
15947impl From<crate::v2_8_0::types::ParameterContextValidationRequestEntity>
15948    for super::types::ParameterContextValidationRequestEntity
15949{
15950    fn from(v: crate::v2_8_0::types::ParameterContextValidationRequestEntity) -> Self {
15951        Self {
15952            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
15953            request: v.request.map(Into::into),
15954        }
15955    }
15956}
15957
15958impl From<crate::v2_8_0::types::ParameterContextValidationStepDto>
15959    for super::types::ParameterContextValidationStepDto
15960{
15961    fn from(v: crate::v2_8_0::types::ParameterContextValidationStepDto) -> Self {
15962        Self {
15963            complete: v.complete,
15964            description: v.description,
15965            failure_reason: v.failure_reason,
15966        }
15967    }
15968}
15969
15970impl From<crate::v2_8_0::types::ParameterContextsEntity> for super::types::ParameterContextsEntity {
15971    fn from(v: crate::v2_8_0::types::ParameterContextsEntity) -> Self {
15972        Self {
15973            current_time: v.current_time,
15974            parameter_contexts: v
15975                .parameter_contexts
15976                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15977        }
15978    }
15979}
15980
15981impl From<crate::v2_8_0::types::ParameterDto> for super::types::ParameterDto {
15982    fn from(v: crate::v2_8_0::types::ParameterDto) -> Self {
15983        Self {
15984            description: v.description,
15985            inherited: v.inherited,
15986            name: v.name,
15987            parameter_context: v.parameter_context.map(Into::into),
15988            provided: v.provided,
15989            referenced_assets: v
15990                .referenced_assets
15991                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15992            referencing_components: v
15993                .referencing_components
15994                .map(|v| v.into_iter().map(|v| v.into()).collect()),
15995            sensitive: v.sensitive,
15996            value: v.value,
15997            value_removed: v.value_removed,
15998        }
15999    }
16000}
16001
16002impl From<crate::v2_8_0::types::ParameterEntity> for super::types::ParameterEntity {
16003    fn from(v: crate::v2_8_0::types::ParameterEntity) -> Self {
16004        Self {
16005            can_write: v.can_write,
16006            parameter: v.parameter.map(Into::into),
16007        }
16008    }
16009}
16010
16011impl From<crate::v2_8_0::types::ParameterGroupConfigurationEntity>
16012    for super::types::ParameterGroupConfigurationEntity
16013{
16014    fn from(v: crate::v2_8_0::types::ParameterGroupConfigurationEntity) -> Self {
16015        Self {
16016            group_name: v.group_name,
16017            parameter_context_name: v.parameter_context_name,
16018            parameter_sensitivities: v.parameter_sensitivities.map(|m| {
16019                m.into_iter()
16020                    .map(|(k, v)| {
16021                        (
16022                            k,
16023                            v.map(|v| {
16024                                serde_json::to_value(&v)
16025                                    .ok()
16026                                    .and_then(|v| v.as_str().map(|s| s.to_string()))
16027                                    .unwrap_or_default()
16028                            }),
16029                        )
16030                    })
16031                    .collect()
16032            }),
16033            synchronized: v.synchronized,
16034        }
16035    }
16036}
16037
16038impl From<crate::v2_8_0::types::ParameterProviderApplyParametersRequestDto>
16039    for super::types::ParameterProviderApplyParametersRequestDto
16040{
16041    fn from(v: crate::v2_8_0::types::ParameterProviderApplyParametersRequestDto) -> Self {
16042        Self {
16043            complete: v.complete,
16044            failure_reason: v.failure_reason,
16045            last_updated: v.last_updated,
16046            parameter_context_updates: v
16047                .parameter_context_updates
16048                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16049            parameter_provider: v.parameter_provider.map(Into::into),
16050            percent_completed: v.percent_completed,
16051            referencing_components: v
16052                .referencing_components
16053                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16054            request_id: v.request_id,
16055            state: v.state,
16056            submission_time: v.submission_time,
16057            update_steps: v
16058                .update_steps
16059                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16060            uri: v.uri,
16061        }
16062    }
16063}
16064
16065impl From<crate::v2_8_0::types::ParameterProviderApplyParametersRequestEntity>
16066    for super::types::ParameterProviderApplyParametersRequestEntity
16067{
16068    fn from(v: crate::v2_8_0::types::ParameterProviderApplyParametersRequestEntity) -> Self {
16069        Self {
16070            request: Some(v.request.unwrap_or_default().into()),
16071        }
16072    }
16073}
16074
16075impl From<crate::v2_8_0::types::ParameterProviderApplyParametersUpdateStepDto>
16076    for super::types::ParameterProviderApplyParametersUpdateStepDto
16077{
16078    fn from(v: crate::v2_8_0::types::ParameterProviderApplyParametersUpdateStepDto) -> Self {
16079        Self {
16080            complete: v.complete,
16081            description: v.description,
16082            failure_reason: v.failure_reason,
16083        }
16084    }
16085}
16086
16087impl From<crate::v2_8_0::types::ParameterProviderConfigurationDto>
16088    for super::types::ParameterProviderConfigurationDto
16089{
16090    fn from(v: crate::v2_8_0::types::ParameterProviderConfigurationDto) -> Self {
16091        Self {
16092            parameter_group_name: v.parameter_group_name,
16093            parameter_provider_id: v.parameter_provider_id,
16094            parameter_provider_name: v.parameter_provider_name,
16095            synchronized: v.synchronized,
16096        }
16097    }
16098}
16099
16100impl From<crate::v2_8_0::types::ParameterProviderConfigurationEntity>
16101    for super::types::ParameterProviderConfigurationEntity
16102{
16103    fn from(v: crate::v2_8_0::types::ParameterProviderConfigurationEntity) -> Self {
16104        Self {
16105            component: v.component.map(Into::into),
16106            id: v.id,
16107            permissions: v.permissions.map(Into::into),
16108        }
16109    }
16110}
16111
16112impl From<crate::v2_8_0::types::ParameterProviderDefinition>
16113    for super::types::ParameterProviderDefinition
16114{
16115    fn from(v: crate::v2_8_0::types::ParameterProviderDefinition) -> Self {
16116        Self {
16117            additional_details: v.additional_details,
16118            artifact: v.artifact,
16119            build_info: v.build_info.map(Into::into),
16120            deprecated: v.deprecated,
16121            deprecation_alternatives: v.deprecation_alternatives,
16122            deprecation_reason: v.deprecation_reason,
16123            dynamic_properties: v
16124                .dynamic_properties
16125                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16126            explicit_restrictions: v
16127                .explicit_restrictions
16128                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16129            group: v.group,
16130            property_descriptors: v
16131                .property_descriptors
16132                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
16133            provided_api_implementations: v
16134                .provided_api_implementations
16135                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16136            restricted: v.restricted,
16137            restricted_explanation: v.restricted_explanation,
16138            see_also: v.see_also,
16139            stateful: v.stateful.map(Into::into),
16140            supports_dynamic_properties: v.supports_dynamic_properties,
16141            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
16142            system_resource_considerations: v
16143                .system_resource_considerations
16144                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16145            tags: v.tags,
16146            r#type: v.r#type,
16147            type_description: v.type_description,
16148            version: v.version,
16149        }
16150    }
16151}
16152
16153impl From<crate::v2_8_0::types::ParameterProviderDto> for super::types::ParameterProviderDto {
16154    fn from(v: crate::v2_8_0::types::ParameterProviderDto) -> Self {
16155        Self {
16156            affected_components: v
16157                .affected_components
16158                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16159            annotation_data: v.annotation_data,
16160            bundle: v.bundle.map(Into::into),
16161            comments: v.comments,
16162            custom_ui_url: v.custom_ui_url,
16163            deprecated: v.deprecated,
16164            descriptors: v
16165                .descriptors
16166                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
16167            extension_missing: v.extension_missing,
16168            id: v.id,
16169            multiple_versions_available: v.multiple_versions_available,
16170            name: v.name,
16171            parameter_group_configurations: v
16172                .parameter_group_configurations
16173                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16174            parameter_status: v
16175                .parameter_status
16176                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16177            parent_group_id: v.parent_group_id,
16178            persists_state: v.persists_state,
16179            position: v.position.map(Into::into),
16180            properties: v.properties,
16181            referencing_parameter_contexts: v
16182                .referencing_parameter_contexts
16183                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16184            restricted: v.restricted,
16185            r#type: v.r#type,
16186            validation_errors: v.validation_errors,
16187            validation_status: v.validation_status.map(|v| {
16188                serde_json::to_value(&v)
16189                    .ok()
16190                    .and_then(|v| v.as_str().map(|s| s.to_string()))
16191                    .unwrap_or_default()
16192            }),
16193            versioned_component_id: v.versioned_component_id,
16194        }
16195    }
16196}
16197
16198impl From<crate::v2_8_0::types::ParameterProviderEntity> for super::types::ParameterProviderEntity {
16199    fn from(v: crate::v2_8_0::types::ParameterProviderEntity) -> Self {
16200        Self {
16201            bulletins: v
16202                .bulletins
16203                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16204            component: v.component.map(Into::into),
16205            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
16206            id: v.id,
16207            permissions: v.permissions.map(Into::into),
16208            position: v.position.map(Into::into),
16209            revision: v.revision.map(Into::into),
16210            uri: v.uri,
16211        }
16212    }
16213}
16214
16215impl From<crate::v2_8_0::types::ParameterProviderParameterApplicationEntity>
16216    for super::types::ParameterProviderParameterApplicationEntity
16217{
16218    fn from(v: crate::v2_8_0::types::ParameterProviderParameterApplicationEntity) -> Self {
16219        Self {
16220            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
16221            id: v.id,
16222            parameter_group_configurations: v
16223                .parameter_group_configurations
16224                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16225            revision: v.revision.map(Into::into),
16226        }
16227    }
16228}
16229
16230impl From<crate::v2_8_0::types::ParameterProviderParameterFetchEntity>
16231    for super::types::ParameterProviderParameterFetchEntity
16232{
16233    fn from(v: crate::v2_8_0::types::ParameterProviderParameterFetchEntity) -> Self {
16234        Self {
16235            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
16236            id: v.id,
16237            revision: v.revision.map(Into::into),
16238        }
16239    }
16240}
16241
16242impl From<crate::v2_8_0::types::ParameterProviderReference>
16243    for super::types::ParameterProviderReference
16244{
16245    fn from(v: crate::v2_8_0::types::ParameterProviderReference) -> Self {
16246        Self {
16247            bundle: v.bundle.map(Into::into),
16248            identifier: v.identifier,
16249            name: v.name,
16250            r#type: v.r#type,
16251        }
16252    }
16253}
16254
16255impl From<crate::v2_8_0::types::ParameterProviderReferencingComponentDto>
16256    for super::types::ParameterProviderReferencingComponentDto
16257{
16258    fn from(v: crate::v2_8_0::types::ParameterProviderReferencingComponentDto) -> Self {
16259        Self {
16260            id: v.id,
16261            name: v.name,
16262        }
16263    }
16264}
16265
16266impl From<crate::v2_8_0::types::ParameterProviderReferencingComponentEntity>
16267    for super::types::ParameterProviderReferencingComponentEntity
16268{
16269    fn from(v: crate::v2_8_0::types::ParameterProviderReferencingComponentEntity) -> Self {
16270        Self {
16271            bulletins: v
16272                .bulletins
16273                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16274            component: v.component.map(Into::into),
16275            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
16276            id: v.id,
16277            permissions: v.permissions.map(Into::into),
16278            position: v.position.map(Into::into),
16279            revision: v.revision.map(Into::into),
16280            uri: v.uri,
16281        }
16282    }
16283}
16284
16285impl From<crate::v2_8_0::types::ParameterProviderReferencingComponentsEntity>
16286    for super::types::ParameterProviderReferencingComponentsEntity
16287{
16288    fn from(v: crate::v2_8_0::types::ParameterProviderReferencingComponentsEntity) -> Self {
16289        Self {
16290            parameter_provider_referencing_components: v
16291                .parameter_provider_referencing_components
16292                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16293        }
16294    }
16295}
16296
16297impl From<crate::v2_8_0::types::ParameterProviderTypesEntity>
16298    for super::types::ParameterProviderTypesEntity
16299{
16300    fn from(v: crate::v2_8_0::types::ParameterProviderTypesEntity) -> Self {
16301        Self {
16302            parameter_provider_types: v
16303                .parameter_provider_types
16304                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16305        }
16306    }
16307}
16308
16309impl From<crate::v2_8_0::types::ParameterProvidersEntity>
16310    for super::types::ParameterProvidersEntity
16311{
16312    fn from(v: crate::v2_8_0::types::ParameterProvidersEntity) -> Self {
16313        Self {
16314            current_time: v.current_time,
16315            parameter_providers: v
16316                .parameter_providers
16317                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16318        }
16319    }
16320}
16321
16322impl From<crate::v2_8_0::types::ParameterStatusDto> for super::types::ParameterStatusDto {
16323    fn from(v: crate::v2_8_0::types::ParameterStatusDto) -> Self {
16324        Self {
16325            parameter: v.parameter.map(Into::into),
16326            status: v.status.map(|v| {
16327                serde_json::to_value(&v)
16328                    .ok()
16329                    .and_then(|v| v.as_str().map(|s| s.to_string()))
16330                    .unwrap_or_default()
16331            }),
16332        }
16333    }
16334}
16335
16336impl From<crate::v2_8_0::types::PasteRequestEntity> for super::types::PasteRequestEntity {
16337    fn from(v: crate::v2_8_0::types::PasteRequestEntity) -> Self {
16338        Self {
16339            copy_response: v.copy_response.map(Into::into),
16340            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
16341            revision: v.revision.map(Into::into),
16342        }
16343    }
16344}
16345
16346impl From<crate::v2_8_0::types::PasteResponseEntity> for super::types::PasteResponseEntity {
16347    fn from(v: crate::v2_8_0::types::PasteResponseEntity) -> Self {
16348        Self {
16349            flow: v.flow.map(Into::into),
16350            revision: v.revision.map(Into::into),
16351        }
16352    }
16353}
16354
16355impl From<crate::v2_8_0::types::PeerDto> for super::types::PeerDto {
16356    fn from(v: crate::v2_8_0::types::PeerDto) -> Self {
16357        Self {
16358            flow_file_count: v.flow_file_count,
16359            hostname: v.hostname,
16360            port: v.port,
16361            secure: v.secure,
16362        }
16363    }
16364}
16365
16366impl From<crate::v2_8_0::types::PeersEntity> for super::types::PeersEntity {
16367    fn from(v: crate::v2_8_0::types::PeersEntity) -> Self {
16368        Self {
16369            peers: v.peers.map(|v| v.into_iter().map(|v| v.into()).collect()),
16370        }
16371    }
16372}
16373
16374impl From<crate::v2_8_0::types::PermissionsDto> for super::types::PermissionsDto {
16375    fn from(v: crate::v2_8_0::types::PermissionsDto) -> Self {
16376        Self {
16377            can_read: v.can_read,
16378            can_write: v.can_write,
16379        }
16380    }
16381}
16382
16383impl From<crate::v2_8_0::types::PortDto> for super::types::PortDto {
16384    fn from(v: crate::v2_8_0::types::PortDto) -> Self {
16385        Self {
16386            allow_remote_access: v.allow_remote_access,
16387            comments: v.comments,
16388            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
16389            id: v.id,
16390            name: v.name,
16391            parent_group_id: v.parent_group_id,
16392            port_function: v.port_function.map(|v| {
16393                serde_json::to_value(&v)
16394                    .ok()
16395                    .and_then(|v| v.as_str().map(|s| s.to_string()))
16396                    .unwrap_or_default()
16397            }),
16398            position: v.position.map(Into::into),
16399            state: v.state.map(|v| {
16400                serde_json::to_value(&v)
16401                    .ok()
16402                    .and_then(|v| v.as_str().map(|s| s.to_string()))
16403                    .unwrap_or_default()
16404            }),
16405            transmitting: v.transmitting,
16406            r#type: v.r#type.map(|v| {
16407                serde_json::to_value(&v)
16408                    .ok()
16409                    .and_then(|v| v.as_str().map(|s| s.to_string()))
16410                    .unwrap_or_default()
16411            }),
16412            validation_errors: v.validation_errors,
16413            versioned_component_id: v.versioned_component_id,
16414        }
16415    }
16416}
16417
16418impl From<crate::v2_8_0::types::PortEntity> for super::types::PortEntity {
16419    fn from(v: crate::v2_8_0::types::PortEntity) -> Self {
16420        Self {
16421            allow_remote_access: v.allow_remote_access,
16422            bulletins: v
16423                .bulletins
16424                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16425            component: v.component.map(Into::into),
16426            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
16427            id: v.id,
16428            operate_permissions: v.operate_permissions.map(Into::into),
16429            permissions: v.permissions.map(Into::into),
16430            port_type: v.port_type,
16431            position: v.position.map(Into::into),
16432            revision: v.revision.map(Into::into),
16433            status: v.status.map(Into::into),
16434            uri: v.uri,
16435        }
16436    }
16437}
16438
16439impl From<crate::v2_8_0::types::PortRunStatusEntity> for super::types::PortRunStatusEntity {
16440    fn from(v: crate::v2_8_0::types::PortRunStatusEntity) -> Self {
16441        Self {
16442            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
16443            revision: v.revision.map(Into::into),
16444            state: v.state.map(|v| {
16445                serde_json::to_value(&v)
16446                    .ok()
16447                    .and_then(|v| v.as_str().map(|s| s.to_string()))
16448                    .unwrap_or_default()
16449            }),
16450        }
16451    }
16452}
16453
16454impl From<crate::v2_8_0::types::PortStatusDto> for super::types::PortStatusDto {
16455    fn from(v: crate::v2_8_0::types::PortStatusDto) -> Self {
16456        Self {
16457            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
16458            group_id: v.group_id,
16459            id: v.id,
16460            name: v.name,
16461            node_snapshots: v
16462                .node_snapshots
16463                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16464            run_status: v.run_status.map(|v| {
16465                serde_json::to_value(&v)
16466                    .ok()
16467                    .and_then(|v| v.as_str().map(|s| s.to_string()))
16468                    .unwrap_or_default()
16469            }),
16470            stats_last_refreshed: v.stats_last_refreshed,
16471            transmitting: v.transmitting,
16472        }
16473    }
16474}
16475
16476impl From<crate::v2_8_0::types::PortStatusEntity> for super::types::PortStatusEntity {
16477    fn from(v: crate::v2_8_0::types::PortStatusEntity) -> Self {
16478        Self {
16479            can_read: v.can_read,
16480            port_status: v.port_status.map(Into::into),
16481        }
16482    }
16483}
16484
16485impl From<crate::v2_8_0::types::PortStatusSnapshotDto> for super::types::PortStatusSnapshotDto {
16486    fn from(v: crate::v2_8_0::types::PortStatusSnapshotDto) -> Self {
16487        Self {
16488            active_thread_count: v.active_thread_count,
16489            bytes_in: v.bytes_in,
16490            bytes_out: v.bytes_out,
16491            flow_files_in: v.flow_files_in,
16492            flow_files_out: v.flow_files_out,
16493            group_id: v.group_id,
16494            id: v.id,
16495            input: v.input,
16496            name: v.name,
16497            output: v.output,
16498            run_status: v.run_status.map(|v| {
16499                serde_json::to_value(&v)
16500                    .ok()
16501                    .and_then(|v| v.as_str().map(|s| s.to_string()))
16502                    .unwrap_or_default()
16503            }),
16504            transmitting: v.transmitting,
16505        }
16506    }
16507}
16508
16509impl From<crate::v2_8_0::types::PortStatusSnapshotEntity>
16510    for super::types::PortStatusSnapshotEntity
16511{
16512    fn from(v: crate::v2_8_0::types::PortStatusSnapshotEntity) -> Self {
16513        Self {
16514            can_read: v.can_read,
16515            id: v.id,
16516            port_status_snapshot: v.port_status_snapshot.map(Into::into),
16517        }
16518    }
16519}
16520
16521impl From<crate::v2_8_0::types::Position> for super::types::Position {
16522    fn from(v: crate::v2_8_0::types::Position) -> Self {
16523        Self { x: v.x, y: v.y }
16524    }
16525}
16526
16527impl From<crate::v2_8_0::types::PositionDto> for super::types::PositionDto {
16528    fn from(v: crate::v2_8_0::types::PositionDto) -> Self {
16529        Self { x: v.x, y: v.y }
16530    }
16531}
16532
16533impl From<crate::v2_8_0::types::PreviousValueDto> for super::types::PreviousValueDto {
16534    fn from(v: crate::v2_8_0::types::PreviousValueDto) -> Self {
16535        Self {
16536            previous_value: v.previous_value,
16537            timestamp: v.timestamp,
16538            user_identity: v.user_identity,
16539        }
16540    }
16541}
16542
16543impl From<crate::v2_8_0::types::PrioritizerTypesEntity> for super::types::PrioritizerTypesEntity {
16544    fn from(v: crate::v2_8_0::types::PrioritizerTypesEntity) -> Self {
16545        Self {
16546            prioritizer_types: v
16547                .prioritizer_types
16548                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16549        }
16550    }
16551}
16552
16553impl From<crate::v2_8_0::types::ProcessGroupDto> for super::types::ProcessGroupDto {
16554    fn from(v: crate::v2_8_0::types::ProcessGroupDto) -> Self {
16555        Self {
16556            active_remote_port_count: v.active_remote_port_count,
16557            comments: v.comments,
16558            contents: v.contents.map(Into::into),
16559            default_back_pressure_data_size_threshold: v.default_back_pressure_data_size_threshold,
16560            default_back_pressure_object_threshold: v.default_back_pressure_object_threshold,
16561            default_flow_file_expiration: v.default_flow_file_expiration,
16562            disabled_count: v.disabled_count,
16563            execution_engine: v.execution_engine.map(|v| {
16564                serde_json::to_value(&v)
16565                    .ok()
16566                    .and_then(|v| v.as_str().map(|s| s.to_string()))
16567                    .unwrap_or_default()
16568            }),
16569            flowfile_concurrency: v.flowfile_concurrency.map(|v| {
16570                serde_json::to_value(&v)
16571                    .ok()
16572                    .and_then(|v| v.as_str().map(|s| s.to_string()))
16573                    .unwrap_or_default()
16574            }),
16575            flowfile_outbound_policy: v.flowfile_outbound_policy.map(|v| {
16576                serde_json::to_value(&v)
16577                    .ok()
16578                    .and_then(|v| v.as_str().map(|s| s.to_string()))
16579                    .unwrap_or_default()
16580            }),
16581            id: v.id,
16582            inactive_remote_port_count: v.inactive_remote_port_count,
16583            input_port_count: v.input_port_count,
16584            invalid_count: v.invalid_count,
16585            local_input_port_count: v.local_input_port_count,
16586            local_output_port_count: v.local_output_port_count,
16587            locally_modified_and_stale_count: v.locally_modified_and_stale_count,
16588            locally_modified_count: v.locally_modified_count,
16589            log_file_suffix: v.log_file_suffix,
16590            max_concurrent_tasks: v.max_concurrent_tasks,
16591            name: v.name,
16592            output_port_count: v.output_port_count,
16593            parameter_context: v.parameter_context.map(Into::into),
16594            parent_group_id: v.parent_group_id,
16595            position: v.position.map(Into::into),
16596            public_input_port_count: v.public_input_port_count,
16597            public_output_port_count: v.public_output_port_count,
16598            running_count: v.running_count,
16599            stale_count: v.stale_count,
16600            stateless_flow_timeout: v.stateless_flow_timeout,
16601            stateless_group_scheduled_state: v.stateless_group_scheduled_state.map(|v| {
16602                serde_json::to_value(&v)
16603                    .ok()
16604                    .and_then(|v| v.as_str().map(|s| s.to_string()))
16605                    .unwrap_or_default()
16606            }),
16607            stopped_count: v.stopped_count,
16608            sync_failure_count: v.sync_failure_count,
16609            up_to_date_count: v.up_to_date_count,
16610            version_control_information: v.version_control_information.map(Into::into),
16611            versioned_component_id: v.versioned_component_id,
16612        }
16613    }
16614}
16615
16616impl From<crate::v2_8_0::types::ProcessGroupEntity> for super::types::ProcessGroupEntity {
16617    fn from(v: crate::v2_8_0::types::ProcessGroupEntity) -> Self {
16618        Self {
16619            active_remote_port_count: v.active_remote_port_count,
16620            bulletins: v
16621                .bulletins
16622                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16623            component: v.component.map(Into::into),
16624            disabled_count: v.disabled_count,
16625            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
16626            id: v.id,
16627            inactive_remote_port_count: v.inactive_remote_port_count,
16628            input_port_count: v.input_port_count,
16629            invalid_count: v.invalid_count,
16630            local_input_port_count: v.local_input_port_count,
16631            local_output_port_count: v.local_output_port_count,
16632            locally_modified_and_stale_count: v.locally_modified_and_stale_count,
16633            locally_modified_count: v.locally_modified_count,
16634            output_port_count: v.output_port_count,
16635            parameter_context: v.parameter_context.map(Into::into),
16636            permissions: v.permissions.map(Into::into),
16637            position: v.position.map(Into::into),
16638            process_group_update_strategy: v.process_group_update_strategy.map(|v| {
16639                serde_json::to_value(&v)
16640                    .ok()
16641                    .and_then(|v| v.as_str().map(|s| s.to_string()))
16642                    .unwrap_or_default()
16643            }),
16644            public_input_port_count: v.public_input_port_count,
16645            public_output_port_count: v.public_output_port_count,
16646            revision: v.revision.map(Into::into),
16647            running_count: v.running_count,
16648            stale_count: v.stale_count,
16649            status: v.status.map(Into::into),
16650            stopped_count: v.stopped_count,
16651            sync_failure_count: v.sync_failure_count,
16652            up_to_date_count: v.up_to_date_count,
16653            uri: v.uri,
16654            versioned_flow_snapshot: v.versioned_flow_snapshot.map(Into::into),
16655            versioned_flow_state: v.versioned_flow_state.map(|v| {
16656                serde_json::to_value(&v)
16657                    .ok()
16658                    .and_then(|v| v.as_str().map(|s| s.to_string()))
16659                    .unwrap_or_default()
16660            }),
16661        }
16662    }
16663}
16664
16665impl From<crate::v2_8_0::types::ProcessGroupFlowDto> for super::types::ProcessGroupFlowDto {
16666    fn from(v: crate::v2_8_0::types::ProcessGroupFlowDto) -> Self {
16667        Self {
16668            breadcrumb: v.breadcrumb.map(Into::into),
16669            flow: v.flow.map(Into::into),
16670            id: v.id,
16671            last_refreshed: v.last_refreshed,
16672            parameter_context: v.parameter_context.map(Into::into),
16673            parent_group_id: v.parent_group_id,
16674            uri: v.uri,
16675        }
16676    }
16677}
16678
16679impl From<crate::v2_8_0::types::ProcessGroupFlowEntity> for super::types::ProcessGroupFlowEntity {
16680    fn from(v: crate::v2_8_0::types::ProcessGroupFlowEntity) -> Self {
16681        Self {
16682            permissions: v.permissions.map(Into::into),
16683            process_group_flow: v.process_group_flow.map(Into::into),
16684            revision: v.revision.map(Into::into),
16685        }
16686    }
16687}
16688
16689impl From<crate::v2_8_0::types::ProcessGroupImportEntity>
16690    for super::types::ProcessGroupImportEntity
16691{
16692    fn from(v: crate::v2_8_0::types::ProcessGroupImportEntity) -> Self {
16693        Self {
16694            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
16695            process_group_revision: v.process_group_revision.map(Into::into),
16696            versioned_flow_snapshot: v.versioned_flow_snapshot.map(Into::into),
16697        }
16698    }
16699}
16700
16701impl From<crate::v2_8_0::types::ProcessGroupNameDto> for super::types::ProcessGroupNameDto {
16702    fn from(v: crate::v2_8_0::types::ProcessGroupNameDto) -> Self {
16703        Self {
16704            id: v.id,
16705            name: v.name,
16706        }
16707    }
16708}
16709
16710impl From<crate::v2_8_0::types::ProcessGroupReplaceRequestDto>
16711    for super::types::ProcessGroupReplaceRequestDto
16712{
16713    fn from(v: crate::v2_8_0::types::ProcessGroupReplaceRequestDto) -> Self {
16714        Self {
16715            complete: v.complete,
16716            failure_reason: v.failure_reason,
16717            last_updated: v.last_updated,
16718            percent_completed: v.percent_completed,
16719            process_group_id: v.process_group_id,
16720            request_id: v.request_id,
16721            state: v.state,
16722            uri: v.uri,
16723        }
16724    }
16725}
16726
16727impl From<crate::v2_8_0::types::ProcessGroupReplaceRequestEntity>
16728    for super::types::ProcessGroupReplaceRequestEntity
16729{
16730    fn from(v: crate::v2_8_0::types::ProcessGroupReplaceRequestEntity) -> Self {
16731        Self {
16732            process_group_revision: v.process_group_revision.map(Into::into),
16733            request: v.request.map(Into::into),
16734            versioned_flow_snapshot: v.versioned_flow_snapshot.map(Into::into),
16735        }
16736    }
16737}
16738
16739impl From<crate::v2_8_0::types::ProcessGroupStatusDto> for super::types::ProcessGroupStatusDto {
16740    fn from(v: crate::v2_8_0::types::ProcessGroupStatusDto) -> Self {
16741        Self {
16742            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
16743            id: v.id,
16744            name: v.name,
16745            node_snapshots: v
16746                .node_snapshots
16747                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16748            stats_last_refreshed: v.stats_last_refreshed,
16749        }
16750    }
16751}
16752
16753impl From<crate::v2_8_0::types::ProcessGroupStatusEntity>
16754    for super::types::ProcessGroupStatusEntity
16755{
16756    fn from(v: crate::v2_8_0::types::ProcessGroupStatusEntity) -> Self {
16757        Self {
16758            can_read: v.can_read,
16759            process_group_status: v.process_group_status.map(Into::into),
16760        }
16761    }
16762}
16763
16764impl From<crate::v2_8_0::types::ProcessGroupStatusSnapshotDto>
16765    for super::types::ProcessGroupStatusSnapshotDto
16766{
16767    fn from(v: crate::v2_8_0::types::ProcessGroupStatusSnapshotDto) -> Self {
16768        Self {
16769            active_thread_count: v.active_thread_count,
16770            bytes_in: v.bytes_in,
16771            bytes_out: v.bytes_out,
16772            bytes_queued: v.bytes_queued,
16773            bytes_read: v.bytes_read,
16774            bytes_received: v.bytes_received,
16775            bytes_sent: v.bytes_sent,
16776            bytes_transferred: v.bytes_transferred,
16777            bytes_written: v.bytes_written,
16778            connection_status_snapshots: v
16779                .connection_status_snapshots
16780                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16781            flow_files_in: v.flow_files_in,
16782            flow_files_out: v.flow_files_out,
16783            flow_files_queued: v.flow_files_queued,
16784            flow_files_received: v.flow_files_received,
16785            flow_files_sent: v.flow_files_sent,
16786            flow_files_transferred: v.flow_files_transferred,
16787            id: v.id,
16788            input: v.input,
16789            input_port_status_snapshots: v
16790                .input_port_status_snapshots
16791                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16792            name: v.name,
16793            output: v.output,
16794            output_port_status_snapshots: v
16795                .output_port_status_snapshots
16796                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16797            process_group_status_snapshots: v
16798                .process_group_status_snapshots
16799                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16800            processing_nanos: v.processing_nanos,
16801            processing_performance_status: v.processing_performance_status.map(Into::into),
16802            processor_status_snapshots: v
16803                .processor_status_snapshots
16804                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16805            queued: v.queued,
16806            queued_count: v.queued_count,
16807            queued_size: v.queued_size,
16808            read: v.read,
16809            received: v.received,
16810            remote_process_group_status_snapshots: v
16811                .remote_process_group_status_snapshots
16812                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16813            sent: v.sent,
16814            stateless_active_thread_count: v.stateless_active_thread_count,
16815            terminated_thread_count: v.terminated_thread_count,
16816            transferred: v.transferred,
16817            versioned_flow_state: v.versioned_flow_state.map(|v| {
16818                serde_json::to_value(&v)
16819                    .ok()
16820                    .and_then(|v| v.as_str().map(|s| s.to_string()))
16821                    .unwrap_or_default()
16822            }),
16823            written: v.written,
16824        }
16825    }
16826}
16827
16828impl From<crate::v2_8_0::types::ProcessGroupStatusSnapshotEntity>
16829    for super::types::ProcessGroupStatusSnapshotEntity
16830{
16831    fn from(v: crate::v2_8_0::types::ProcessGroupStatusSnapshotEntity) -> Self {
16832        Self {
16833            can_read: v.can_read,
16834            id: v.id,
16835            process_group_status_snapshot: v.process_group_status_snapshot.map(Into::into),
16836        }
16837    }
16838}
16839
16840impl From<crate::v2_8_0::types::ProcessGroupUploadEntity>
16841    for super::types::ProcessGroupUploadEntity
16842{
16843    fn from(v: crate::v2_8_0::types::ProcessGroupUploadEntity) -> Self {
16844        Self {
16845            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
16846            flow_snapshot: v.flow_snapshot.map(Into::into),
16847            group_id: v.group_id,
16848            group_name: v.group_name,
16849            position_d_t_o: v.position_d_t_o.map(Into::into),
16850            revision_d_t_o: v.revision_d_t_o.map(Into::into),
16851        }
16852    }
16853}
16854
16855impl From<crate::v2_8_0::types::ProcessGroupsEntity> for super::types::ProcessGroupsEntity {
16856    fn from(v: crate::v2_8_0::types::ProcessGroupsEntity) -> Self {
16857        Self {
16858            process_groups: v
16859                .process_groups
16860                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16861        }
16862    }
16863}
16864
16865impl From<crate::v2_8_0::types::ProcessingPerformanceStatusDto>
16866    for super::types::ProcessingPerformanceStatusDto
16867{
16868    fn from(v: crate::v2_8_0::types::ProcessingPerformanceStatusDto) -> Self {
16869        Self {
16870            content_read_duration: v.content_read_duration,
16871            content_write_duration: v.content_write_duration,
16872            cpu_duration: v.cpu_duration,
16873            garbage_collection_duration: v.garbage_collection_duration,
16874            identifier: v.identifier,
16875            session_commit_duration: v.session_commit_duration,
16876        }
16877    }
16878}
16879
16880impl From<crate::v2_8_0::types::ProcessorConfigDto> for super::types::ProcessorConfigDto {
16881    fn from(v: crate::v2_8_0::types::ProcessorConfigDto) -> Self {
16882        Self {
16883            annotation_data: v.annotation_data,
16884            auto_terminated_relationships: v.auto_terminated_relationships,
16885            backoff_mechanism: v.backoff_mechanism,
16886            bulletin_level: v.bulletin_level,
16887            comments: v.comments,
16888            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
16889            custom_ui_url: v.custom_ui_url,
16890            default_concurrent_tasks: v.default_concurrent_tasks,
16891            default_scheduling_period: v.default_scheduling_period,
16892            descriptors: v
16893                .descriptors
16894                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
16895            execution_node: v.execution_node,
16896            loss_tolerant: v.loss_tolerant,
16897            max_backoff_period: v.max_backoff_period,
16898            penalty_duration: v.penalty_duration,
16899            properties: v.properties,
16900            retried_relationships: v.retried_relationships,
16901            retry_count: v.retry_count,
16902            run_duration_millis: v.run_duration_millis,
16903            scheduling_period: v.scheduling_period,
16904            scheduling_strategy: v.scheduling_strategy,
16905            sensitive_dynamic_property_names: v.sensitive_dynamic_property_names,
16906            yield_duration: v.yield_duration,
16907        }
16908    }
16909}
16910
16911impl From<crate::v2_8_0::types::ProcessorConfiguration> for super::types::ProcessorConfiguration {
16912    fn from(v: crate::v2_8_0::types::ProcessorConfiguration) -> Self {
16913        Self {
16914            configuration: v.configuration,
16915            processor_class_name: v.processor_class_name,
16916        }
16917    }
16918}
16919
16920impl From<crate::v2_8_0::types::ProcessorDefinition> for super::types::ProcessorDefinition {
16921    fn from(v: crate::v2_8_0::types::ProcessorDefinition) -> Self {
16922        Self {
16923            additional_details: v.additional_details,
16924            artifact: v.artifact,
16925            build_info: v.build_info.map(Into::into),
16926            default_bulletin_level: v.default_bulletin_level,
16927            default_concurrent_tasks_by_scheduling_strategy: v
16928                .default_concurrent_tasks_by_scheduling_strategy,
16929            default_penalty_duration: v.default_penalty_duration,
16930            default_scheduling_period_by_scheduling_strategy: v
16931                .default_scheduling_period_by_scheduling_strategy,
16932            default_scheduling_strategy: v.default_scheduling_strategy,
16933            default_yield_duration: v.default_yield_duration,
16934            deprecated: v.deprecated,
16935            deprecation_alternatives: v.deprecation_alternatives,
16936            deprecation_reason: v.deprecation_reason,
16937            dynamic_properties: v
16938                .dynamic_properties
16939                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16940            dynamic_relationship: v.dynamic_relationship.map(Into::into),
16941            explicit_restrictions: v
16942                .explicit_restrictions
16943                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16944            group: v.group,
16945            input_requirement: v.input_requirement.map(|v| {
16946                serde_json::to_value(&v)
16947                    .ok()
16948                    .and_then(|v| v.as_str().map(|s| s.to_string()))
16949                    .unwrap_or_default()
16950            }),
16951            multi_processor_use_cases: v
16952                .multi_processor_use_cases
16953                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16954            primary_node_only: v.primary_node_only,
16955            property_descriptors: v
16956                .property_descriptors
16957                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
16958            provided_api_implementations: v
16959                .provided_api_implementations
16960                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16961            reads_attributes: v
16962                .reads_attributes
16963                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16964            restricted: v.restricted,
16965            restricted_explanation: v.restricted_explanation,
16966            see_also: v.see_also,
16967            side_effect_free: v.side_effect_free,
16968            stateful: v.stateful.map(Into::into),
16969            supported_relationships: v
16970                .supported_relationships
16971                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16972            supported_scheduling_strategies: v.supported_scheduling_strategies,
16973            supports_batching: v.supports_batching,
16974            supports_dynamic_properties: v.supports_dynamic_properties,
16975            supports_dynamic_relationships: v.supports_dynamic_relationships,
16976            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
16977            system_resource_considerations: v
16978                .system_resource_considerations
16979                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16980            tags: v.tags,
16981            trigger_serially: v.trigger_serially,
16982            trigger_when_any_destination_available: v.trigger_when_any_destination_available,
16983            trigger_when_empty: v.trigger_when_empty,
16984            r#type: v.r#type,
16985            type_description: v.type_description,
16986            use_cases: v
16987                .use_cases
16988                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16989            version: v.version,
16990            writes_attributes: v
16991                .writes_attributes
16992                .map(|v| v.into_iter().map(|v| v.into()).collect()),
16993        }
16994    }
16995}
16996
16997impl From<crate::v2_8_0::types::ProcessorDto> for super::types::ProcessorDto {
16998    fn from(v: crate::v2_8_0::types::ProcessorDto) -> Self {
16999        Self {
17000            bundle: v.bundle.map(Into::into),
17001            config: v.config.map(Into::into),
17002            deprecated: v.deprecated,
17003            description: v.description,
17004            execution_node_restricted: v.execution_node_restricted,
17005            extension_missing: v.extension_missing,
17006            id: v.id,
17007            input_requirement: v.input_requirement,
17008            multiple_versions_available: v.multiple_versions_available,
17009            name: v.name,
17010            parent_group_id: v.parent_group_id,
17011            persists_state: v.persists_state,
17012            physical_state: v.physical_state.map(|v| {
17013                serde_json::to_value(&v)
17014                    .ok()
17015                    .and_then(|v| v.as_str().map(|s| s.to_string()))
17016                    .unwrap_or_default()
17017            }),
17018            position: v.position.map(Into::into),
17019            relationships: v
17020                .relationships
17021                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17022            restricted: v.restricted,
17023            state: v.state.map(|v| {
17024                serde_json::to_value(&v)
17025                    .ok()
17026                    .and_then(|v| v.as_str().map(|s| s.to_string()))
17027                    .unwrap_or_default()
17028            }),
17029            style: v.style,
17030            supports_batching: v.supports_batching,
17031            supports_parallel_processing: v.supports_parallel_processing,
17032            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
17033            r#type: v.r#type,
17034            validation_errors: v.validation_errors,
17035            validation_status: v.validation_status.map(|v| {
17036                serde_json::to_value(&v)
17037                    .ok()
17038                    .and_then(|v| v.as_str().map(|s| s.to_string()))
17039                    .unwrap_or_default()
17040            }),
17041            versioned_component_id: v.versioned_component_id,
17042        }
17043    }
17044}
17045
17046impl From<crate::v2_8_0::types::ProcessorEntity> for super::types::ProcessorEntity {
17047    fn from(v: crate::v2_8_0::types::ProcessorEntity) -> Self {
17048        Self {
17049            bulletins: v
17050                .bulletins
17051                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17052            component: v.component.map(Into::into),
17053            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
17054            id: v.id,
17055            input_requirement: v.input_requirement,
17056            operate_permissions: v.operate_permissions.map(Into::into),
17057            permissions: v.permissions.map(Into::into),
17058            physical_state: v.physical_state.map(|v| {
17059                serde_json::to_value(&v)
17060                    .ok()
17061                    .and_then(|v| v.as_str().map(|s| s.to_string()))
17062                    .unwrap_or_default()
17063            }),
17064            position: v.position.map(Into::into),
17065            revision: v.revision.map(Into::into),
17066            status: v.status.map(Into::into),
17067            uri: v.uri,
17068        }
17069    }
17070}
17071
17072impl From<crate::v2_8_0::types::ProcessorRunStatusDetailsDto>
17073    for super::types::ProcessorRunStatusDetailsDto
17074{
17075    fn from(v: crate::v2_8_0::types::ProcessorRunStatusDetailsDto) -> Self {
17076        Self {
17077            active_thread_count: v.active_thread_count,
17078            id: v.id,
17079            name: v.name,
17080            run_status: v.run_status.map(|v| {
17081                serde_json::to_value(&v)
17082                    .ok()
17083                    .and_then(|v| v.as_str().map(|s| s.to_string()))
17084                    .unwrap_or_default()
17085            }),
17086            validation_errors: v.validation_errors,
17087        }
17088    }
17089}
17090
17091impl From<crate::v2_8_0::types::ProcessorRunStatusDetailsEntity>
17092    for super::types::ProcessorRunStatusDetailsEntity
17093{
17094    fn from(v: crate::v2_8_0::types::ProcessorRunStatusDetailsEntity) -> Self {
17095        Self {
17096            permissions: v.permissions.map(Into::into),
17097            revision: v.revision.map(Into::into),
17098            run_status_details: v.run_status_details.map(Into::into),
17099        }
17100    }
17101}
17102
17103impl From<crate::v2_8_0::types::ProcessorRunStatusEntity>
17104    for super::types::ProcessorRunStatusEntity
17105{
17106    fn from(v: crate::v2_8_0::types::ProcessorRunStatusEntity) -> Self {
17107        Self {
17108            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
17109            revision: v.revision.map(Into::into),
17110            state: v.state.map(|v| {
17111                serde_json::to_value(&v)
17112                    .ok()
17113                    .and_then(|v| v.as_str().map(|s| s.to_string()))
17114                    .unwrap_or_default()
17115            }),
17116        }
17117    }
17118}
17119
17120impl From<crate::v2_8_0::types::ProcessorStatusDto> for super::types::ProcessorStatusDto {
17121    fn from(v: crate::v2_8_0::types::ProcessorStatusDto) -> Self {
17122        Self {
17123            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
17124            group_id: v.group_id,
17125            id: v.id,
17126            name: v.name,
17127            node_snapshots: v
17128                .node_snapshots
17129                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17130            run_status: v.run_status.map(|v| {
17131                serde_json::to_value(&v)
17132                    .ok()
17133                    .and_then(|v| v.as_str().map(|s| s.to_string()))
17134                    .unwrap_or_default()
17135            }),
17136            stats_last_refreshed: v.stats_last_refreshed,
17137            r#type: v.r#type,
17138        }
17139    }
17140}
17141
17142impl From<crate::v2_8_0::types::ProcessorStatusEntity> for super::types::ProcessorStatusEntity {
17143    fn from(v: crate::v2_8_0::types::ProcessorStatusEntity) -> Self {
17144        Self {
17145            can_read: v.can_read,
17146            processor_status: v.processor_status.map(Into::into),
17147        }
17148    }
17149}
17150
17151impl From<crate::v2_8_0::types::ProcessorStatusSnapshotDto>
17152    for super::types::ProcessorStatusSnapshotDto
17153{
17154    fn from(v: crate::v2_8_0::types::ProcessorStatusSnapshotDto) -> Self {
17155        Self {
17156            active_thread_count: v.active_thread_count,
17157            bytes_in: v.bytes_in,
17158            bytes_out: v.bytes_out,
17159            bytes_read: v.bytes_read,
17160            bytes_written: v.bytes_written,
17161            execution_node: v.execution_node.map(|v| {
17162                serde_json::to_value(&v)
17163                    .ok()
17164                    .and_then(|v| v.as_str().map(|s| s.to_string()))
17165                    .unwrap_or_default()
17166            }),
17167            flow_files_in: v.flow_files_in,
17168            flow_files_out: v.flow_files_out,
17169            group_id: v.group_id,
17170            id: v.id,
17171            input: v.input,
17172            name: v.name,
17173            output: v.output,
17174            processing_performance_status: v.processing_performance_status.map(Into::into),
17175            read: v.read,
17176            run_status: v.run_status.map(|v| {
17177                serde_json::to_value(&v)
17178                    .ok()
17179                    .and_then(|v| v.as_str().map(|s| s.to_string()))
17180                    .unwrap_or_default()
17181            }),
17182            task_count: v.task_count,
17183            tasks: v.tasks,
17184            tasks_duration: v.tasks_duration,
17185            tasks_duration_nanos: v.tasks_duration_nanos,
17186            terminated_thread_count: v.terminated_thread_count,
17187            r#type: v.r#type,
17188            written: v.written,
17189        }
17190    }
17191}
17192
17193impl From<crate::v2_8_0::types::ProcessorStatusSnapshotEntity>
17194    for super::types::ProcessorStatusSnapshotEntity
17195{
17196    fn from(v: crate::v2_8_0::types::ProcessorStatusSnapshotEntity) -> Self {
17197        Self {
17198            can_read: v.can_read,
17199            id: v.id,
17200            processor_status_snapshot: v.processor_status_snapshot.map(Into::into),
17201        }
17202    }
17203}
17204
17205impl From<crate::v2_8_0::types::ProcessorTypesEntity> for super::types::ProcessorTypesEntity {
17206    fn from(v: crate::v2_8_0::types::ProcessorTypesEntity) -> Self {
17207        Self {
17208            processor_types: v
17209                .processor_types
17210                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17211        }
17212    }
17213}
17214
17215impl From<crate::v2_8_0::types::ProcessorsEntity> for super::types::ProcessorsEntity {
17216    fn from(v: crate::v2_8_0::types::ProcessorsEntity) -> Self {
17217        Self {
17218            processors: v
17219                .processors
17220                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17221        }
17222    }
17223}
17224
17225impl From<crate::v2_8_0::types::ProcessorsRunStatusDetailsEntity>
17226    for super::types::ProcessorsRunStatusDetailsEntity
17227{
17228    fn from(v: crate::v2_8_0::types::ProcessorsRunStatusDetailsEntity) -> Self {
17229        Self {
17230            run_status_details: v
17231                .run_status_details
17232                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17233        }
17234    }
17235}
17236
17237impl From<crate::v2_8_0::types::PropertyAllowableValue> for super::types::PropertyAllowableValue {
17238    fn from(v: crate::v2_8_0::types::PropertyAllowableValue) -> Self {
17239        Self {
17240            description: v.description,
17241            display_name: v.display_name,
17242            value: v.value,
17243        }
17244    }
17245}
17246
17247impl From<crate::v2_8_0::types::PropertyDependency> for super::types::PropertyDependency {
17248    fn from(v: crate::v2_8_0::types::PropertyDependency) -> Self {
17249        Self {
17250            dependent_values: v.dependent_values,
17251            property_display_name: v.property_display_name,
17252            property_name: v.property_name,
17253        }
17254    }
17255}
17256
17257impl From<crate::v2_8_0::types::PropertyDependencyDto> for super::types::PropertyDependencyDto {
17258    fn from(v: crate::v2_8_0::types::PropertyDependencyDto) -> Self {
17259        Self {
17260            dependent_values: v.dependent_values,
17261            property_name: v.property_name,
17262        }
17263    }
17264}
17265
17266impl From<crate::v2_8_0::types::PropertyDescriptor> for super::types::PropertyDescriptor {
17267    fn from(v: crate::v2_8_0::types::PropertyDescriptor) -> Self {
17268        Self {
17269            allowable_values: v
17270                .allowable_values
17271                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17272            default_value: v.default_value,
17273            dependencies: v
17274                .dependencies
17275                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17276            description: v.description,
17277            display_name: v.display_name,
17278            dynamic: v.dynamic,
17279            expression_language_scope: v.expression_language_scope.map(|v| {
17280                serde_json::to_value(&v)
17281                    .ok()
17282                    .and_then(|v| v.as_str().map(|s| s.to_string()))
17283                    .unwrap_or_default()
17284            }),
17285            expression_language_scope_description: v.expression_language_scope_description,
17286            listen_port_definition: v.listen_port_definition.map(Into::into),
17287            name: v.name,
17288            required: v.required,
17289            resource_definition: v.resource_definition.map(Into::into),
17290            sensitive: v.sensitive,
17291            type_provided_by_value: v.type_provided_by_value.map(Into::into),
17292            valid_regex: v.valid_regex,
17293            validator: v.validator,
17294        }
17295    }
17296}
17297
17298impl From<crate::v2_8_0::types::PropertyDescriptorDto> for super::types::PropertyDescriptorDto {
17299    fn from(v: crate::v2_8_0::types::PropertyDescriptorDto) -> Self {
17300        Self {
17301            allowable_values: v
17302                .allowable_values
17303                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17304            default_value: v.default_value,
17305            dependencies: v
17306                .dependencies
17307                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17308            description: v.description,
17309            display_name: v.display_name,
17310            dynamic: v.dynamic,
17311            expression_language_scope: v.expression_language_scope,
17312            identifies_controller_service: v.identifies_controller_service,
17313            identifies_controller_service_bundle: v
17314                .identifies_controller_service_bundle
17315                .map(Into::into),
17316            name: v.name,
17317            required: v.required,
17318            sensitive: v.sensitive,
17319            supports_el: v.supports_el,
17320        }
17321    }
17322}
17323
17324impl From<crate::v2_8_0::types::PropertyDescriptorEntity>
17325    for super::types::PropertyDescriptorEntity
17326{
17327    fn from(v: crate::v2_8_0::types::PropertyDescriptorEntity) -> Self {
17328        Self {
17329            property_descriptor: Some(v.property_descriptor.unwrap_or_default().into()),
17330        }
17331    }
17332}
17333
17334impl From<crate::v2_8_0::types::PropertyHistoryDto> for super::types::PropertyHistoryDto {
17335    fn from(v: crate::v2_8_0::types::PropertyHistoryDto) -> Self {
17336        Self {
17337            previous_values: v
17338                .previous_values
17339                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17340        }
17341    }
17342}
17343
17344impl From<crate::v2_8_0::types::PropertyListenPortDefinition>
17345    for super::types::PropertyListenPortDefinition
17346{
17347    fn from(v: crate::v2_8_0::types::PropertyListenPortDefinition) -> Self {
17348        Self {
17349            application_protocols: v.application_protocols,
17350            transport_protocol: v.transport_protocol.map(|v| {
17351                serde_json::to_value(&v)
17352                    .ok()
17353                    .and_then(|v| v.as_str().map(|s| s.to_string()))
17354                    .unwrap_or_default()
17355            }),
17356        }
17357    }
17358}
17359
17360impl From<crate::v2_8_0::types::PropertyResourceDefinition>
17361    for super::types::PropertyResourceDefinition
17362{
17363    fn from(v: crate::v2_8_0::types::PropertyResourceDefinition) -> Self {
17364        Self {
17365            cardinality: v.cardinality.map(|v| {
17366                serde_json::to_value(&v)
17367                    .ok()
17368                    .and_then(|v| v.as_str().map(|s| s.to_string()))
17369                    .unwrap_or_default()
17370            }),
17371            resource_types: v.resource_types.map(|v| {
17372                v.into_iter()
17373                    .map(|v| {
17374                        serde_json::to_value(&v)
17375                            .ok()
17376                            .and_then(|v| v.as_str().map(|s| s.to_string()))
17377                            .unwrap_or_default()
17378                    })
17379                    .collect()
17380            }),
17381        }
17382    }
17383}
17384
17385impl From<crate::v2_8_0::types::ProvenanceDto> for super::types::ProvenanceDto {
17386    fn from(v: crate::v2_8_0::types::ProvenanceDto) -> Self {
17387        Self {
17388            expiration: v.expiration,
17389            finished: v.finished,
17390            id: v.id,
17391            percent_completed: v.percent_completed,
17392            request: v.request.map(Into::into),
17393            results: v.results.map(Into::into),
17394            submission_time: v.submission_time,
17395            uri: v.uri,
17396        }
17397    }
17398}
17399
17400impl From<crate::v2_8_0::types::ProvenanceEntity> for super::types::ProvenanceEntity {
17401    fn from(v: crate::v2_8_0::types::ProvenanceEntity) -> Self {
17402        Self {
17403            provenance: Some(v.provenance.unwrap_or_default().into()),
17404        }
17405    }
17406}
17407
17408impl From<crate::v2_8_0::types::ProvenanceEventDto> for super::types::ProvenanceEventDto {
17409    fn from(v: crate::v2_8_0::types::ProvenanceEventDto) -> Self {
17410        Self {
17411            alternate_identifier_uri: v.alternate_identifier_uri,
17412            attributes: v
17413                .attributes
17414                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17415            child_uuids: v.child_uuids,
17416            cluster_node_address: v.cluster_node_address,
17417            cluster_node_id: v.cluster_node_id,
17418            component_id: v.component_id,
17419            component_name: v.component_name,
17420            component_type: v.component_type,
17421            content_equal: v.content_equal,
17422            details: v.details,
17423            event_duration: v.event_duration,
17424            event_id: v.event_id,
17425            event_time: v.event_time,
17426            event_timestamp: v.event_timestamp,
17427            event_type: v.event_type,
17428            file_size: v.file_size,
17429            file_size_bytes: v.file_size_bytes,
17430            flow_file_uuid: v.flow_file_uuid,
17431            group_id: v.group_id,
17432            id: v.id,
17433            input_content_available: v.input_content_available,
17434            input_content_claim_container: v.input_content_claim_container,
17435            input_content_claim_file_size: v.input_content_claim_file_size,
17436            input_content_claim_file_size_bytes: v.input_content_claim_file_size_bytes,
17437            input_content_claim_identifier: v.input_content_claim_identifier,
17438            input_content_claim_offset: v.input_content_claim_offset,
17439            input_content_claim_section: v.input_content_claim_section,
17440            lineage_duration: v.lineage_duration,
17441            output_content_available: v.output_content_available,
17442            output_content_claim_container: v.output_content_claim_container,
17443            output_content_claim_file_size: v.output_content_claim_file_size,
17444            output_content_claim_file_size_bytes: v.output_content_claim_file_size_bytes,
17445            output_content_claim_identifier: v.output_content_claim_identifier,
17446            output_content_claim_offset: v.output_content_claim_offset,
17447            output_content_claim_section: v.output_content_claim_section,
17448            parent_uuids: v.parent_uuids,
17449            relationship: v.relationship,
17450            replay_available: v.replay_available,
17451            replay_explanation: v.replay_explanation,
17452            source_connection_identifier: v.source_connection_identifier,
17453            source_system_flow_file_id: v.source_system_flow_file_id,
17454            transit_uri: v.transit_uri,
17455        }
17456    }
17457}
17458
17459impl From<crate::v2_8_0::types::ProvenanceEventEntity> for super::types::ProvenanceEventEntity {
17460    fn from(v: crate::v2_8_0::types::ProvenanceEventEntity) -> Self {
17461        Self {
17462            provenance_event: Some(v.provenance_event.unwrap_or_default().into()),
17463        }
17464    }
17465}
17466
17467impl From<crate::v2_8_0::types::ProvenanceLinkDto> for super::types::ProvenanceLinkDto {
17468    fn from(v: crate::v2_8_0::types::ProvenanceLinkDto) -> Self {
17469        Self {
17470            flow_file_uuid: v.flow_file_uuid,
17471            millis: v.millis,
17472            source_id: v.source_id,
17473            target_id: v.target_id,
17474            timestamp: v.timestamp,
17475        }
17476    }
17477}
17478
17479impl From<crate::v2_8_0::types::ProvenanceNodeDto> for super::types::ProvenanceNodeDto {
17480    fn from(v: crate::v2_8_0::types::ProvenanceNodeDto) -> Self {
17481        Self {
17482            child_uuids: v.child_uuids,
17483            cluster_node_identifier: v.cluster_node_identifier,
17484            component_type: v.component_type,
17485            event_type: v.event_type,
17486            flow_file_uuid: v.flow_file_uuid,
17487            id: v.id,
17488            millis: v.millis,
17489            parent_uuids: v.parent_uuids,
17490            timestamp: v.timestamp,
17491            r#type: v.r#type.map(|v| {
17492                serde_json::to_value(&v)
17493                    .ok()
17494                    .and_then(|v| v.as_str().map(|s| s.to_string()))
17495                    .unwrap_or_default()
17496            }),
17497        }
17498    }
17499}
17500
17501impl From<crate::v2_8_0::types::ProvenanceOptionsDto> for super::types::ProvenanceOptionsDto {
17502    fn from(v: crate::v2_8_0::types::ProvenanceOptionsDto) -> Self {
17503        Self {
17504            searchable_fields: v
17505                .searchable_fields
17506                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17507        }
17508    }
17509}
17510
17511impl From<crate::v2_8_0::types::ProvenanceOptionsEntity> for super::types::ProvenanceOptionsEntity {
17512    fn from(v: crate::v2_8_0::types::ProvenanceOptionsEntity) -> Self {
17513        Self {
17514            provenance_options: Some(v.provenance_options.unwrap_or_default().into()),
17515        }
17516    }
17517}
17518
17519impl From<crate::v2_8_0::types::ProvenanceRequestDto> for super::types::ProvenanceRequestDto {
17520    fn from(v: crate::v2_8_0::types::ProvenanceRequestDto) -> Self {
17521        Self {
17522            cluster_node_id: v.cluster_node_id,
17523            end_date: v.end_date,
17524            incremental_results: v.incremental_results,
17525            max_results: v.max_results,
17526            maximum_file_size: v.maximum_file_size,
17527            minimum_file_size: v.minimum_file_size,
17528            search_terms: v
17529                .search_terms
17530                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
17531            start_date: v.start_date,
17532            summarize: v.summarize,
17533        }
17534    }
17535}
17536
17537impl From<crate::v2_8_0::types::ProvenanceResultsDto> for super::types::ProvenanceResultsDto {
17538    fn from(v: crate::v2_8_0::types::ProvenanceResultsDto) -> Self {
17539        Self {
17540            errors: v.errors,
17541            generated: v.generated,
17542            oldest_event: v.oldest_event,
17543            provenance_events: v
17544                .provenance_events
17545                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17546            time_offset: v.time_offset,
17547            total: v.total,
17548            total_count: v.total_count,
17549        }
17550    }
17551}
17552
17553impl From<crate::v2_8_0::types::ProvenanceSearchValueDto>
17554    for super::types::ProvenanceSearchValueDto
17555{
17556    fn from(v: crate::v2_8_0::types::ProvenanceSearchValueDto) -> Self {
17557        Self {
17558            inverse: v.inverse,
17559            value: v.value,
17560        }
17561    }
17562}
17563
17564impl From<crate::v2_8_0::types::ProvenanceSearchableFieldDto>
17565    for super::types::ProvenanceSearchableFieldDto
17566{
17567    fn from(v: crate::v2_8_0::types::ProvenanceSearchableFieldDto) -> Self {
17568        Self {
17569            field: v.field,
17570            id: v.id,
17571            label: v.label,
17572            r#type: v.r#type,
17573        }
17574    }
17575}
17576
17577impl From<crate::v2_8_0::types::QueueSizeDto> for super::types::QueueSizeDto {
17578    fn from(v: crate::v2_8_0::types::QueueSizeDto) -> Self {
17579        Self {
17580            byte_count: v.byte_count,
17581            object_count: v.object_count,
17582        }
17583    }
17584}
17585
17586impl From<crate::v2_8_0::types::RegisteredFlow> for super::types::RegisteredFlow {
17587    fn from(v: crate::v2_8_0::types::RegisteredFlow) -> Self {
17588        Self {
17589            branch: v.branch,
17590            bucket_identifier: v.bucket_identifier,
17591            bucket_name: v.bucket_name,
17592            created_timestamp: v.created_timestamp,
17593            description: v.description,
17594            identifier: v.identifier,
17595            last_modified_timestamp: v.last_modified_timestamp,
17596            name: v.name,
17597            permissions: v.permissions.map(Into::into),
17598            version_count: v.version_count,
17599            version_info: v.version_info.map(Into::into),
17600        }
17601    }
17602}
17603
17604impl From<crate::v2_8_0::types::RegisteredFlowSnapshot> for super::types::RegisteredFlowSnapshot {
17605    fn from(v: crate::v2_8_0::types::RegisteredFlowSnapshot) -> Self {
17606        Self {
17607            bucket: v.bucket.map(Into::into),
17608            external_controller_services: v
17609                .external_controller_services
17610                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
17611            flow: v.flow.map(Into::into),
17612            flow_contents: v.flow_contents.map(Into::into),
17613            flow_encoding_version: v.flow_encoding_version,
17614            latest: v.latest,
17615            parameter_contexts: v
17616                .parameter_contexts
17617                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
17618            parameter_providers: v
17619                .parameter_providers
17620                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
17621            snapshot_metadata: v.snapshot_metadata.map(Into::into),
17622        }
17623    }
17624}
17625
17626impl From<crate::v2_8_0::types::RegisteredFlowSnapshotMetadata>
17627    for super::types::RegisteredFlowSnapshotMetadata
17628{
17629    fn from(v: crate::v2_8_0::types::RegisteredFlowSnapshotMetadata) -> Self {
17630        Self {
17631            author: v.author,
17632            branch: v.branch,
17633            bucket_identifier: v.bucket_identifier,
17634            comments: v.comments,
17635            flow_identifier: v.flow_identifier,
17636            flow_name: v.flow_name,
17637            registry_identifier: v.registry_identifier,
17638            registry_name: v.registry_name,
17639            timestamp: v.timestamp,
17640            version: v.version,
17641        }
17642    }
17643}
17644
17645impl From<crate::v2_8_0::types::RegisteredFlowVersionInfo>
17646    for super::types::RegisteredFlowVersionInfo
17647{
17648    fn from(v: crate::v2_8_0::types::RegisteredFlowVersionInfo) -> Self {
17649        Self { version: v.version }
17650    }
17651}
17652
17653impl From<crate::v2_8_0::types::Relationship> for super::types::Relationship {
17654    fn from(v: crate::v2_8_0::types::Relationship) -> Self {
17655        Self {
17656            description: v.description,
17657            name: v.name,
17658        }
17659    }
17660}
17661
17662impl From<crate::v2_8_0::types::RelationshipDto> for super::types::RelationshipDto {
17663    fn from(v: crate::v2_8_0::types::RelationshipDto) -> Self {
17664        Self {
17665            auto_terminate: v.auto_terminate,
17666            description: v.description,
17667            name: v.name,
17668            retry: v.retry,
17669        }
17670    }
17671}
17672
17673impl From<crate::v2_8_0::types::RemotePortRunStatusEntity>
17674    for super::types::RemotePortRunStatusEntity
17675{
17676    fn from(v: crate::v2_8_0::types::RemotePortRunStatusEntity) -> Self {
17677        Self {
17678            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
17679            revision: v.revision.map(Into::into),
17680            state: v.state.map(|v| {
17681                serde_json::to_value(&v)
17682                    .ok()
17683                    .and_then(|v| v.as_str().map(|s| s.to_string()))
17684                    .unwrap_or_default()
17685            }),
17686        }
17687    }
17688}
17689
17690impl From<crate::v2_8_0::types::RemoteProcessGroupContentsDto>
17691    for super::types::RemoteProcessGroupContentsDto
17692{
17693    fn from(v: crate::v2_8_0::types::RemoteProcessGroupContentsDto) -> Self {
17694        Self {
17695            input_ports: v
17696                .input_ports
17697                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17698            output_ports: v
17699                .output_ports
17700                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17701        }
17702    }
17703}
17704
17705impl From<crate::v2_8_0::types::RemoteProcessGroupDto> for super::types::RemoteProcessGroupDto {
17706    fn from(v: crate::v2_8_0::types::RemoteProcessGroupDto) -> Self {
17707        Self {
17708            active_remote_input_port_count: v.active_remote_input_port_count,
17709            active_remote_output_port_count: v.active_remote_output_port_count,
17710            authorization_issues: v.authorization_issues,
17711            comments: v.comments,
17712            communications_timeout: v.communications_timeout,
17713            contents: v.contents.map(Into::into),
17714            flow_refreshed: v.flow_refreshed,
17715            id: v.id,
17716            inactive_remote_input_port_count: v.inactive_remote_input_port_count,
17717            inactive_remote_output_port_count: v.inactive_remote_output_port_count,
17718            input_port_count: v.input_port_count,
17719            local_network_interface: v.local_network_interface,
17720            name: v.name,
17721            output_port_count: v.output_port_count,
17722            parent_group_id: v.parent_group_id,
17723            position: v.position.map(Into::into),
17724            proxy_host: v.proxy_host,
17725            proxy_password: v.proxy_password,
17726            proxy_port: v.proxy_port,
17727            proxy_user: v.proxy_user,
17728            target_secure: v.target_secure,
17729            target_uri: v.target_uri,
17730            target_uris: v.target_uris,
17731            transmitting: v.transmitting,
17732            transport_protocol: v.transport_protocol,
17733            validation_errors: v.validation_errors,
17734            versioned_component_id: v.versioned_component_id,
17735            yield_duration: v.yield_duration,
17736        }
17737    }
17738}
17739
17740impl From<crate::v2_8_0::types::RemoteProcessGroupEntity>
17741    for super::types::RemoteProcessGroupEntity
17742{
17743    fn from(v: crate::v2_8_0::types::RemoteProcessGroupEntity) -> Self {
17744        Self {
17745            bulletins: v
17746                .bulletins
17747                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17748            component: v.component.map(Into::into),
17749            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
17750            id: v.id,
17751            input_port_count: v.input_port_count,
17752            operate_permissions: v.operate_permissions.map(Into::into),
17753            output_port_count: v.output_port_count,
17754            permissions: v.permissions.map(Into::into),
17755            position: v.position.map(Into::into),
17756            revision: v.revision.map(Into::into),
17757            status: v.status.map(Into::into),
17758            uri: v.uri,
17759        }
17760    }
17761}
17762
17763impl From<crate::v2_8_0::types::RemoteProcessGroupPortDto>
17764    for super::types::RemoteProcessGroupPortDto
17765{
17766    fn from(v: crate::v2_8_0::types::RemoteProcessGroupPortDto) -> Self {
17767        Self {
17768            batch_settings: v.batch_settings.map(Into::into),
17769            comments: v.comments,
17770            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
17771            connected: v.connected,
17772            exists: v.exists,
17773            group_id: v.group_id,
17774            id: v.id,
17775            name: v.name,
17776            target_id: v.target_id,
17777            target_running: v.target_running,
17778            transmitting: v.transmitting,
17779            use_compression: v.use_compression,
17780            versioned_component_id: v.versioned_component_id,
17781        }
17782    }
17783}
17784
17785impl From<crate::v2_8_0::types::RemoteProcessGroupPortEntity>
17786    for super::types::RemoteProcessGroupPortEntity
17787{
17788    fn from(v: crate::v2_8_0::types::RemoteProcessGroupPortEntity) -> Self {
17789        Self {
17790            bulletins: v
17791                .bulletins
17792                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17793            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
17794            id: v.id,
17795            operate_permissions: v.operate_permissions.map(Into::into),
17796            permissions: v.permissions.map(Into::into),
17797            position: v.position.map(Into::into),
17798            remote_process_group_port: v.remote_process_group_port.map(Into::into),
17799            revision: v.revision.map(Into::into),
17800            uri: v.uri,
17801        }
17802    }
17803}
17804
17805impl From<crate::v2_8_0::types::RemoteProcessGroupStatusDto>
17806    for super::types::RemoteProcessGroupStatusDto
17807{
17808    fn from(v: crate::v2_8_0::types::RemoteProcessGroupStatusDto) -> Self {
17809        Self {
17810            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
17811            group_id: v.group_id,
17812            id: v.id,
17813            name: v.name,
17814            node_snapshots: v
17815                .node_snapshots
17816                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17817            stats_last_refreshed: v.stats_last_refreshed,
17818            target_uri: v.target_uri,
17819            transmission_status: v.transmission_status,
17820            validation_status: v.validation_status.map(|v| {
17821                serde_json::to_value(&v)
17822                    .ok()
17823                    .and_then(|v| v.as_str().map(|s| s.to_string()))
17824                    .unwrap_or_default()
17825            }),
17826        }
17827    }
17828}
17829
17830impl From<crate::v2_8_0::types::RemoteProcessGroupStatusEntity>
17831    for super::types::RemoteProcessGroupStatusEntity
17832{
17833    fn from(v: crate::v2_8_0::types::RemoteProcessGroupStatusEntity) -> Self {
17834        Self {
17835            can_read: v.can_read,
17836            remote_process_group_status: v.remote_process_group_status.map(Into::into),
17837        }
17838    }
17839}
17840
17841impl From<crate::v2_8_0::types::RemoteProcessGroupStatusSnapshotDto>
17842    for super::types::RemoteProcessGroupStatusSnapshotDto
17843{
17844    fn from(v: crate::v2_8_0::types::RemoteProcessGroupStatusSnapshotDto) -> Self {
17845        Self {
17846            active_thread_count: v.active_thread_count,
17847            bytes_received: v.bytes_received,
17848            bytes_sent: v.bytes_sent,
17849            flow_files_received: v.flow_files_received,
17850            flow_files_sent: v.flow_files_sent,
17851            group_id: v.group_id,
17852            id: v.id,
17853            name: v.name,
17854            received: v.received,
17855            sent: v.sent,
17856            target_uri: v.target_uri,
17857            transmission_status: v.transmission_status,
17858        }
17859    }
17860}
17861
17862impl From<crate::v2_8_0::types::RemoteProcessGroupStatusSnapshotEntity>
17863    for super::types::RemoteProcessGroupStatusSnapshotEntity
17864{
17865    fn from(v: crate::v2_8_0::types::RemoteProcessGroupStatusSnapshotEntity) -> Self {
17866        Self {
17867            can_read: v.can_read,
17868            id: v.id,
17869            remote_process_group_status_snapshot: v
17870                .remote_process_group_status_snapshot
17871                .map(Into::into),
17872        }
17873    }
17874}
17875
17876impl From<crate::v2_8_0::types::RemoteProcessGroupsEntity>
17877    for super::types::RemoteProcessGroupsEntity
17878{
17879    fn from(v: crate::v2_8_0::types::RemoteProcessGroupsEntity) -> Self {
17880        Self {
17881            remote_process_groups: v
17882                .remote_process_groups
17883                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17884        }
17885    }
17886}
17887
17888impl From<crate::v2_8_0::types::ReplayLastEventRequestEntity>
17889    for super::types::ReplayLastEventRequestEntity
17890{
17891    fn from(v: crate::v2_8_0::types::ReplayLastEventRequestEntity) -> Self {
17892        Self {
17893            component_id: v.component_id,
17894            nodes: v.nodes.map(|v| {
17895                serde_json::to_value(&v)
17896                    .ok()
17897                    .and_then(|v| v.as_str().map(|s| s.to_string()))
17898                    .unwrap_or_default()
17899            }),
17900        }
17901    }
17902}
17903
17904impl From<crate::v2_8_0::types::ReplayLastEventResponseEntity>
17905    for super::types::ReplayLastEventResponseEntity
17906{
17907    fn from(v: crate::v2_8_0::types::ReplayLastEventResponseEntity) -> Self {
17908        Self {
17909            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
17910            component_id: v.component_id,
17911            node_snapshots: v
17912                .node_snapshots
17913                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17914            nodes: v.nodes.map(|v| {
17915                serde_json::to_value(&v)
17916                    .ok()
17917                    .and_then(|v| v.as_str().map(|s| s.to_string()))
17918                    .unwrap_or_default()
17919            }),
17920        }
17921    }
17922}
17923
17924impl From<crate::v2_8_0::types::ReplayLastEventSnapshotDto>
17925    for super::types::ReplayLastEventSnapshotDto
17926{
17927    fn from(v: crate::v2_8_0::types::ReplayLastEventSnapshotDto) -> Self {
17928        Self {
17929            event_available: v.event_available,
17930            events_replayed: v.events_replayed,
17931            failure_explanation: v.failure_explanation,
17932        }
17933    }
17934}
17935
17936impl From<crate::v2_8_0::types::ReportingTaskDefinition> for super::types::ReportingTaskDefinition {
17937    fn from(v: crate::v2_8_0::types::ReportingTaskDefinition) -> Self {
17938        Self {
17939            additional_details: v.additional_details,
17940            artifact: v.artifact,
17941            build_info: v.build_info.map(Into::into),
17942            default_scheduling_period_by_scheduling_strategy: v
17943                .default_scheduling_period_by_scheduling_strategy,
17944            default_scheduling_strategy: v.default_scheduling_strategy,
17945            deprecated: v.deprecated,
17946            deprecation_alternatives: v.deprecation_alternatives,
17947            deprecation_reason: v.deprecation_reason,
17948            dynamic_properties: v
17949                .dynamic_properties
17950                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17951            explicit_restrictions: v
17952                .explicit_restrictions
17953                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17954            group: v.group,
17955            property_descriptors: v
17956                .property_descriptors
17957                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
17958            provided_api_implementations: v
17959                .provided_api_implementations
17960                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17961            restricted: v.restricted,
17962            restricted_explanation: v.restricted_explanation,
17963            see_also: v.see_also,
17964            stateful: v.stateful.map(Into::into),
17965            supported_scheduling_strategies: v.supported_scheduling_strategies,
17966            supports_dynamic_properties: v.supports_dynamic_properties,
17967            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
17968            system_resource_considerations: v
17969                .system_resource_considerations
17970                .map(|v| v.into_iter().map(|v| v.into()).collect()),
17971            tags: v.tags,
17972            r#type: v.r#type,
17973            type_description: v.type_description,
17974            version: v.version,
17975        }
17976    }
17977}
17978
17979impl From<crate::v2_8_0::types::ReportingTaskDto> for super::types::ReportingTaskDto {
17980    fn from(v: crate::v2_8_0::types::ReportingTaskDto) -> Self {
17981        Self {
17982            active_thread_count: v.active_thread_count,
17983            annotation_data: v.annotation_data,
17984            bundle: v.bundle.map(Into::into),
17985            comments: v.comments,
17986            custom_ui_url: v.custom_ui_url,
17987            default_scheduling_period: v.default_scheduling_period,
17988            deprecated: v.deprecated,
17989            descriptors: v
17990                .descriptors
17991                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
17992            extension_missing: v.extension_missing,
17993            id: v.id,
17994            multiple_versions_available: v.multiple_versions_available,
17995            name: v.name,
17996            parent_group_id: v.parent_group_id,
17997            persists_state: v.persists_state,
17998            position: v.position.map(Into::into),
17999            properties: v.properties,
18000            restricted: v.restricted,
18001            scheduling_period: v.scheduling_period,
18002            scheduling_strategy: v.scheduling_strategy,
18003            sensitive_dynamic_property_names: v.sensitive_dynamic_property_names,
18004            state: v.state.map(|v| {
18005                serde_json::to_value(&v)
18006                    .ok()
18007                    .and_then(|v| v.as_str().map(|s| s.to_string()))
18008                    .unwrap_or_default()
18009            }),
18010            supports_sensitive_dynamic_properties: v.supports_sensitive_dynamic_properties,
18011            r#type: v.r#type,
18012            validation_errors: v.validation_errors,
18013            validation_status: v.validation_status.map(|v| {
18014                serde_json::to_value(&v)
18015                    .ok()
18016                    .and_then(|v| v.as_str().map(|s| s.to_string()))
18017                    .unwrap_or_default()
18018            }),
18019            versioned_component_id: v.versioned_component_id,
18020        }
18021    }
18022}
18023
18024impl From<crate::v2_8_0::types::ReportingTaskEntity> for super::types::ReportingTaskEntity {
18025    fn from(v: crate::v2_8_0::types::ReportingTaskEntity) -> Self {
18026        Self {
18027            bulletins: v
18028                .bulletins
18029                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18030            component: v.component.map(Into::into),
18031            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
18032            id: v.id,
18033            operate_permissions: v.operate_permissions.map(Into::into),
18034            permissions: v.permissions.map(Into::into),
18035            position: v.position.map(Into::into),
18036            revision: v.revision.map(Into::into),
18037            status: v.status.map(Into::into),
18038            uri: v.uri,
18039        }
18040    }
18041}
18042
18043impl From<crate::v2_8_0::types::ReportingTaskRunStatusEntity>
18044    for super::types::ReportingTaskRunStatusEntity
18045{
18046    fn from(v: crate::v2_8_0::types::ReportingTaskRunStatusEntity) -> Self {
18047        Self {
18048            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
18049            revision: v.revision.map(Into::into),
18050            state: v.state.map(|v| {
18051                serde_json::to_value(&v)
18052                    .ok()
18053                    .and_then(|v| v.as_str().map(|s| s.to_string()))
18054                    .unwrap_or_default()
18055            }),
18056        }
18057    }
18058}
18059
18060impl From<crate::v2_8_0::types::ReportingTaskStatusDto> for super::types::ReportingTaskStatusDto {
18061    fn from(v: crate::v2_8_0::types::ReportingTaskStatusDto) -> Self {
18062        Self {
18063            active_thread_count: v.active_thread_count,
18064            run_status: v.run_status.map(|v| {
18065                serde_json::to_value(&v)
18066                    .ok()
18067                    .and_then(|v| v.as_str().map(|s| s.to_string()))
18068                    .unwrap_or_default()
18069            }),
18070            validation_status: v.validation_status.map(|v| {
18071                serde_json::to_value(&v)
18072                    .ok()
18073                    .and_then(|v| v.as_str().map(|s| s.to_string()))
18074                    .unwrap_or_default()
18075            }),
18076        }
18077    }
18078}
18079
18080impl From<crate::v2_8_0::types::ReportingTaskTypesEntity>
18081    for super::types::ReportingTaskTypesEntity
18082{
18083    fn from(v: crate::v2_8_0::types::ReportingTaskTypesEntity) -> Self {
18084        Self {
18085            reporting_task_types: v
18086                .reporting_task_types
18087                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18088        }
18089    }
18090}
18091
18092impl From<crate::v2_8_0::types::ReportingTasksEntity> for super::types::ReportingTasksEntity {
18093    fn from(v: crate::v2_8_0::types::ReportingTasksEntity) -> Self {
18094        Self {
18095            current_time: v.current_time,
18096            reporting_tasks: v
18097                .reporting_tasks
18098                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18099        }
18100    }
18101}
18102
18103impl From<crate::v2_8_0::types::RequiredPermissionDto> for super::types::RequiredPermissionDto {
18104    fn from(v: crate::v2_8_0::types::RequiredPermissionDto) -> Self {
18105        Self {
18106            id: v.id,
18107            label: v.label,
18108        }
18109    }
18110}
18111
18112impl From<crate::v2_8_0::types::ResourceClaimDetailsDto> for super::types::ResourceClaimDetailsDto {
18113    fn from(v: crate::v2_8_0::types::ResourceClaimDetailsDto) -> Self {
18114        Self {
18115            awaiting_destruction: v.awaiting_destruction,
18116            claimant_count: v.claimant_count,
18117            container: v.container,
18118            identifier: v.identifier,
18119            in_use: v.in_use,
18120            section: v.section,
18121            writable: v.writable,
18122        }
18123    }
18124}
18125
18126impl From<crate::v2_8_0::types::ResourceDto> for super::types::ResourceDto {
18127    fn from(v: crate::v2_8_0::types::ResourceDto) -> Self {
18128        Self {
18129            identifier: v.identifier,
18130            name: v.name,
18131        }
18132    }
18133}
18134
18135impl From<crate::v2_8_0::types::ResourcesEntity> for super::types::ResourcesEntity {
18136    fn from(v: crate::v2_8_0::types::ResourcesEntity) -> Self {
18137        Self {
18138            resources: v
18139                .resources
18140                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18141        }
18142    }
18143}
18144
18145impl From<crate::v2_8_0::types::Restriction> for super::types::Restriction {
18146    fn from(v: crate::v2_8_0::types::Restriction) -> Self {
18147        Self {
18148            explanation: v.explanation,
18149            required_permission: v.required_permission,
18150        }
18151    }
18152}
18153
18154impl From<crate::v2_8_0::types::RevisionDto> for super::types::RevisionDto {
18155    fn from(v: crate::v2_8_0::types::RevisionDto) -> Self {
18156        Self {
18157            client_id: v.client_id,
18158            last_modifier: v.last_modifier,
18159            version: v.version,
18160        }
18161    }
18162}
18163
18164impl From<crate::v2_8_0::types::RunStatusDetailsRequestEntity>
18165    for super::types::RunStatusDetailsRequestEntity
18166{
18167    fn from(v: crate::v2_8_0::types::RunStatusDetailsRequestEntity) -> Self {
18168        Self {
18169            processor_ids: v.processor_ids,
18170        }
18171    }
18172}
18173
18174impl From<crate::v2_8_0::types::RuntimeManifest> for super::types::RuntimeManifest {
18175    fn from(v: crate::v2_8_0::types::RuntimeManifest) -> Self {
18176        Self {
18177            agent_type: v.agent_type,
18178            build_info: v.build_info.map(Into::into),
18179            bundles: v.bundles.map(|v| v.into_iter().map(|v| v.into()).collect()),
18180            identifier: v.identifier,
18181            scheduling_defaults: v.scheduling_defaults.map(Into::into),
18182            version: v.version,
18183        }
18184    }
18185}
18186
18187impl From<crate::v2_8_0::types::RuntimeManifestEntity> for super::types::RuntimeManifestEntity {
18188    fn from(v: crate::v2_8_0::types::RuntimeManifestEntity) -> Self {
18189        Self {
18190            runtime_manifest: Some(v.runtime_manifest.unwrap_or_default().into()),
18191        }
18192    }
18193}
18194
18195impl From<crate::v2_8_0::types::ScheduleComponentsEntity>
18196    for super::types::ScheduleComponentsEntity
18197{
18198    fn from(v: crate::v2_8_0::types::ScheduleComponentsEntity) -> Self {
18199        Self {
18200            components: v
18201                .components
18202                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
18203            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
18204            id: v.id,
18205            state: v.state.map(|v| {
18206                serde_json::to_value(&v)
18207                    .ok()
18208                    .and_then(|v| v.as_str().map(|s| s.to_string()))
18209                    .unwrap_or_default()
18210            }),
18211        }
18212    }
18213}
18214
18215impl From<crate::v2_8_0::types::SchedulingDefaults> for super::types::SchedulingDefaults {
18216    fn from(v: crate::v2_8_0::types::SchedulingDefaults) -> Self {
18217        Self {
18218            default_concurrent_tasks_by_scheduling_strategy: v
18219                .default_concurrent_tasks_by_scheduling_strategy,
18220            default_max_concurrent_tasks: v.default_max_concurrent_tasks,
18221            default_run_duration_nanos: v.default_run_duration_nanos,
18222            default_scheduling_period_millis: v.default_scheduling_period_millis,
18223            default_scheduling_periods_by_scheduling_strategy: v
18224                .default_scheduling_periods_by_scheduling_strategy,
18225            default_scheduling_strategy: v.default_scheduling_strategy.map(|v| {
18226                serde_json::to_value(&v)
18227                    .ok()
18228                    .and_then(|v| v.as_str().map(|s| s.to_string()))
18229                    .unwrap_or_default()
18230            }),
18231            penalization_period_millis: v.penalization_period_millis,
18232            yield_duration_millis: v.yield_duration_millis,
18233        }
18234    }
18235}
18236
18237impl From<crate::v2_8_0::types::SearchResultGroupDto> for super::types::SearchResultGroupDto {
18238    fn from(v: crate::v2_8_0::types::SearchResultGroupDto) -> Self {
18239        Self {
18240            id: Some(v.id),
18241            name: v.name,
18242        }
18243    }
18244}
18245
18246impl From<crate::v2_8_0::types::SearchResultsDto> for super::types::SearchResultsDto {
18247    fn from(v: crate::v2_8_0::types::SearchResultsDto) -> Self {
18248        Self {
18249            connection_results: v
18250                .connection_results
18251                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18252            controller_service_node_results: v
18253                .controller_service_node_results
18254                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18255            funnel_results: v
18256                .funnel_results
18257                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18258            input_port_results: v
18259                .input_port_results
18260                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18261            label_results: v
18262                .label_results
18263                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18264            output_port_results: v
18265                .output_port_results
18266                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18267            parameter_context_results: v
18268                .parameter_context_results
18269                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18270            parameter_provider_node_results: v
18271                .parameter_provider_node_results
18272                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18273            parameter_results: v
18274                .parameter_results
18275                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18276            process_group_results: v
18277                .process_group_results
18278                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18279            processor_results: v
18280                .processor_results
18281                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18282            remote_process_group_results: v
18283                .remote_process_group_results
18284                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18285        }
18286    }
18287}
18288
18289impl From<crate::v2_8_0::types::SearchResultsEntity> for super::types::SearchResultsEntity {
18290    fn from(v: crate::v2_8_0::types::SearchResultsEntity) -> Self {
18291        Self {
18292            search_results_d_t_o: Some(v.search_results_d_t_o.unwrap_or_default().into()),
18293        }
18294    }
18295}
18296
18297impl From<crate::v2_8_0::types::SnippetDto> for super::types::SnippetDto {
18298    fn from(v: crate::v2_8_0::types::SnippetDto) -> Self {
18299        Self {
18300            connections: v
18301                .connections
18302                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
18303            funnels: v
18304                .funnels
18305                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
18306            id: v.id,
18307            input_ports: v
18308                .input_ports
18309                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
18310            labels: v
18311                .labels
18312                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
18313            output_ports: v
18314                .output_ports
18315                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
18316            parent_group_id: v.parent_group_id,
18317            process_groups: v
18318                .process_groups
18319                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
18320            processors: v
18321                .processors
18322                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
18323            remote_process_groups: v
18324                .remote_process_groups
18325                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
18326            uri: v.uri,
18327        }
18328    }
18329}
18330
18331impl From<crate::v2_8_0::types::SnippetEntity> for super::types::SnippetEntity {
18332    fn from(v: crate::v2_8_0::types::SnippetEntity) -> Self {
18333        Self {
18334            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
18335            snippet: v.snippet.map(Into::into),
18336        }
18337    }
18338}
18339
18340impl From<crate::v2_8_0::types::StartVersionControlRequestEntity>
18341    for super::types::StartVersionControlRequestEntity
18342{
18343    fn from(v: crate::v2_8_0::types::StartVersionControlRequestEntity) -> Self {
18344        Self {
18345            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
18346            process_group_revision: v.process_group_revision.map(Into::into),
18347            versioned_flow: v.versioned_flow.map(Into::into),
18348        }
18349    }
18350}
18351
18352impl From<crate::v2_8_0::types::StateEntryDto> for super::types::StateEntryDto {
18353    fn from(v: crate::v2_8_0::types::StateEntryDto) -> Self {
18354        Self {
18355            cluster_node_address: v.cluster_node_address,
18356            cluster_node_id: v.cluster_node_id,
18357            key: v.key,
18358            value: v.value,
18359        }
18360    }
18361}
18362
18363impl From<crate::v2_8_0::types::StateMapDto> for super::types::StateMapDto {
18364    fn from(v: crate::v2_8_0::types::StateMapDto) -> Self {
18365        Self {
18366            scope: v.scope,
18367            state: v.state.map(|v| v.into_iter().map(|v| v.into()).collect()),
18368            total_entry_count: v.total_entry_count,
18369        }
18370    }
18371}
18372
18373impl From<crate::v2_8_0::types::Stateful> for super::types::Stateful {
18374    fn from(v: crate::v2_8_0::types::Stateful) -> Self {
18375        Self {
18376            description: v.description,
18377            scopes: v.scopes.map(|v| {
18378                v.into_iter()
18379                    .map(|v| {
18380                        serde_json::to_value(&v)
18381                            .ok()
18382                            .and_then(|v| v.as_str().map(|s| s.to_string()))
18383                            .unwrap_or_default()
18384                    })
18385                    .collect()
18386            }),
18387        }
18388    }
18389}
18390
18391impl From<crate::v2_8_0::types::StatusDescriptorDto> for super::types::StatusDescriptorDto {
18392    fn from(v: crate::v2_8_0::types::StatusDescriptorDto) -> Self {
18393        Self {
18394            description: v.description,
18395            field: v.field,
18396            formatter: v.formatter,
18397            label: v.label,
18398        }
18399    }
18400}
18401
18402impl From<crate::v2_8_0::types::StatusHistoryDto> for super::types::StatusHistoryDto {
18403    fn from(v: crate::v2_8_0::types::StatusHistoryDto) -> Self {
18404        Self {
18405            aggregate_snapshots: v
18406                .aggregate_snapshots
18407                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18408            component_details: v.component_details,
18409            field_descriptors: v
18410                .field_descriptors
18411                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18412            generated: v.generated,
18413            node_snapshots: v
18414                .node_snapshots
18415                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18416        }
18417    }
18418}
18419
18420impl From<crate::v2_8_0::types::StatusHistoryEntity> for super::types::StatusHistoryEntity {
18421    fn from(v: crate::v2_8_0::types::StatusHistoryEntity) -> Self {
18422        Self {
18423            can_read: v.can_read,
18424            status_history: v.status_history.map(Into::into),
18425        }
18426    }
18427}
18428
18429impl From<crate::v2_8_0::types::StatusSnapshotDto> for super::types::StatusSnapshotDto {
18430    fn from(v: crate::v2_8_0::types::StatusSnapshotDto) -> Self {
18431        Self {
18432            status_metrics: v.status_metrics,
18433            timestamp: v.timestamp,
18434        }
18435    }
18436}
18437
18438impl From<crate::v2_8_0::types::StorageUsageDto> for super::types::StorageUsageDto {
18439    fn from(v: crate::v2_8_0::types::StorageUsageDto) -> Self {
18440        Self {
18441            free_space: v.free_space,
18442            free_space_bytes: v.free_space_bytes,
18443            identifier: v.identifier,
18444            total_space: v.total_space,
18445            total_space_bytes: v.total_space_bytes,
18446            used_space: v.used_space,
18447            used_space_bytes: v.used_space_bytes,
18448            utilization: v.utilization,
18449        }
18450    }
18451}
18452
18453impl From<crate::v2_8_0::types::StreamingOutput> for super::types::StreamingOutput {
18454    fn from(_v: crate::v2_8_0::types::StreamingOutput) -> Self {
18455        Self {}
18456    }
18457}
18458
18459impl From<crate::v2_8_0::types::SubmitReplayRequestEntity>
18460    for super::types::SubmitReplayRequestEntity
18461{
18462    fn from(v: crate::v2_8_0::types::SubmitReplayRequestEntity) -> Self {
18463        Self {
18464            cluster_node_id: v.cluster_node_id,
18465            event_id: v.event_id,
18466        }
18467    }
18468}
18469
18470impl From<crate::v2_8_0::types::SupportedMimeTypesDto> for super::types::SupportedMimeTypesDto {
18471    fn from(v: crate::v2_8_0::types::SupportedMimeTypesDto) -> Self {
18472        Self {
18473            display_name: v.display_name,
18474            mime_types: v.mime_types,
18475        }
18476    }
18477}
18478
18479impl From<crate::v2_8_0::types::SystemDiagnosticsDto> for super::types::SystemDiagnosticsDto {
18480    fn from(v: crate::v2_8_0::types::SystemDiagnosticsDto) -> Self {
18481        Self {
18482            aggregate_snapshot: v.aggregate_snapshot.map(Into::into),
18483            node_snapshots: v
18484                .node_snapshots
18485                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18486        }
18487    }
18488}
18489
18490impl From<crate::v2_8_0::types::SystemDiagnosticsEntity> for super::types::SystemDiagnosticsEntity {
18491    fn from(v: crate::v2_8_0::types::SystemDiagnosticsEntity) -> Self {
18492        Self {
18493            system_diagnostics: Some(v.system_diagnostics.unwrap_or_default().into()),
18494        }
18495    }
18496}
18497
18498impl From<crate::v2_8_0::types::SystemDiagnosticsSnapshotDto>
18499    for super::types::SystemDiagnosticsSnapshotDto
18500{
18501    fn from(v: crate::v2_8_0::types::SystemDiagnosticsSnapshotDto) -> Self {
18502        Self {
18503            available_processors: v.available_processors,
18504            content_repository_storage_usage: v
18505                .content_repository_storage_usage
18506                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18507            daemon_threads: v.daemon_threads,
18508            flow_file_repository_storage_usage: v
18509                .flow_file_repository_storage_usage
18510                .map(Into::into),
18511            free_heap: v.free_heap,
18512            free_heap_bytes: v.free_heap_bytes,
18513            free_non_heap: v.free_non_heap,
18514            free_non_heap_bytes: v.free_non_heap_bytes,
18515            garbage_collection: v
18516                .garbage_collection
18517                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18518            heap_utilization: v.heap_utilization,
18519            max_heap: v.max_heap,
18520            max_heap_bytes: v.max_heap_bytes,
18521            max_non_heap: v.max_non_heap,
18522            max_non_heap_bytes: v.max_non_heap_bytes,
18523            non_heap_utilization: v.non_heap_utilization,
18524            processor_load_average: v.processor_load_average,
18525            provenance_repository_storage_usage: v
18526                .provenance_repository_storage_usage
18527                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18528            resource_claim_details: v
18529                .resource_claim_details
18530                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18531            stats_last_refreshed: v.stats_last_refreshed,
18532            total_heap: v.total_heap,
18533            total_heap_bytes: v.total_heap_bytes,
18534            total_non_heap: v.total_non_heap,
18535            total_non_heap_bytes: v.total_non_heap_bytes,
18536            total_threads: v.total_threads,
18537            uptime: v.uptime,
18538            used_heap: v.used_heap,
18539            used_heap_bytes: v.used_heap_bytes,
18540            used_non_heap: v.used_non_heap,
18541            used_non_heap_bytes: v.used_non_heap_bytes,
18542            version_info: v.version_info.map(Into::into),
18543        }
18544    }
18545}
18546
18547impl From<crate::v2_8_0::types::SystemResourceConsideration>
18548    for super::types::SystemResourceConsideration
18549{
18550    fn from(v: crate::v2_8_0::types::SystemResourceConsideration) -> Self {
18551        Self {
18552            description: v.description,
18553            resource: v.resource,
18554        }
18555    }
18556}
18557
18558impl From<crate::v2_8_0::types::TenantDto> for super::types::TenantDto {
18559    fn from(v: crate::v2_8_0::types::TenantDto) -> Self {
18560        Self {
18561            configurable: v.configurable,
18562            id: v.id,
18563            identity: v.identity,
18564            parent_group_id: v.parent_group_id,
18565            position: v.position.map(Into::into),
18566            versioned_component_id: v.versioned_component_id,
18567        }
18568    }
18569}
18570
18571impl From<crate::v2_8_0::types::TenantEntity> for super::types::TenantEntity {
18572    fn from(v: crate::v2_8_0::types::TenantEntity) -> Self {
18573        Self {
18574            bulletins: v
18575                .bulletins
18576                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18577            component: v.component.map(Into::into),
18578            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
18579            id: v.id,
18580            permissions: v.permissions.map(Into::into),
18581            position: v.position.map(Into::into),
18582            revision: v.revision.map(Into::into),
18583            uri: v.uri,
18584        }
18585    }
18586}
18587
18588impl From<crate::v2_8_0::types::TenantsEntity> for super::types::TenantsEntity {
18589    fn from(v: crate::v2_8_0::types::TenantsEntity) -> Self {
18590        Self {
18591            user_groups: v
18592                .user_groups
18593                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18594            users: v.users.map(|v| v.into_iter().map(|v| v.into()).collect()),
18595        }
18596    }
18597}
18598
18599impl From<crate::v2_8_0::types::TransactionResultEntity> for super::types::TransactionResultEntity {
18600    fn from(v: crate::v2_8_0::types::TransactionResultEntity) -> Self {
18601        Self {
18602            flow_file_sent: v.flow_file_sent,
18603            message: v.message,
18604            response_code: v.response_code,
18605        }
18606    }
18607}
18608
18609impl From<crate::v2_8_0::types::UpdateControllerServiceReferenceRequestEntity>
18610    for super::types::UpdateControllerServiceReferenceRequestEntity
18611{
18612    fn from(v: crate::v2_8_0::types::UpdateControllerServiceReferenceRequestEntity) -> Self {
18613        Self {
18614            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
18615            id: v.id,
18616            referencing_component_revisions: v
18617                .referencing_component_revisions
18618                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
18619            state: v.state.map(|v| {
18620                serde_json::to_value(&v)
18621                    .ok()
18622                    .and_then(|v| v.as_str().map(|s| s.to_string()))
18623                    .unwrap_or_default()
18624            }),
18625            ui_only: v.ui_only,
18626        }
18627    }
18628}
18629
18630impl From<crate::v2_8_0::types::UseCase> for super::types::UseCase {
18631    fn from(v: crate::v2_8_0::types::UseCase) -> Self {
18632        Self {
18633            configuration: v.configuration,
18634            description: v.description,
18635            input_requirement: v.input_requirement.map(|v| {
18636                serde_json::to_value(&v)
18637                    .ok()
18638                    .and_then(|v| v.as_str().map(|s| s.to_string()))
18639                    .unwrap_or_default()
18640            }),
18641            keywords: v.keywords,
18642            notes: v.notes,
18643        }
18644    }
18645}
18646
18647impl From<crate::v2_8_0::types::UserDto> for super::types::UserDto {
18648    fn from(v: crate::v2_8_0::types::UserDto) -> Self {
18649        Self {
18650            access_policies: v
18651                .access_policies
18652                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18653            configurable: v.configurable,
18654            id: v.id,
18655            identity: v.identity,
18656            parent_group_id: v.parent_group_id,
18657            position: v.position.map(Into::into),
18658            user_groups: v
18659                .user_groups
18660                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18661            versioned_component_id: v.versioned_component_id,
18662        }
18663    }
18664}
18665
18666impl From<crate::v2_8_0::types::UserEntity> for super::types::UserEntity {
18667    fn from(v: crate::v2_8_0::types::UserEntity) -> Self {
18668        Self {
18669            bulletins: v
18670                .bulletins
18671                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18672            component: v.component.map(Into::into),
18673            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
18674            id: v.id,
18675            permissions: v.permissions.map(Into::into),
18676            position: v.position.map(Into::into),
18677            revision: v.revision.map(Into::into),
18678            uri: v.uri,
18679        }
18680    }
18681}
18682
18683impl From<crate::v2_8_0::types::UserGroupDto> for super::types::UserGroupDto {
18684    fn from(v: crate::v2_8_0::types::UserGroupDto) -> Self {
18685        Self {
18686            access_policies: v
18687                .access_policies
18688                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18689            configurable: v.configurable,
18690            id: v.id,
18691            identity: v.identity,
18692            parent_group_id: v.parent_group_id,
18693            position: v.position.map(Into::into),
18694            users: v.users.map(|v| v.into_iter().map(|v| v.into()).collect()),
18695            versioned_component_id: v.versioned_component_id,
18696        }
18697    }
18698}
18699
18700impl From<crate::v2_8_0::types::UserGroupEntity> for super::types::UserGroupEntity {
18701    fn from(v: crate::v2_8_0::types::UserGroupEntity) -> Self {
18702        Self {
18703            bulletins: v
18704                .bulletins
18705                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18706            component: v.component.map(Into::into),
18707            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
18708            id: v.id,
18709            permissions: v.permissions.map(Into::into),
18710            position: v.position.map(Into::into),
18711            revision: v.revision.map(Into::into),
18712            uri: v.uri,
18713        }
18714    }
18715}
18716
18717impl From<crate::v2_8_0::types::UserGroupsEntity> for super::types::UserGroupsEntity {
18718    fn from(v: crate::v2_8_0::types::UserGroupsEntity) -> Self {
18719        Self {
18720            user_groups: v
18721                .user_groups
18722                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18723        }
18724    }
18725}
18726
18727impl From<crate::v2_8_0::types::UsersEntity> for super::types::UsersEntity {
18728    fn from(v: crate::v2_8_0::types::UsersEntity) -> Self {
18729        Self {
18730            generated: v.generated,
18731            users: v.users.map(|v| v.into_iter().map(|v| v.into()).collect()),
18732        }
18733    }
18734}
18735
18736impl From<crate::v2_8_0::types::VerifyConfigRequestDto> for super::types::VerifyConfigRequestDto {
18737    fn from(v: crate::v2_8_0::types::VerifyConfigRequestDto) -> Self {
18738        Self {
18739            attributes: v.attributes,
18740            complete: v.complete,
18741            component_id: v.component_id,
18742            failure_reason: v.failure_reason,
18743            last_updated: v.last_updated,
18744            percent_completed: v.percent_completed,
18745            properties: v.properties,
18746            request_id: v.request_id,
18747            results: v.results.map(|v| v.into_iter().map(|v| v.into()).collect()),
18748            state: v.state,
18749            submission_time: v.submission_time,
18750            update_steps: v
18751                .update_steps
18752                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18753            uri: v.uri,
18754        }
18755    }
18756}
18757
18758impl From<crate::v2_8_0::types::VerifyConfigRequestEntity>
18759    for super::types::VerifyConfigRequestEntity
18760{
18761    fn from(v: crate::v2_8_0::types::VerifyConfigRequestEntity) -> Self {
18762        Self {
18763            request: Some(v.request.unwrap_or_default().into()),
18764        }
18765    }
18766}
18767
18768impl From<crate::v2_8_0::types::VerifyConfigUpdateStepDto>
18769    for super::types::VerifyConfigUpdateStepDto
18770{
18771    fn from(v: crate::v2_8_0::types::VerifyConfigUpdateStepDto) -> Self {
18772        Self {
18773            complete: v.complete,
18774            description: v.description,
18775            failure_reason: v.failure_reason,
18776        }
18777    }
18778}
18779
18780impl From<crate::v2_8_0::types::VersionControlComponentMappingEntity>
18781    for super::types::VersionControlComponentMappingEntity
18782{
18783    fn from(v: crate::v2_8_0::types::VersionControlComponentMappingEntity) -> Self {
18784        Self {
18785            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
18786            process_group_revision: v.process_group_revision.map(Into::into),
18787            version_control_component_mapping: v.version_control_component_mapping,
18788            version_control_information: v.version_control_information.map(Into::into),
18789        }
18790    }
18791}
18792
18793impl From<crate::v2_8_0::types::VersionControlInformationDto>
18794    for super::types::VersionControlInformationDto
18795{
18796    fn from(v: crate::v2_8_0::types::VersionControlInformationDto) -> Self {
18797        Self {
18798            branch: v.branch,
18799            bucket_id: v.bucket_id,
18800            bucket_name: v.bucket_name,
18801            flow_description: v.flow_description,
18802            flow_id: v.flow_id,
18803            flow_name: v.flow_name,
18804            group_id: v.group_id,
18805            registry_id: v.registry_id,
18806            registry_name: v.registry_name,
18807            state: v.state.map(|v| {
18808                serde_json::to_value(&v)
18809                    .ok()
18810                    .and_then(|v| v.as_str().map(|s| s.to_string()))
18811                    .unwrap_or_default()
18812            }),
18813            state_explanation: v.state_explanation,
18814            storage_location: v.storage_location,
18815            version: v.version,
18816        }
18817    }
18818}
18819
18820impl From<crate::v2_8_0::types::VersionControlInformationEntity>
18821    for super::types::VersionControlInformationEntity
18822{
18823    fn from(v: crate::v2_8_0::types::VersionControlInformationEntity) -> Self {
18824        Self {
18825            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
18826            process_group_revision: v.process_group_revision.map(Into::into),
18827            version_control_information: v.version_control_information.map(Into::into),
18828        }
18829    }
18830}
18831
18832impl From<crate::v2_8_0::types::VersionInfoDto> for super::types::VersionInfoDto {
18833    fn from(v: crate::v2_8_0::types::VersionInfoDto) -> Self {
18834        Self {
18835            build_branch: v.build_branch,
18836            build_revision: v.build_revision,
18837            build_tag: v.build_tag,
18838            build_timestamp: v.build_timestamp,
18839            java_vendor: v.java_vendor,
18840            java_version: v.java_version,
18841            ni_fi_version: v.ni_fi_version,
18842            os_architecture: v.os_architecture,
18843            os_name: v.os_name,
18844            os_version: v.os_version,
18845        }
18846    }
18847}
18848
18849impl From<crate::v2_8_0::types::VersionedAsset> for super::types::VersionedAsset {
18850    fn from(v: crate::v2_8_0::types::VersionedAsset) -> Self {
18851        Self {
18852            identifier: v.identifier,
18853            name: v.name,
18854        }
18855    }
18856}
18857
18858impl From<crate::v2_8_0::types::VersionedConnection> for super::types::VersionedConnection {
18859    fn from(v: crate::v2_8_0::types::VersionedConnection) -> Self {
18860        Self {
18861            back_pressure_data_size_threshold: v.back_pressure_data_size_threshold,
18862            back_pressure_object_threshold: v.back_pressure_object_threshold,
18863            bends: v.bends.map(|v| v.into_iter().map(|v| v.into()).collect()),
18864            comments: v.comments,
18865            component_type: v.component_type.map(|v| {
18866                serde_json::to_value(&v)
18867                    .ok()
18868                    .and_then(|v| v.as_str().map(|s| s.to_string()))
18869                    .unwrap_or_default()
18870            }),
18871            destination: v.destination.map(Into::into),
18872            flow_file_expiration: v.flow_file_expiration,
18873            group_identifier: v.group_identifier,
18874            identifier: v.identifier,
18875            instance_identifier: v.instance_identifier,
18876            label_index: v.label_index,
18877            load_balance_compression: v.load_balance_compression,
18878            load_balance_strategy: v.load_balance_strategy,
18879            name: v.name,
18880            partitioning_attribute: v.partitioning_attribute,
18881            position: v.position.map(Into::into),
18882            prioritizers: v.prioritizers,
18883            selected_relationships: v.selected_relationships,
18884            source: v.source.map(Into::into),
18885            z_index: v.z_index,
18886        }
18887    }
18888}
18889
18890impl From<crate::v2_8_0::types::VersionedControllerService>
18891    for super::types::VersionedControllerService
18892{
18893    fn from(v: crate::v2_8_0::types::VersionedControllerService) -> Self {
18894        Self {
18895            annotation_data: v.annotation_data,
18896            bulletin_level: v.bulletin_level,
18897            bundle: v.bundle.map(Into::into),
18898            comments: v.comments,
18899            component_type: v.component_type.map(|v| {
18900                serde_json::to_value(&v)
18901                    .ok()
18902                    .and_then(|v| v.as_str().map(|s| s.to_string()))
18903                    .unwrap_or_default()
18904            }),
18905            controller_service_apis: v
18906                .controller_service_apis
18907                .map(|v| v.into_iter().map(|v| v.into()).collect()),
18908            group_identifier: v.group_identifier,
18909            identifier: v.identifier,
18910            instance_identifier: v.instance_identifier,
18911            name: v.name,
18912            position: v.position.map(Into::into),
18913            properties: v.properties,
18914            property_descriptors: v
18915                .property_descriptors
18916                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
18917            scheduled_state: v.scheduled_state.map(|v| {
18918                serde_json::to_value(&v)
18919                    .ok()
18920                    .and_then(|v| v.as_str().map(|s| s.to_string()))
18921                    .unwrap_or_default()
18922            }),
18923            r#type: v.r#type,
18924        }
18925    }
18926}
18927
18928impl From<crate::v2_8_0::types::VersionedFlowCoordinates>
18929    for super::types::VersionedFlowCoordinates
18930{
18931    fn from(v: crate::v2_8_0::types::VersionedFlowCoordinates) -> Self {
18932        Self {
18933            branch: v.branch,
18934            bucket_id: v.bucket_id,
18935            flow_id: v.flow_id,
18936            latest: v.latest,
18937            registry_id: v.registry_id,
18938            storage_location: v.storage_location,
18939            version: v.version,
18940        }
18941    }
18942}
18943
18944impl From<crate::v2_8_0::types::VersionedFlowDto> for super::types::VersionedFlowDto {
18945    fn from(v: crate::v2_8_0::types::VersionedFlowDto) -> Self {
18946        Self {
18947            action: v.action.map(|v| {
18948                serde_json::to_value(&v)
18949                    .ok()
18950                    .and_then(|v| v.as_str().map(|s| s.to_string()))
18951                    .unwrap_or_default()
18952            }),
18953            branch: v.branch,
18954            bucket_id: v.bucket_id,
18955            comments: v.comments,
18956            description: v.description,
18957            flow_id: v.flow_id,
18958            flow_name: v.flow_name,
18959            registry_id: v.registry_id,
18960        }
18961    }
18962}
18963
18964impl From<crate::v2_8_0::types::VersionedFlowEntity> for super::types::VersionedFlowEntity {
18965    fn from(v: crate::v2_8_0::types::VersionedFlowEntity) -> Self {
18966        Self {
18967            versioned_flow: Some(v.versioned_flow.unwrap_or_default().into()),
18968        }
18969    }
18970}
18971
18972impl From<crate::v2_8_0::types::VersionedFlowSnapshotEntity>
18973    for super::types::VersionedFlowSnapshotEntity
18974{
18975    fn from(v: crate::v2_8_0::types::VersionedFlowSnapshotEntity) -> Self {
18976        Self {
18977            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
18978            process_group_revision: v.process_group_revision.map(Into::into),
18979            registry_id: v.registry_id,
18980            update_descendant_versioned_flows: v.update_descendant_versioned_flows,
18981            versioned_flow: v.versioned_flow.map(Into::into),
18982            versioned_flow_snapshot: v.versioned_flow_snapshot.map(Into::into),
18983        }
18984    }
18985}
18986
18987impl From<crate::v2_8_0::types::VersionedFlowSnapshotMetadataEntity>
18988    for super::types::VersionedFlowSnapshotMetadataEntity
18989{
18990    fn from(v: crate::v2_8_0::types::VersionedFlowSnapshotMetadataEntity) -> Self {
18991        Self {
18992            registry_id: v.registry_id,
18993            versioned_flow_snapshot_metadata: v.versioned_flow_snapshot_metadata.map(Into::into),
18994        }
18995    }
18996}
18997
18998impl From<crate::v2_8_0::types::VersionedFlowSnapshotMetadataSetEntity>
18999    for super::types::VersionedFlowSnapshotMetadataSetEntity
19000{
19001    fn from(v: crate::v2_8_0::types::VersionedFlowSnapshotMetadataSetEntity) -> Self {
19002        Self {
19003            versioned_flow_snapshot_metadata_set: v
19004                .versioned_flow_snapshot_metadata_set
19005                .map(|v| v.into_iter().map(|v| v.into()).collect()),
19006        }
19007    }
19008}
19009
19010impl From<crate::v2_8_0::types::VersionedFlowUpdateRequestDto>
19011    for super::types::VersionedFlowUpdateRequestDto
19012{
19013    fn from(v: crate::v2_8_0::types::VersionedFlowUpdateRequestDto) -> Self {
19014        Self {
19015            complete: v.complete,
19016            failure_reason: v.failure_reason,
19017            last_updated: v.last_updated,
19018            percent_completed: v.percent_completed,
19019            process_group_id: v.process_group_id,
19020            request_id: v.request_id,
19021            state: v.state,
19022            uri: v.uri,
19023            version_control_information: v.version_control_information.map(Into::into),
19024        }
19025    }
19026}
19027
19028impl From<crate::v2_8_0::types::VersionedFlowUpdateRequestEntity>
19029    for super::types::VersionedFlowUpdateRequestEntity
19030{
19031    fn from(v: crate::v2_8_0::types::VersionedFlowUpdateRequestEntity) -> Self {
19032        Self {
19033            process_group_revision: v.process_group_revision.map(Into::into),
19034            request: v.request.map(Into::into),
19035        }
19036    }
19037}
19038
19039impl From<crate::v2_8_0::types::VersionedFlowsEntity> for super::types::VersionedFlowsEntity {
19040    fn from(v: crate::v2_8_0::types::VersionedFlowsEntity) -> Self {
19041        Self {
19042            versioned_flows: v
19043                .versioned_flows
19044                .map(|v| v.into_iter().map(|v| v.into()).collect()),
19045        }
19046    }
19047}
19048
19049impl From<crate::v2_8_0::types::VersionedFunnel> for super::types::VersionedFunnel {
19050    fn from(v: crate::v2_8_0::types::VersionedFunnel) -> Self {
19051        Self {
19052            comments: v.comments,
19053            component_type: v.component_type.map(|v| {
19054                serde_json::to_value(&v)
19055                    .ok()
19056                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19057                    .unwrap_or_default()
19058            }),
19059            group_identifier: v.group_identifier,
19060            identifier: v.identifier,
19061            instance_identifier: v.instance_identifier,
19062            name: v.name,
19063            position: v.position.map(Into::into),
19064        }
19065    }
19066}
19067
19068impl From<crate::v2_8_0::types::VersionedLabel> for super::types::VersionedLabel {
19069    fn from(v: crate::v2_8_0::types::VersionedLabel) -> Self {
19070        Self {
19071            comments: v.comments,
19072            component_type: v.component_type.map(|v| {
19073                serde_json::to_value(&v)
19074                    .ok()
19075                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19076                    .unwrap_or_default()
19077            }),
19078            group_identifier: v.group_identifier,
19079            height: v.height,
19080            identifier: v.identifier,
19081            instance_identifier: v.instance_identifier,
19082            label: v.label,
19083            name: v.name,
19084            position: v.position.map(Into::into),
19085            style: v.style,
19086            width: v.width,
19087            z_index: v.z_index,
19088        }
19089    }
19090}
19091
19092impl From<crate::v2_8_0::types::VersionedListenPortDefinition>
19093    for super::types::VersionedListenPortDefinition
19094{
19095    fn from(v: crate::v2_8_0::types::VersionedListenPortDefinition) -> Self {
19096        Self {
19097            application_protocols: v.application_protocols,
19098            transport_protocol: v.transport_protocol.map(|v| {
19099                serde_json::to_value(&v)
19100                    .ok()
19101                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19102                    .unwrap_or_default()
19103            }),
19104        }
19105    }
19106}
19107
19108impl From<crate::v2_8_0::types::VersionedParameter> for super::types::VersionedParameter {
19109    fn from(v: crate::v2_8_0::types::VersionedParameter) -> Self {
19110        Self {
19111            description: v.description,
19112            name: v.name,
19113            provided: v.provided,
19114            referenced_assets: v
19115                .referenced_assets
19116                .map(|v| v.into_iter().map(|v| v.into()).collect()),
19117            sensitive: v.sensitive,
19118            value: v.value,
19119        }
19120    }
19121}
19122
19123impl From<crate::v2_8_0::types::VersionedParameterContext>
19124    for super::types::VersionedParameterContext
19125{
19126    fn from(v: crate::v2_8_0::types::VersionedParameterContext) -> Self {
19127        Self {
19128            comments: v.comments,
19129            component_type: v.component_type.map(|v| {
19130                serde_json::to_value(&v)
19131                    .ok()
19132                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19133                    .unwrap_or_default()
19134            }),
19135            description: v.description,
19136            group_identifier: v.group_identifier,
19137            identifier: v.identifier,
19138            inherited_parameter_contexts: v.inherited_parameter_contexts,
19139            instance_identifier: v.instance_identifier,
19140            name: v.name,
19141            parameter_group_name: v.parameter_group_name,
19142            parameter_provider: v.parameter_provider,
19143            parameters: v
19144                .parameters
19145                .map(|v| v.into_iter().map(|v| v.into()).collect()),
19146            position: v.position.map(Into::into),
19147            synchronized: v.synchronized,
19148        }
19149    }
19150}
19151
19152impl From<crate::v2_8_0::types::VersionedPort> for super::types::VersionedPort {
19153    fn from(v: crate::v2_8_0::types::VersionedPort) -> Self {
19154        Self {
19155            allow_remote_access: v.allow_remote_access,
19156            comments: v.comments,
19157            component_type: v.component_type.map(|v| {
19158                serde_json::to_value(&v)
19159                    .ok()
19160                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19161                    .unwrap_or_default()
19162            }),
19163            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
19164            group_identifier: v.group_identifier,
19165            identifier: v.identifier,
19166            instance_identifier: v.instance_identifier,
19167            name: v.name,
19168            port_function: v.port_function.map(|v| {
19169                serde_json::to_value(&v)
19170                    .ok()
19171                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19172                    .unwrap_or_default()
19173            }),
19174            position: v.position.map(Into::into),
19175            scheduled_state: v.scheduled_state.map(|v| {
19176                serde_json::to_value(&v)
19177                    .ok()
19178                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19179                    .unwrap_or_default()
19180            }),
19181            r#type: v.r#type.map(|v| {
19182                serde_json::to_value(&v)
19183                    .ok()
19184                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19185                    .unwrap_or_default()
19186            }),
19187        }
19188    }
19189}
19190
19191impl From<crate::v2_8_0::types::VersionedProcessGroup> for super::types::VersionedProcessGroup {
19192    fn from(v: crate::v2_8_0::types::VersionedProcessGroup) -> Self {
19193        Self {
19194            comments: v.comments,
19195            component_type: v.component_type.map(|v| {
19196                serde_json::to_value(&v)
19197                    .ok()
19198                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19199                    .unwrap_or_default()
19200            }),
19201            connections: v
19202                .connections
19203                .map(|v| v.into_iter().map(|v| v.into()).collect()),
19204            controller_services: v
19205                .controller_services
19206                .map(|v| v.into_iter().map(|v| v.into()).collect()),
19207            default_back_pressure_data_size_threshold: v.default_back_pressure_data_size_threshold,
19208            default_back_pressure_object_threshold: v.default_back_pressure_object_threshold,
19209            default_flow_file_expiration: v.default_flow_file_expiration,
19210            execution_engine: v.execution_engine.map(|v| {
19211                serde_json::to_value(&v)
19212                    .ok()
19213                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19214                    .unwrap_or_default()
19215            }),
19216            flow_file_concurrency: v.flow_file_concurrency,
19217            flow_file_outbound_policy: v.flow_file_outbound_policy,
19218            funnels: v.funnels.map(|v| v.into_iter().map(|v| v.into()).collect()),
19219            group_identifier: v.group_identifier,
19220            identifier: v.identifier,
19221            input_ports: v
19222                .input_ports
19223                .map(|v| v.into_iter().map(|v| v.into()).collect()),
19224            instance_identifier: v.instance_identifier,
19225            labels: v.labels.map(|v| v.into_iter().map(|v| v.into()).collect()),
19226            log_file_suffix: v.log_file_suffix,
19227            max_concurrent_tasks: v.max_concurrent_tasks,
19228            name: v.name,
19229            output_ports: v
19230                .output_ports
19231                .map(|v| v.into_iter().map(|v| v.into()).collect()),
19232            parameter_context_name: v.parameter_context_name,
19233            position: v.position.map(Into::into),
19234            process_groups: v
19235                .process_groups
19236                .map(|v| v.into_iter().map(|v| Box::new((*v).into())).collect()),
19237            processors: v
19238                .processors
19239                .map(|v| v.into_iter().map(|v| v.into()).collect()),
19240            remote_process_groups: v
19241                .remote_process_groups
19242                .map(|v| v.into_iter().map(|v| v.into()).collect()),
19243            scheduled_state: v.scheduled_state.map(|v| {
19244                serde_json::to_value(&v)
19245                    .ok()
19246                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19247                    .unwrap_or_default()
19248            }),
19249            stateless_flow_timeout: v.stateless_flow_timeout,
19250            versioned_flow_coordinates: v.versioned_flow_coordinates.map(Into::into),
19251        }
19252    }
19253}
19254
19255impl From<crate::v2_8_0::types::VersionedProcessor> for super::types::VersionedProcessor {
19256    fn from(v: crate::v2_8_0::types::VersionedProcessor) -> Self {
19257        Self {
19258            annotation_data: v.annotation_data,
19259            auto_terminated_relationships: v.auto_terminated_relationships,
19260            backoff_mechanism: v.backoff_mechanism,
19261            bulletin_level: v.bulletin_level,
19262            bundle: v.bundle.map(Into::into),
19263            comments: v.comments,
19264            component_type: v.component_type.map(|v| {
19265                serde_json::to_value(&v)
19266                    .ok()
19267                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19268                    .unwrap_or_default()
19269            }),
19270            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
19271            execution_node: v.execution_node,
19272            group_identifier: v.group_identifier,
19273            identifier: v.identifier,
19274            instance_identifier: v.instance_identifier,
19275            max_backoff_period: v.max_backoff_period,
19276            name: v.name,
19277            penalty_duration: v.penalty_duration,
19278            position: v.position.map(Into::into),
19279            properties: v.properties,
19280            property_descriptors: v
19281                .property_descriptors
19282                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
19283            retried_relationships: v.retried_relationships,
19284            retry_count: v.retry_count,
19285            run_duration_millis: v.run_duration_millis,
19286            scheduled_state: v.scheduled_state.map(|v| {
19287                serde_json::to_value(&v)
19288                    .ok()
19289                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19290                    .unwrap_or_default()
19291            }),
19292            scheduling_period: v.scheduling_period,
19293            scheduling_strategy: v.scheduling_strategy,
19294            style: v.style,
19295            r#type: v.r#type,
19296            yield_duration: v.yield_duration,
19297        }
19298    }
19299}
19300
19301impl From<crate::v2_8_0::types::VersionedPropertyDescriptor>
19302    for super::types::VersionedPropertyDescriptor
19303{
19304    fn from(v: crate::v2_8_0::types::VersionedPropertyDescriptor) -> Self {
19305        Self {
19306            display_name: v.display_name,
19307            dynamic: v.dynamic,
19308            identifies_controller_service: v.identifies_controller_service,
19309            listen_port_definition: v.listen_port_definition.map(Into::into),
19310            name: v.name,
19311            resource_definition: v.resource_definition.map(Into::into),
19312            sensitive: v.sensitive,
19313        }
19314    }
19315}
19316
19317impl From<crate::v2_8_0::types::VersionedRemoteGroupPort>
19318    for super::types::VersionedRemoteGroupPort
19319{
19320    fn from(v: crate::v2_8_0::types::VersionedRemoteGroupPort) -> Self {
19321        Self {
19322            batch_size: v.batch_size.map(Into::into),
19323            comments: v.comments,
19324            component_type: v.component_type.map(|v| {
19325                serde_json::to_value(&v)
19326                    .ok()
19327                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19328                    .unwrap_or_default()
19329            }),
19330            concurrently_schedulable_task_count: v.concurrently_schedulable_task_count,
19331            group_identifier: v.group_identifier,
19332            identifier: v.identifier,
19333            instance_identifier: v.instance_identifier,
19334            name: v.name,
19335            position: v.position.map(Into::into),
19336            remote_group_id: v.remote_group_id,
19337            scheduled_state: v.scheduled_state.map(|v| {
19338                serde_json::to_value(&v)
19339                    .ok()
19340                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19341                    .unwrap_or_default()
19342            }),
19343            target_id: v.target_id,
19344            use_compression: v.use_compression,
19345        }
19346    }
19347}
19348
19349impl From<crate::v2_8_0::types::VersionedRemoteProcessGroup>
19350    for super::types::VersionedRemoteProcessGroup
19351{
19352    fn from(v: crate::v2_8_0::types::VersionedRemoteProcessGroup) -> Self {
19353        Self {
19354            comments: v.comments,
19355            communications_timeout: v.communications_timeout,
19356            component_type: v.component_type.map(|v| {
19357                serde_json::to_value(&v)
19358                    .ok()
19359                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19360                    .unwrap_or_default()
19361            }),
19362            group_identifier: v.group_identifier,
19363            identifier: v.identifier,
19364            input_ports: v
19365                .input_ports
19366                .map(|v| v.into_iter().map(|v| v.into()).collect()),
19367            instance_identifier: v.instance_identifier,
19368            local_network_interface: v.local_network_interface,
19369            name: v.name,
19370            output_ports: v
19371                .output_ports
19372                .map(|v| v.into_iter().map(|v| v.into()).collect()),
19373            position: v.position.map(Into::into),
19374            proxy_host: v.proxy_host,
19375            proxy_password: v.proxy_password,
19376            proxy_port: v.proxy_port,
19377            proxy_user: v.proxy_user,
19378            target_uris: v.target_uris,
19379            transport_protocol: v.transport_protocol,
19380            yield_duration: v.yield_duration,
19381        }
19382    }
19383}
19384
19385impl From<crate::v2_8_0::types::VersionedReportingTask> for super::types::VersionedReportingTask {
19386    fn from(v: crate::v2_8_0::types::VersionedReportingTask) -> Self {
19387        Self {
19388            annotation_data: v.annotation_data,
19389            bundle: v.bundle.map(Into::into),
19390            comments: v.comments,
19391            component_type: v.component_type.map(|v| {
19392                serde_json::to_value(&v)
19393                    .ok()
19394                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19395                    .unwrap_or_default()
19396            }),
19397            group_identifier: v.group_identifier,
19398            identifier: v.identifier,
19399            instance_identifier: v.instance_identifier,
19400            name: v.name,
19401            position: v.position.map(Into::into),
19402            properties: v.properties,
19403            property_descriptors: v
19404                .property_descriptors
19405                .map(|m| m.into_iter().map(|(k, v)| (k, v.map(Into::into))).collect()),
19406            scheduled_state: v.scheduled_state.map(|v| {
19407                serde_json::to_value(&v)
19408                    .ok()
19409                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19410                    .unwrap_or_default()
19411            }),
19412            scheduling_period: v.scheduling_period,
19413            scheduling_strategy: v.scheduling_strategy,
19414            r#type: v.r#type,
19415        }
19416    }
19417}
19418
19419impl From<crate::v2_8_0::types::VersionedReportingTaskImportRequestEntity>
19420    for super::types::VersionedReportingTaskImportRequestEntity
19421{
19422    fn from(v: crate::v2_8_0::types::VersionedReportingTaskImportRequestEntity) -> Self {
19423        Self {
19424            disconnected_node_acknowledged: v.disconnected_node_acknowledged,
19425            reporting_task_snapshot: v.reporting_task_snapshot.map(Into::into),
19426        }
19427    }
19428}
19429
19430impl From<crate::v2_8_0::types::VersionedReportingTaskImportResponseEntity>
19431    for super::types::VersionedReportingTaskImportResponseEntity
19432{
19433    fn from(v: crate::v2_8_0::types::VersionedReportingTaskImportResponseEntity) -> Self {
19434        Self {
19435            controller_services: v
19436                .controller_services
19437                .map(|v| v.into_iter().map(|v| v.into()).collect()),
19438            reporting_tasks: v
19439                .reporting_tasks
19440                .map(|v| v.into_iter().map(|v| v.into()).collect()),
19441        }
19442    }
19443}
19444
19445impl From<crate::v2_8_0::types::VersionedReportingTaskSnapshot>
19446    for super::types::VersionedReportingTaskSnapshot
19447{
19448    fn from(v: crate::v2_8_0::types::VersionedReportingTaskSnapshot) -> Self {
19449        Self {
19450            controller_services: v
19451                .controller_services
19452                .map(|v| v.into_iter().map(|v| v.into()).collect()),
19453            reporting_tasks: v
19454                .reporting_tasks
19455                .map(|v| v.into_iter().map(|v| v.into()).collect()),
19456        }
19457    }
19458}
19459
19460impl From<crate::v2_8_0::types::VersionedResourceDefinition>
19461    for super::types::VersionedResourceDefinition
19462{
19463    fn from(v: crate::v2_8_0::types::VersionedResourceDefinition) -> Self {
19464        Self {
19465            cardinality: v.cardinality.map(|v| {
19466                serde_json::to_value(&v)
19467                    .ok()
19468                    .and_then(|v| v.as_str().map(|s| s.to_string()))
19469                    .unwrap_or_default()
19470            }),
19471            resource_types: v.resource_types.map(|v| {
19472                v.into_iter()
19473                    .map(|v| {
19474                        serde_json::to_value(&v)
19475                            .ok()
19476                            .and_then(|v| v.as_str().map(|s| s.to_string()))
19477                            .unwrap_or_default()
19478                    })
19479                    .collect()
19480            }),
19481        }
19482    }
19483}