Sha256: 6823d3454a8ae602905278889bd42e885a888145d31aa6af8680cde76de5e411

Contents?: true

Size: 1.74 KB

Versions: 27

Compression:

Stored size: 1.74 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

27 entries across 27 versions & 1 rubygems

Version Path
souls-1.9.15 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.9.14 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.9.12 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.9.11 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.9.10 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.9.9 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.9.8 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.9.7 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.9.6 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.9.5 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.9.4 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.9.3 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.9.2 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.9.1 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.9.0 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.8.17 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.8.16 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.8.15 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.8.14 lib/souls/cli/gcloud/pubsub/subscriptions.rb
souls-1.8.13 lib/souls/cli/gcloud/pubsub/subscriptions.rb