Skip to content

Commit

Permalink
transcribe aws
Browse files Browse the repository at this point in the history
  • Loading branch information
JamesWoolfenden committed Jun 21, 2024
1 parent 828f1fa commit 7b99c1b
Show file tree
Hide file tree
Showing 13 changed files with 251 additions and 51 deletions.
4 changes: 4 additions & 0 deletions src/aws.go
Original file line number Diff line number Diff line change
Expand Up @@ -821,6 +821,10 @@ func AwsLookup(name string) interface{} {
"aws_dms_replication_subnet_group": awsDmsReplicationSubnetGroup,
"aws_dms_replication_task": awsDmsReplicationTask,
"aws_dms_s3_endpoint": awsDmsS3Endpoint,
"aws_transcribe_language_model": awsTranscribeLanguageModel,
"aws_transcribe_medical_vocabulary": awsTranscribeMedicalVocabulary,
"aws_transcribe_vocabulary": awsTranscribeVocabulary,
"aws_transcribe_vocabulary_filter": awsTranscribeVocabularyFilter,
}

return TFLookup[name]
Expand Down
4 changes: 0 additions & 4 deletions src/coverage/aws.md
Original file line number Diff line number Diff line change
Expand Up @@ -591,10 +591,6 @@ Datasource percentage coverage 100.00
./resource.ps1 aws_ssoadmin_permission_set_inline_policy
./resource.ps1 aws_ssoadmin_permissions_boundary_attachment
./resource.ps1 aws_ssoadmin_trusted_token_issuer
./resource.ps1 aws_transcribe_language_model
./resource.ps1 aws_transcribe_medical_vocabulary
./resource.ps1 aws_transcribe_vocabulary
./resource.ps1 aws_transcribe_vocabulary_filter
./resource.ps1 aws_transfer_access
./resource.ps1 aws_transfer_agreement
./resource.ps1 aws_transfer_certificate
Expand Down
12 changes: 12 additions & 0 deletions src/files.go
Original file line number Diff line number Diff line change
Expand Up @@ -2103,3 +2103,15 @@ var awsDmsReplicationTask []byte

//go:embed mapping/aws/resource/dms/aws_dms_s3_endpoint.json
var awsDmsS3Endpoint []byte

//go:embed mapping/aws/resource/transcribe/aws_transcribe_language_model.json
var awsTranscribeLanguageModel []byte

//go:embed mapping/aws/resource/transcribe/aws_transcribe_medical_vocabulary.json
var awsTranscribeMedicalVocabulary []byte

//go:embed mapping/aws/resource/transcribe/aws_transcribe_vocabulary.json
var awsTranscribeVocabulary []byte

