I am trying to create CDTopology for the below CDEnvironment & CDTopologyType


EnvironmentPurpose   : DXALive
DiscoveryEndpointUrl : http://localhost:8082/discovery.svc
Credentials          : "AuthenticationType":"OAuth", "ClientId":"cmuser", "ClientSecret":"CMUserP@ssw0rd"
IsOffline            : False
ScopedRepositoryKeys : {}
Id                   : CDLive
ExtensionProperties  : {}


Name                                          EnvironmentPurposes                          Id                                           ExtensionProperties                         
----                                          -------------------                          --                                           -------------------
SDL DXA Staging/Live                          {DXAStaging, DXALive}                        DXAStagingLive                               {}

Now, when I run the below command to create CDTopology, I am getting an error.

Add-TtmCdTopology -Id DXALive -CdTopologyTypeId DXAStagingLive -CdEnvironmentIds CDLive -Name "DXA Live" -Description "DXA Live"


Add-TtmCdTopology : Invalid value for property 'CdEnvironmentIds'. CdTopologyType purposes should match CdEnvironments purposes. CdTopologyType purposes: DXAStaging, CdEnvironments
 purposes: .
At line:1 char:1
+ Add-TtmCdTopology -Id DXALive -CdTopologyTypeId DXAStagingLive -CdEnvironmentIds ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (Tridion.Topolog...TopologyCommand:AddCdTopologyCommand) [Add-TtmCdTopology], DataServiceException
    + FullyQualifiedErrorId : Tridion.TopologyManager.Automation.AddCdTopologyCommand

Can anyone please help?

Thanks Sharad


Your Topology Type says there must be exactly two CD Environments in a Topology of that type: one with Purpose DXAStaging and one with Purpose DXALive.

Then you try to create a Topology of that type with only one CD Environment.

The error message is trying to tell you that you are violating your own Topology Type constraints.


Since you are using "DXA" in the names of your Purposes, it seems you are setting something up for DXA. Are you aware that DXA comes with a PowerShell script (ttm-prepare.ps1) that takes care of all of this for you?

Note that that script (and the predefined BPTs that come with DXA) assumes your CD Environments have Staging and (optionally) Live as Purpose, though.

| improve this answer | |
  • Yes I do have two CD Environments, one with DXAStaging, and one with DXALive, with different Discovery URLs. – Sharad Kumar Sangal Jan 20 '17 at 11:27
  • My point is that you must specify them both when creating a Topology of type DXAStagingLive. Or, better, don't do this yourself, but use ttm-prepare.ps1. – Rick Pannekoek Jan 20 '17 at 11:33
  • indeed.. I am sure it would have beem fixed, but just for others.. Please have as many cdEnvironment as many Purposes you have in a particular TopologyType. – Vikas Kumar Jul 26 '17 at 8:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.