-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathgenerator.yaml
171 lines (171 loc) · 4.53 KB
/
generator.yaml
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
ignore:
shape_names:
- OnDemandThroughput
- WarmThroughput
- GlobalSecondaryIndexWarmThroughputDescription
- OnDemandThroughputOverride
- TableWarmThroughputDescription
field_paths:
# Replica of Spec.BillingMode
- TableDescription.BillingModeSummary
# Replica of Spec.SSESpecification
- TableDescription.SSEDescription
- TableDescription.TableClassSummary
- CreateTableInput.ResourcePolicy
- CreateTableInput.WarmThroughput
operations:
UpdateGlobalTable:
operation_type:
- Update
- Delete
resource_name: GlobalTable
DescribeBackup:
output_wrapper_field_path: BackupDescription.BackupDetails
primary_identifier_field_name: BackupArn
resources:
Table:
fields:
TableReplicas:
custom_field:
list_of: CreateReplicationGroupMemberAction
compare:
is_ignored: true
GlobalSecondaryIndexesDescriptions:
custom_field:
list_of: GlobalSecondaryIndexDescription
is_read_only: true
TimeToLive:
from:
operation: UpdateTimeToLive
path: TimeToLiveSpecification
ContinuousBackups:
is_required: false
from:
operation: UpdateContinuousBackups
path: PointInTimeRecoverySpecification
AttributeDefinitions:
compare:
is_ignored: true
# non modifiable field
KeySchema:
is_immutable: true
compare:
is_ignored: true
GlobalSecondaryIndexes:
compare:
is_ignored: true
Tags:
compare:
is_ignored: true
# non modifiable field
LocalSecondaryIndexes:
is_immutable: true
compare:
is_ignored: true
SSESpecification:
compare:
is_ignored: true
SSESpecification.KMSMasterKeyID:
references:
service_name: kms
resource: Key
path: Status.ACKResourceMetadata.ARN
ContributorInsights:
from:
operation: UpdateContributorInsights
path: ContributorInsightsAction
compare:
is_ignored: true
exceptions:
errors:
404:
code: ResourceNotFoundException
terminal_codes:
- InvalidParameter
- ValidationException
update_operation:
custom_method_name: customUpdateTable
hooks:
delta_pre_compare:
code: customPreCompare(delta, a, b)
sdk_create_post_set_output:
template_path: hooks/table/sdk_create_post_set_output.go.tpl
sdk_read_one_post_set_output:
template_path: hooks/table/sdk_read_one_post_set_output.go.tpl
sdk_update_pre_build_request:
template_path: hooks/table/sdk_update_pre_build_request.go.tpl
sdk_delete_pre_build_request:
template_path: hooks/table/sdk_delete_pre_build_request.go.tpl
synced:
when:
- path: Status.TableStatus
in:
- ACTIVE
- ARCHIVED
print:
add_age_column: true
add_synced_column: true
additional_columns:
- name: ARN
json_path: .status.ackResourceMetadata.arn
type: string
priority: 1
- name: CLASS
json_path: .spec.tableClass
type: string
priority: 0
- name: STATUS
json_path: .status.tableStatus
type: string
GlobalTable:
exceptions:
errors:
404:
code: GlobalTableNotFoundException
hooks:
sdk_delete_post_build_request:
code: customSetDeleteInput(r, input)
tags:
ignore: true
synced:
when:
- path: Status.GlobalTableStatus
in:
- ACTIVE
Backup:
exceptions:
errors:
404:
code: BackupNotFoundException
hooks:
sdk_read_one_post_set_output:
template_path: hooks/backup/sdk_read_one_post_set_output.go.tpl
tags:
ignore: true
synced:
when:
- path: Status.BackupStatus
in:
- AVAILABLE
- DELETED
print:
add_age_column: true
add_synced_column: true
additional_columns:
- name: ARN
json_path: .status.ackResourceMetadata.arn
type: string
priority: 1
- name: TABLENAME
json_path: .spec.tableName
type: string
priority: 0
- name: TYPE
json_path: .status.backupType
type: string
- name: SIZE
json_path: .status.backupSize
type: string
- name: STATUS
json_path: .status.backupStatus
type: string