Hi,
the main reason to go for the Kodekloud pro is Playgrounds, it is very helpful to learn technology. But the biggest barrier is to use the technologies together. I created a terraform or vault playground now I want to practice those on AWS (e.g create AWS EC2 instance or use AWS for vault) but that is only possible if you have enabled the ACCESS KEY permissions in AWS, which is not the case. I request you to give those permissions too as it will be very helpful to learn these tool sets combined . I really admire the kodekloud platform as compared to others I have been AcloudGuru subscriber earlier but I shifted to kodekloud because the quality of content is amazing. THey have this feature which helped to learn better but their content was not good. If you could add the permission to generate the access key it will be very helpful.
I can’t use my personal access keys as the terraform or vault playgrounds are not my own.
Looking forward for the help.
Thanks
Hello @Vanshaj-Dhar,
Our apologies for any inconvenience caused. We are aware of this issue with IAM access keys and we are working on it. We will update you as soon as we get this functionality returned.
Thanks,
Trung.
Hi @support. Is there any update on this. I am learning terraform with aws but right now facing permission denied issue while using aws access key and secret. Please let me know, if the issue is fixed.
Where are you getting the access key and secret from? You should need to create the keys in the AWS portal.
I’ve just checked this with the AWS Playground and the Terraform + AWS playground and they both work by providing the keys. Make sure you select us-east-1
Below is what I ran in my shell:
$ aws configure
AWS Access Key ID [****************HPER]: AKIAZI2LHEFKR4CPFGF3
AWS Secret Access Key [****************x8uo]: **************************vS9uc7
Default region name [us-east-1]:
Default output format [None]:
$ terraform apply
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# aws_instance.example will be created
+ resource "aws_instance" "example" {
+ ami = "ami-01bc990364452ab3e"
+ arn = (known after apply)
+ associate_public_ip_address = (known after apply)
+ availability_zone = (known after apply)
+ cpu_core_count = (known after apply)
+ cpu_threads_per_core = (known after apply)
+ disable_api_stop = (known after apply)
+ disable_api_termination = (known after apply)
+ ebs_optimized = (known after apply)
+ get_password_data = false
+ host_id = (known after apply)
+ host_resource_group_arn = (known after apply)
+ iam_instance_profile = (known after apply)
+ id = (known after apply)
+ instance_initiated_shutdown_behavior = (known after apply)
+ instance_lifecycle = (known after apply)
+ instance_state = (known after apply)
+ instance_type = "t2.micro"
+ ipv6_address_count = (known after apply)
+ ipv6_addresses = (known after apply)
+ key_name = (known after apply)
+ monitoring = (known after apply)
+ outpost_arn = (known after apply)
+ password_data = (known after apply)
+ placement_group = (known after apply)
+ placement_partition_number = (known after apply)
+ primary_network_interface_id = (known after apply)
+ private_dns = (known after apply)
+ private_ip = (known after apply)
+ public_dns = (known after apply)
+ public_ip = (known after apply)
+ secondary_private_ips = (known after apply)
+ security_groups = (known after apply)
+ source_dest_check = true
+ spot_instance_request_id = (known after apply)
+ subnet_id = (known after apply)
+ tags_all = (known after apply)
+ tenancy = (known after apply)
+ user_data = (known after apply)
+ user_data_base64 = (known after apply)
+ user_data_replace_on_change = false
+ vpc_security_group_ids = (known after apply)
}
Plan: 1 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
aws_instance.example: Creating...
aws_instance.example: Still creating... [10s elapsed]
aws_instance.example: Still creating... [20s elapsed]
aws_instance.example: Creation complete after 23s [id=i-02a082f6e4c6142cc]
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
$ more main.tf
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "5.14.0"
}
}
}
provider "aws" {
region = "us-east-1"
}
resource "aws_instance" "example" {
ami = "ami-01bc990364452ab3e"
instance_type = "t2.micro"
}
Thanks @al1 it worked now (only in Terraform+AWS). The issue still persists on simple AWS playground. My problem solved! Thanks again.
My example above was with the AWS Playground. Maybe double check the IAM user. I saw an issue where I was still logged in as the AWS+Terraform user when I wanted to login to just the AWS Playground.