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
}
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 &sd.Service{Id: aws.String("dry-run-service"), Name: aws.String("dry-run-service")}, nil
}
func ( p * AWSSDProvider ) CreateService ( namespaceID * string , srvName * string , ep * endpoint . Endpoint ) ( * sd . Service , error ) { log . Infof ( " \" \" \" \" " , * 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 ( " " ) , Name : aws . String ( " " ) } , nil }
// CreateService creates a new service in AWS API. Returns the created service.
CreateService creates a new service in AWS API . Returns the created service .