Sha256: 385cba208940782f10c2790f346d8f05b1633844d95fe7ebe23f24ef898f39b6

Contents?: true

Size: 1.73 KB

Versions: 53

Compression:

Stored size: 1.73 KB

Contents

module Souls
  class Pubsub < Thor
    desc "create_subscription", "Create Google Cloud PubSub Subscription"
    method_option :topic_name,
                  default: "send-user-mailer",
                  aliases: "--topic_name",
                  desc: "Google Cloud Pubsub Topic Name"
    method_option :endpoint,
                  default: "https:://test.com",
                  aliases: "--endpoint",
                  desc: "Google Cloud Pubsub Push Subscription Endpoint"
    def create_subscription
      project_id = Souls.configuration.project_id
      service_account = "#{Souls.configuration.app}@#{project_id}.iam.gserviceaccount.com"
      system(
        "gcloud pubsub subscriptions create #{options[:topic_name]}-sub \
            --topic #{options[:topic_name]} \
            --topic-project #{project_id} \
            --push-auth-service-account #{service_account} \
            --push-endpoint #{options[:endpoint]} \
            --expiration-period never"
      )
    end

    desc "subscription_list", "Show Google Cloud Pubsub Subscription List"
    def subscription_list
      system("gcloud pubsub subscriptions list")
    end

    desc "update_subscription", "Update Google Cloud Pubsub Subscription Endpoint"
    method_option :topic_name,
                  default: "send-user-mailer",
                  aliases: "--topic_name",
                  desc: "Google Cloud Pubsub Topic Name"
    method_option :endpoint,
                  default: "https:://test.com",
                  aliases: "--endpoint",
                  desc: "Google Cloud Pubsub Push Subscription Endpoint"
    def update_subscription
      system("gcloud pubsub subscriptions update #{options[:topic_name]}-sub --push-endpoint #{options[:endpoint]} ")
    end
  end
end

Version data entries

53 entries across 53 versions & 1 rubygems

Version Path
souls-1.17.3 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.17.2 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.17.1 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.17.0 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.16.4 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.16.3 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.16.2 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.16.1 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.16.0 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.15.5 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.15.4 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.15.3 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.15.2 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.15.1 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.15.0 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.14.3 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.14.2 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.14.1 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.14.0 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.13.8 lib/souls/cli/gcloud/pubsub/subscriptions.rb