You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Lazy-load DynamoDB, ECS, EKS details and parallelize S3 listing (#7114)
* ⚡ Lazy-load DynamoDB, ECS TaskDef, EKS details and parallelize S3 listing
Eliminates N+1 DescribeTable/DescribeTaskDefinition/DescribeCluster calls
during resource listing by making detail fields computed (lazy-loaded).
Parallelizes S3 bucket listing across regions using jobpool.
DynamoDB: ListTables returns only names; DescribeTable now called on-demand
via fetchDetail() with double-check locking. Saves ~30s for 50 tables.
ECS TaskDefinition: ListTaskDefinitions returns only ARNs;
DescribeTaskDefinition now called on-demand. Saves ~60s for 100 task defs.
EKS: ListClusters returns only names; DescribeCluster now called on-demand.
Tag filtering still calls describe eagerly when filters are active.
Saves ~20s for 20 clusters.
S3: Region iteration now uses jobpool (concurrency 5) instead of sequential
loop. Saves ~12s with 15 regions.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* 🧹 Address EKS review: cache describe for tag filters, fix iamRole accessor
- Cache DescribeCluster response when tag filtering is active to avoid
redundant API call in fetchDetail()
- Use real ARN from DescribeCluster when available (correct for all partitions)
- Make iamRole() accessor explicit (return Data after fetchDetail)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
// Description of server-side encryption for the table
4285
-
sseDescription dict
4285
+
sseDescription() dict
4286
4286
// Type of server-side encryption: "AES256" (AWS-owned) or "KMS" (customer-managed or AWS-managed KMS key)
4287
-
sseType string
4287
+
sseType() string
4288
4288
// KMS key used for server-side encryption at rest
4289
4289
sseKmsKey() aws.kms.key
4290
4290
// Provisioned throughput settings for the table
4291
-
provisionedThroughput dict
4291
+
provisionedThroughput() dict
4292
4292
// Continuous backups and point-in-time recovery settings for the table
4293
4293
continuousBackups() dict
4294
4294
// Tags for the table
4295
4295
tags() map[string]string
4296
4296
// Date and time the table was created
4297
-
createdAt time
4297
+
createdAt() time
4298
4298
// Whether deletion protection is enabled
4299
-
deletionProtectionEnabled bool
4299
+
deletionProtectionEnabled() bool
4300
4300
// Global table version
4301
-
globalTableVersion string
4301
+
globalTableVersion() string
4302
4302
// Number of items in the table
4303
-
items int
4303
+
items() int
4304
4304
// Total size of the specified table, in bytes. DynamoDB updates this value approximately every six hours.
4305
-
sizeBytes int
4305
+
sizeBytes() int
4306
4306
// Latest stream for this table
4307
-
latestStreamArn string
4307
+
latestStreamArn() string
4308
4308
// Current state of the table: CREATING, UPDATING, DELETING, ACTIVE, INACCESSIBLE_ENCRYPTION_CREDENTIALS, ARCHIVING, ARCHIVED, or REPLICATION_NOT_AUTHORIZED
4309
-
status string
4309
+
status() string
4310
4310
// Label of the latest DynamoDB stream
4311
-
latestStreamLabel string
4311
+
latestStreamLabel() string
4312
4312
// Table class: STANDARD or STANDARD_INFREQUENT_ACCESS
4313
-
tableClass string
4313
+
tableClass() string
4314
4314
// Whether DynamoDB Streams is enabled on the table
4315
-
streamEnabled bool
4315
+
streamEnabled() bool
4316
4316
// Type of information written to the stream: KEYS_ONLY, NEW_IMAGE, OLD_IMAGE, or NEW_AND_OLD_IMAGES
4317
-
streamViewType string
4317
+
streamViewType() string
4318
4318
// Billing mode: PROVISIONED or PAY_PER_REQUEST
4319
-
billingMode string
4319
+
billingMode() string
4320
4320
// Regions where the table is replicated (global tables)
4321
-
replicaRegions []string
4321
+
replicaRegions() []string
4322
4322
}
4323
4323
4324
4324
// Amazon Simple Queue Service (SQS)
@@ -7198,43 +7198,43 @@ aws.eks.cluster @defaults("arn version status") {
7198
7198
// Region for the cluster
7199
7199
region string
7200
7200
// A map of tags associated with the cluster
7201
-
tags map[string]string
7201
+
tags() map[string]string
7202
7202
// Endpoint of Kubernetes API server
7203
-
endpoint string
7203
+
endpoint() string
7204
7204
// Kubernetes server version
7205
-
version string
7205
+
version() string
7206
7206
// Amazon EKS cluster version
7207
-
platformVersion string
7207
+
platformVersion() string
7208
7208
// Cluster status
7209
-
status string
7209
+
status() string
7210
7210
// Encryption configuration for the cluster
7211
-
encryptionConfig []dict
7211
+
encryptionConfig() []dict
7212
7212
// Cluster logging configuration
7213
-
logging dict
7213
+
logging() dict
7214
7214
// Kubernetes network configuration
7215
-
networkConfig dict
7215
+
networkConfig() dict
7216
7216
// VPC configuration
7217
-
resourcesVpcConfig dict
7217
+
resourcesVpcConfig() dict
7218
7218
// Cluster creation timestamp
7219
-
createdAt time
7219
+
createdAt() time
7220
7220
// List of EKS node groups
7221
7221
nodeGroups() []aws.eks.nodegroup
7222
7222
// List of EKS add-ons
7223
7223
addons() []aws.eks.addon
7224
7224
// IAM role that provides permissions for the Kubernetes control plane to make calls to Amazon Web Services API operations on your behalf
7225
-
iamRole aws.iam.role
7225
+
iamRole() aws.iam.role
7226
7226
// Kubernetes support policy of the cluster. (`STANDARD` support automatically upgrades at the end of standard support. `EXTENDED` automatically enters extended support at the end of standard support)
7227
-
supportType string
7227
+
supportType() string
7228
7228
// Cluster authentication mode
7229
-
authenticationMode string
7229
+
authenticationMode() string
7230
7230
// Whether deletion protection is enabled or not
7231
-
deletionProtection bool
7231
+
deletionProtection() bool
7232
7232
// Whether the Kubernetes API server endpoint is publicly accessible
7233
-
endpointPublicAccess bool
7233
+
endpointPublicAccess() bool
7234
7234
// Whether the Kubernetes API server endpoint is accessible via private VPC endpoint
7235
-
endpointPrivateAccess bool
7235
+
endpointPrivateAccess() bool
7236
7236
// CIDR blocks allowed to access the public Kubernetes API endpoint
0 commit comments