def create(<EOL>self, resource_group_name, gateway_name, location=None, tags=None, upgrade_mode=None, custom_headers=None, raw=False, polling=True, **operation_config):
raw_result = self._create_initial(<EOL>resource_group_name=resource_group_name,<EOL>gateway_name=gateway_name,<EOL>location=location,<EOL>tags=tags,<EOL>upgrade_mode=upgrade_mode,<EOL>custom_headers=custom_headers,<EOL>raw=True,<EOL>**operation_config<EOL>)<EOL>def get_long_running_output(response):<EOL><INDENT>deserialized = self._deserialize('<STR_LIT>', response)<EOL>if raw:<EOL><INDENT>client_raw_response = ClientRawResponse(deserialized, response)<EOL>return client_raw_response<EOL><DEDENT>return deserialized<EOL><DEDENT>lro_delay = operation_config.get(<EOL>'<STR_LIT>',<EOL>self.config.long_running_operation_timeout)<EOL>if polling is True: polling_method = ARMPolling(lro_delay, **operation_config)<EOL>elif polling is False: polling_method = NoPolling()<EOL>else: polling_method = polling<EOL>return LROPoller(self._client, raw_result, get_long_running_output, polling_method)<EOL>
Creates or updates a ManagementService gateway.

        :param resource_group_name: The resource group name uniquely
         identifies the resource group within the user subscriptionId.
        :type resource_group_name: str
        :param gateway_name: The gateway name (256 characters maximum).
        :type gateway_name: str
        :param location: Location of the resource.
        :type location: str
        :param tags: Resource tags.
        :type tags: object
        :param upgrade_mode: The upgradeMode property gives the flexibility to
         gateway to auto upgrade itself. If properties value not specified,
         then we assume upgradeMode = Automatic. Possible values include:
         'Manual', 'Automatic'
        :type upgrade_mode: str or
         ~azure.mgmt.servermanager.models.UpgradeMode
        :param dict custom_headers: headers that will be added to the request
        :param bool raw: The poller return type is ClientRawResponse, the
         direct response alongside the deserialized response
        :param polling: True for ARMPolling, False for no polling, or a
         polling object for personal polling strategy
        :return: An instance of LROPoller that returns GatewayResource or
         ClientRawResponse<GatewayResource> if raw==True
        :rtype:
         ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.servermanager.models.GatewayResource]
         or
         ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.servermanager.models.GatewayResource]]
        :raises:
         :class:`ErrorException<azure.mgmt.servermanager.models.ErrorException>`