Ejemplo n.º 1
0
 private void SortEntityAndNetworkRefs_v1_5()
 {
     this._vappTemplateRefs     = new List <ReferenceType>();
     this._mediaRefs            = new List <ReferenceType>();
     this._vappRefsByName       = new Dictionary <string, ReferenceType>();
     this._orgNetworkRefsByName = new Dictionary <string, ReferenceType>();
     this._storageProfileRefs   = new List <ReferenceType>();
     this._diskRefs             = new List <ReferenceType>();
     if (this.Resource.ResourceEntities != null)
     {
         ResourceEntitiesType         resourceEntities          = this.Resource.ResourceEntities;
         List <ResourceReferenceType> resourceReferenceTypeList = new List <ResourceReferenceType>();
         if (resourceEntities.ResourceEntity != null)
         {
             resourceReferenceTypeList = ((IEnumerable <ResourceReferenceType>)resourceEntities.ResourceEntity).ToList <ResourceReferenceType>();
         }
         if (resourceReferenceTypeList != null)
         {
             foreach (ResourceReferenceType resourceReferenceType in resourceReferenceTypeList)
             {
                 if (resourceReferenceType.type.Equals("application/vnd.vmware.vcloud.vAppTemplate+xml"))
                 {
                     this._vappTemplateRefs.Add((ReferenceType)resourceReferenceType);
                 }
                 else if (resourceReferenceType.type.Equals("application/vnd.vmware.vcloud.media+xml"))
                 {
                     this._mediaRefs.Add((ReferenceType)resourceReferenceType);
                 }
                 else if (resourceReferenceType.type.Equals("application/vnd.vmware.vcloud.vApp+xml"))
                 {
                     this._vappRefsByName.Add(resourceReferenceType.name, (ReferenceType)resourceReferenceType);
                 }
                 else if (resourceReferenceType.type.Equals("application/vnd.vmware.vcloud.disk+xml"))
                 {
                     this._diskRefs.Add((ReferenceType)resourceReferenceType);
                 }
                 else
                 {
                     Logger.Log(TraceLevel.Warning, SdkUtil.GetI18nString(SdkMessage.UNKNOWN_REF_TYPE_MSG), resourceReferenceType.type);
                 }
             }
         }
     }
     if (this.Resource.AvailableNetworks != null)
     {
         AvailableNetworksType availableNetworks = this.Resource.AvailableNetworks;
         if (availableNetworks != null && availableNetworks.Network != null)
         {
             foreach (ReferenceType referenceType in availableNetworks.Network)
             {
                 if (!this._orgNetworkRefsByName.ContainsKey(referenceType.name))
                 {
                     this._orgNetworkRefsByName.Add(referenceType.name, referenceType);
                 }
             }
         }
     }
     if (this.Resource.Link != null)
     {
         foreach (LinkType linkType in this.Resource.Link)
         {
             if (linkType.rel.Equals("up") && linkType.type.Equals("application/vnd.vmware.admin.organization+xml"))
             {
                 this._adminOrgReference = (ReferenceType)linkType;
             }
             if (linkType.rel.Equals("alternate") && linkType.type.Equals("application/vnd.vmware.vcloud.vdc+xml"))
             {
                 this._vdcReference = (ReferenceType)linkType;
             }
             if (linkType.rel.Equals("down") && linkType.type.Equals("application/vnd.vmware.admin.OrganizationVdcResourcePoolSet+xml"))
             {
                 this._orgVdcResourcePoolsRef = (ReferenceType)linkType;
             }
         }
     }
     if (this.Resource.VCloudExtension != null)
     {
         foreach (VCloudExtensionType vcloudExtensionType in this.Resource.VCloudExtension)
         {
             foreach (XmlNode xmlNode in vcloudExtensionType.Any)
             {
                 VimObjectRefType resource = Response.GetResource <VimObjectRefType>(xmlNode.OuterXml);
                 if (resource.VimObjectType.Equals(VimObjectTypeEnum.RESOURCE_POOL.Value()))
                 {
                     this._primaryResourcePoolVimRef = resource;
                 }
             }
         }
     }
     if (this.Resource.VdcStorageProfiles == null || this.Resource.VdcStorageProfiles.VdcStorageProfile == null)
     {
         return;
     }
     foreach (ReferenceType referenceType in this.Resource.VdcStorageProfiles.VdcStorageProfile)
     {
         this._storageProfileRefs.Add(referenceType);
     }
 }
Ejemplo n.º 2
0
 private void SortEntityRefs_v1_5()
 {
     this._vappTemplateRefs           = new List <ReferenceType>();
     this._mediaRefs                  = new List <ReferenceType>();
     this._vappRefsByName             = new Dictionary <string, ReferenceType>();
     this._availableNetworkRefsByName = new Dictionary <string, ReferenceType>();
     this._storageProfileRefs         = new List <ReferenceType>();
     this._diskRefs = new List <ReferenceType>();
     if (this.Resource.ResourceEntities != null)
     {
         ResourceEntitiesType resourceEntities = this.Resource.ResourceEntities;
         if (resourceEntities.ResourceEntity != null)
         {
             foreach (ResourceReferenceType resourceReferenceType in ((IEnumerable <ResourceReferenceType>)resourceEntities.ResourceEntity).ToList <ResourceReferenceType>())
             {
                 if (resourceReferenceType.type.Equals("application/vnd.vmware.vcloud.vAppTemplate+xml"))
                 {
                     this._vappTemplateRefs.Add((ReferenceType)resourceReferenceType);
                 }
                 else if (resourceReferenceType.type.Equals("application/vnd.vmware.vcloud.media+xml"))
                 {
                     this._mediaRefs.Add((ReferenceType)resourceReferenceType);
                 }
                 else if (resourceReferenceType.type.Equals("application/vnd.vmware.vcloud.vApp+xml"))
                 {
                     this._vappRefsByName.Add(resourceReferenceType.name, (ReferenceType)resourceReferenceType);
                 }
                 else if (resourceReferenceType.type.Equals("application/vnd.vmware.vcloud.disk+xml"))
                 {
                     this._diskRefs.Add((ReferenceType)resourceReferenceType);
                 }
                 else
                 {
                     Logger.Log(TraceLevel.Warning, SdkUtil.GetI18nString(SdkMessage.UNKNOWN_REF_TYPE_MSG) + " - ", resourceReferenceType.type);
                 }
             }
         }
     }
     if (this.Resource.AvailableNetworks != null)
     {
         AvailableNetworksType availableNetworks = this.Resource.AvailableNetworks;
         if (availableNetworks.Network != null)
         {
             foreach (ReferenceType referenceType in availableNetworks.Network)
             {
                 if (!this._availableNetworkRefsByName.ContainsKey(referenceType.name))
                 {
                     this._availableNetworkRefsByName.Add(referenceType.name, referenceType);
                 }
             }
         }
     }
     foreach (LinkType linkType in this.Resource.Link)
     {
         if (linkType.rel.Equals("up") && linkType.type.Equals("application/vnd.vmware.vcloud.org+xml"))
         {
             this._orgReference = (ReferenceType)linkType;
         }
     }
     if (this.Resource.VdcStorageProfiles == null)
     {
         return;
     }
     foreach (ReferenceType referenceType in this.Resource.VdcStorageProfiles.VdcStorageProfile)
     {
         this._storageProfileRefs.Add(referenceType);
     }
 }