in pkg/cloudmap/resource_manager.go [342:376]
func (m *defaultResourceManager) createCloudMapServiceUnderPrivateDNSNamespace(ctx context.Context, vn *appmesh.VirtualNode,
nsSummary *servicediscovery.NamespaceSummary, serviceName string, cloudMapTTL int64) (*servicediscovery.Service, error) {
creatorRequestID := string(vn.UID)
var dnsRecordType string
if m.ipFamily == IPv6 {
dnsRecordType = servicediscovery.RecordTypeAaaa
} else {
dnsRecordType = servicediscovery.RecordTypeA
}
createServiceInput := &servicediscovery.CreateServiceInput{
CreatorRequestId: awssdk.String(creatorRequestID),
NamespaceId: nsSummary.Id,
Name: awssdk.String(serviceName),
DnsConfig: &servicediscovery.DnsConfig{
RoutingPolicy: awssdk.String(servicediscovery.RoutingPolicyMultivalue),
DnsRecords: []*servicediscovery.DnsRecord{
{
Type: awssdk.String(dnsRecordType),
TTL: awssdk.Int64(cloudMapTTL),
},
},
},
}
if m.enableCustomHealthCheck {
createServiceInput.HealthCheckCustomConfig = &servicediscovery.HealthCheckCustomConfig{
FailureThreshold: awssdk.Int64(defaultServiceCustomHCFailureThreshold),
}
}
resp, err := m.cloudMapSDK.CreateServiceWithContext(ctx, createServiceInput)
if err != nil {
return nil, err
}
return resp.Service, nil
}