Skip to content

Built for people who want to own their automations. Join the waitlist for an invite.

Package listing

@kody/aws

src/index.ts

57 lines · 1.6 KB · TypeScript
import {
	COMMON_AWS_HOSTS,
	DEFAULT_ACCESS_KEY_SECRET,
	DEFAULT_SECRET_KEY_SECRET,
	DEFAULT_SESSION_TOKEN_SECRET,
	accessKeySetupUrl,
	secretKeySetupUrl,
	sessionTokenSetupUrl,
} from './validation.ts'

export { getCallerIdentity } from './identity.ts'
export { listBuckets, listObjects, getObjectMetadata, putObject, deleteObject } from './s3.ts'
export { listLogGroups, getLogEvents } from './logs.ts'
export { listMetrics, getMetricStatistics } from './metrics.ts'
export { awsRequest } from './request.ts'
export { getConfig, setDefaultRegion, clearConfig } from './config.ts'
export { smokeTest } from './smoke-test.ts'
export { isDryRun } from './validation.ts'
export { AwsApiError } from './helpers.ts'

/** Package overview and safety metadata for AWS helpers. */
export default async function awsOverview() {
	return {
		auth: 'access-key-secret-key',
		oauth: false,
		hosts: [...COMMON_AWS_HOSTS],
		secrets: {
			accessKeyId: DEFAULT_ACCESS_KEY_SECRET,
			secretAccessKey: DEFAULT_SECRET_KEY_SECRET,
			sessionToken: DEFAULT_SESSION_TOKEN_SECRET,
		},
		secretUrls: {
			accessKeyId: accessKeySetupUrl(),
			secretAccessKey: secretKeySetupUrl(),
			sessionToken: sessionTokenSetupUrl(),
		},
		exports: [
			'smoke-test',
			'guide',
			'identity',
			's3',
			'logs',
			'metrics',
			'request',
			'config',
			'scheduled-identity-check',
		],
		safety: {
			mutationsDefaultToDryRun: true,
			mutationsRequireConfirmation: true,
			jobsDisabledByDefault: true,
			s3GetReturnsMetadataOnly: true,
			neverPrintsSecretValues: true,
			noBakedInAccountIdsOrBuckets: true,
		},
	}
}