Jeff Bradberry
393369adec
First cut at examples of the import and export commands
2020-06-18 15:32:49 -04:00
Jeff Bradberry
0fda9d2c56
Continue after failures to grant roles
2020-06-11 13:19:24 -04:00
Jeff Bradberry
bf6e8f8e83
Prioritize membership roles
...
since certain role grants will not be accepted by the api unless the user or team is part of the correct organization.
2020-06-10 15:27:15 -04:00
Jeff Bradberry
19b7c91486
Return the changed status of imports
2020-06-09 15:00:06 -04:00
Jeff Bradberry
aeeed4d371
Add more logging
2020-06-09 15:00:06 -04:00
Jeff Bradberry
1f7c1af64e
Fix WFJT nodes endpoint to return node pages when posting
...
not the node list page.
2020-06-09 15:00:06 -04:00
Jeff Bradberry
65fc2db42f
Recursively queue up related assets to be created and/or assigned
2020-06-09 14:59:49 -04:00
Jeff Bradberry
c8288af87f
Make sure we have a cached version of existing objects
...
even if it isn't an object being directly imported. We might need it
for relations of things that are being imported.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
76fb605dcd
Deal with exports involving foreign keys where you don't have permission
2020-06-09 13:54:05 -04:00
Jeff Bradberry
a531b85b31
Redo waiting until Project updates are complete
2020-06-09 13:54:05 -04:00
Jeff Bradberry
86afa5cf42
Make more use of the PageCache for imports
2020-06-09 13:54:05 -04:00
Jeff Bradberry
57aff6394c
Log an error and continue when a related object is not found
2020-06-09 13:54:05 -04:00
Jeff Bradberry
66bc947adb
Reuse _import_list for import of related full objects
...
e.g. WFJT Nodes. Also rename _import_list from _create_assets.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
301f15bfdd
Rename some things for consistency
2020-06-09 13:54:05 -04:00
Jeff Bradberry
9fc1a4bb44
Change the method that exports list views to take a PageList or TentativePage
...
This will allow the related m2m views to also use this method, with a
bit of effort. Also, remove the use of pk_or_name in favor of a new
method that reduces the number of api calls.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
f7825aefeb
Avoid doing an OPTIONS call unless we know it is a related type we export
2020-06-09 13:54:05 -04:00
Jeff Bradberry
14b5f63bd8
Use the new PageCache to store and reuse Page.get results
2020-06-09 13:54:05 -04:00
Jeff Bradberry
1300d38e47
Introduce a new PageCache object
...
and split out get_post_fields into its own utility function.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
bb66e4633d
Split _get_options into two pieces
2020-06-09 13:54:05 -04:00
Jeff Bradberry
201de4e18a
Attempt to deal with foreign keys that get mislabeled as type integer
...
such as through the use of DeprecatedCredentialField.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
471dc2babf
Deal with relations that we cannot resolve
...
such as due to a lack of permissions. If there is a foreign key to
something where we don't have sufficient read permissions, we now drop
the parent object from the export.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
6387258da1
Only wait for Project updates
...
not other kinds of objects that have a status.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
6958815f6e
Remove the $encrypted$ placeholders from export values
2020-06-09 13:54:05 -04:00
Jeff Bradberry
43b76f4575
Deal with unreadable mandatory foreign keys
...
by dropping the parent object. Also, clarify some of the warning log
messages.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
53d81d42cc
Hook up creation and attachment of related objects
2020-06-09 13:54:05 -04:00
Jeff Bradberry
385725e52a
Fix the _create_assets method to use _get_options
2020-06-09 13:54:05 -04:00
Jeff Bradberry
1b264011a2
Enable interconnections between WFJT Nodes
2020-06-09 13:54:05 -04:00
Jeff Bradberry
719f0b407c
Enable credential relations
...
but only when it is in an attach/detach list view.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
a5fa34bd3b
Fall back to parsing the OPTIONS description
...
to determine the needed fields for constructing an object.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
eb10a1873d
Drop objects that cannot be read or do not have a natural key
...
don't fail hard.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
ab15349c8c
Remove the NoNaturalKey error
...
It's too awkward, and it makes more sense to return None instead.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
e053a58223
Handle some more bad cases when doing OPTIONS calls
...
- deprecated endpoints
- read-only endpoints
- insufficient privileges
The latter case currently just drops it on the floor, but ought to do
something better.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
4262dd38ba
Change the NoNaturalKey exception to no longer derive from Common
...
which seems to be entirely use for response exceptions. Maybe rename
Common?
2020-06-09 13:54:05 -04:00
Jeff Bradberry
0deacc4391
If attempting to link to a resource that is not yet complete, wait
2020-06-09 13:54:05 -04:00
Jeff Bradberry
329293dbf0
Tentatively enable inventory sources
2020-06-09 13:54:05 -04:00
Jeff Bradberry
e92c8cfdcc
Remove the natural key lookup dict and make each Page responsible instead
2020-06-09 13:54:05 -04:00
Jeff Bradberry
07ba521b8b
Enable schedules
2020-06-09 13:54:05 -04:00
Jeff Bradberry
972d3ab535
Export full related objects under some conditions
2020-06-09 13:54:05 -04:00
Jeff Bradberry
a1f7d0b781
Fix a bug with inventory.variables
...
Using Page[key] instead of Page.json[key] causes inner json blob
strings to automatically get parsed, which is not what we want with
this field.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
30a3e3e172
Deal with lack of permissions
2020-06-09 13:54:05 -04:00
Jeff Bradberry
01d575f833
Enable the remaining top-level exportable resources
...
and rearrange the import/export methods a bit.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
e0f6af4700
Enable the export of several relation field types
2020-06-09 13:54:05 -04:00
Jeff Bradberry
3860c7597f
Move the import logic into methods on the ApiV2 class
2020-06-09 13:54:05 -04:00
Jeff Bradberry
e4146e9bc7
Move the export logic onto methods on the ApiV2 class
...
making it easier to invoke programmatically.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
19c92a7055
Enable notification templates
2020-06-09 13:54:05 -04:00
Jeff Bradberry
6a9add4fe3
Deal somewhat reasonably with missing fields as part of the natural key
...
- JobTemplate.organization has recently been added, we need to support
with and without
- WorkflowJobTemplateNode is shortly going to get an identifier field,
and we will need to support both with and without
2020-06-09 13:54:05 -04:00
Jeff Bradberry
ad574eb896
Enable credential export
2020-06-09 13:54:05 -04:00
Jeff Bradberry
55f79a4569
Fix a couple of flaws
...
- The dependency ordering may spit out page types that weren't in the import data set. Make sure to be able to map those to resources anyway.
- freeze() needs to be able to deal with nullable foreign keys.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
d20fa03034
Create new Import.dependent_resources method
...
that yields up resource names, even ones that aren't explicitly in the
import data, in dependency order.
2020-06-09 13:54:05 -04:00
Jeff Bradberry
868aafb263
Filter out managed credential types
...
since we cannot patch them upon import.
2020-06-09 13:54:05 -04:00