parent
700bdc90d0
commit
80966da59e
2 changed files with 120 additions and 120 deletions
|
|
@ -11,81 +11,81 @@ This guide outlines the process of utilizing the [AWS Terraform Provider](https:
|
|||
|
||||
1. **Configure STACKIT Provider**
|
||||
|
||||
First, configure the STACKIT provider to connect to the STACKIT services.
|
||||
First, configure the STACKIT provider to connect to the STACKIT services.
|
||||
|
||||
```hcl
|
||||
provider "stackit" {
|
||||
region = "eu01"
|
||||
}
|
||||
```
|
||||
```hcl
|
||||
provider "stackit" {
|
||||
region = "eu01"
|
||||
}
|
||||
```
|
||||
|
||||
2. **Define STACKIT Object Storage Bucket**
|
||||
|
||||
Create a STACKIT Object Storage Bucket and obtain credentials for the AWS provider.
|
||||
Create a STACKIT Object Storage Bucket and obtain credentials for the AWS provider.
|
||||
|
||||
```hcl
|
||||
resource "stackit_objectstorage_bucket" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example"
|
||||
}
|
||||
```hcl
|
||||
resource "stackit_objectstorage_bucket" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example"
|
||||
}
|
||||
|
||||
resource "stackit_objectstorage_credentials_group" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-credentials-group"
|
||||
}
|
||||
resource "stackit_objectstorage_credentials_group" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-credentials-group"
|
||||
}
|
||||
|
||||
resource "stackit_objectstorage_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
credentials_group_id = stackit_objectstorage_credentials_group.example.credentials_group_id
|
||||
expiration_timestamp = "2027-01-02T03:04:05Z"
|
||||
}
|
||||
```
|
||||
resource "stackit_objectstorage_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
credentials_group_id = stackit_objectstorage_credentials_group.example.credentials_group_id
|
||||
expiration_timestamp = "2027-01-02T03:04:05Z"
|
||||
}
|
||||
```
|
||||
|
||||
3. **Configure AWS Provider**
|
||||
|
||||
Configure the AWS Provider to connect to the STACKIT Object Storage bucket.
|
||||
Configure the AWS Provider to connect to the STACKIT Object Storage bucket.
|
||||
|
||||
```hcl
|
||||
provider "aws" {
|
||||
region = "eu01"
|
||||
skip_credentials_validation = true
|
||||
skip_region_validation = true
|
||||
skip_requesting_account_id = true
|
||||
```hcl
|
||||
provider "aws" {
|
||||
region = "eu01"
|
||||
skip_credentials_validation = true
|
||||
skip_region_validation = true
|
||||
skip_requesting_account_id = true
|
||||
|
||||
access_key = stackit_objectstorage_credential.example.access_key
|
||||
secret_key = stackit_objectstorage_credential.example.secret_access_key
|
||||
access_key = stackit_objectstorage_credential.example.access_key
|
||||
secret_key = stackit_objectstorage_credential.example.secret_access_key
|
||||
|
||||
endpoints {
|
||||
s3 = "https://object.storage.eu01.onstackit.cloud"
|
||||
endpoints {
|
||||
s3 = "https://object.storage.eu01.onstackit.cloud"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
4. **Use the provider to manage objects or policies**
|
||||
|
||||
```hcl
|
||||
resource "aws_s3_object" "test_file" {
|
||||
bucket = stackit_objectstorage_bucket.example.name
|
||||
key = "hello_world.txt"
|
||||
source = "files/hello_world.txt"
|
||||
content_type = "text/plain"
|
||||
etag = filemd5("files/hello_world.txt")
|
||||
}
|
||||
```hcl
|
||||
resource "aws_s3_object" "test_file" {
|
||||
bucket = stackit_objectstorage_bucket.example.name
|
||||
key = "hello_world.txt"
|
||||
source = "files/hello_world.txt"
|
||||
content_type = "text/plain"
|
||||
etag = filemd5("files/hello_world.txt")
|
||||
}
|
||||
|
||||
resource "aws_s3_bucket_policy" "allow_public_read_access" {
|
||||
bucket = stackit_objectstorage_bucket.test20.name
|
||||
policy = <<EOF
|
||||
{
|
||||
"Statement":[
|
||||
{
|
||||
"Sid": "Public GET",
|
||||
"Effect":"Allow",
|
||||
"Principal":"*",
|
||||
"Action":"s3:GetObject",
|
||||
"Resource":"urn:sgws:s3:::example/*"
|
||||
}
|
||||
]
|
||||
}
|
||||
EOF
|
||||
}
|
||||
```
|
||||
resource "aws_s3_bucket_policy" "allow_public_read_access" {
|
||||
bucket = stackit_objectstorage_bucket.test20.name
|
||||
policy = <<EOF
|
||||
{
|
||||
"Statement":[
|
||||
{
|
||||
"Sid": "Public GET",
|
||||
"Effect":"Allow",
|
||||
"Principal":"*",
|
||||
"Action":"s3:GetObject",
|
||||
"Resource":"urn:sgws:s3:::example/*"
|
||||
}
|
||||
]
|
||||
}
|
||||
EOF
|
||||
}
|
||||
```
|
||||
|
|
@ -11,81 +11,81 @@ This guide outlines the process of utilizing the [AWS Terraform Provider](https:
|
|||
|
||||
1. **Configure STACKIT Provider**
|
||||
|
||||
First, configure the STACKIT provider to connect to the STACKIT services.
|
||||
First, configure the STACKIT provider to connect to the STACKIT services.
|
||||
|
||||
```hcl
|
||||
provider "stackit" {
|
||||
region = "eu01"
|
||||
}
|
||||
```
|
||||
```hcl
|
||||
provider "stackit" {
|
||||
region = "eu01"
|
||||
}
|
||||
```
|
||||
|
||||
2. **Define STACKIT Object Storage Bucket**
|
||||
|
||||
Create a STACKIT Object Storage Bucket and obtain credentials for the AWS provider.
|
||||
Create a STACKIT Object Storage Bucket and obtain credentials for the AWS provider.
|
||||
|
||||
```hcl
|
||||
resource "stackit_objectstorage_bucket" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example"
|
||||
}
|
||||
```hcl
|
||||
resource "stackit_objectstorage_bucket" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example"
|
||||
}
|
||||
|
||||
resource "stackit_objectstorage_credentials_group" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-credentials-group"
|
||||
}
|
||||
resource "stackit_objectstorage_credentials_group" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-credentials-group"
|
||||
}
|
||||
|
||||
resource "stackit_objectstorage_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
credentials_group_id = stackit_objectstorage_credentials_group.example.credentials_group_id
|
||||
expiration_timestamp = "2027-01-02T03:04:05Z"
|
||||
}
|
||||
```
|
||||
resource "stackit_objectstorage_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
credentials_group_id = stackit_objectstorage_credentials_group.example.credentials_group_id
|
||||
expiration_timestamp = "2027-01-02T03:04:05Z"
|
||||
}
|
||||
```
|
||||
|
||||
3. **Configure AWS Provider**
|
||||
|
||||
Configure the AWS Provider to connect to the STACKIT Object Storage bucket.
|
||||
Configure the AWS Provider to connect to the STACKIT Object Storage bucket.
|
||||
|
||||
```hcl
|
||||
provider "aws" {
|
||||
region = "eu01"
|
||||
skip_credentials_validation = true
|
||||
skip_region_validation = true
|
||||
skip_requesting_account_id = true
|
||||
```hcl
|
||||
provider "aws" {
|
||||
region = "eu01"
|
||||
skip_credentials_validation = true
|
||||
skip_region_validation = true
|
||||
skip_requesting_account_id = true
|
||||
|
||||
access_key = stackit_objectstorage_credential.example.access_key
|
||||
secret_key = stackit_objectstorage_credential.example.secret_access_key
|
||||
access_key = stackit_objectstorage_credential.example.access_key
|
||||
secret_key = stackit_objectstorage_credential.example.secret_access_key
|
||||
|
||||
endpoints {
|
||||
s3 = "https://object.storage.eu01.onstackit.cloud"
|
||||
endpoints {
|
||||
s3 = "https://object.storage.eu01.onstackit.cloud"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
```
|
||||
|
||||
4. **Use the provider to manage objects or policies**
|
||||
|
||||
```hcl
|
||||
resource "aws_s3_object" "test_file" {
|
||||
bucket = stackit_objectstorage_bucket.example.name
|
||||
key = "hello_world.txt"
|
||||
source = "files/hello_world.txt"
|
||||
content_type = "text/plain"
|
||||
etag = filemd5("files/hello_world.txt")
|
||||
}
|
||||
```hcl
|
||||
resource "aws_s3_object" "test_file" {
|
||||
bucket = stackit_objectstorage_bucket.example.name
|
||||
key = "hello_world.txt"
|
||||
source = "files/hello_world.txt"
|
||||
content_type = "text/plain"
|
||||
etag = filemd5("files/hello_world.txt")
|
||||
}
|
||||
|
||||
resource "aws_s3_bucket_policy" "allow_public_read_access" {
|
||||
bucket = stackit_objectstorage_bucket.test20.name
|
||||
policy = <<EOF
|
||||
{
|
||||
"Statement":[
|
||||
{
|
||||
"Sid": "Public GET",
|
||||
"Effect":"Allow",
|
||||
"Principal":"*",
|
||||
"Action":"s3:GetObject",
|
||||
"Resource":"urn:sgws:s3:::example/*"
|
||||
}
|
||||
]
|
||||
}
|
||||
EOF
|
||||
}
|
||||
```
|
||||
resource "aws_s3_bucket_policy" "allow_public_read_access" {
|
||||
bucket = stackit_objectstorage_bucket.test20.name
|
||||
policy = <<EOF
|
||||
{
|
||||
"Statement":[
|
||||
{
|
||||
"Sid": "Public GET",
|
||||
"Effect":"Allow",
|
||||
"Principal":"*",
|
||||
"Action":"s3:GetObject",
|
||||
"Resource":"urn:sgws:s3:::example/*"
|
||||
}
|
||||
]
|
||||
}
|
||||
EOF
|
||||
}
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue