@stacksjs/ts-cloud-aws-types 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,57 +0,0 @@
1
- /**
2
- * AWS Global Accelerator Types
3
- * CloudFormation resource types for AWS Global Accelerator
4
- */
5
-
6
- import type { Tag } from './common'
7
-
8
- export interface Accelerator {
9
- Type: 'AWS::GlobalAccelerator::Accelerator'
10
- Properties: {
11
- Name: string
12
- Enabled?: boolean
13
- IpAddressType?: 'IPV4' | 'DUAL_STACK'
14
- IpAddresses?: string[]
15
- Tags?: Tag[]
16
- }
17
- DeletionPolicy?: 'Delete' | 'Retain'
18
- UpdateReplacePolicy?: 'Delete' | 'Retain'
19
- }
20
-
21
- export interface GlobalAcceleratorListener {
22
- Type: 'AWS::GlobalAccelerator::Listener'
23
- Properties: {
24
- AcceleratorArn: string | { Ref: string }
25
- Protocol: 'TCP' | 'UDP'
26
- PortRanges: Array<{
27
- FromPort: number
28
- ToPort: number
29
- }>
30
- ClientAffinity?: 'NONE' | 'SOURCE_IP'
31
- }
32
- DependsOn?: string | string[]
33
- }
34
-
35
- export interface EndpointGroup {
36
- Type: 'AWS::GlobalAccelerator::EndpointGroup'
37
- Properties: {
38
- ListenerArn: string | { Ref: string }
39
- EndpointGroupRegion: string
40
- EndpointConfigurations?: Array<{
41
- EndpointId: string | { Ref: string }
42
- Weight?: number
43
- ClientIPPreservationEnabled?: boolean
44
- }>
45
- TrafficDialPercentage?: number
46
- HealthCheckIntervalSeconds?: number
47
- HealthCheckPath?: string
48
- HealthCheckPort?: number
49
- HealthCheckProtocol?: 'TCP' | 'HTTP' | 'HTTPS'
50
- ThresholdCount?: number
51
- PortOverrides?: Array<{
52
- ListenerPort: number
53
- EndpointPort: number
54
- }>
55
- }
56
- DependsOn?: string | string[]
57
- }
package/src/glue.ts DELETED
@@ -1,241 +0,0 @@
1
- /**
2
- * AWS Glue Types
3
- * CloudFormation resource types for AWS Glue (ETL jobs, data catalog)
4
- */
5
-
6
- import type { Tag } from './common'
7
-
8
- export interface Database {
9
- Type: 'AWS::Glue::Database'
10
- Properties: {
11
- CatalogId: string
12
- DatabaseInput: {
13
- Name: string
14
- Description?: string
15
- LocationUri?: string
16
- Parameters?: Record<string, string>
17
- }
18
- }
19
- }
20
-
21
- export interface Table {
22
- Type: 'AWS::Glue::Table'
23
- Properties: {
24
- CatalogId: string
25
- DatabaseName: string | { Ref: string }
26
- TableInput: {
27
- Name: string
28
- Description?: string
29
- Owner?: string
30
- Retention?: number
31
- StorageDescriptor?: {
32
- Columns?: Array<{
33
- Name: string
34
- Type?: string
35
- Comment?: string
36
- }>
37
- Location?: string
38
- InputFormat?: string
39
- OutputFormat?: string
40
- Compressed?: boolean
41
- NumberOfBuckets?: number
42
- SerdeInfo?: {
43
- Name?: string
44
- SerializationLibrary?: string
45
- Parameters?: Record<string, string>
46
- }
47
- BucketColumns?: string[]
48
- SortColumns?: Array<{
49
- Column: string
50
- SortOrder: number
51
- }>
52
- Parameters?: Record<string, string>
53
- SkewedInfo?: {
54
- SkewedColumnNames?: string[]
55
- SkewedColumnValues?: string[]
56
- SkewedColumnValueLocationMaps?: Record<string, string>
57
- }
58
- StoredAsSubDirectories?: boolean
59
- }
60
- PartitionKeys?: Array<{
61
- Name: string
62
- Type?: string
63
- Comment?: string
64
- }>
65
- TableType?: string
66
- Parameters?: Record<string, string>
67
- }
68
- }
69
- DependsOn?: string | string[]
70
- }
71
-
72
- export interface Crawler {
73
- Type: 'AWS::Glue::Crawler'
74
- Properties: {
75
- Name?: string
76
- Role: string | { Ref: string }
77
- DatabaseName: string | { Ref: string }
78
- Targets: {
79
- S3Targets?: Array<{
80
- Path: string
81
- Exclusions?: string[]
82
- ConnectionName?: string
83
- }>
84
- JdbcTargets?: Array<{
85
- ConnectionName: string
86
- Path: string
87
- Exclusions?: string[]
88
- }>
89
- DynamoDBTargets?: Array<{
90
- Path: string
91
- }>
92
- CatalogTargets?: Array<{
93
- DatabaseName: string
94
- Tables: string[]
95
- }>
96
- }
97
- Description?: string
98
- Schedule?: {
99
- ScheduleExpression: string
100
- }
101
- Classifiers?: string[]
102
- TablePrefix?: string
103
- SchemaChangePolicy?: {
104
- UpdateBehavior?: 'LOG' | 'UPDATE_IN_DATABASE'
105
- DeleteBehavior?: 'LOG' | 'DELETE_FROM_DATABASE' | 'DEPRECATE_IN_DATABASE'
106
- }
107
- Configuration?: string
108
- CrawlerSecurityConfiguration?: string
109
- Tags?: Record<string, string>
110
- }
111
- }
112
-
113
- export interface Job {
114
- Type: 'AWS::Glue::Job'
115
- Properties: {
116
- Name?: string
117
- Role: string | { Ref: string }
118
- Command: {
119
- Name: 'glueetl' | 'gluestreaming' | 'pythonshell'
120
- ScriptLocation: string
121
- PythonVersion?: '2' | '3'
122
- }
123
- AllocatedCapacity?: number
124
- MaxCapacity?: number
125
- ExecutionProperty?: {
126
- MaxConcurrentRuns?: number
127
- }
128
- MaxRetries?: number
129
- Timeout?: number
130
- GlueVersion?: string
131
- NumberOfWorkers?: number
132
- WorkerType?: 'Standard' | 'G.1X' | 'G.2X' | 'G.025X'
133
- DefaultArguments?: Record<string, string>
134
- Connections?: {
135
- Connections?: string[]
136
- }
137
- Description?: string
138
- SecurityConfiguration?: string
139
- Tags?: Record<string, string>
140
- }
141
- }
142
-
143
- export interface Trigger {
144
- Type: 'AWS::Glue::Trigger'
145
- Properties: {
146
- Name?: string
147
- Type: 'SCHEDULED' | 'CONDITIONAL' | 'ON_DEMAND'
148
- Actions: Array<{
149
- JobName?: string | { Ref: string }
150
- Arguments?: Record<string, string>
151
- Timeout?: number
152
- SecurityConfiguration?: string
153
- NotificationProperty?: {
154
- NotifyDelayAfter?: number
155
- }
156
- CrawlerName?: string
157
- }>
158
- Description?: string
159
- Schedule?: string // Cron expression
160
- Predicate?: {
161
- Logical?: 'AND' | 'ANY'
162
- Conditions?: Array<{
163
- LogicalOperator?: 'EQUALS'
164
- JobName?: string | { Ref: string }
165
- State?: 'SUCCEEDED' | 'STOPPED' | 'FAILED' | 'TIMEOUT'
166
- CrawlerName?: string
167
- CrawlState?: 'SUCCEEDED' | 'FAILED' | 'CANCELLED'
168
- }>
169
- }
170
- StartOnCreation?: boolean
171
- WorkflowName?: string
172
- Tags?: Record<string, string>
173
- }
174
- }
175
-
176
- export interface Partition {
177
- Type: 'AWS::Glue::Partition'
178
- Properties: {
179
- CatalogId: string
180
- DatabaseName: string | { Ref: string }
181
- TableName: string | { Ref: string }
182
- PartitionInput: {
183
- Values: string[]
184
- StorageDescriptor?: {
185
- Columns?: Array<{
186
- Name: string
187
- Type?: string
188
- Comment?: string
189
- }>
190
- Location?: string
191
- InputFormat?: string
192
- OutputFormat?: string
193
- SerdeInfo?: {
194
- SerializationLibrary?: string
195
- Parameters?: Record<string, string>
196
- }
197
- }
198
- Parameters?: Record<string, string>
199
- }
200
- }
201
- DependsOn?: string | string[]
202
- }
203
-
204
- export interface Connection {
205
- Type: 'AWS::Glue::Connection'
206
- Properties: {
207
- CatalogId: string
208
- ConnectionInput: {
209
- Name: string
210
- Description?: string
211
- ConnectionType: 'JDBC' | 'SFTP' | 'MONGODB' | 'KAFKA' | 'NETWORK'
212
- ConnectionProperties: Record<string, string>
213
- PhysicalConnectionRequirements?: {
214
- AvailabilityZone?: string
215
- SecurityGroupIdList?: Array<string | { Ref: string }>
216
- SubnetId?: string | { Ref: string }
217
- }
218
- }
219
- }
220
- }
221
-
222
- export interface SecurityConfiguration {
223
- Type: 'AWS::Glue::SecurityConfiguration'
224
- Properties: {
225
- Name: string
226
- EncryptionConfiguration: {
227
- S3Encryptions?: Array<{
228
- S3EncryptionMode?: 'DISABLED' | 'SSE-KMS' | 'SSE-S3'
229
- KmsKeyArn?: string | { Ref: string }
230
- }>
231
- CloudWatchEncryption?: {
232
- CloudWatchEncryptionMode?: 'DISABLED' | 'SSE-KMS'
233
- KmsKeyArn?: string | { Ref: string }
234
- }
235
- JobBookmarksEncryption?: {
236
- JobBookmarksEncryptionMode?: 'DISABLED' | 'CSE-KMS'
237
- KmsKeyArn?: string | { Ref: string }
238
- }
239
- }
240
- }
241
- }
package/src/iam.ts DELETED
@@ -1,142 +0,0 @@
1
- import type { CloudFormationResource } from './index'
2
-
3
- export interface IAMRole extends CloudFormationResource {
4
- Type: 'AWS::IAM::Role'
5
- Properties: {
6
- RoleName?: string
7
- MaxSessionDuration?: number
8
- AssumeRolePolicyDocument: {
9
- Version: '2012-10-17'
10
- Statement: Array<{
11
- Effect: 'Allow' | 'Deny'
12
- Principal: {
13
- Service?: string | string[]
14
- AWS?: string | string[]
15
- Federated?: string | string[]
16
- }
17
- Action: string | string[]
18
- Condition?: Record<string, unknown>
19
- }>
20
- }
21
- ManagedPolicyArns?: string[]
22
- Policies?: Array<{
23
- PolicyName: string
24
- PolicyDocument: {
25
- Version: '2012-10-17'
26
- Statement: Array<{
27
- Effect: 'Allow' | 'Deny'
28
- Action: string | string[]
29
- Resource: string | string[]
30
- }>
31
- }
32
- }>
33
- Tags?: Array<{
34
- Key: string
35
- Value: string
36
- }>
37
- }
38
- }
39
-
40
- export interface IAMPolicy extends CloudFormationResource {
41
- Type: 'AWS::IAM::Policy'
42
- Properties: {
43
- PolicyName: string
44
- PolicyDocument: {
45
- Version: '2012-10-17'
46
- Statement: Array<{
47
- Sid?: string
48
- Effect: 'Allow' | 'Deny'
49
- Action: string | string[]
50
- Resource: string | string[]
51
- Condition?: Record<string, unknown>
52
- }>
53
- }
54
- Roles?: string[]
55
- Users?: string[]
56
- Groups?: string[]
57
- }
58
- }
59
-
60
- export interface IAMUser extends CloudFormationResource {
61
- Type: 'AWS::IAM::User'
62
- Properties: {
63
- UserName?: string
64
- ManagedPolicyArns?: string[]
65
- Groups?: string[]
66
- Policies?: Array<{
67
- PolicyName: string
68
- PolicyDocument: {
69
- Version: '2012-10-17'
70
- Statement: Array<{
71
- Effect: 'Allow' | 'Deny'
72
- Action: string | string[]
73
- Resource: string | string[]
74
- }>
75
- }
76
- }>
77
- Tags?: Array<{
78
- Key: string
79
- Value: string
80
- }>
81
- }
82
- }
83
-
84
- export interface IAMManagedPolicy extends CloudFormationResource {
85
- Type: 'AWS::IAM::ManagedPolicy'
86
- Properties: {
87
- ManagedPolicyName?: string
88
- Description?: string
89
- Path?: string
90
- PolicyDocument: {
91
- Version: '2012-10-17'
92
- Statement: Array<{
93
- Sid?: string
94
- Effect: 'Allow' | 'Deny'
95
- Action: string | string[]
96
- Resource: string | string[]
97
- Condition?: Record<string, unknown>
98
- }>
99
- }
100
- Roles?: Array<string | { Ref: string }>
101
- Users?: Array<string | { Ref: string }>
102
- Groups?: Array<string | { Ref: string }>
103
- }
104
- }
105
-
106
- export interface IAMGroup extends CloudFormationResource {
107
- Type: 'AWS::IAM::Group'
108
- Properties: {
109
- GroupName?: string
110
- ManagedPolicyArns?: string[]
111
- Policies?: Array<{
112
- PolicyName: string
113
- PolicyDocument: {
114
- Version: '2012-10-17'
115
- Statement: Array<{
116
- Effect: 'Allow' | 'Deny'
117
- Action: string | string[]
118
- Resource: string | string[]
119
- }>
120
- }
121
- }>
122
- Path?: string
123
- }
124
- }
125
-
126
- export interface IAMAccessKey extends CloudFormationResource {
127
- Type: 'AWS::IAM::AccessKey'
128
- Properties: {
129
- UserName: string | { Ref: string }
130
- Status?: 'Active' | 'Inactive'
131
- Serial?: number
132
- }
133
- }
134
-
135
- export interface IAMInstanceProfile extends CloudFormationResource {
136
- Type: 'AWS::IAM::InstanceProfile'
137
- Properties: {
138
- InstanceProfileName?: string
139
- Path?: string
140
- Roles: Array<string | { Ref: string }>
141
- }
142
- }