Terraform 0.11

aws_s3_bucket_object




terraform

aws_s3_bucket_object

एक S3 बाल्टी ऑब्जेक्ट संसाधन प्रदान करता है।

उदाहरण उपयोग

एक बाल्टी में एक फ़ाइल अपलोड करना

resource "aws_s3_bucket_object" "object" {
  bucket = "your_bucket_name"
  key    = "new_object_key"
  source = "path/to/file"
  etag   = "${md5(file("path/to/file"))}"
}

केएमएस कुंजी के साथ एन्क्रिप्ट करना

resource "aws_kms_key" "examplekms" {
  description             = "KMS key 1"
  deletion_window_in_days = 7
}

resource "aws_s3_bucket" "examplebucket" {
  bucket = "examplebuckettftest"
  acl    = "private"
}

resource "aws_s3_bucket_object" "examplebucket_object" {
  key        = "someobject"
  bucket     = "${aws_s3_bucket.examplebucket.id}"
  source     = "index.html"
  kms_key_id = "${aws_kms_key.examplekms.arn}"
}

सर्वर साइड एन्क्रिप्शन S3 डिफ़ॉल्ट मास्टर कुंजी के साथ

resource "aws_s3_bucket" "examplebucket" {
  bucket = "examplebuckettftest"
  acl    = "private"
}

resource "aws_s3_bucket_object" "examplebucket_object" {
  key                    = "someobject"
  bucket                 = "${aws_s3_bucket.examplebucket.id}"
  source                 = "index.html"
  server_side_encryption = "aws:kms"
}

सर्वर साइड एन्क्रिप्शन AWS- प्रबंधित कुंजी के साथ

resource "aws_s3_bucket" "examplebucket" {
  bucket = "examplebuckettftest"
  acl    = "private"
}

resource "aws_s3_bucket_object" "examplebucket_object" {
  key                    = "someobject"
  bucket                 = "${aws_s3_bucket.examplebucket.id}"
  source                 = "index.html"
  server_side_encryption = "AES256"
}

तर्क संदर्भ