//go:embed mapping/aws/resource/transcribe/aws_transcribe_vocabulary_filter.json
var awsTranscribeVocabularyFilter []byte
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
[
{
"apply": [
"transcribe:CreateLanguageModel",
"transcribe:DescribeLanguageModel",
"transcribe:DeleteLanguageModel",
"iam:PassRole"
],
"attributes": {
"tags": [
"transcribe:TagResource",
"transcribe:UntagResource"
]
},
"destroy": [
"transcribe:DeleteLanguageModel"
],
"modify": [],
"plan": []
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[
{
"apply": [
"transcribe:CreateMedicalVocabulary",
"transcribe:GetMedicalVocabulary",
"transcribe:DeleteMedicalVocabulary"
],
"attributes": {
"tags": [
"transcribe:TagResource",
"transcribe:UntagResource"
]
},
"destroy": [
"transcribe:DeleteMedicalVocabulary"
],
"modify": [],
"plan": []
}
]
20 changes: 20 additions & 0 deletions src/mapping/aws/resource/transcribe/aws_transcribe_vocabulary.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[
{
"apply": [
"transcribe:CreateVocabulary",
"transcribe:GetVocabulary",
"transcribe:DeleteVocabulary"
],
"attributes": {
"tags": [
"transcribe:TagResource",
"transcribe:UntagResource"
]
},
"destroy": [
"transcribe:DeleteVocabulary"
],
"modify": [],
"plan": []
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
[
{
"apply": [
"transcribe:CreateVocabularyFilter",
"transcribe:GetVocabularyFilter",
"transcribe:UpdateVocabularyFilter",
"transcribe:ListTagsForResource",
"transcribe:DeleteVocabularyFilter"
],
"attributes": {
"tags": [
"transcribe:TagResource",
"transcribe:UntagResource"
]
},
"destroy": [
"transcribe:DeleteVocabularyFilter"
],
"modify": [
"transcribe:UpdateVocabularyFilter"
],
"plan": []
}
]
61 changes: 61 additions & 0 deletions terraform/aws/backup/aws_transcribe_language_model.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
data "aws_iam_policy_document" "example" {
statement {
actions = ["sts:AssumeRole"]

principals {
type = "Service"
identifiers = ["transcribe.amazonaws.com"]
}
}
}

resource "aws_iam_role" "example" {
name = "example"
assume_role_policy = data.aws_iam_policy_document.example.json
}

resource "aws_iam_role_policy" "test_policy" {
name = "example"
role = aws_iam_role.example.id

policy = jsonencode({ Version = "2012-10-17"
Statement = [
{
Action = [
"s3:GetObject",
"s3:ListBucket",
]
Effect = "Allow"
Resource = ["*"]
},
]
})
}

resource "aws_s3_bucket" "example" {
bucket = "example-transcribe"
force_destroy = true
}

resource "aws_s3_object" "object" {
bucket = aws_s3_bucket.example.id
key = "transcribe/test1.txt"
source = "test1.txt"
}

resource "aws_transcribe_language_model" "pike" {
model_name = "example"
base_model_name = "NarrowBand"

input_data_config {
data_access_role_arn = aws_iam_role.example.arn
s3_uri = "s3://${aws_s3_bucket.example.id}/transcribe/"
}

language_code = "en-GB"

tags = {
ENVIRONMENT = "development"
pike = "permissions"
}
}
15 changes: 15 additions & 0 deletions terraform/aws/backup/aws_transcribe_medical_vocabulary.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
resource "aws_transcribe_medical_vocabulary" "pike" {
vocabulary_name = "example"
language_code = "en-US"
vocabulary_file_uri = "s3://${aws_s3_bucket.example.id}/${aws_s3_object.object.key}"

tags = {
tag1 = "value1"
tag2 = "value3"
pike = "permissions"
}

depends_on = [
aws_s3_object.object
]
}
15 changes: 15 additions & 0 deletions terraform/aws/backup/aws_transcribe_vocabulary.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
resource "aws_transcribe_vocabulary" "pike" {
vocabulary_name = "example"
language_code = "en-GB"
vocabulary_file_uri = "s3://${aws_s3_bucket.example.id}/${aws_s3_object.object.key}"

tags = {
tag1 = "value1"
tag2 = "value3"
pike = "permissions"
}

depends_on = [
aws_s3_object.object
]
}
11 changes: 11 additions & 0 deletions terraform/aws/backup/aws_transcribe_vocabulary_filter.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
resource "aws_transcribe_vocabulary_filter" "pike" {
vocabulary_filter_name = "example"
language_code = "en-GB"
words = ["cars", "bucket", "pike"]

tags = {
tag1 = "value1"
tag2 = "value3"
pike = "permissions"
}
}
3 changes: 3 additions & 0 deletions terraform/aws/backup/test1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
transcribe
me
please
92 changes: 45 additions & 47 deletions terraform/aws/role/aws_iam_policy.basic.tf
Original file line number Diff line number Diff line change
Expand Up @@ -8,74 +8,72 @@ resource "aws_iam_policy" "basic" {
"Effect" : "Allow",
"Action" : [

//aws_dms_event_subscription
"dms:DescribeEventSubscriptions",
"dms:CreateEventSubscription",
"dms:DeleteEventSubscription",
"dms:ModifyEventSubscription",

//aws_dms_replication_config
"dms:CreateReplicationConfig",
"dms:DescribeReplicationConfigs",
"dms:DeleteReplicationConfig",
"dms:ModifyReplicationConfig",

//aws_dms_replication_instance
"dms:DescribeReplicationInstances",
"dms:CreateReplicationInstance",
"dms:DeleteReplicationInstance",
"dms:ModifyReplicationInstance",

//aws_dms_replication_subnet_group
"dms:DescribeReplicationSubnetGroups",
"dms:CreateReplicationSubnetGroup",
"dms:DeleteReplicationSubnetGroup",
"dms:ModifyReplicationSubnetGroup",
//aws_transcribe_language_model
"transcribe:CreateLanguageModel",
"transcribe:DescribeLanguageModel",
"transcribe:DeleteLanguageModel",
"iam:PassRole",
"transcribe:TagResource",
"transcribe:UntagResource",

//aws_dms_replication_task
"dms:DeleteReplicationTask",
"dms:ModifyReplicationTask",
"dms:CreateReplicationTask",

//aws_dms_s3_endpoint
"dms:DescribeEndpoints",
"dms:CreateEndpoint",
"dms:DeleteEndpoint",
"dms:ModifyEndpoint",
"iam:PassRole",
//aws_transcribe_medical_vocabulary
"transcribe:CreateMedicalVocabulary",
"transcribe:GetMedicalVocabulary",
"transcribe:DeleteMedicalVocabulary",
"transcribe:TagResource",
"transcribe:UntagResource",

//aws_transcribe_vocabulary
"transcribe:CreateVocabulary",
"transcribe:GetVocabulary",
"transcribe:DeleteVocabulary",
"transcribe:TagResource",
"transcribe:UntagResource",

//aws_transcribe_vocabulary_filter
"transcribe:CreateVocabularyFilter",
"transcribe:GetVocabularyFilter",
"transcribe:UpdateVocabularyFilter",
"transcribe:ListTagsForResource",
"transcribe:DeleteVocabularyFilter",
"transcribe:TagResource",
"transcribe:UntagResource",

"ec2:DescribeCapacityBlockOfferings",
"acm:DescribeCertificate",
"acm:ListCertificates",
"acm:GetCertificate",
"acm:ListTagsForCertificate",
"dynamodb:DeleteItem",
"dynamodb:DescribeTable",
"dynamodb:GetItem",
"dynamodb:PutItem",
"iam:AttachRolePolicy",
"iam:CreateRole",
"iam:DeleteRole",
"iam:DeleteRolePolicy",
"iam:DetachRolePolicy",
"iam:GetRole",
"iam:GetRolePolicy",
"iam:ListAttachedRolePolicies",
"iam:ListInstanceProfilesForRole",
"iam:ListRolePolicies",
"iam:PutRolePolicy",
"kms:DescribeKey",
"s3:CreateBucket",
"s3:DeleteBucket",
"s3:DeleteObject",
"s3:GetAccelerateConfiguration",
"s3:GetBucketAcl",
"s3:GetBucketCORS",
"s3:GetBucketLogging",
"s3:GetBucketObjectLockConfiguration",
"s3:GetBucketPolicy",
"s3:GetBucketRequestPayment",
"s3:GetBucketTagging",
"s3:GetBucketVersioning",
"s3:GetBucketWebsite",
"s3:GetEncryptionConfiguration",
"s3:GetLifecycleConfiguration",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:GetObjectTagging",
"s3:GetReplicationConfiguration",
"s3:ListBucket",
"s3:PutObject",
"sns:CreateTopic",
"sns:DeleteTopic",
"sns:GetTopicAttributes",
"sns:ListTagsForResource",
"sns:SetTopicAttributes"
"s3:PutObject"
],
"Resource" : "*",
}
Expand Down

0 comments on commit 7b99c1b

Please sign in to comment.