code: func (p *AWSSDProvider) CreateService(namespaceID *string, srvName *string, ep *endpoint.Endpoint) (*sd.Service, error) {
  	log.Infof("Creating a new service \"%s\" in \"%s\" namespace", *srvName, *namespaceID)
  
  	srvType := p.serviceTypeFromEndpoint(ep)
  	routingPolicy := p.routingPolicyFromEndpoint(ep)
  
  	ttl := int64(sdDefaultRecordTTL)
  	if ep.RecordTTL.IsConfigured() {
  		ttl = int64(ep.RecordTTL)
  	}
  
  	if !p.dryRun {
  		out, err := p.client.CreateService(&sd.CreateServiceInput{
  			Name:        srvName,
  			Description: aws.String(ep.Labels[endpoint.AWSSDDescriptionLabel]),
  			DnsConfig: &sd.DnsConfig{
  				NamespaceId:   namespaceID,
  				RoutingPolicy: aws.String(routingPolicy),
  				DnsRecords: []*sd.DnsRecord{{
  					Type: aws.String(srvType),
  					TTL:  aws.Int64(ttl),
  				}},
  			},
  		})
  		if err != nil {
  			return nil, err
  		}
  
  		return out.Service, nil
  	}
  
  	// return mock service summary in case of dry run
  	return &sd.Service{Id: aws.String("dry-run-service"), Name: aws.String("dry-run-service")}, nil
  }
docs: // CreateService creates a new service in AWS API. Returns the created service.