createLaunchConfigurationTemplate method

Future<LaunchConfigurationTemplate> createLaunchConfigurationTemplate({
  1. bool? associatePublicIpAddress,
  2. BootMode? bootMode,
  3. bool? copyPrivateIp,
  4. bool? copyTags,
  5. bool? enableMapAutoTagging,
  6. bool? enableParametersEncryption,
  7. LaunchTemplateDiskConf? largeVolumeConf,
  8. LaunchDisposition? launchDisposition,
  9. Licensing? licensing,
  10. String? mapAutoTaggingMpeID,
  11. String? parametersEncryptionKey,
  12. PostLaunchActions? postLaunchActions,
  13. LaunchTemplateDiskConf? smallVolumeConf,
  14. int? smallVolumeMaxSize,
  15. Map<String, String>? tags,
  16. TargetInstanceTypeRightSizingMethod? targetInstanceTypeRightSizingMethod,
})

Creates a new Launch Configuration Template.

May throw AccessDeniedException. May throw UninitializedAccountException. May throw ValidationException.

Parameter associatePublicIpAddress : Associate public Ip address.

Parameter bootMode : Launch configuration template boot mode.

Parameter copyPrivateIp : Copy private Ip.

Parameter copyTags : Copy tags.

Parameter enableMapAutoTagging : Enable map auto tagging.

Parameter enableParametersEncryption : Enable parameters encryption.

Parameter largeVolumeConf : Large volume config.

Parameter launchDisposition : Launch disposition.

Parameter mapAutoTaggingMpeID : Launch configuration template map auto tagging MPE ID.

Parameter parametersEncryptionKey : Parameters encryption key.

Parameter postLaunchActions : Launch configuration template post launch actions.

Parameter smallVolumeConf : Small volume config.

Parameter smallVolumeMaxSize : Small volume maximum size.

Parameter tags : Request to associate tags during creation of a Launch Configuration Template.

Parameter targetInstanceTypeRightSizingMethod : Target instance type right-sizing method.

Implementation

Future<LaunchConfigurationTemplate> createLaunchConfigurationTemplate({
  bool? associatePublicIpAddress,
  BootMode? bootMode,
  bool? copyPrivateIp,
  bool? copyTags,
  bool? enableMapAutoTagging,
  bool? enableParametersEncryption,
  LaunchTemplateDiskConf? largeVolumeConf,
  LaunchDisposition? launchDisposition,
  Licensing? licensing,
  String? mapAutoTaggingMpeID,
  String? parametersEncryptionKey,
  PostLaunchActions? postLaunchActions,
  LaunchTemplateDiskConf? smallVolumeConf,
  int? smallVolumeMaxSize,
  Map<String, String>? tags,
  TargetInstanceTypeRightSizingMethod? targetInstanceTypeRightSizingMethod,
}) async {
  _s.validateNumRange(
    'smallVolumeMaxSize',
    smallVolumeMaxSize,
    0,
    1152921504606846976,
  );
  final $payload = <String, dynamic>{
    if (associatePublicIpAddress != null)
      'associatePublicIpAddress': associatePublicIpAddress,
    if (bootMode != null) 'bootMode': bootMode.value,
    if (copyPrivateIp != null) 'copyPrivateIp': copyPrivateIp,
    if (copyTags != null) 'copyTags': copyTags,
    if (enableMapAutoTagging != null)
      'enableMapAutoTagging': enableMapAutoTagging,
    if (enableParametersEncryption != null)
      'enableParametersEncryption': enableParametersEncryption,
    if (largeVolumeConf != null) 'largeVolumeConf': largeVolumeConf,
    if (launchDisposition != null)
      'launchDisposition': launchDisposition.value,
    if (licensing != null) 'licensing': licensing,
    if (mapAutoTaggingMpeID != null)
      'mapAutoTaggingMpeID': mapAutoTaggingMpeID,
    if (parametersEncryptionKey != null)
      'parametersEncryptionKey': parametersEncryptionKey,
    if (postLaunchActions != null) 'postLaunchActions': postLaunchActions,
    if (smallVolumeConf != null) 'smallVolumeConf': smallVolumeConf,
    if (smallVolumeMaxSize != null) 'smallVolumeMaxSize': smallVolumeMaxSize,
    if (tags != null) 'tags': tags,
    if (targetInstanceTypeRightSizingMethod != null)
      'targetInstanceTypeRightSizingMethod':
          targetInstanceTypeRightSizingMethod.value,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/CreateLaunchConfigurationTemplate',
    exceptionFnMap: _exceptionFns,
  );
  return LaunchConfigurationTemplate.fromJson(response);
}