:doc:`mgn <../../mgn>` / Client / create_launch_configuration_template

************************************
create_launch_configuration_template
************************************



.. py:method:: mgn.Client.create_launch_configuration_template(**kwargs)

  

  Creates a new Launch Configuration Template.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/mgn-2020-02-26/CreateLaunchConfigurationTemplate>`_  


  **Request Syntax**
  ::

    response = client.create_launch_configuration_template(
        postLaunchActions={
            'deployment': 'TEST_AND_CUTOVER'|'CUTOVER_ONLY'|'TEST_ONLY',
            's3LogBucket': 'string',
            's3OutputKeyPrefix': 'string',
            'cloudWatchLogGroupName': 'string',
            'ssmDocuments': [
                {
                    'actionName': 'string',
                    'ssmDocumentName': 'string',
                    'timeoutSeconds': 123,
                    'mustSucceedForCutover': True|False,
                    'parameters': {
                        'string': [
                            {
                                'parameterType': 'STRING'|'SECURE_STRING',
                                'parameterName': 'string'
                            },
                        ]
                    },
                    'externalParameters': {
                        'string': {
                            'dynamicPath': 'string'
                        }
                    }
                },
            ]
        },
        enableMapAutoTagging=True|False,
        mapAutoTaggingMpeID='string',
        tags={
            'string': 'string'
        },
        launchDisposition='STOPPED'|'STARTED',
        targetInstanceTypeRightSizingMethod='NONE'|'BASIC',
        copyPrivateIp=True|False,
        associatePublicIpAddress=True|False,
        copyTags=True|False,
        licensing={
            'osByol': True|False
        },
        bootMode='LEGACY_BIOS'|'UEFI'|'USE_SOURCE',
        smallVolumeMaxSize=123,
        smallVolumeConf={
            'volumeType': 'io1'|'io2'|'gp3'|'gp2'|'st1'|'sc1'|'standard',
            'iops': 123,
            'throughput': 123
        },
        largeVolumeConf={
            'volumeType': 'io1'|'io2'|'gp3'|'gp2'|'st1'|'sc1'|'standard',
            'iops': 123,
            'throughput': 123
        },
        enableParametersEncryption=True|False,
        parametersEncryptionKey='string'
    )
    
  :type postLaunchActions: dict
  :param postLaunchActions: 

    Launch configuration template post launch actions.

    

  
    - **deployment** *(string) --* 

      Deployment type in which AWS Systems Manager Documents will be executed.

      

    
    - **s3LogBucket** *(string) --* 

      AWS Systems Manager Command's logs S3 log bucket.

      

    
    - **s3OutputKeyPrefix** *(string) --* 

      AWS Systems Manager Command's logs S3 output key prefix.

      

    
    - **cloudWatchLogGroupName** *(string) --* 

      AWS Systems Manager Command's CloudWatch log group name.

      

    
    - **ssmDocuments** *(list) --* 

      AWS Systems Manager Documents.

      

    
      - *(dict) --* 

        AWS Systems Manager Document.

        

      
        - **actionName** *(string) --* **[REQUIRED]** 

          User-friendly name for the AWS Systems Manager Document.

          

        
        - **ssmDocumentName** *(string) --* **[REQUIRED]** 

          AWS Systems Manager Document name or full ARN.

          

        
        - **timeoutSeconds** *(integer) --* 

          AWS Systems Manager Document timeout seconds.

          

        
        - **mustSucceedForCutover** *(boolean) --* 

          If true, Cutover will not be enabled if the document has failed.

          

        
        - **parameters** *(dict) --* 

          AWS Systems Manager Document parameters.

          

        
          - *(string) --* 

          
            - *(list) --* 

            
              - *(dict) --* 

                AWS Systems Manager Parameter Store parameter.

                

              
                - **parameterType** *(string) --* **[REQUIRED]** 

                  AWS Systems Manager Parameter Store parameter type.

                  

                
                - **parameterName** *(string) --* **[REQUIRED]** 

                  AWS Systems Manager Parameter Store parameter name.

                  

                
              
          
      
    
        - **externalParameters** *(dict) --* 

          AWS Systems Manager Document external parameters.

          

        
          - *(string) --* 

          
            - *(dict) --* 

              AWS Systems Manager Document external parameter.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``dynamicPath``. 

            
              - **dynamicPath** *(string) --* 

                AWS Systems Manager Document external parameters dynamic path.

                

              
            
      
    
      
  
  
  :type enableMapAutoTagging: boolean
  :param enableMapAutoTagging: 

    Enable map auto tagging.

    

  
  :type mapAutoTaggingMpeID: string
  :param mapAutoTaggingMpeID: 

    Launch configuration template map auto tagging MPE ID.

    

  
  :type tags: dict
  :param tags: 

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

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  :type launchDisposition: string
  :param launchDisposition: 

    Launch disposition.

    

  
  :type targetInstanceTypeRightSizingMethod: string
  :param targetInstanceTypeRightSizingMethod: 

    Target instance type right-sizing method.

    

  
  :type copyPrivateIp: boolean
  :param copyPrivateIp: 

    Copy private Ip.

    

  
  :type associatePublicIpAddress: boolean
  :param associatePublicIpAddress: 

    Associate public Ip address.

    

  
  :type copyTags: boolean
  :param copyTags: 

    Copy tags.

    

  
  :type licensing: dict
  :param licensing: 

    Configure Licensing.

    

  
    - **osByol** *(boolean) --* 

      Configure BYOL OS licensing.

      

    
  
  :type bootMode: string
  :param bootMode: 

    Launch configuration template boot mode.

    

  
  :type smallVolumeMaxSize: integer
  :param smallVolumeMaxSize: 

    Small volume maximum size.

    

  
  :type smallVolumeConf: dict
  :param smallVolumeConf: 

    Small volume config.

    

  
    - **volumeType** *(string) --* 

      Launch template disk volume type configuration.

      

    
    - **iops** *(integer) --* 

      Launch template disk iops configuration.

      

    
    - **throughput** *(integer) --* 

      Launch template disk throughput configuration.

      

    
  
  :type largeVolumeConf: dict
  :param largeVolumeConf: 

    Large volume config.

    

  
    - **volumeType** *(string) --* 

      Launch template disk volume type configuration.

      

    
    - **iops** *(integer) --* 

      Launch template disk iops configuration.

      

    
    - **throughput** *(integer) --* 

      Launch template disk throughput configuration.

      

    
  
  :type enableParametersEncryption: boolean
  :param enableParametersEncryption: 

    Enable parameters encryption.

    

  
  :type parametersEncryptionKey: string
  :param parametersEncryptionKey: 

    Parameters encryption key.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'launchConfigurationTemplateID': 'string',
          'arn': 'string',
          'postLaunchActions': {
              'deployment': 'TEST_AND_CUTOVER'|'CUTOVER_ONLY'|'TEST_ONLY',
              's3LogBucket': 'string',
              's3OutputKeyPrefix': 'string',
              'cloudWatchLogGroupName': 'string',
              'ssmDocuments': [
                  {
                      'actionName': 'string',
                      'ssmDocumentName': 'string',
                      'timeoutSeconds': 123,
                      'mustSucceedForCutover': True|False,
                      'parameters': {
                          'string': [
                              {
                                  'parameterType': 'STRING'|'SECURE_STRING',
                                  'parameterName': 'string'
                              },
                          ]
                      },
                      'externalParameters': {
                          'string': {
                              'dynamicPath': 'string'
                          }
                      }
                  },
              ]
          },
          'enableMapAutoTagging': True|False,
          'mapAutoTaggingMpeID': 'string',
          'tags': {
              'string': 'string'
          },
          'ec2LaunchTemplateID': 'string',
          'launchDisposition': 'STOPPED'|'STARTED',
          'targetInstanceTypeRightSizingMethod': 'NONE'|'BASIC',
          'copyPrivateIp': True|False,
          'associatePublicIpAddress': True|False,
          'copyTags': True|False,
          'licensing': {
              'osByol': True|False
          },
          'bootMode': 'LEGACY_BIOS'|'UEFI'|'USE_SOURCE',
          'smallVolumeMaxSize': 123,
          'smallVolumeConf': {
              'volumeType': 'io1'|'io2'|'gp3'|'gp2'|'st1'|'sc1'|'standard',
              'iops': 123,
              'throughput': 123
          },
          'largeVolumeConf': {
              'volumeType': 'io1'|'io2'|'gp3'|'gp2'|'st1'|'sc1'|'standard',
              'iops': 123,
              'throughput': 123
          },
          'enableParametersEncryption': True|False,
          'parametersEncryptionKey': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **launchConfigurationTemplateID** *(string) --* 

        ID of the Launch Configuration Template.

        
      

      - **arn** *(string) --* 

        ARN of the Launch Configuration Template.

        
      

      - **postLaunchActions** *(dict) --* 

        Post Launch Actions of the Launch Configuration Template.

        
        

        - **deployment** *(string) --* 

          Deployment type in which AWS Systems Manager Documents will be executed.

          
        

        - **s3LogBucket** *(string) --* 

          AWS Systems Manager Command's logs S3 log bucket.

          
        

        - **s3OutputKeyPrefix** *(string) --* 

          AWS Systems Manager Command's logs S3 output key prefix.

          
        

        - **cloudWatchLogGroupName** *(string) --* 

          AWS Systems Manager Command's CloudWatch log group name.

          
        

        - **ssmDocuments** *(list) --* 

          AWS Systems Manager Documents.

          
          

          - *(dict) --* 

            AWS Systems Manager Document.

            
            

            - **actionName** *(string) --* 

              User-friendly name for the AWS Systems Manager Document.

              
            

            - **ssmDocumentName** *(string) --* 

              AWS Systems Manager Document name or full ARN.

              
            

            - **timeoutSeconds** *(integer) --* 

              AWS Systems Manager Document timeout seconds.

              
            

            - **mustSucceedForCutover** *(boolean) --* 

              If true, Cutover will not be enabled if the document has failed.

              
            

            - **parameters** *(dict) --* 

              AWS Systems Manager Document parameters.

              
              

              - *(string) --* 
                

                - *(list) --* 
                  

                  - *(dict) --* 

                    AWS Systems Manager Parameter Store parameter.

                    
                    

                    - **parameterType** *(string) --* 

                      AWS Systems Manager Parameter Store parameter type.

                      
                    

                    - **parameterName** *(string) --* 

                      AWS Systems Manager Parameter Store parameter name.

                      
                
              
          
        
            

            - **externalParameters** *(dict) --* 

              AWS Systems Manager Document external parameters.

              
              

              - *(string) --* 
                

                - *(dict) --* 

                  AWS Systems Manager Document external parameter.

                  .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``dynamicPath``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                                    'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


                
                  

                  - **dynamicPath** *(string) --* 

                    AWS Systems Manager Document external parameters dynamic path.

                    
              
          
        
        
      
    
      

      - **enableMapAutoTagging** *(boolean) --* 

        Enable map auto tagging.

        
      

      - **mapAutoTaggingMpeID** *(string) --* 

        Launch configuration template map auto tagging MPE ID.

        
      

      - **tags** *(dict) --* 

        Tags of the Launch Configuration Template.

        
        

        - *(string) --* 
          

          - *(string) --* 
    
  
      

      - **ec2LaunchTemplateID** *(string) --* 

        EC2 launch template ID.

        
      

      - **launchDisposition** *(string) --* 

        Launch disposition.

        
      

      - **targetInstanceTypeRightSizingMethod** *(string) --* 

        Target instance type right-sizing method.

        
      

      - **copyPrivateIp** *(boolean) --* 

        Copy private Ip.

        
      

      - **associatePublicIpAddress** *(boolean) --* 

        Associate public Ip address.

        
      

      - **copyTags** *(boolean) --* 

        Copy tags.

        
      

      - **licensing** *(dict) --* 

        Configure Licensing.

        
        

        - **osByol** *(boolean) --* 

          Configure BYOL OS licensing.

          
    
      

      - **bootMode** *(string) --* 

        Launch configuration template boot mode.

        
      

      - **smallVolumeMaxSize** *(integer) --* 

        Small volume maximum size.

        
      

      - **smallVolumeConf** *(dict) --* 

        Small volume config.

        
        

        - **volumeType** *(string) --* 

          Launch template disk volume type configuration.

          
        

        - **iops** *(integer) --* 

          Launch template disk iops configuration.

          
        

        - **throughput** *(integer) --* 

          Launch template disk throughput configuration.

          
    
      

      - **largeVolumeConf** *(dict) --* 

        Large volume config.

        
        

        - **volumeType** *(string) --* 

          Launch template disk volume type configuration.

          
        

        - **iops** *(integer) --* 

          Launch template disk iops configuration.

          
        

        - **throughput** *(integer) --* 

          Launch template disk throughput configuration.

          
    
      

      - **enableParametersEncryption** *(boolean) --* 

        Enable parameters encryption.

        
      

      - **parametersEncryptionKey** *(string) --* 

        Parameters encryption key.

        
  
  **Exceptions**
  
  *   :py:class:`mgn.Client.exceptions.UninitializedAccountException`

  
  *   :py:class:`mgn.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`mgn.Client.exceptions.ValidationException`

  