Esempio n. 1
0
 public VappTemplate CreateVappTemplate(UploadVAppTemplateParamsType vappTemplParams)
 {
     try
     {
         return(Vdc.ExecuteVappTemplUpload(this.VcloudClient, this.Reference.href + "/action/uploadVAppTemplate", SerializationUtil.SerializeObject <UploadVAppTemplateParamsType>(vappTemplParams, "com.vmware.vcloud.api.rest.schema"), "application/vnd.vmware.vcloud.uploadVAppTemplateParams+xml"));
     }
     catch (Exception ex)
     {
         throw new VCloudException(ex.Message);
     }
 }
Esempio n. 2
0
 public VappTemplate CreateVappTemplate(UploadVAppTemplateParamsType vappTemplParams)
 {
     return(Catalog.ExecuteVappTemplateUpload(this.VcloudClient, this.Reference.href + "/action/upload", SerializationUtil.SerializeObject <UploadVAppTemplateParamsType>(vappTemplParams, "com.vmware.vcloud.api.rest.schema"), "application/vnd.vmware.vcloud.uploadVAppTemplateParams+xml"));
 }
Esempio n. 3
0
        public VappTemplate UploadVappTemplate(
            string vAppTemplateName,
            string vAppTemplateDesc,
            string localOvfFileLocation,
            bool manifestRequired,
            ReferenceType vdcStorageRef)
        {
            UploadVAppTemplateParamsType vappTemplParams = new UploadVAppTemplateParamsType();

            vappTemplParams.Description       = vAppTemplateDesc;
            vappTemplParams.name              = vAppTemplateName;
            vappTemplParams.manifestRequired  = manifestRequired;
            vappTemplParams.VdcStorageProfile = vdcStorageRef;
            VappTemplate vappTemplate = this.CreateVappTemplate(vappTemplParams);
            FileStream   fileStream1;

            try
            {
                fileStream1 = File.OpenRead(localOvfFileLocation);
            }
            catch (FileNotFoundException ex)
            {
                throw new VCloudRuntimeException((Exception)ex);
            }
            string fileName = Path.GetFileName(localOvfFileLocation);

            vappTemplate.UploadOVFFile((Stream)fileStream1, fileStream1.Length);
            VappTemplate templateByReference1 = VappTemplate.GetVappTemplateByReference(this.VcloudClient, vappTemplate.Reference);

            while (!templateByReference1.Resource.ovfDescriptorUploaded)
            {
                templateByReference1 = VappTemplate.GetVappTemplateByReference(this.VcloudClient, templateByReference1.Reference);
            }
            try
            {
                fileStream1.Close();
            }
            catch (IOException ex)
            {
                throw new VCloudRuntimeException((Exception)ex);
            }
            foreach (string uploadFileName in templateByReference1.GetUploadFileNames())
            {
                string     path = localOvfFileLocation.Replace(fileName, uploadFileName);
                FileStream fileStream2;
                try
                {
                    fileStream2 = File.OpenRead(path);
                }
                catch (FileNotFoundException ex)
                {
                    throw new VCloudRuntimeException((Exception)ex);
                }
                templateByReference1.UploadFile(uploadFileName, (Stream)fileStream2, fileStream2.Length);
                try
                {
                    fileStream2.Close();
                }
                catch (IOException ex)
                {
                    throw new VCloudRuntimeException((Exception)ex);
                }
            }
            VappTemplate templateByReference2 = VappTemplate.GetVappTemplateByReference(this.VcloudClient, templateByReference1.Reference);

            while (templateByReference2.Resource.status == VappTemplateStatus.UNRESOLVED.Value())
            {
                templateByReference2 = VappTemplate.GetVappTemplateByReference(this.VcloudClient, templateByReference2.Reference);
            }
            return(VappTemplate.GetVappTemplateByReference(this.VcloudClient, templateByReference2.Reference));
        }