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.



496
497
498
# File 'lib/google/apis/pubsub_v1/classes.rb', line 496

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



425
426
427
# File 'lib/google/apis/pubsub_v1/classes.rb', line 425

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)


433
434
435
# File 'lib/google/apis/pubsub_v1/classes.rb', line 433

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)


440
441
442
# File 'lib/google/apis/pubsub_v1/classes.rb', line 440

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)


446
447
448
# File 'lib/google/apis/pubsub_v1/classes.rb', line 446

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)


453
454
455
# File 'lib/google/apis/pubsub_v1/classes.rb', line 453

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)


460
461
462
# File 'lib/google/apis/pubsub_v1/classes.rb', line 460

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 acknowledgement deadline. Corresponds to the JSON property maxDuration

Returns:

  • (String)


467
468
469
# File 'lib/google/apis/pubsub_v1/classes.rb', line 467

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)


473
474
475
# File 'lib/google/apis/pubsub_v1/classes.rb', line 473

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)


482
483
484
# File 'lib/google/apis/pubsub_v1/classes.rb', line 482

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)


488
489
490
# File 'lib/google/apis/pubsub_v1/classes.rb', line 488

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



494
495
496
# File 'lib/google/apis/pubsub_v1/classes.rb', line 494

def text_config
  @text_config
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



501
502
503
504
505
506
507
508
509
510
511
512
513
# File 'lib/google/apis/pubsub_v1/classes.rb', line 501

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