-
Notifications
You must be signed in to change notification settings - Fork 5
/
migrate_plus.migration.va_node_facility_vet_centers.yml
270 lines (270 loc) · 5.75 KB
/
migrate_plus.migration.va_node_facility_vet_centers.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
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
uuid: 0099e8f7-4307-4db2-98fe-caa8ecc1e990
langcode: en
status: true
dependencies:
enforced:
module:
- tzfield
id: va_node_facility_vet_centers
class: null
field_plugin_method: null
cck_plugin_method: null
migration_tags:
- Continuous
- Content
- Node
migration_group: facility
label: 'Node - Vet Centers Facility'
source:
track_changes: true
cache_counts: true
plugin: url
data_fetcher_plugin: http
data_parser_plugin: json
urls:
- 'https://sandbox-api.va.gov/services/va_facilities/v1/facilities?per_page=1000'
- 'https://sandbox-api.va.gov/services/va_facilities/v1/facilities?per_page=1000&page=2'
- 'https://sandbox-api.va.gov/services/va_facilities/v1/facilities?per_page=1000&page=3'
headers:
Accept: application/json
apikey: 'DEFINED IN settings.php'
item_selector: data/
ids:
id:
type: string
constants:
vet_centers_tid: 190
fields:
-
name: facility_type
label: facility_type
selector: attributes/facilityType
-
name: id
label: id
selector: id
-
name: name
label: name
selector: attributes/name
-
name: visn
label: visn
selector: attributes/visn
-
name: city
label: city
selector: attributes/address/physical/city
-
name: state
label: state
selector: attributes/address/physical/state
-
name: zip
label: zip
selector: attributes/address/physical/zip
-
name: address1
label: address1
selector: attributes/address/physical/address1
-
name: address2
label: address2
selector: attributes/address/physical/address2
-
name: address3
label: address3
selector: attributes/address/physical/address3
-
name: latitude
label: latitude
selector: attributes/lat
-
name: longitude
label: longitude
selector: attributes/long
-
name: phone-main
label: phone-main
selector: attributes/phone/main
-
name: hours
label: hours
selector: attributes/hours
-
name: time_zone
label: time_zone
selector: attributes/timeZone
process:
non_field1:
plugin: skip_on_value
not_equals: true
source: facility_type
method: row
value:
- vet_center
non_field2:
plugin: skip_on_substr
case_sensitive: false
source: id
method: row
value:
- mvc
- os
- cap
field_official_name:
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
field_geolocation:
plugin: geofield_latlon
source:
- latitude
- longitude
field_phone_number:
plugin: str_replace
search:
- (
- )
- X
- ' '
- ext
- Ext
- .
- ','
- x
replace:
- ''
- '-'
- x
- ''
- x
- x
- ''
- ''
- ', ext. '
source: phone-main
field_office_hours:
plugin: va_field_office_hours
source: hours
field_timezone: time_zone
field_administration:
-
plugin: callback
callable: trim
source: name
-
plugin: entity_generate
entity_type: taxonomy_term
ignore_case: true
value_key: name
bundle_key: vid
bundle: administration
values:
parent: constants/vet_centers_tid
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
destination:
plugin: 'entity:node'
default_bundle: vet_center
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_administration
- field_office_hours
- field_timezone
- field_official_name
- field_phone_number
- new_revision
- revision_default
- revision_log
- revision_timestamp
- revision_uid
- uid
migration_dependencies:
required: { }