# File lib/fog/aws/requests/ecs/create_service.rb, line 33
        def create_service(params={})
          response = Excon::Response.new
          response.status = 200

          e = Fog::AWS::ECS::Error
          msg = 'ClientException => desiredCount cannot be empty.'
          raise e, msg unless desired_count = params['desiredCount']
          msg = 'ClientException => serviceName cannot be empty.'
          raise e unless service_name = params['serviceName']
          msg = 'ClientException => taskDefinition cannot be empty.'
          raise e unless task_definition = params['taskDefinition']

          owner_id = Fog::AWS::Mock.owner_id

          service_path = "service/#{service_name}"
          service_arn = Fog::AWS::Mock.arn('ecs', owner_id, service_path, region)

          cluster = params['cluster'] || 'default'
          if !cluster.match(/^arn:aws:ecs:.+:.+:cluster\/(.+)$/)
            cluster_path = "cluster/#{cluster}"
            cluster_arn = Fog::AWS::Mock.arn('ecs', owner_id, cluster_path, region)
          else
            cluster_arn = cluster
          end

          if params['role']
            role = params['role'] if params['role']
            if !role.match(/^arn:aws:iam:.*:.*:role\/(.+)$/)
              role_path = "role/#{role}"
              role_arn = Fog::AWS::Mock.arn('iam', owner_id, role_path, region)
            else
              role_arn = role
            end
          end

          if !task_definition.match(/^arn:aws:ecs:.+:.+:task-definition\/.+$/)
            task_def_path = "task-definition\/#{task_definition}"
            task_def_arn = Fog::AWS::Mock.arn('ecs', owner_id, task_def_path, region)
          else
            task_def_arn = task_definition
          end

          load_balancers = params['loadBalancers'] || []

          service = {
            'events'         => [],
            'serviceName'    => service_name,
            'serviceArn'     => service_arn,
            'taskDefinition' => task_def_arn,
            'clusterArn'     => cluster_arn,
            'status'         => 'ACTIVE',
            'roleArn'        => role_arn,
            'loadBalancers'  => [*load_balancers],
            'deployments'    => [],
            'desiredCount'   => desired_count,
            'pendingCount'   => 0,
            'runningCount'   => 0
          }

          service['deployments'] << {
            'updatedAt'      => Time.now.utc,
            'id'             => "ecs-svc/#{Fog::Mock.random_numbers(19)}",
            'taskDefinition' => task_def_arn,
            'status'         => 'PRIMARY',
            'desiredCount'   => desired_count,
            'createdAt'      => Time.now.utc,
            'pendingCount'   => 0,
            'runningCount'   => 0
          }

          self.data[:services] << service

          response.body = {
            'CreateServiceResult' => {
              'service' => service,
            },
            'ResponseMetadata' => {
              'RequestId' => Fog::AWS::Mock.request_id
            }
          }
          response
        end