Class: AWSCDK::NimbleStudio::CfnLaunchProfile::StreamConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
nimble_studio/cfn_launch_profile.rb

Overview

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(clipboard_mode:, ec2_instance_types:, streaming_image_ids:, automatic_termination_mode: nil, max_session_length_in_minutes: nil, max_stopped_session_length_in_minutes: nil, session_backup: nil, session_persistence_mode: nil, session_storage: nil, volume_configuration: nil) ⇒ StreamConfigurationProperty

Returns a new instance of StreamConfigurationProperty.

Parameters:



590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
# File 'nimble_studio/cfn_launch_profile.rb', line 590

def initialize(clipboard_mode:, ec2_instance_types:, streaming_image_ids:, automatic_termination_mode: nil, max_session_length_in_minutes: nil, max_stopped_session_length_in_minutes: nil, session_backup: nil, session_persistence_mode: nil, session_storage: nil, volume_configuration: nil)
  @clipboard_mode = clipboard_mode
  Jsii::Type.check_type(@clipboard_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clipboardMode")
  @ec2_instance_types = ec2_instance_types
  Jsii::Type.check_type(@ec2_instance_types, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "ec2InstanceTypes")
  @streaming_image_ids = streaming_image_ids
  Jsii::Type.check_type(@streaming_image_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "streamingImageIds")
  @automatic_termination_mode = automatic_termination_mode
  Jsii::Type.check_type(@automatic_termination_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "automaticTerminationMode") unless @automatic_termination_mode.nil?
  @max_session_length_in_minutes = max_session_length_in_minutes
  Jsii::Type.check_type(@max_session_length_in_minutes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxSessionLengthInMinutes") unless @max_session_length_in_minutes.nil?
  @max_stopped_session_length_in_minutes = max_stopped_session_length_in_minutes
  Jsii::Type.check_type(@max_stopped_session_length_in_minutes, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxStoppedSessionLengthInMinutes") unless @max_stopped_session_length_in_minutes.nil?
  @session_backup = session_backup.is_a?(Hash) ? ::AWSCDK::NimbleStudio::CfnLaunchProfile::StreamConfigurationSessionBackupProperty.new(**session_backup.transform_keys(&:to_sym)) : session_backup
  Jsii::Type.check_type(@session_backup, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19uaW1ibGVzdHVkaW8uQ2ZuTGF1bmNoUHJvZmlsZS5TdHJlYW1Db25maWd1cmF0aW9uU2Vzc2lvbkJhY2t1cFByb3BlcnR5In1dfX0=")), "sessionBackup") unless @session_backup.nil?
  @session_persistence_mode = session_persistence_mode
  Jsii::Type.check_type(@session_persistence_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sessionPersistenceMode") unless @session_persistence_mode.nil?
  @session_storage = session_storage.is_a?(Hash) ? ::AWSCDK::NimbleStudio::CfnLaunchProfile::StreamConfigurationSessionStorageProperty.new(**session_storage.transform_keys(&:to_sym)) : session_storage
  Jsii::Type.check_type(@session_storage, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19uaW1ibGVzdHVkaW8uQ2ZuTGF1bmNoUHJvZmlsZS5TdHJlYW1Db25maWd1cmF0aW9uU2Vzc2lvblN0b3JhZ2VQcm9wZXJ0eSJ9XX19")), "sessionStorage") unless @session_storage.nil?
  @volume_configuration = volume_configuration.is_a?(Hash) ? ::AWSCDK::NimbleStudio::CfnLaunchProfile::VolumeConfigurationProperty.new(**volume_configuration.transform_keys(&:to_sym)) : volume_configuration
  Jsii::Type.check_type(@volume_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19uaW1ibGVzdHVkaW8uQ2ZuTGF1bmNoUHJvZmlsZS5Wb2x1bWVDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "volumeConfiguration") unless @volume_configuration.nil?
end

Instance Attribute Details

#automatic_termination_modeString? (readonly)



624
625
626
# File 'nimble_studio/cfn_launch_profile.rb', line 624

def automatic_termination_mode
  @automatic_termination_mode
end

#clipboard_modeString (readonly)



615
616
617
# File 'nimble_studio/cfn_launch_profile.rb', line 615

def clipboard_mode
  @clipboard_mode
end

#ec2_instance_typesArray<String> (readonly)



618
619
620
# File 'nimble_studio/cfn_launch_profile.rb', line 618

def ec2_instance_types
  @ec2_instance_types
end

#max_session_length_in_minutesNumeric? (readonly)



627
628
629
# File 'nimble_studio/cfn_launch_profile.rb', line 627

def max_session_length_in_minutes
  @max_session_length_in_minutes
end

#max_stopped_session_length_in_minutesNumeric? (readonly)



630
631
632
# File 'nimble_studio/cfn_launch_profile.rb', line 630

def max_stopped_session_length_in_minutes
  @max_stopped_session_length_in_minutes
end

#session_persistence_modeString? (readonly)



636
637
638
# File 'nimble_studio/cfn_launch_profile.rb', line 636

def session_persistence_mode
  @session_persistence_mode
end

#streaming_image_idsArray<String> (readonly)



621
622
623
# File 'nimble_studio/cfn_launch_profile.rb', line 621

def streaming_image_ids
  @streaming_image_ids
end

Class Method Details

.jsii_propertiesObject



644
645
646
647
648
649
650
651
652
653
654
655
656
657
# File 'nimble_studio/cfn_launch_profile.rb', line 644

def self.jsii_properties
  {
    :clipboard_mode => "clipboardMode",
    :ec2_instance_types => "ec2InstanceTypes",
    :streaming_image_ids => "streamingImageIds",
    :automatic_termination_mode => "automaticTerminationMode",
    :max_session_length_in_minutes => "maxSessionLengthInMinutes",
    :max_stopped_session_length_in_minutes => "maxStoppedSessionLengthInMinutes",
    :session_backup => "sessionBackup",
    :session_persistence_mode => "sessionPersistenceMode",
    :session_storage => "sessionStorage",
    :volume_configuration => "volumeConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
# File 'nimble_studio/cfn_launch_profile.rb', line 659

def to_jsii
  result = {}
  result.merge!({
    "clipboardMode" => @clipboard_mode,
    "ec2InstanceTypes" => @ec2_instance_types,
    "streamingImageIds" => @streaming_image_ids,
    "automaticTerminationMode" => @automatic_termination_mode,
    "maxSessionLengthInMinutes" => @max_session_length_in_minutes,
    "maxStoppedSessionLengthInMinutes" => @max_stopped_session_length_in_minutes,
    "sessionBackup" => @session_backup,
    "sessionPersistenceMode" => @session_persistence_mode,
    "sessionStorage" => @session_storage,
    "volumeConfiguration" => @volume_configuration,
  })
  result.compact
end