forked from department-of-veterans-affairs/va.gov-cms
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmigrate_plus.migration.va_node_facility_vet_centers_os.yml
239 lines (239 loc) · 5.11 KB
/
migrate_plus.migration.va_node_facility_vet_centers_os.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
uuid: ff27de80-7858-4490-ae97-fb530b02493f
langcode: en
status: true
dependencies: { }
id: va_node_facility_vet_centers_os
class: null
field_plugin_method: null
cck_plugin_method: null
migration_tags:
- Continuous
- Content
- Node
migration_group: facility
label: 'Node - Vet Centers Facility OS'
source:
track_changes: true
cache_counts: true
plugin: url
data_fetcher_plugin: http
data_parser_plugin: json
urls:
- 'https://dev-api.va.gov/services/va_facilities/v0/facilities/all'
headers:
Accept: application/vnd.geo+json
apikey: 'DEFINED IN settings.php'
item_selector: features/
ids:
id:
type: string
constants: null
fields:
-
name: facility_type
label: facility_type
selector: properties/facility_type
-
name: id
label: id
selector: properties/id
-
name: name
label: name
selector: properties/name
-
name: city
label: city
selector: properties/address/physical/city
-
name: coordinates
label: coordinates
selector: geometry/coordinates
-
name: state
label: state
selector: properties/address/physical/state
-
name: zip
label: zip
selector: properties/address/physical/zip
-
name: address1
label: address1
selector: properties/address/physical/address_1
-
name: address2
label: address2
selector: properties/address/physical/address_2
-
name: address3
label: address3
selector: properties/address/physical/address_3
-
name: phone-main
label: phone-main
selector: properties/phone/main
-
name: hours
label: hours
selector: properties/hours
process:
non_field1:
plugin: skip_on_value
not_equals: true
source: facility_type
method: row
value:
- vet_center
non_field2:
plugin: skip_on_substr
not_equals: true
case_sensitive: true
source: id
method: row
value:
- OS
title:
plugin: skip_on_empty
method: row
source: name
message: 'Skipped: Source title/name is empty, can not have a node without title.'
field_facility_locator_api_id:
plugin: skip_on_empty
method: row
source: id
message: 'Skipped: Source API ID is empty, must have it.'
field_address/country_code:
plugin: default_value
default_value: US
field_address/langcode:
plugin: default_value
default_value: en
field_address/address_line1:
plugin: callback
callable: trim
source: address1
field_address/address_line2:
-
plugin: get
source:
- address2
- address3
-
plugin: callback
callable: array_filter
-
plugin: multiple_values
-
plugin: callback
callable: trim
-
plugin: concat
delimiter: ', '
field_address/locality: city
field_address/administrative_area: state
field_address/postal_code: zip
latitude:
plugin: extract
source: coordinates
index:
- 1
longitude:
plugin: extract
source: coordinates
index:
- 0
field_geolocation:
plugin: geofield_latlon
source:
- '@latitude'
- '@longitude'
field_phone_number:
-
plugin: str_replace
source: phone-main
search: Ext.
replace: x
-
plugin: explode
delimiter: x
-
plugin: callback
callable: trim
-
plugin: concat
delimiter: ' x'
field_office_hours:
plugin: va_field_office_hours
source: hours
field_administration:
plugin: default_value
default_value: 190
langcode:
plugin: default_value
default_value: en
status:
plugin: default_value
default_value: 0
promote:
plugin: default_value
default_value: 0
sticky:
plugin: default_value
default_value: 0
path/pathauto:
plugin: default_value
default_value: 1
published_status:
plugin: default_value
default_value: 0
moderation_state:
plugin: default_value
default_value: draft
changed:
plugin: callback
callable: va_gov_migrate_time
new_revision:
plugin: default_value
default_value: true
revision_default:
plugin: default_value
default_value: true
revision_log:
plugin: default_value
default_value: 'Update of Facility API data by migration.'
revision_timestamp:
plugin: callback
callable: va_gov_migrate_time
revision_uid:
plugin: default_value
default_value: 1317
uid:
plugin: default_value
default_value: 1317
type:
plugin: default_value
default_value: vet_center_outstation
destination:
plugin: 'entity:node'
default_bundle: vet_center_outstation
overwrite_properties:
- changed
- field_address/address_line1
- field_address/address_line2
- field_address/administrative_area
- field_address/country_code
- field_address/locality
- field_address/postal_code
- field_geolocation
- field_phone_number
- field_office_hours
- new_revision
- revision_default
- revision_log
- revision_timestamp
- revision_uid
- title
- uid
migration_dependencies:
required: { }