Class: Google::Apis::PubsubV1::CloudStorageConfig

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/pubsub_v1/classes.rb,
lib/google/apis/pubsub_v1/representations.rb,
lib/google/apis/pubsub_v1/representations.rb

Overview

Configuration for a Cloud Storage subscription.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ CloudStorageConfig

Returns a new instance of CloudStorageConfig.



711
712
713
# File 'lib/google/apis/pubsub_v1/classes.rb', line 711

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#avro_configGoogle::Apis::PubsubV1::AvroConfig

Configuration for writing message data in Avro format. Message payloads and metadata will be written to files as an Avro binary. Corresponds to the JSON property avroConfig



640
641
642
# File 'lib/google/apis/pubsub_v1/classes.rb', line 640

def avro_config
  @avro_config
end

#bucketString

Required. User-provided name for the Cloud Storage bucket. The bucket must be created by the user. The bucket name must be without any prefix like "gs://". See the bucket naming requirements. Corresponds to the JSON property bucket

Returns:

  • (String)


648
649
650
# File 'lib/google/apis/pubsub_v1/classes.rb', line 648

def bucket
  @bucket
end

#filename_datetime_formatString

Optional. User-provided format string specifying how to represent datetimes in Cloud Storage filenames. See the datetime format guidance. Corresponds to the JSON property filenameDatetimeFormat

Returns:

  • (String)


655
656
657
# File 'lib/google/apis/pubsub_v1/classes.rb', line 655

def filename_datetime_format
  @filename_datetime_format
end

#filename_prefixString

Optional. User-provided prefix for Cloud Storage filename. See the object naming requirements. Corresponds to the JSON property filenamePrefix

Returns:

  • (String)


661
662
663
# File 'lib/google/apis/pubsub_v1/classes.rb', line 661

def filename_prefix
  @filename_prefix
end

#filename_suffixString

Optional. User-provided suffix for Cloud Storage filename. See the object naming requirements. Must not end in "/". Corresponds to the JSON property filenameSuffix

Returns:

  • (String)


668
669
670
# File 'lib/google/apis/pubsub_v1/classes.rb', line 668

def filename_suffix
  @filename_suffix
end

#max_bytesFixnum

Optional. The maximum bytes that can be written to a Cloud Storage file before a new file is created. Min 1 KB, max 10 GiB. The max_bytes limit may be exceeded in cases where messages are larger than the limit. Corresponds to the JSON property maxBytes

Returns:

  • (Fixnum)


675
676
677
# File 'lib/google/apis/pubsub_v1/classes.rb', line 675

def max_bytes
  @max_bytes
end

#max_durationString

Optional. The maximum duration that can elapse before a new Cloud Storage file is created. Min 1 minute, max 10 minutes, default 5 minutes. May not exceed the subscription's acknowledgment deadline. Corresponds to the JSON property maxDuration

Returns:

  • (String)


682
683
684
# File 'lib/google/apis/pubsub_v1/classes.rb', line 682

def max_duration
  @max_duration
end

#max_messagesFixnum

Optional. The maximum number of messages that can be written to a Cloud Storage file before a new file is created. Min 1000 messages. Corresponds to the JSON property maxMessages

Returns:

  • (Fixnum)


688
689
690
# File 'lib/google/apis/pubsub_v1/classes.rb', line 688

def max_messages
  @max_messages
end

#service_account_emailString

Optional. The service account to use to write to Cloud Storage. The subscription creator or updater that specifies this field must have iam. serviceAccounts.actAs permission on the service account. If not specified, the Pub/Sub service agent, service-project_number@gcp-sa-pubsub.iam.gserviceaccount.com, is used. Corresponds to the JSON property serviceAccountEmail

Returns:

  • (String)


697
698
699
# File 'lib/google/apis/pubsub_v1/classes.rb', line 697

def 
  @service_account_email
end

#stateString

Output only. An output-only field that indicates whether or not the subscription can receive messages. Corresponds to the JSON property state

Returns:

  • (String)


703
704
705
# File 'lib/google/apis/pubsub_v1/classes.rb', line 703

def state
  @state
end

#text_configGoogle::Apis::PubsubV1::TextConfig

Configuration for writing message data in text format. Message payloads will be written to files as raw text, separated by a newline. Corresponds to the JSON property textConfig



709
710
711
# File 'lib/google/apis/pubsub_v1/classes.rb', line 709

def text_config
  @text_config
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



716
717
718
719
720
721
722
723
724
725
726
727
728
# File 'lib/google/apis/pubsub_v1/classes.rb', line 716

def update!(**args)
  @avro_config = args[:avro_config] if args.key?(:avro_config)
  @bucket = args[:bucket] if args.key?(:bucket)
  @filename_datetime_format = args[:filename_datetime_format] if args.key?(:filename_datetime_format)
  @filename_prefix = args[:filename_prefix] if args.key?(:filename_prefix)
  @filename_suffix = args[:filename_suffix] if args.key?(:filename_suffix)
  @max_bytes = args[:max_bytes] if args.key?(:max_bytes)
  @max_duration = args[:max_duration] if args.key?(:max_duration)
  @max_messages = args[:max_messages] if args.key?(:max_messages)
  @service_account_email = args[:service_account_email] if args.key?(:service_account_email)
  @state = args[:state] if args.key?(:state)
  @text_config = args[:text_config] if args.key?(:text_config)
end