/
keys.go
172 lines (168 loc) · 4.17 KB
/
keys.go
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
// Code generated by codegen; DO NOT EDIT.
package kms
import (
"github.com/OpsHelmInc/cloudquery/client"
"github.com/cloudquery/plugin-sdk/schema"
)
func Keys() *schema.Table {
return &schema.Table{
Name: "aws_kms_keys",
Description: `https://docs.aws.amazon.com/kms/latest/APIReference/API_KeyMetadata.html`,
Resolver: fetchKmsKeys,
PreResourceResolver: getKey,
Multiplex: client.ServiceAccountRegionMultiplexer("kms"),
Columns: []schema.Column{
{
Name: "account_id",
Type: schema.TypeString,
Resolver: client.ResolveAWSAccount,
},
{
Name: "region",
Type: schema.TypeString,
Resolver: client.ResolveAWSRegion,
},
{
Name: "rotation_enabled",
Type: schema.TypeBool,
Resolver: resolveKeysRotationEnabled,
},
{
Name: "tags",
Type: schema.TypeJSON,
Resolver: resolveKeysTags,
},
{
Name: "arn",
Type: schema.TypeString,
CreationOptions: schema.ColumnCreationOptions{
PrimaryKey: true,
},
},
{
Name: "replica_keys",
Type: schema.TypeJSON,
Resolver: resolveKeysReplicaKeys,
IgnoreInTests: true,
},
{
Name: "key_id",
Type: schema.TypeString,
Resolver: schema.PathResolver("KeyId"),
},
{
Name: "aws_account_id",
Type: schema.TypeString,
Resolver: schema.PathResolver("AWSAccountId"),
},
{
Name: "cloud_hsm_cluster_id",
Type: schema.TypeString,
Resolver: schema.PathResolver("CloudHsmClusterId"),
},
{
Name: "creation_date",
Type: schema.TypeTimestamp,
Resolver: schema.PathResolver("CreationDate"),
},
{
Name: "custom_key_store_id",
Type: schema.TypeString,
Resolver: schema.PathResolver("CustomKeyStoreId"),
},
{
Name: "customer_master_key_spec",
Type: schema.TypeString,
Resolver: schema.PathResolver("CustomerMasterKeySpec"),
},
{
Name: "deletion_date",
Type: schema.TypeTimestamp,
Resolver: schema.PathResolver("DeletionDate"),
},
{
Name: "description",
Type: schema.TypeString,
Resolver: schema.PathResolver("Description"),
},
{
Name: "enabled",
Type: schema.TypeBool,
Resolver: schema.PathResolver("Enabled"),
},
{
Name: "encryption_algorithms",
Type: schema.TypeStringArray,
Resolver: schema.PathResolver("EncryptionAlgorithms"),
},
{
Name: "expiration_model",
Type: schema.TypeString,
Resolver: schema.PathResolver("ExpirationModel"),
},
{
Name: "key_manager",
Type: schema.TypeString,
Resolver: schema.PathResolver("KeyManager"),
},
{
Name: "key_spec",
Type: schema.TypeString,
Resolver: schema.PathResolver("KeySpec"),
},
{
Name: "key_state",
Type: schema.TypeString,
Resolver: schema.PathResolver("KeyState"),
},
{
Name: "key_usage",
Type: schema.TypeString,
Resolver: schema.PathResolver("KeyUsage"),
},
{
Name: "mac_algorithms",
Type: schema.TypeStringArray,
Resolver: schema.PathResolver("MacAlgorithms"),
},
{
Name: "multi_region",
Type: schema.TypeBool,
Resolver: schema.PathResolver("MultiRegion"),
},
{
Name: "multi_region_configuration",
Type: schema.TypeJSON,
Resolver: schema.PathResolver("MultiRegionConfiguration"),
},
{
Name: "origin",
Type: schema.TypeString,
Resolver: schema.PathResolver("Origin"),
},
{
Name: "pending_deletion_window_in_days",
Type: schema.TypeInt,
Resolver: schema.PathResolver("PendingDeletionWindowInDays"),
},
{
Name: "signing_algorithms",
Type: schema.TypeStringArray,
Resolver: schema.PathResolver("SigningAlgorithms"),
},
{
Name: "valid_to",
Type: schema.TypeTimestamp,
Resolver: schema.PathResolver("ValidTo"),
},
{
Name: "xks_key_configuration",
Type: schema.TypeJSON,
Resolver: schema.PathResolver("XksKeyConfiguration"),
},
},
Relations: []*schema.Table{
KeyGrants(),
},
}
}