निम्नलिखित तर्क समर्थित हैं:

  • bucket - (आवश्यक) फ़ाइल को अंदर डालने के लिए बाल्टी का नाम।
  • key - (आवश्यक) वस्तु का नाम एक बार बाल्टी में होने के बाद।
  • source - (आवश्यक नहीं जब तक कि content या content_base64 सेट न हो) एक फ़ाइल का पथ जिसे ऑब्जेक्ट सामग्री के लिए कच्चे बाइट्स के रूप में पढ़ा और अपलोड किया जाएगा।
  • content - (आवश्यक नहीं जब तक कि source या content_base64 सेट न हो) वस्तु सामग्री के रूप में उपयोग करने के लिए शाब्दिक स्ट्रिंग मूल्य, जिसे UTF-8-एन्कोडेड पाठ के रूप में अपलोड किया जाएगा।
  • content_base64 - (आवश्यक जब तक कि source या content सेट न हो) बेस 64-एन्कोडेड डेटा जिसे डिकोड किया जाएगा और ऑब्जेक्ट सामग्री के लिए कच्चे बाइट्स के रूप में अपलोड किया जाएगा। यह गैर-यूटीएफ 8 बाइनरी डेटा को सुरक्षित रूप से अपलोड करने की अनुमति देता है, लेकिन केवल छोटे सामग्री के लिए अनुशंसित है जैसे कि छोटे पाठ स्ट्रिंग्स के साथ gzipbase64 फ़ंक्शन का परिणाम। बड़ी वस्तुओं के लिए, डिस्क फ़ाइल से सामग्री को स्ट्रीम करने के लिए source का उपयोग करें।
  • acl - (वैकल्पिक) डिब्बाबंद एसीएल को लागू करने के लिए। "निजी" के लिए चूक।
  • cache_control - (वैकल्पिक) अनुरोध / उत्तर श्रृंखला के साथ कैशिंग व्यवहार को निर्दिष्ट करता है आगे के विवरण के लिए w3c cache_control पढ़ें।
  • content_disposition - (वैकल्पिक) वस्तु के लिए प्रस्तुति संबंधी जानकारी निर्दिष्ट करता है। अधिक जानकारी के लिए w3c content_disposition पढ़ें।
  • content_encoding - (वैकल्पिक) यह निर्दिष्ट करता है कि किस सामग्री एन्कोडिंग को ऑब्जेक्ट पर लागू किया गया है और इस प्रकार सामग्री-प्रकार हेडर फ़ील्ड द्वारा संदर्भित मीडिया-प्रकार को प्राप्त करने के लिए क्या डिकोडिंग तंत्र लागू किया जाना चाहिए। अधिक जानकारी के लिए w3c सामग्री एन्कोडिंग पढ़ें।
  • content_language - (वैकल्पिक) सामग्री उदाहरण के लिए en-US या en-GB में है।
  • content_type - (वैकल्पिक) ऑब्जेक्ट डेटा के प्रारूप का वर्णन करने वाला एक मानक MIME प्रकार, जैसे एप्लिकेशन / ऑक्टेट-स्ट्रीम। सभी वैध माइम प्रकार इस इनपुट के लिए मान्य हैं।
  • website_redirect - (वैकल्पिक) वेबसाइट रीडायरेक्ट के लिए एक लक्ष्य URL निर्दिष्ट करता है।
  • storage_class - (वैकल्पिक) ऑब्जेक्ट के लिए वांछित संग्रहण वर्ग निर्दिष्ट करता है। या तो " STANDARD ", " REDUCED_REDUNDANCY ", " ONEZONE_IA ", या " STANDARD_IA " हो सकते हैं। " STANDARD " के लिए चूक।
  • etag - (वैकल्पिक) अद्यतन को ट्रिगर करने के लिए प्रयुक्त। एकमात्र सार्थक मूल्य ${md5(file("path/to/file"))} । यह विशेषता KMS एन्क्रिप्शन, kms_key_id या server_side_encryption = "aws:kms" एन्क्रिप्शन server_side_encryption = "aws:kms" के साथ संगत नहीं है।
  • server_side_encryption - (वैकल्पिक) S3 में ऑब्जेक्ट का सर्वर-साइड एन्क्रिप्शन निर्दिष्ट करता है। मान्य मान " AES256 " और " aws:kms " हैं।
  • kms_key_id - (वैकल्पिक) ऑब्जेक्ट एन्क्रिप्शन के लिए उपयोग करने के लिए AWS KMS कुंजी ARN निर्दिष्ट करता है। यह मान KMS कुंजी का पूरी तरह से योग्य ARN है। यदि aws_kms_key का उपयोग aws_kms_key , तो निर्यात की गई arn विशेषता का उपयोग करें: kms_key_id = "${aws_kms_key.foo.arn}"
  • tags - (वैकल्पिक) ऑब्जेक्ट को असाइन करने के लिए टैग की मैपिंग।

बाल्टी सामग्री को निर्दिष्ट करने के लिए या तो source या content प्रदान content जानी चाहिए। ये दो तर्क परस्पर-अनन्य हैं।

संदर्भ संदर्भित करता है

निम्नलिखित विशेषताएँ निर्यात की जाती हैं

  • id - ऊपर दिए गए संसाधन की key
  • etag - वस्तु के लिए उत्पन्न ETag (ऑब्जेक्ट सामग्री का MD5 योग)। सादे वस्तुओं या वस्तुओं के लिए AWS- प्रबंधित कुंजी के साथ एन्क्रिप्ट किया गया है, हैश ऑब्जेक्ट डेटा का MD5 डाइजेस्ट है। KMS कुंजी के साथ एन्क्रिप्ट की गई वस्तुओं या मल्टीपार्ट अपलोड या पार्ट कॉपी ऑपरेशन द्वारा बनाई गई वस्तुओं के लिए, हैश एन्क्रिप्शन की विधि की परवाह किए बिना MD5 डाइजेस्ट नहीं है। कॉमन रिस्पांस हेडर्स पर संभावित मूल्यों के बारे में अधिक जानकारी प्राप्त की जा सकती है।
  • version_id - ऑब्जेक्ट के लिए एक अद्वितीय संस्करण ID मान, यदि बकेट वर्जनिंग सक्षम है।