Terraform 0.11

google_storage_notification




terraform

google_storage_notification

एक निर्दिष्ट बाल्टी पर एक नया अधिसूचना कॉन्फ़िगरेशन बनाता है, जो GCS से क्लाउड पब / सब विषय पर इवेंट सूचनाओं के प्रवाह की स्थापना करता है। अधिक जानकारी के लिए आधिकारिक दस्तावेज और API

उदाहरण उपयोग

resource "google_storage_bucket" "bucket" {
    name = "default_bucket"
}

resource "google_pubsub_topic" "topic" {
    name = "default_topic"
}

// In order to enable notifications,
// a GCS service account unique to each project
// must have the IAM permission "projects.topics.publish" to a Cloud Pub/Sub topic from this project
// The only reference to this requirement can be found here:
// https://cloud.google.com/storage/docs/gsutil/commands/notification
// The GCS service account has the format of <project-id>@gs-project-accounts.iam.gserviceaccount.com
// API for retrieving it https://cloud.google.com/storage/docs/json_api/v1/projects/serviceAccount/get

resource "google_pubsub_topic_iam_binding" "binding" {
    topic       = "${google_pubsub_topic.topic.name}"
    role        = "roles/pubsub.publisher"

    members     = ["serviceAccount:[email protected]"]
}

resource "google_storage_notification" "notification" {
    bucket            = "${google_storage_bucket.bucket.name}"
    payload_format    = "JSON_API_V1"
    topic             = "${google_pubsub_topic.topic.id}"
    event_types       = ["OBJECT_FINALIZE", "OBJECT_METADATA_UPDATE"]
    custom_attributes {
        new-attribute = "new-attribute-value"
    }
    depends_on        = ["google_pubsub_topic_iam_binding.binding"]
}

तर्क संदर्भ

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

  • bucket - (आवश्यक) bucket का नाम।

  • payload_format - (आवश्यक) पेलोड की वांछित सामग्री। "JSON_API_V1" या "NONE"

  • topic - (आवश्यक) क्लाउड पबबब विषय जिसके लिए यह सदस्यता प्रकाशित होती है। या तो विषय के नाम की projects/my-gcp-project/topics/my-topic , जिसे डिफ़ॉल्ट GCP प्रदाता परियोजना से संबंधित माना जाता है, या परियोजना-स्तर का नाम, अर्थात projects/my-gcp-project/topics/my-topic या my-topic

  • custom_attributes - (वैकल्पिक) कुंजी / मान विशेषता जोड़े का एक सेट इस सदस्यता के लिए प्रकाशित प्रत्येक क्लाउड PubSub संदेश में संलग्न करने के लिए

  • event_types - (वैकल्पिक) इस सूचना विन्यास के लिए ईवेंट प्रकार फिल्टर की सूची। यदि निर्दिष्ट नहीं है, तो क्लाउड संग्रहण सभी ईवेंट प्रकारों के लिए सूचनाएं भेजेगा। मान्य प्रकार हैं: "OBJECT_FINALIZE" , "OBJECT_METADATA_UPDATE" , "OBJECT_DELETE" , "OBJECT_ARCHIVE"

  • object_name_prefix - (वैकल्पिक) इस नोटिफिकेशन object_name_prefix एक प्रीफ़िक्स पाथ फ़िल्टर निर्दिष्ट करता है। क्लाउड स्टोरेज इस बकेट में केवल उन वस्तुओं के लिए सूचनाएं भेजेगा जिनका नाम निर्दिष्ट उपसर्ग के साथ शुरू होता है।

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

ऊपर सूचीबद्ध तर्कों के अलावा, निम्नलिखित गणना की गई विशेषताएँ निर्यात की जाती हैं:

  • self_link - निर्मित संसाधन का URI।

आयात

स्टोरेज नोटिफिकेशन को प्रारूप <bucket_name>/notificationConfigs/<id> उदाहरण में अधिसूचना id का उपयोग करके आयात किया जा सकता है

$ terraform import google_storage_notification.notification default_bucket/notificationConfigs/102