├── .editorconfig ├── .gitignore ├── LICENSE-CC-BY.md ├── Makefile ├── README.md ├── composer.json ├── docs ├── api │ ├── .html │ ├── PROJECT_VERSION │ ├── SAMI_VERSION │ ├── VMware_VCloud_API_AbstractVAppType.html │ ├── VMware_VCloud_API_AccessSettingType.html │ ├── VMware_VCloud_API_AccessSettingsType.html │ ├── VMware_VCloud_API_AdminCatalogType.html │ ├── VMware_VCloud_API_AdminOrgType.html │ ├── VMware_VCloud_API_AdminVdcStorageProfileType.html │ ├── VMware_VCloud_API_AdminVdcType.html │ ├── VMware_VCloud_API_AllocatedIpAddressType.html │ ├── VMware_VCloud_API_AllocatedIpAddressesType.html │ ├── VMware_VCloud_API_Any.html │ ├── VMware_VCloud_API_ApiDefinitionType.html │ ├── VMware_VCloud_API_ApiExtensibilityType.html │ ├── VMware_VCloud_API_AvailableNetworksType.html │ ├── VMware_VCloud_API_BootOrderSection_Type.html │ ├── VMware_VCloud_API_CapabilitiesType.html │ ├── VMware_VCloud_API_CapacityType.html │ ├── VMware_VCloud_API_CapacityWithUsageType.html │ ├── VMware_VCloud_API_CaptureVAppParamsType.html │ ├── VMware_VCloud_API_CatalogItemType.html │ ├── VMware_VCloud_API_CatalogItemsType.html │ ├── VMware_VCloud_API_CatalogStorageProfilesType.html │ ├── VMware_VCloud_API_CatalogType.html │ ├── VMware_VCloud_API_CatalogsListType.html │ ├── VMware_VCloud_API_CertificateUpdateParamsType.html │ ├── VMware_VCloud_API_CertificateUploadSocketType.html │ ├── VMware_VCloud_API_CloneMediaParamsType.html │ ├── VMware_VCloud_API_CloneVAppParamsType.html │ ├── VMware_VCloud_API_CloneVAppTemplateParamsType.html │ ├── VMware_VCloud_API_ComplianceResultType.html │ ├── VMware_VCloud_API_ComposeVAppParamsType.html │ ├── VMware_VCloud_API_ComputeCapacityType.html │ ├── VMware_VCloud_API_ConfigKeyValue_Type.html │ ├── VMware_VCloud_API_Config_Type.html │ ├── VMware_VCloud_API_ContainerType.html │ ├── VMware_VCloud_API_ControlAccessParamsType.html │ ├── VMware_VCloud_API_CopyOrMoveCatalogItemParamsType.html │ ├── VMware_VCloud_API_CoresPerSocket_Type.html │ ├── VMware_VCloud_API_CpuCompatibilitySection_Type.html │ ├── VMware_VCloud_API_CreateSnapshotParamsType.html │ ├── VMware_VCloud_API_CreateVdcParamsType.html │ ├── VMware_VCloud_API_CustomOrgLdapSettingsType.html │ ├── VMware_VCloud_API_CustomizationSectionType.html │ ├── VMware_VCloud_API_DefaultStorageProfileSection_Type.html │ ├── VMware_VCloud_API_DeployVAppParamsType.html │ ├── VMware_VCloud_API_DhcpPoolServiceType.html │ ├── VMware_VCloud_API_DhcpServiceType.html │ ├── VMware_VCloud_API_Disk.html │ ├── VMware_VCloud_API_DiskAttachOrDetachParamsType.html │ ├── VMware_VCloud_API_DiskCreateParamsType.html │ ├── VMware_VCloud_API_DiskType.html │ ├── VMware_VCloud_API_EntityLinkType.html │ ├── VMware_VCloud_API_EntityReferenceType.html │ ├── VMware_VCloud_API_EntityType.html │ ├── VMware_VCloud_API_Entry.html │ ├── VMware_VCloud_API_ErrorType.html │ ├── VMware_VCloud_API_EventType.html │ ├── VMware_VCloud_API_Extension_AccountLockoutIntervalMinutes.html │ ├── VMware_VCloud_API_Extension_AclAccessType.html │ ├── VMware_VCloud_API_Extension_AclRuleType.html │ ├── VMware_VCloud_API_Extension_AclRulesType.html │ ├── VMware_VCloud_API_Extension_AdminApiDefinitionType.html │ ├── VMware_VCloud_API_Extension_AdminApiDefinitionsType.html │ ├── VMware_VCloud_API_Extension_AdminFileDescriptorType.html │ ├── VMware_VCloud_API_Extension_AdminFileDescriptorsType.html │ ├── VMware_VCloud_API_Extension_AdminServiceExtensionType.html │ ├── VMware_VCloud_API_Extension_AdminServiceLinkType.html │ ├── VMware_VCloud_API_Extension_AdminServiceLinksType.html │ ├── VMware_VCloud_API_Extension_AdminServiceType.html │ ├── VMware_VCloud_API_Extension_AmqpSettingsTestType.html │ ├── VMware_VCloud_API_Extension_AmqpSettingsType.html │ ├── VMware_VCloud_API_Extension_ApiFilterType.html │ ├── VMware_VCloud_API_Extension_ApiFiltersType.html │ ├── VMware_VCloud_API_Extension_AuthorizationCheckParamsType.html │ ├── VMware_VCloud_API_Extension_AuthorizationCheckResponseType.html │ ├── VMware_VCloud_API_Extension_BlockingTaskOperationParamsType.html │ ├── VMware_VCloud_API_Extension_BlockingTaskSettingsType.html │ ├── VMware_VCloud_API_Extension_BlockingTaskType.html │ ├── VMware_VCloud_API_Extension_BlockingTaskUpdateProgressParamsType.html │ ├── VMware_VCloud_API_Extension_BrandingSettingsType.html │ ├── VMware_VCloud_API_Extension_BundleUploadParamsType.html │ ├── VMware_VCloud_API_Extension_BundleUploadSocketType.html │ ├── VMware_VCloud_API_Extension_CatalogSettingsType.html │ ├── VMware_VCloud_API_Extension_CbmDataType.html │ ├── VMware_VCloud_API_Extension_ComponentManagerSettingsType.html │ ├── VMware_VCloud_API_Extension_DatastoreType.html │ ├── VMware_VCloud_API_Extension_EmailSettingsType.html │ ├── VMware_VCloud_API_Extension_EntityReferencesType.html │ ├── VMware_VCloud_API_Extension_EntityRightsType.html │ ├── VMware_VCloud_API_Extension_ExtensionObjectRefType.html │ ├── VMware_VCloud_API_Extension_ExtensionServicesType.html │ ├── VMware_VCloud_API_Extension_FencePoolType.html │ ├── VMware_VCloud_API_Extension_GeneralSettingsType.html │ ├── VMware_VCloud_API_Extension_HostObjectRefType.html │ ├── VMware_VCloud_API_Extension_HostObjectRefsType.html │ ├── VMware_VCloud_API_Extension_HostType.html │ ├── VMware_VCloud_API_Extension_ImportMediaParamsType.html │ ├── VMware_VCloud_API_Extension_ImportVmAsVAppParamsType.html │ ├── VMware_VCloud_API_Extension_ImportVmAsVAppTemplateParamsType.html │ ├── VMware_VCloud_API_Extension_ImportVmIntoExistingVAppParamsType.html │ ├── VMware_VCloud_API_Extension_KerberosSettingsType.html │ ├── VMware_VCloud_API_Extension_LdapGroupAttributesType.html │ ├── VMware_VCloud_API_Extension_LdapSettingsType.html │ ├── VMware_VCloud_API_Extension_LdapUserAttributesType.html │ ├── VMware_VCloud_API_Extension_LicenseMetricsInfoType.html │ ├── VMware_VCloud_API_Extension_LicenseType.html │ ├── VMware_VCloud_API_Extension_LicensingManagedServerType.html │ ├── VMware_VCloud_API_Extension_LicensingReportListType.html │ ├── VMware_VCloud_API_Extension_LicensingReportSampleType.html │ ├── VMware_VCloud_API_Extension_LicensingReportType.html │ ├── VMware_VCloud_API_Extension_LicensingVirtualMachineType.html │ ├── VMware_VCloud_API_Extension_LookupServiceParamsType.html │ ├── VMware_VCloud_API_Extension_LookupServiceSettingsType.html │ ├── VMware_VCloud_API_Extension_ManagedServerMetrics.html │ ├── VMware_VCloud_API_Extension_MigrateParamsType.html │ ├── VMware_VCloud_API_Extension_NotificationType.html │ ├── VMware_VCloud_API_Extension_NotificationsSettingsType.html │ ├── VMware_VCloud_API_Extension_NumericRangeType.html │ ├── VMware_VCloud_API_Extension_OrganizationResourcePoolSetType.html │ ├── VMware_VCloud_API_Extension_PortGroupPoolType.html │ ├── VMware_VCloud_API_Extension_PrepareHostParamsType.html │ ├── VMware_VCloud_API_Extension_ProviderVdcMergeParamsType.html │ ├── VMware_VCloud_API_Extension_RealmType.html │ ├── VMware_VCloud_API_Extension_RegisterVimServerParamsType.html │ ├── VMware_VCloud_API_Extension_ResourceClassActionType.html │ ├── VMware_VCloud_API_Extension_ResourceClassActionsType.html │ ├── VMware_VCloud_API_Extension_ResourceClassType.html │ ├── VMware_VCloud_API_Extension_ResourceClassesType.html │ ├── VMware_VCloud_API_Extension_ResourcePoolListType.html │ ├── VMware_VCloud_API_Extension_ResourcePoolType.html │ ├── VMware_VCloud_API_Extension_RightRefsType.html │ ├── VMware_VCloud_API_Extension_RightsType.html │ ├── VMware_VCloud_API_Extension_SerialPortConfigType.html │ ├── VMware_VCloud_API_Extension_ServerType.html │ ├── VMware_VCloud_API_Extension_ServiceOfferingAssociateParamsType.html │ ├── VMware_VCloud_API_Extension_ServiceOfferingDisassociateParamsType.html │ ├── VMware_VCloud_API_Extension_ServiceOfferingInstanceAssociateParamsType.html │ ├── VMware_VCloud_API_Extension_ServiceOfferingInstanceCreateParamsType.html │ ├── VMware_VCloud_API_Extension_ServiceOfferingInstanceDisassociateParamsType.html │ ├── VMware_VCloud_API_Extension_ServiceOfferingInstanceParamType.html │ ├── VMware_VCloud_API_Extension_ServiceOfferingInstanceParamsType.html │ ├── VMware_VCloud_API_Extension_ServiceOfferingInstanceType.html │ ├── VMware_VCloud_API_Extension_ServiceOfferingInstanceUpdateParamsType.html │ ├── VMware_VCloud_API_Extension_ServiceOfferingParamMetaInfoType.html │ ├── VMware_VCloud_API_Extension_ServiceOfferingParamsMetaInfoType.html │ ├── VMware_VCloud_API_Extension_ServiceOfferingType.html │ ├── VMware_VCloud_API_Extension_ServiceResourceType.html │ ├── VMware_VCloud_API_Extension_ServiceResourcesType.html │ ├── VMware_VCloud_API_Extension_ShieldManagerType.html │ ├── VMware_VCloud_API_Extension_SmtpSettingsType.html │ ├── VMware_VCloud_API_Extension_StrandedItemType.html │ ├── VMware_VCloud_API_Extension_StrandedItemVimObjectType.html │ ├── VMware_VCloud_API_Extension_StrandedItemVimObjectsType.html │ ├── VMware_VCloud_API_Extension_SystemConfigurationSettingType.html │ ├── VMware_VCloud_API_Extension_SystemConfigurationSettingValueType.html │ ├── VMware_VCloud_API_Extension_SystemConfigurationSettingsType.html │ ├── VMware_VCloud_API_Extension_SystemPasswordPolicySettingsType.html │ ├── VMware_VCloud_API_Extension_SystemSettingsType.html │ ├── VMware_VCloud_API_Extension_ThresholdRedGb.html │ ├── VMware_VCloud_API_Extension_ThresholdYellowGb.html │ ├── VMware_VCloud_API_Extension_TimeoutInMilliseconds.html │ ├── VMware_VCloud_API_Extension_UberAdminSettingsType.html │ ├── VMware_VCloud_API_Extension_UpdateProviderVdcStorageProfilesParamsType.html │ ├── VMware_VCloud_API_Extension_UpdateResourcePoolSetParamsType.html │ ├── VMware_VCloud_API_Extension_UpdateRightsParamsType.html │ ├── VMware_VCloud_API_Extension_UserEntityRightsType.html │ ├── VMware_VCloud_API_Extension_VMWExtensionType.html │ ├── VMware_VCloud_API_Extension_VMWExternalNetworkReferencesType.html │ ├── VMware_VCloud_API_Extension_VMWExternalNetworkType.html │ ├── VMware_VCloud_API_Extension_VMWHostReferencesType.html │ ├── VMware_VCloud_API_Extension_VMWNetworkPoolReferencesType.html │ ├── VMware_VCloud_API_Extension_VMWNetworkPoolType.html │ ├── VMware_VCloud_API_Extension_VMWProviderVdcParamsType.html │ ├── VMware_VCloud_API_Extension_VMWProviderVdcReferencesType.html │ ├── VMware_VCloud_API_Extension_VMWProviderVdcResourcePoolSetType.html │ ├── VMware_VCloud_API_Extension_VMWProviderVdcResourcePoolType.html │ ├── VMware_VCloud_API_Extension_VMWProviderVdcStorageProfileType.html │ ├── VMware_VCloud_API_Extension_VMWProviderVdcType.html │ ├── VMware_VCloud_API_Extension_VMWStorageProfileType.html │ ├── VMware_VCloud_API_Extension_VMWStorageProfilesType.html │ ├── VMware_VCloud_API_Extension_VMWVimServerReferencesType.html │ ├── VMware_VCloud_API_Extension_VSphereWebClientUrlType.html │ ├── VMware_VCloud_API_Extension_VcTrustStoreUpdateParamsType.html │ ├── VMware_VCloud_API_Extension_VcTrustStoreUploadSocketType.html │ ├── VMware_VCloud_API_Extension_VdsContextType.html │ ├── VMware_VCloud_API_Extension_VersionsType.html │ ├── VMware_VCloud_API_Extension_VimObjectRefListType.html │ ├── VMware_VCloud_API_Extension_VimObjectRefType.html │ ├── VMware_VCloud_API_Extension_VimObjectRefsType.html │ ├── VMware_VCloud_API_Extension_VimServerType.html │ ├── VMware_VCloud_API_Extension_VirtualMachineMetrics.html │ ├── VMware_VCloud_API_Extension_VlanPoolType.html │ ├── VMware_VCloud_API_Extension_VmObjectRefType.html │ ├── VMware_VCloud_API_Extension_VmObjectRefsListType.html │ ├── VMware_VCloud_API_Extension_VmVimInfoType.html │ ├── VMware_VCloud_API_Extension_VxlanPoolType.html │ ├── VMware_VCloud_API_ExternalCatalogSubscriptionParamsType.html │ ├── VMware_VCloud_API_ExternalNatIpMapType.html │ ├── VMware_VCloud_API_ExternalNetworkType.html │ ├── VMware_VCloud_API_ExtraConfig_Type.html │ ├── VMware_VCloud_API_FileDescriptorType.html │ ├── VMware_VCloud_API_FileType.html │ ├── VMware_VCloud_API_FileUploadParamsType.html │ ├── VMware_VCloud_API_FileUploadSocketType.html │ ├── VMware_VCloud_API_FilesListType.html │ ├── VMware_VCloud_API_FirewallRuleType.html │ ├── VMware_VCloud_API_FirewallServiceType.html │ ├── VMware_VCloud_API_GatewayConfigurationType.html │ ├── VMware_VCloud_API_GatewayDhcpServiceType.html │ ├── VMware_VCloud_API_GatewayFeaturesType.html │ ├── VMware_VCloud_API_GatewayInterfaceType.html │ ├── VMware_VCloud_API_GatewayInterfacesType.html │ ├── VMware_VCloud_API_GatewayIpsecVpnEndpointType.html │ ├── VMware_VCloud_API_GatewayIpsecVpnServiceType.html │ ├── VMware_VCloud_API_GatewayIpsecVpnTunnelType.html │ ├── VMware_VCloud_API_GatewayNatRuleType.html │ ├── VMware_VCloud_API_GatewayType.html │ ├── VMware_VCloud_API_GroupType.html │ ├── VMware_VCloud_API_GroupsListType.html │ ├── VMware_VCloud_API_GuestCustomizationSectionType.html │ ├── VMware_VCloud_API_Helper.html │ ├── VMware_VCloud_API_IdentifiableResourceType.html │ ├── VMware_VCloud_API_InstantiateOvfParamsType.html │ ├── VMware_VCloud_API_InstantiateOvfPropertyType.html │ ├── VMware_VCloud_API_InstantiateVAppParamsType.html │ ├── VMware_VCloud_API_InstantiateVAppTemplateParamsType.html │ ├── VMware_VCloud_API_InstantiateVmHardwareCustomizationParamsType.html │ ├── VMware_VCloud_API_InstantiateVmParamsType.html │ ├── VMware_VCloud_API_InstantiationParamsType.html │ ├── VMware_VCloud_API_IpAddressesType.html │ ├── VMware_VCloud_API_IpAssignmentSection_Type.html │ ├── VMware_VCloud_API_IpRangeType.html │ ├── VMware_VCloud_API_IpRangesType.html │ ├── VMware_VCloud_API_IpScopeType.html │ ├── VMware_VCloud_API_IpScopesType.html │ ├── VMware_VCloud_API_IpsecVpnLocalPeerType.html │ ├── VMware_VCloud_API_IpsecVpnManagedPeerType.html │ ├── VMware_VCloud_API_IpsecVpnPeerType.html │ ├── VMware_VCloud_API_IpsecVpnRemotePeerType.html │ ├── VMware_VCloud_API_IpsecVpnServiceType.html │ ├── VMware_VCloud_API_IpsecVpnSubnetType.html │ ├── VMware_VCloud_API_IpsecVpnThirdPartyPeerType.html │ ├── VMware_VCloud_API_IpsecVpnTunnelType.html │ ├── VMware_VCloud_API_IpsecVpnUnmanagedPeerType.html │ ├── VMware_VCloud_API_KeystoreUpdateParamsType.html │ ├── VMware_VCloud_API_KeystoreUploadSocketType.html │ ├── VMware_VCloud_API_LBPersistenceType.html │ ├── VMware_VCloud_API_LBPoolHealthCheckType.html │ ├── VMware_VCloud_API_LBPoolMemberType.html │ ├── VMware_VCloud_API_LBPoolServicePortType.html │ ├── VMware_VCloud_API_LBVirtualServerServiceProfileType.html │ ├── VMware_VCloud_API_LeaseSettingsSectionType.html │ ├── VMware_VCloud_API_Level.html │ ├── VMware_VCloud_API_LinkType.html │ ├── VMware_VCloud_API_LoadBalancerPoolType.html │ ├── VMware_VCloud_API_LoadBalancerServiceType.html │ ├── VMware_VCloud_API_LoadBalancerVirtualServerType.html │ ├── VMware_VCloud_API_LocalityParamsType.html │ ├── VMware_VCloud_API_MediaInsertOrEjectParamsType.html │ ├── VMware_VCloud_API_MediaType.html │ ├── VMware_VCloud_API_MetadataBooleanValue.html │ ├── VMware_VCloud_API_MetadataDateTimeValue.html │ ├── VMware_VCloud_API_MetadataDomainTagType.html │ ├── VMware_VCloud_API_MetadataEntryType.html │ ├── VMware_VCloud_API_MetadataNumberValue.html │ ├── VMware_VCloud_API_MetadataStringValue.html │ ├── VMware_VCloud_API_MetadataType.html │ ├── VMware_VCloud_API_MetadataTypedValue.html │ ├── VMware_VCloud_API_MetadataValueType.html │ ├── VMware_VCloud_API_MksTicketType.html │ ├── VMware_VCloud_API_NatOneToOneBasicRuleType.html │ ├── VMware_VCloud_API_NatOneToOneVmRuleType.html │ ├── VMware_VCloud_API_NatPortForwardingRuleType.html │ ├── VMware_VCloud_API_NatRuleType.html │ ├── VMware_VCloud_API_NatServiceType.html │ ├── VMware_VCloud_API_NatVmRuleType.html │ ├── VMware_VCloud_API_NetworkAssignmentType.html │ ├── VMware_VCloud_API_NetworkConfigSectionType.html │ ├── VMware_VCloud_API_NetworkConfigurationType.html │ ├── VMware_VCloud_API_NetworkConnectionSectionType.html │ ├── VMware_VCloud_API_NetworkConnectionType.html │ ├── VMware_VCloud_API_NetworkFeaturesType.html │ ├── VMware_VCloud_API_NetworkMappingType.html │ ├── VMware_VCloud_API_NetworkPoolReferencesType.html │ ├── VMware_VCloud_API_NetworkPoolType.html │ ├── VMware_VCloud_API_NetworkServiceInsertionType.html │ ├── VMware_VCloud_API_NetworkServiceType.html │ ├── VMware_VCloud_API_NetworkType.html │ ├── VMware_VCloud_API_NetworksType.html │ ├── VMware_VCloud_API_NicIpMapType.html │ ├── VMware_VCloud_API_OVFENV_Any.html │ ├── VMware_VCloud_API_OVFENV_Entity_Type.html │ ├── VMware_VCloud_API_OVFENV_Environment_Type.html │ ├── VMware_VCloud_API_OVFENV_PlatformSection_Type.html │ ├── VMware_VCloud_API_OVFENV_Property.html │ ├── VMware_VCloud_API_OVFENV_PropertySection_Type.html │ ├── VMware_VCloud_API_OVFENV_Section_Type.html │ ├── VMware_VCloud_API_OVF_AnnotationSection_Type.html │ ├── VMware_VCloud_API_OVF_Any.html │ ├── VMware_VCloud_API_OVF_AutomaticRecoveryAction.html │ ├── VMware_VCloud_API_OVF_AutomaticShutdownAction.html │ ├── VMware_VCloud_API_OVF_AutomaticStartupAction.html │ ├── VMware_VCloud_API_OVF_CIM_ResourceAllocationSettingData_Type.html │ ├── VMware_VCloud_API_OVF_CIM_VirtualSystemSettingData_Type.html │ ├── VMware_VCloud_API_OVF_Caption.html │ ├── VMware_VCloud_API_OVF_ChangeableType.html │ ├── VMware_VCloud_API_OVF_Configuration.html │ ├── VMware_VCloud_API_OVF_ConsumerVisibility.html │ ├── VMware_VCloud_API_OVF_Content_Type.html │ ├── VMware_VCloud_API_OVF_DeploymentOptionSection_Type.html │ ├── VMware_VCloud_API_OVF_DiskSection_Type.html │ ├── VMware_VCloud_API_OVF_EnvelopeType.html │ ├── VMware_VCloud_API_OVF_EulaSection_Type.html │ ├── VMware_VCloud_API_OVF_File_Type.html │ ├── VMware_VCloud_API_OVF_Icon.html │ ├── VMware_VCloud_API_OVF_InstallSection_Type.html │ ├── VMware_VCloud_API_OVF_Item.html │ ├── VMware_VCloud_API_OVF_MappingBehavior.html │ ├── VMware_VCloud_API_OVF_Msg.html │ ├── VMware_VCloud_API_OVF_Msg_Type.html │ ├── VMware_VCloud_API_OVF_Network.html │ ├── VMware_VCloud_API_OVF_NetworkSection_Type.html │ ├── VMware_VCloud_API_OVF_OperatingSystemSection_Type.html │ ├── VMware_VCloud_API_OVF_ProductSection_Type.html │ ├── VMware_VCloud_API_OVF_Property.html │ ├── VMware_VCloud_API_OVF_PropertyConfigurationValue_Type.html │ ├── VMware_VCloud_API_OVF_RASD_Type.html │ ├── VMware_VCloud_API_OVF_References_Type.html │ ├── VMware_VCloud_API_OVF_ResourceAllocationSection_Type.html │ ├── VMware_VCloud_API_OVF_ResourceType.html │ ├── VMware_VCloud_API_OVF_Section_Type.html │ ├── VMware_VCloud_API_OVF_StartupSection_Type.html │ ├── VMware_VCloud_API_OVF_Strings_Type.html │ ├── VMware_VCloud_API_OVF_VSSD_Type.html │ ├── VMware_VCloud_API_OVF_VirtualDiskDesc_Type.html │ ├── VMware_VCloud_API_OVF_VirtualHardwareSection_Type.html │ ├── VMware_VCloud_API_OVF_VirtualSystemCollection_Type.html │ ├── VMware_VCloud_API_OVF_VirtualSystem_Type.html │ ├── VMware_VCloud_API_OVF_cimAnySimpleType.html │ ├── VMware_VCloud_API_OVF_cimBase64Binary.html │ ├── VMware_VCloud_API_OVF_cimBoolean.html │ ├── VMware_VCloud_API_OVF_cimByte.html │ ├── VMware_VCloud_API_OVF_cimChar16.html │ ├── VMware_VCloud_API_OVF_cimDateTime.html │ ├── VMware_VCloud_API_OVF_cimDouble.html │ ├── VMware_VCloud_API_OVF_cimFloat.html │ ├── VMware_VCloud_API_OVF_cimHexBinary.html │ ├── VMware_VCloud_API_OVF_cimInt.html │ ├── VMware_VCloud_API_OVF_cimLong.html │ ├── VMware_VCloud_API_OVF_cimReference.html │ ├── VMware_VCloud_API_OVF_cimShort.html │ ├── VMware_VCloud_API_OVF_cimString.html │ ├── VMware_VCloud_API_OVF_cimUnsignedByte.html │ ├── VMware_VCloud_API_OVF_cimUnsignedInt.html │ ├── VMware_VCloud_API_OVF_cimUnsignedLong.html │ ├── VMware_VCloud_API_OVF_cimUnsignedShort.html │ ├── VMware_VCloud_API_OVF_qualifierBoolean.html │ ├── VMware_VCloud_API_OVF_qualifierSArray.html │ ├── VMware_VCloud_API_OVF_qualifierSInt64.html │ ├── VMware_VCloud_API_OVF_qualifierString.html │ ├── VMware_VCloud_API_OVF_qualifierUInt32.html │ ├── VMware_VCloud_API_OperatingSystemFamilyInfoType.html │ ├── VMware_VCloud_API_OperatingSystemInfoType.html │ ├── VMware_VCloud_API_OrgEmailSettingsType.html │ ├── VMware_VCloud_API_OrgFederationSettingsType.html │ ├── VMware_VCloud_API_OrgGeneralSettingsType.html │ ├── VMware_VCloud_API_OrgGuestPersonalizationSettingsType.html │ ├── VMware_VCloud_API_OrgLdapGroupAttributesType.html │ ├── VMware_VCloud_API_OrgLdapSettingsType.html │ ├── VMware_VCloud_API_OrgLdapUserAttributesType.html │ ├── VMware_VCloud_API_OrgLeaseSettingsType.html │ ├── VMware_VCloud_API_OrgListType.html │ ├── VMware_VCloud_API_OrgNetworkType.html │ ├── VMware_VCloud_API_OrgOperationLimitsSettingsType.html │ ├── VMware_VCloud_API_OrgPasswordPolicySettingsType.html │ ├── VMware_VCloud_API_OrgSettingsType.html │ ├── VMware_VCloud_API_OrgType.html │ ├── VMware_VCloud_API_OrgVAppTemplateLeaseSettingsType.html │ ├── VMware_VCloud_API_OrgVdcNetworkType.html │ ├── VMware_VCloud_API_OrganizationReferenceType.html │ ├── VMware_VCloud_API_OrganizationReferencesType.html │ ├── VMware_VCloud_API_OrgsType.html │ ├── VMware_VCloud_API_OvfToVdcNetworkMapType.html │ ├── VMware_VCloud_API_OwnerType.html │ ├── VMware_VCloud_API_ParamsType.html │ ├── VMware_VCloud_API_ProductSectionListType.html │ ├── VMware_VCloud_API_PropertyType.html │ ├── VMware_VCloud_API_Protocols.html │ ├── VMware_VCloud_API_ProviderVdcCapacityType.html │ ├── VMware_VCloud_API_ProviderVdcReferencesType.html │ ├── VMware_VCloud_API_ProviderVdcStorageProfileType.html │ ├── VMware_VCloud_API_ProviderVdcStorageProfilesType.html │ ├── VMware_VCloud_API_ProviderVdcType.html │ ├── VMware_VCloud_API_PublishCatalogParamsType.html │ ├── VMware_VCloud_API_PublishExternalCatalogParamsType.html │ ├── VMware_VCloud_API_QueryListType.html │ ├── VMware_VCloud_API_QueryResultAclRuleRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminAllocatedExternalAddressRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminApiDefinitionRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminCatalogItemRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminCatalogRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminDiskRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminEventCBMRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminEventRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminFileDescriptorRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminGroupRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminMediaRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminOrgNetworkRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminOrgVdcStorageProfileRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminServiceOfferingInstanceRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminServiceRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminShadowVMRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminTaskRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminUserRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminVAppNetworkRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminVAppRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminVAppTemplateRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminVMRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminVdcRecordType.html │ ├── VMware_VCloud_API_QueryResultAdminVmDiskRelationRecordType.html │ ├── VMware_VCloud_API_QueryResultAllocatedExternalAddressRecordType.html │ ├── VMware_VCloud_API_QueryResultApiDefinitionRecordType.html │ ├── VMware_VCloud_API_QueryResultApiFilterRecordType.html │ ├── VMware_VCloud_API_QueryResultBlockingTaskRecordType.html │ ├── VMware_VCloud_API_QueryResultCatalogItemRecordType.html │ ├── VMware_VCloud_API_QueryResultCatalogRecordType.html │ ├── VMware_VCloud_API_QueryResultCellRecordType.html │ ├── VMware_VCloud_API_QueryResultConditionRecordType.html │ ├── VMware_VCloud_API_QueryResultDatastoreProviderVdcRelationRecordType.html │ ├── VMware_VCloud_API_QueryResultDatastoreRecordType.html │ ├── VMware_VCloud_API_QueryResultDiskRecordType.html │ ├── VMware_VCloud_API_QueryResultDvSwitchRecordType.html │ ├── VMware_VCloud_API_QueryResultEdgeGatewayRecordType.html │ ├── VMware_VCloud_API_QueryResultEventRecordType.html │ ├── VMware_VCloud_API_QueryResultExternalLocalizationRecordType.html │ ├── VMware_VCloud_API_QueryResultFileDescriptorRecordType.html │ ├── VMware_VCloud_API_QueryResultGroupRecordType.html │ ├── VMware_VCloud_API_QueryResultHostRecordType.html │ ├── VMware_VCloud_API_QueryResultLicensingManagedServerRecordType.html │ ├── VMware_VCloud_API_QueryResultLicensingReportRecordType.html │ ├── VMware_VCloud_API_QueryResultLicensingReportSampleRecordType.html │ ├── VMware_VCloud_API_QueryResultLicensingVirtualMachineRecordType.html │ ├── VMware_VCloud_API_QueryResultMediaRecordType.html │ ├── VMware_VCloud_API_QueryResultNetworkPoolRecordType.html │ ├── VMware_VCloud_API_QueryResultNetworkRecordType.html │ ├── VMware_VCloud_API_QueryResultOrgNetworkRecordType.html │ ├── VMware_VCloud_API_QueryResultOrgRecordType.html │ ├── VMware_VCloud_API_QueryResultOrgVdcNetworkRecordType.html │ ├── VMware_VCloud_API_QueryResultOrgVdcRecordType.html │ ├── VMware_VCloud_API_QueryResultOrgVdcResourcePoolRelationRecordType.html │ ├── VMware_VCloud_API_QueryResultOrgVdcStorageProfileRecordType.html │ ├── VMware_VCloud_API_QueryResultPortgroupRecordType.html │ ├── VMware_VCloud_API_QueryResultProviderVdcResourcePoolRelationRecordType.html │ ├── VMware_VCloud_API_QueryResultProviderVdcStorageProfileRecordType.html │ ├── VMware_VCloud_API_QueryResultRecordType.html │ ├── VMware_VCloud_API_QueryResultRecordsType.html │ ├── VMware_VCloud_API_QueryResultResourceClassActionRecordType.html │ ├── VMware_VCloud_API_QueryResultResourceClassRecordType.html │ ├── VMware_VCloud_API_QueryResultResourcePoolRecordType.html │ ├── VMware_VCloud_API_QueryResultResourcePoolVMRecordType.html │ ├── VMware_VCloud_API_QueryResultRightRecordType.html │ ├── VMware_VCloud_API_QueryResultRoleRecordType.html │ ├── VMware_VCloud_API_QueryResultServiceExtensionRecordType.html │ ├── VMware_VCloud_API_QueryResultServiceLinkRecordType.html │ ├── VMware_VCloud_API_QueryResultServiceOfferingInstanceRecordType.html │ ├── VMware_VCloud_API_QueryResultServiceOfferingRecordType.html │ ├── VMware_VCloud_API_QueryResultServiceRecordType.html │ ├── VMware_VCloud_API_QueryResultServiceResourceRecordType.html │ ├── VMware_VCloud_API_QueryResultStrandedItemRecordType.html │ ├── VMware_VCloud_API_QueryResultStrandedUserRecordType.html │ ├── VMware_VCloud_API_QueryResultTaskRecordType.html │ ├── VMware_VCloud_API_QueryResultType.html │ ├── VMware_VCloud_API_QueryResultUserRecordType.html │ ├── VMware_VCloud_API_QueryResultVAppNetworkRecordType.html │ ├── VMware_VCloud_API_QueryResultVAppOrgNetworkRelationRecordType.html │ ├── VMware_VCloud_API_QueryResultVAppOrgVdcNetworkRelationRecordType.html │ ├── VMware_VCloud_API_QueryResultVAppRecordType.html │ ├── VMware_VCloud_API_QueryResultVAppTemplateRecordType.html │ ├── VMware_VCloud_API_QueryResultVMRecordType.html │ ├── VMware_VCloud_API_QueryResultVMWProviderVdcRecordType.html │ ├── VMware_VCloud_API_QueryResultVdcServiceOfferingRecordType.html │ ├── VMware_VCloud_API_QueryResultVirtualCenterRecordType.html │ ├── VMware_VCloud_API_QueryResultVmDiskRelationRecordType.html │ ├── VMware_VCloud_API_QueryResultVmServiceOfferingInstanceRecordType.html │ ├── VMware_VCloud_API_RasdItemsListType.html │ ├── VMware_VCloud_API_RecomposeVAppParamsType.html │ ├── VMware_VCloud_API_ReferenceType.html │ ├── VMware_VCloud_API_ReferencesType.html │ ├── VMware_VCloud_API_RegisterVAppParamsType.html │ ├── VMware_VCloud_API_RelocateParamsType.html │ ├── VMware_VCloud_API_RequestOperationParamsType.html │ ├── VMware_VCloud_API_ResourceEntitiesType.html │ ├── VMware_VCloud_API_ResourceEntityType.html │ ├── VMware_VCloud_API_ResourceReferenceType.html │ ├── VMware_VCloud_API_ResourceType.html │ ├── VMware_VCloud_API_RightReferencesType.html │ ├── VMware_VCloud_API_RightType.html │ ├── VMware_VCloud_API_RoleReferencesType.html │ ├── VMware_VCloud_API_RoleType.html │ ├── VMware_VCloud_API_RootComputeCapacityType.html │ ├── VMware_VCloud_API_RouterInfoType.html │ ├── VMware_VCloud_API_RuntimeInfoSectionType.html │ ├── VMware_VCloud_API_ScreenTicketType.html │ ├── VMware_VCloud_API_ServiceType.html │ ├── VMware_VCloud_API_SessionType.html │ ├── VMware_VCloud_API_SmtpServerSettingsType.html │ ├── VMware_VCloud_API_SnapshotSectionType.html │ ├── VMware_VCloud_API_SnapshotType.html │ ├── VMware_VCloud_API_SourcedCompositionItemParamType.html │ ├── VMware_VCloud_API_SourcedVmInstantiationParamsType.html │ ├── VMware_VCloud_API_SspiKeytabUpdateParamsType.html │ ├── VMware_VCloud_API_SspiKeytabUploadSocketType.html │ ├── VMware_VCloud_API_StaticRouteType.html │ ├── VMware_VCloud_API_StaticRoutingServiceType.html │ ├── VMware_VCloud_API_SubAllocationType.html │ ├── VMware_VCloud_API_SubAllocationsType.html │ ├── VMware_VCloud_API_SubnetParticipationType.html │ ├── VMware_VCloud_API_SupportedHardwareVersionsType.html │ ├── VMware_VCloud_API_SupportedOperatingSystemsInfoType.html │ ├── VMware_VCloud_API_SyslogServerSettingsType.html │ ├── VMware_VCloud_API_TaskOperationListType.html │ ├── VMware_VCloud_API_TaskRequestBaseType.html │ ├── VMware_VCloud_API_TaskType.html │ ├── VMware_VCloud_API_TasksInProgressType.html │ ├── VMware_VCloud_API_TasksListType.html │ ├── VMware_VCloud_API_TrustStoreUpdateParamsType.html │ ├── VMware_VCloud_API_TrustStoreUploadSocketType.html │ ├── VMware_VCloud_API_UndeployVAppParamsType.html │ ├── VMware_VCloud_API_UpdateVdcStorageProfilesType.html │ ├── VMware_VCloud_API_UploadVAppTemplateParamsType.html │ ├── VMware_VCloud_API_UserType.html │ ├── VMware_VCloud_API_UsersListType.html │ ├── VMware_VCloud_API_VAppChildrenType.html │ ├── VMware_VCloud_API_VAppCreationParamsType.html │ ├── VMware_VCloud_API_VAppNetworkConfigurationType.html │ ├── VMware_VCloud_API_VAppNetworkType.html │ ├── VMware_VCloud_API_VAppTemplateChildrenType.html │ ├── VMware_VCloud_API_VAppTemplateType.html │ ├── VMware_VCloud_API_VAppType.html │ ├── VMware_VCloud_API_VCloudExtensibleType.html │ ├── VMware_VCloud_API_VCloudExtensionType.html │ ├── VMware_VCloud_API_VCloudType.html │ ├── VMware_VCloud_API_VMWareTools.html │ ├── VMware_VCloud_API_VdcReferencesType.html │ ├── VMware_VCloud_API_VdcStorageProfileParamsType.html │ ├── VMware_VCloud_API_VdcStorageProfileType.html │ ├── VMware_VCloud_API_VdcStorageProfilesType.html │ ├── VMware_VCloud_API_VdcType.html │ ├── VMware_VCloud_API_VdcsType.html │ ├── VMware_VCloud_API_VendorServicesType.html │ ├── VMware_VCloud_API_VendorTemplateAttributesType.html │ ├── VMware_VCloud_API_VendorTemplateType.html │ ├── VMware_VCloud_API_Version_Any.html │ ├── VMware_VCloud_API_Version_MediaTypeMappingType.html │ ├── VMware_VCloud_API_Version_SupportedVersionsType.html │ ├── VMware_VCloud_API_Version_VersionInfoType.html │ ├── VMware_VCloud_API_VersionsType.html │ ├── VMware_VCloud_API_VmCapabilitiesType.html │ ├── VMware_VCloud_API_VmPendingQuestionType.html │ ├── VMware_VCloud_API_VmQuestionAnswerChoiceType.html │ ├── VMware_VCloud_API_VmQuestionAnswerType.html │ ├── VMware_VCloud_API_VmSelectionType.html │ ├── VMware_VCloud_API_VmType.html │ ├── VMware_VCloud_API_VmsType.html │ ├── VMware_VCloud_API_VsToVmxMapType.html │ ├── VMware_VCloud_SDK_APIDefinition.html │ ├── VMware_VCloud_SDK_Abstract.html │ ├── VMware_VCloud_SDK_Admin.html │ ├── VMware_VCloud_SDK_AdminCatalog.html │ ├── VMware_VCloud_SDK_AdminNetwork.html │ ├── VMware_VCloud_SDK_AdminOrg.html │ ├── VMware_VCloud_SDK_AdminVdc.html │ ├── VMware_VCloud_SDK_AdminVdcStorageProfile.html │ ├── VMware_VCloud_SDK_Catalog.html │ ├── VMware_VCloud_SDK_CatalogItem.html │ ├── VMware_VCloud_SDK_Constants.html │ ├── VMware_VCloud_SDK_Disk.html │ ├── VMware_VCloud_SDK_EdgeGateway.html │ ├── VMware_VCloud_SDK_Exception.html │ ├── VMware_VCloud_SDK_Extension.html │ ├── VMware_VCloud_SDK_Extension_APIDefinition.html │ ├── VMware_VCloud_SDK_Extension_AclRule.html │ ├── VMware_VCloud_SDK_Extension_ApiFilter.html │ ├── VMware_VCloud_SDK_Extension_BlockingTask.html │ ├── VMware_VCloud_SDK_Extension_Datastore.html │ ├── VMware_VCloud_SDK_Extension_File.html │ ├── VMware_VCloud_SDK_Extension_Host.html │ ├── VMware_VCloud_SDK_Extension_ResourceClass.html │ ├── VMware_VCloud_SDK_Extension_ResourceClassAction.html │ ├── VMware_VCloud_SDK_Extension_Service.html │ ├── VMware_VCloud_SDK_Extension_ServiceLink.html │ ├── VMware_VCloud_SDK_Extension_StrandedItem.html │ ├── VMware_VCloud_SDK_Extension_TaskOps.html │ ├── VMware_VCloud_SDK_Extension_VMWExternalNetwork.html │ ├── VMware_VCloud_SDK_Extension_VMWNetworkPool.html │ ├── VMware_VCloud_SDK_Extension_VMWProviderVdc.html │ ├── VMware_VCloud_SDK_Extension_VMWProviderVdcResourcePool.html │ ├── VMware_VCloud_SDK_Extension_VMWProviderVdcStorageProfile.html │ ├── VMware_VCloud_SDK_Extension_VimServer.html │ ├── VMware_VCloud_SDK_Extension_serviceResources.html │ ├── VMware_VCloud_SDK_Factory.html │ ├── VMware_VCloud_SDK_Group.html │ ├── VMware_VCloud_SDK_Helper.html │ ├── VMware_VCloud_SDK_Http_Client.html │ ├── VMware_VCloud_SDK_Http_Client_Interface.html │ ├── VMware_VCloud_SDK_Http_Exception.html │ ├── VMware_VCloud_SDK_Http_Response_Interface.html │ ├── VMware_VCloud_SDK_Media.html │ ├── VMware_VCloud_SDK_Network.html │ ├── VMware_VCloud_SDK_Org.html │ ├── VMware_VCloud_SDK_ProviderVdc.html │ ├── VMware_VCloud_SDK_ProviderVdcStorageProfile.html │ ├── VMware_VCloud_SDK_Query.html │ ├── VMware_VCloud_SDK_Query_Abstract.html │ ├── VMware_VCloud_SDK_Query_Params.html │ ├── VMware_VCloud_SDK_Query_Types.html │ ├── VMware_VCloud_SDK_Right.html │ ├── VMware_VCloud_SDK_Role.html │ ├── VMware_VCloud_SDK_Service.html │ ├── VMware_VCloud_SDK_Service_Abstract.html │ ├── VMware_VCloud_SDK_ShadowVm.html │ ├── VMware_VCloud_SDK_Task.html │ ├── VMware_VCloud_SDK_TasksList.html │ ├── VMware_VCloud_SDK_User.html │ ├── VMware_VCloud_SDK_UserService.html │ ├── VMware_VCloud_SDK_VApp.html │ ├── VMware_VCloud_SDK_VAppTemplate.html │ ├── VMware_VCloud_SDK_VApp_Abstract.html │ ├── VMware_VCloud_SDK_Vdc.html │ ├── VMware_VCloud_SDK_VdcStorageProfile.html │ ├── VMware_VCloud_SDK_Vm.html │ ├── classes-frame.html │ ├── classes.html │ ├── css │ │ ├── bootstrap-responsive.css │ │ ├── bootstrap.css │ │ ├── layout.css │ │ ├── main.css │ │ ├── panel.css │ │ └── reset.css │ ├── doc-index.html │ ├── i │ │ ├── arrows.png │ │ ├── loader.gif │ │ ├── results_bg.png │ │ └── tree_bg.png │ ├── index.html │ ├── interfaces.html │ ├── js │ │ ├── jquery-1.3.2.min.js │ │ └── searchdoc.js │ ├── layout │ │ ├── base.html │ │ ├── layout.html │ │ └── page.html │ ├── namespace-frame.html │ ├── namespaces-frame.html │ ├── namespaces.html │ ├── opensearch.xml │ ├── panel.html │ ├── renderer.index │ ├── search_index.js │ ├── stylesheet.css │ ├── traits.html │ └── tree.js ├── authors.md ├── contributing.md └── install.md ├── library └── VMware │ └── VCloud │ ├── API │ ├── AbstractVAppType.php │ ├── AccessSettingType.php │ ├── AccessSettingsType.php │ ├── AdminCatalogType.php │ ├── AdminOrgType.php │ ├── AdminVdcStorageProfileType.php │ ├── AdminVdcType.php │ ├── AllocatedIpAddressType.php │ ├── AllocatedIpAddressesType.php │ ├── Any.php │ ├── ApiDefinitionType.php │ ├── ApiExtensibilityType.php │ ├── AvailableNetworksType.php │ ├── BootOrderSection │ │ └── Type.php │ ├── CapabilitiesType.php │ ├── CapacityType.php │ ├── CapacityWithUsageType.php │ ├── CaptureVAppParamsType.php │ ├── CatalogItemType.php │ ├── CatalogItemsType.php │ ├── CatalogStorageProfilesType.php │ ├── CatalogType.php │ ├── CatalogsListType.php │ ├── CertificateUpdateParamsType.php │ ├── CertificateUploadSocketType.php │ ├── CloneMediaParamsType.php │ ├── CloneVAppParamsType.php │ ├── CloneVAppTemplateParamsType.php │ ├── ComplianceResultType.php │ ├── ComposeVAppParamsType.php │ ├── ComputeCapacityType.php │ ├── Config │ │ └── Type.php │ ├── ConfigKeyValue │ │ └── Type.php │ ├── ContainerType.php │ ├── ControlAccessParamsType.php │ ├── CopyOrMoveCatalogItemParamsType.php │ ├── CoresPerSocket │ │ └── Type.php │ ├── CpuCompatibilitySection │ │ └── Type.php │ ├── CreateSnapshotParamsType.php │ ├── CreateVdcParamsType.php │ ├── CustomOrgLdapSettingsType.php │ ├── CustomizationSectionType.php │ ├── DefaultStorageProfileSection │ │ └── Type.php │ ├── DeployVAppParamsType.php │ ├── DhcpPoolServiceType.php │ ├── DhcpServiceType.php │ ├── Disk.php │ ├── DiskAttachOrDetachParamsType.php │ ├── DiskCreateParamsType.php │ ├── DiskType.php │ ├── EntityLinkType.php │ ├── EntityReferenceType.php │ ├── EntityType.php │ ├── Entry.php │ ├── ErrorType.php │ ├── EventType.php │ ├── Extension │ │ ├── AccountLockoutIntervalMinutes.php │ │ ├── AclAccessType.php │ │ ├── AclRuleType.php │ │ ├── AclRulesType.php │ │ ├── AdminApiDefinitionType.php │ │ ├── AdminApiDefinitionsType.php │ │ ├── AdminFileDescriptorType.php │ │ ├── AdminFileDescriptorsType.php │ │ ├── AdminServiceExtensionType.php │ │ ├── AdminServiceLinkType.php │ │ ├── AdminServiceLinksType.php │ │ ├── AdminServiceType.php │ │ ├── AmqpSettingsTestType.php │ │ ├── AmqpSettingsType.php │ │ ├── ApiFilterType.php │ │ ├── ApiFiltersType.php │ │ ├── AuthorizationCheckParamsType.php │ │ ├── AuthorizationCheckResponseType.php │ │ ├── BlockingTaskOperationParamsType.php │ │ ├── BlockingTaskSettingsType.php │ │ ├── BlockingTaskType.php │ │ ├── BlockingTaskUpdateProgressParamsType.php │ │ ├── BrandingSettingsType.php │ │ ├── BundleUploadParamsType.php │ │ ├── BundleUploadSocketType.php │ │ ├── CatalogSettingsType.php │ │ ├── CbmDataType.php │ │ ├── ComponentManagerSettingsType.php │ │ ├── DatastoreType.php │ │ ├── EmailSettingsType.php │ │ ├── EntityReferencesType.php │ │ ├── EntityRightsType.php │ │ ├── ExtensionObjectRefType.php │ │ ├── ExtensionServicesType.php │ │ ├── FencePoolType.php │ │ ├── GeneralSettingsType.php │ │ ├── HostObjectRefType.php │ │ ├── HostObjectRefsType.php │ │ ├── HostType.php │ │ ├── ImportMediaParamsType.php │ │ ├── ImportVmAsVAppParamsType.php │ │ ├── ImportVmAsVAppTemplateParamsType.php │ │ ├── ImportVmIntoExistingVAppParamsType.php │ │ ├── KerberosSettingsType.php │ │ ├── LdapGroupAttributesType.php │ │ ├── LdapSettingsType.php │ │ ├── LdapUserAttributesType.php │ │ ├── LicenseMetricsInfoType.php │ │ ├── LicenseType.php │ │ ├── LicensingManagedServerType.php │ │ ├── LicensingReportListType.php │ │ ├── LicensingReportSampleType.php │ │ ├── LicensingReportType.php │ │ ├── LicensingVirtualMachineType.php │ │ ├── LookupServiceParamsType.php │ │ ├── LookupServiceSettingsType.php │ │ ├── ManagedServerMetrics.php │ │ ├── MigrateParamsType.php │ │ ├── NotificationType.php │ │ ├── NotificationsSettingsType.php │ │ ├── NumericRangeType.php │ │ ├── OrganizationResourcePoolSetType.php │ │ ├── PortGroupPoolType.php │ │ ├── PrepareHostParamsType.php │ │ ├── ProviderVdcMergeParamsType.php │ │ ├── RealmType.php │ │ ├── RegisterVimServerParamsType.php │ │ ├── ResourceClassActionType.php │ │ ├── ResourceClassActionsType.php │ │ ├── ResourceClassType.php │ │ ├── ResourceClassesType.php │ │ ├── ResourcePoolListType.php │ │ ├── ResourcePoolType.php │ │ ├── RightRefsType.php │ │ ├── RightsType.php │ │ ├── SerialPortConfigType.php │ │ ├── ServerType.php │ │ ├── ServiceOfferingAssociateParamsType.php │ │ ├── ServiceOfferingDisassociateParamsType.php │ │ ├── ServiceOfferingInstanceAssociateParamsType.php │ │ ├── ServiceOfferingInstanceCreateParamsType.php │ │ ├── ServiceOfferingInstanceDisassociateParamsType.php │ │ ├── ServiceOfferingInstanceParamType.php │ │ ├── ServiceOfferingInstanceParamsType.php │ │ ├── ServiceOfferingInstanceType.php │ │ ├── ServiceOfferingInstanceUpdateParamsType.php │ │ ├── ServiceOfferingParamMetaInfoType.php │ │ ├── ServiceOfferingParamsMetaInfoType.php │ │ ├── ServiceOfferingType.php │ │ ├── ServiceResourceType.php │ │ ├── ServiceResourcesType.php │ │ ├── ShieldManagerType.php │ │ ├── SmtpSettingsType.php │ │ ├── StrandedItemType.php │ │ ├── StrandedItemVimObjectType.php │ │ ├── StrandedItemVimObjectsType.php │ │ ├── SystemConfigurationSettingType.php │ │ ├── SystemConfigurationSettingValueType.php │ │ ├── SystemConfigurationSettingsType.php │ │ ├── SystemPasswordPolicySettingsType.php │ │ ├── SystemSettingsType.php │ │ ├── ThresholdRedGb.php │ │ ├── ThresholdYellowGb.php │ │ ├── TimeoutInMilliseconds.php │ │ ├── UberAdminSettingsType.php │ │ ├── UpdateProviderVdcStorageProfilesParamsType.php │ │ ├── UpdateResourcePoolSetParamsType.php │ │ ├── UpdateRightsParamsType.php │ │ ├── UserEntityRightsType.php │ │ ├── VMWExtensionType.php │ │ ├── VMWExternalNetworkReferencesType.php │ │ ├── VMWExternalNetworkType.php │ │ ├── VMWHostReferencesType.php │ │ ├── VMWNetworkPoolReferencesType.php │ │ ├── VMWNetworkPoolType.php │ │ ├── VMWProviderVdcParamsType.php │ │ ├── VMWProviderVdcReferencesType.php │ │ ├── VMWProviderVdcResourcePoolSetType.php │ │ ├── VMWProviderVdcResourcePoolType.php │ │ ├── VMWProviderVdcStorageProfileType.php │ │ ├── VMWProviderVdcType.php │ │ ├── VMWStorageProfileType.php │ │ ├── VMWStorageProfilesType.php │ │ ├── VMWVimServerReferencesType.php │ │ ├── VSphereWebClientUrlType.php │ │ ├── VcTrustStoreUpdateParamsType.php │ │ ├── VcTrustStoreUploadSocketType.php │ │ ├── VdsContextType.php │ │ ├── VersionsType.php │ │ ├── VimObjectRefListType.php │ │ ├── VimObjectRefType.php │ │ ├── VimObjectRefsType.php │ │ ├── VimServerType.php │ │ ├── VirtualMachineMetrics.php │ │ ├── VlanPoolType.php │ │ ├── VmObjectRefType.php │ │ ├── VmObjectRefsListType.php │ │ ├── VmVimInfoType.php │ │ └── VxlanPoolType.php │ ├── ExternalCatalogSubscriptionParamsType.php │ ├── ExternalNatIpMapType.php │ ├── ExternalNetworkType.php │ ├── ExtraConfig │ │ └── Type.php │ ├── FileDescriptorType.php │ ├── FileType.php │ ├── FileUploadParamsType.php │ ├── FileUploadSocketType.php │ ├── FilesListType.php │ ├── FirewallRuleType.php │ ├── FirewallServiceType.php │ ├── GatewayConfigurationType.php │ ├── GatewayDhcpServiceType.php │ ├── GatewayFeaturesType.php │ ├── GatewayInterfaceType.php │ ├── GatewayInterfacesType.php │ ├── GatewayIpsecVpnEndpointType.php │ ├── GatewayIpsecVpnServiceType.php │ ├── GatewayIpsecVpnTunnelType.php │ ├── GatewayNatRuleType.php │ ├── GatewayType.php │ ├── GroupType.php │ ├── GroupsListType.php │ ├── GuestCustomizationSectionType.php │ ├── Helper.php │ ├── IdentifiableResourceType.php │ ├── InstantiateOvfParamsType.php │ ├── InstantiateOvfPropertyType.php │ ├── InstantiateVAppParamsType.php │ ├── InstantiateVAppTemplateParamsType.php │ ├── InstantiateVmHardwareCustomizationParamsType.php │ ├── InstantiateVmParamsType.php │ ├── InstantiationParamsType.php │ ├── IpAddressesType.php │ ├── IpAssignmentSection │ │ └── Type.php │ ├── IpRangeType.php │ ├── IpRangesType.php │ ├── IpScopeType.php │ ├── IpScopesType.php │ ├── IpsecVpnLocalPeerType.php │ ├── IpsecVpnManagedPeerType.php │ ├── IpsecVpnPeerType.php │ ├── IpsecVpnRemotePeerType.php │ ├── IpsecVpnServiceType.php │ ├── IpsecVpnSubnetType.php │ ├── IpsecVpnThirdPartyPeerType.php │ ├── IpsecVpnTunnelType.php │ ├── IpsecVpnUnmanagedPeerType.php │ ├── KeystoreUpdateParamsType.php │ ├── KeystoreUploadSocketType.php │ ├── LBPersistenceType.php │ ├── LBPoolHealthCheckType.php │ ├── LBPoolMemberType.php │ ├── LBPoolServicePortType.php │ ├── LBVirtualServerServiceProfileType.php │ ├── LeaseSettingsSectionType.php │ ├── Level.php │ ├── LinkType.php │ ├── LoadBalancerPoolType.php │ ├── LoadBalancerServiceType.php │ ├── LoadBalancerVirtualServerType.php │ ├── LocalityParamsType.php │ ├── MediaInsertOrEjectParamsType.php │ ├── MediaType.php │ ├── MetadataBooleanValue.php │ ├── MetadataDateTimeValue.php │ ├── MetadataDomainTagType.php │ ├── MetadataEntryType.php │ ├── MetadataNumberValue.php │ ├── MetadataStringValue.php │ ├── MetadataType.php │ ├── MetadataTypedValue.php │ ├── MetadataValueType.php │ ├── MksTicketType.php │ ├── NatOneToOneBasicRuleType.php │ ├── NatOneToOneVmRuleType.php │ ├── NatPortForwardingRuleType.php │ ├── NatRuleType.php │ ├── NatServiceType.php │ ├── NatVmRuleType.php │ ├── NetworkAssignmentType.php │ ├── NetworkConfigSectionType.php │ ├── NetworkConfigurationType.php │ ├── NetworkConnectionSectionType.php │ ├── NetworkConnectionType.php │ ├── NetworkFeaturesType.php │ ├── NetworkMappingType.php │ ├── NetworkPoolReferencesType.php │ ├── NetworkPoolType.php │ ├── NetworkServiceInsertionType.php │ ├── NetworkServiceType.php │ ├── NetworkType.php │ ├── NetworksType.php │ ├── NicIpMapType.php │ ├── OVF │ │ ├── AnnotationSection │ │ │ └── Type.php │ │ ├── Any.php │ │ ├── AutomaticRecoveryAction.php │ │ ├── AutomaticShutdownAction.php │ │ ├── AutomaticStartupAction.php │ │ ├── CIM │ │ │ ├── ResourceAllocationSettingData │ │ │ │ └── Type.php │ │ │ └── VirtualSystemSettingData │ │ │ │ └── Type.php │ │ ├── Caption.php │ │ ├── ChangeableType.php │ │ ├── Configuration.php │ │ ├── ConsumerVisibility.php │ │ ├── Content │ │ │ └── Type.php │ │ ├── DeploymentOptionSection │ │ │ └── Type.php │ │ ├── DiskSection │ │ │ └── Type.php │ │ ├── EnvelopeType.php │ │ ├── EulaSection │ │ │ └── Type.php │ │ ├── File │ │ │ └── Type.php │ │ ├── Icon.php │ │ ├── InstallSection │ │ │ └── Type.php │ │ ├── Item.php │ │ ├── MappingBehavior.php │ │ ├── Msg.php │ │ ├── Msg │ │ │ └── Type.php │ │ ├── Network.php │ │ ├── NetworkSection │ │ │ └── Type.php │ │ ├── OperatingSystemSection │ │ │ └── Type.php │ │ ├── ProductSection │ │ │ └── Type.php │ │ ├── Property.php │ │ ├── PropertyConfigurationValue │ │ │ └── Type.php │ │ ├── RASD │ │ │ └── Type.php │ │ ├── References │ │ │ └── Type.php │ │ ├── ResourceAllocationSection │ │ │ └── Type.php │ │ ├── ResourceType.php │ │ ├── Section │ │ │ └── Type.php │ │ ├── StartupSection │ │ │ └── Type.php │ │ ├── Strings │ │ │ └── Type.php │ │ ├── VSSD │ │ │ └── Type.php │ │ ├── VirtualDiskDesc │ │ │ └── Type.php │ │ ├── VirtualHardwareSection │ │ │ └── Type.php │ │ ├── VirtualSystem │ │ │ └── Type.php │ │ ├── VirtualSystemCollection │ │ │ └── Type.php │ │ ├── cimAnySimpleType.php │ │ ├── cimBase64Binary.php │ │ ├── cimBoolean.php │ │ ├── cimByte.php │ │ ├── cimChar16.php │ │ ├── cimDateTime.php │ │ ├── cimDouble.php │ │ ├── cimFloat.php │ │ ├── cimHexBinary.php │ │ ├── cimInt.php │ │ ├── cimLong.php │ │ ├── cimReference.php │ │ ├── cimShort.php │ │ ├── cimString.php │ │ ├── cimUnsignedByte.php │ │ ├── cimUnsignedInt.php │ │ ├── cimUnsignedLong.php │ │ ├── cimUnsignedShort.php │ │ ├── qualifierBoolean.php │ │ ├── qualifierSArray.php │ │ ├── qualifierSInt64.php │ │ ├── qualifierString.php │ │ └── qualifierUInt32.php │ ├── OVFENV │ │ ├── Any.php │ │ ├── Entity │ │ │ └── Type.php │ │ ├── Environment │ │ │ └── Type.php │ │ ├── PlatformSection │ │ │ └── Type.php │ │ ├── Property.php │ │ ├── PropertySection │ │ │ └── Type.php │ │ └── Section │ │ │ └── Type.php │ ├── OperatingSystemFamilyInfoType.php │ ├── OperatingSystemInfoType.php │ ├── OrgEmailSettingsType.php │ ├── OrgFederationSettingsType.php │ ├── OrgGeneralSettingsType.php │ ├── OrgGuestPersonalizationSettingsType.php │ ├── OrgLdapGroupAttributesType.php │ ├── OrgLdapSettingsType.php │ ├── OrgLdapUserAttributesType.php │ ├── OrgLeaseSettingsType.php │ ├── OrgListType.php │ ├── OrgNetworkType.php │ ├── OrgOperationLimitsSettingsType.php │ ├── OrgPasswordPolicySettingsType.php │ ├── OrgSettingsType.php │ ├── OrgType.php │ ├── OrgVAppTemplateLeaseSettingsType.php │ ├── OrgVdcNetworkType.php │ ├── OrganizationReferenceType.php │ ├── OrganizationReferencesType.php │ ├── OrgsType.php │ ├── OvfToVdcNetworkMapType.php │ ├── OwnerType.php │ ├── ParamsType.php │ ├── ProductSectionListType.php │ ├── PropertyType.php │ ├── Protocols.php │ ├── ProviderVdcCapacityType.php │ ├── ProviderVdcReferencesType.php │ ├── ProviderVdcStorageProfileType.php │ ├── ProviderVdcStorageProfilesType.php │ ├── ProviderVdcType.php │ ├── PublishCatalogParamsType.php │ ├── PublishExternalCatalogParamsType.php │ ├── QueryListType.php │ ├── QueryResultAclRuleRecordType.php │ ├── QueryResultAdminAllocatedExternalAddressRecordType.php │ ├── QueryResultAdminApiDefinitionRecordType.php │ ├── QueryResultAdminCatalogItemRecordType.php │ ├── QueryResultAdminCatalogRecordType.php │ ├── QueryResultAdminDiskRecordType.php │ ├── QueryResultAdminEventCBMRecordType.php │ ├── QueryResultAdminEventRecordType.php │ ├── QueryResultAdminFileDescriptorRecordType.php │ ├── QueryResultAdminGroupRecordType.php │ ├── QueryResultAdminMediaRecordType.php │ ├── QueryResultAdminOrgNetworkRecordType.php │ ├── QueryResultAdminOrgVdcStorageProfileRecordType.php │ ├── QueryResultAdminServiceOfferingInstanceRecordType.php │ ├── QueryResultAdminServiceRecordType.php │ ├── QueryResultAdminShadowVMRecordType.php │ ├── QueryResultAdminTaskRecordType.php │ ├── QueryResultAdminUserRecordType.php │ ├── QueryResultAdminVAppNetworkRecordType.php │ ├── QueryResultAdminVAppRecordType.php │ ├── QueryResultAdminVAppTemplateRecordType.php │ ├── QueryResultAdminVMRecordType.php │ ├── QueryResultAdminVdcRecordType.php │ ├── QueryResultAdminVmDiskRelationRecordType.php │ ├── QueryResultAllocatedExternalAddressRecordType.php │ ├── QueryResultApiDefinitionRecordType.php │ ├── QueryResultApiFilterRecordType.php │ ├── QueryResultBlockingTaskRecordType.php │ ├── QueryResultCatalogItemRecordType.php │ ├── QueryResultCatalogRecordType.php │ ├── QueryResultCellRecordType.php │ ├── QueryResultConditionRecordType.php │ ├── QueryResultDatastoreProviderVdcRelationRecordType.php │ ├── QueryResultDatastoreRecordType.php │ ├── QueryResultDiskRecordType.php │ ├── QueryResultDvSwitchRecordType.php │ ├── QueryResultEdgeGatewayRecordType.php │ ├── QueryResultEventRecordType.php │ ├── QueryResultExternalLocalizationRecordType.php │ ├── QueryResultFileDescriptorRecordType.php │ ├── QueryResultGroupRecordType.php │ ├── QueryResultHostRecordType.php │ ├── QueryResultLicensingManagedServerRecordType.php │ ├── QueryResultLicensingReportRecordType.php │ ├── QueryResultLicensingReportSampleRecordType.php │ ├── QueryResultLicensingVirtualMachineRecordType.php │ ├── QueryResultMediaRecordType.php │ ├── QueryResultNetworkPoolRecordType.php │ ├── QueryResultNetworkRecordType.php │ ├── QueryResultOrgNetworkRecordType.php │ ├── QueryResultOrgRecordType.php │ ├── QueryResultOrgVdcNetworkRecordType.php │ ├── QueryResultOrgVdcRecordType.php │ ├── QueryResultOrgVdcResourcePoolRelationRecordType.php │ ├── QueryResultOrgVdcStorageProfileRecordType.php │ ├── QueryResultPortgroupRecordType.php │ ├── QueryResultProviderVdcResourcePoolRelationRecordType.php │ ├── QueryResultProviderVdcStorageProfileRecordType.php │ ├── QueryResultRecordType.php │ ├── QueryResultRecordsType.php │ ├── QueryResultResourceClassActionRecordType.php │ ├── QueryResultResourceClassRecordType.php │ ├── QueryResultResourcePoolRecordType.php │ ├── QueryResultResourcePoolVMRecordType.php │ ├── QueryResultRightRecordType.php │ ├── QueryResultRoleRecordType.php │ ├── QueryResultServiceExtensionRecordType.php │ ├── QueryResultServiceLinkRecordType.php │ ├── QueryResultServiceOfferingInstanceRecordType.php │ ├── QueryResultServiceOfferingRecordType.php │ ├── QueryResultServiceRecordType.php │ ├── QueryResultServiceResourceRecordType.php │ ├── QueryResultStrandedItemRecordType.php │ ├── QueryResultStrandedUserRecordType.php │ ├── QueryResultTaskRecordType.php │ ├── QueryResultType.php │ ├── QueryResultUserRecordType.php │ ├── QueryResultVAppNetworkRecordType.php │ ├── QueryResultVAppOrgNetworkRelationRecordType.php │ ├── QueryResultVAppOrgVdcNetworkRelationRecordType.php │ ├── QueryResultVAppRecordType.php │ ├── QueryResultVAppTemplateRecordType.php │ ├── QueryResultVMRecordType.php │ ├── QueryResultVMWProviderVdcRecordType.php │ ├── QueryResultVdcServiceOfferingRecordType.php │ ├── QueryResultVirtualCenterRecordType.php │ ├── QueryResultVmDiskRelationRecordType.php │ ├── QueryResultVmServiceOfferingInstanceRecordType.php │ ├── RasdItemsListType.php │ ├── RecomposeVAppParamsType.php │ ├── ReferenceType.php │ ├── ReferencesType.php │ ├── RegisterVAppParamsType.php │ ├── RelocateParamsType.php │ ├── RequestOperationParamsType.php │ ├── ResourceEntitiesType.php │ ├── ResourceEntityType.php │ ├── ResourceReferenceType.php │ ├── ResourceType.php │ ├── RightReferencesType.php │ ├── RightType.php │ ├── RoleReferencesType.php │ ├── RoleType.php │ ├── RootComputeCapacityType.php │ ├── RouterInfoType.php │ ├── RuntimeInfoSectionType.php │ ├── ScreenTicketType.php │ ├── ServiceType.php │ ├── SessionType.php │ ├── SmtpServerSettingsType.php │ ├── SnapshotSectionType.php │ ├── SnapshotType.php │ ├── SourcedCompositionItemParamType.php │ ├── SourcedVmInstantiationParamsType.php │ ├── SspiKeytabUpdateParamsType.php │ ├── SspiKeytabUploadSocketType.php │ ├── StaticRouteType.php │ ├── StaticRoutingServiceType.php │ ├── SubAllocationType.php │ ├── SubAllocationsType.php │ ├── SubnetParticipationType.php │ ├── SupportedHardwareVersionsType.php │ ├── SupportedOperatingSystemsInfoType.php │ ├── SyslogServerSettingsType.php │ ├── TaskOperationListType.php │ ├── TaskRequestBaseType.php │ ├── TaskType.php │ ├── TasksInProgressType.php │ ├── TasksListType.php │ ├── TrustStoreUpdateParamsType.php │ ├── TrustStoreUploadSocketType.php │ ├── UndeployVAppParamsType.php │ ├── UpdateVdcStorageProfilesType.php │ ├── UploadVAppTemplateParamsType.php │ ├── UserType.php │ ├── UsersListType.php │ ├── VAppChildrenType.php │ ├── VAppCreationParamsType.php │ ├── VAppNetworkConfigurationType.php │ ├── VAppNetworkType.php │ ├── VAppTemplateChildrenType.php │ ├── VAppTemplateType.php │ ├── VAppType.php │ ├── VCloudExtensibleType.php │ ├── VCloudExtensionType.php │ ├── VCloudType.php │ ├── VMWareTools.php │ ├── VdcReferencesType.php │ ├── VdcStorageProfileParamsType.php │ ├── VdcStorageProfileType.php │ ├── VdcStorageProfilesType.php │ ├── VdcType.php │ ├── VdcsType.php │ ├── VendorServicesType.php │ ├── VendorTemplateAttributesType.php │ ├── VendorTemplateType.php │ ├── Version │ │ ├── Any.php │ │ ├── MediaTypeMappingType.php │ │ ├── SupportedVersionsType.php │ │ └── VersionInfoType.php │ ├── VersionsType.php │ ├── VmCapabilitiesType.php │ ├── VmPendingQuestionType.php │ ├── VmQuestionAnswerChoiceType.php │ ├── VmQuestionAnswerType.php │ ├── VmSelectionType.php │ ├── VmType.php │ ├── VmsType.php │ └── VsToVmxMapType.php │ └── SDK │ ├── APIDefinition.php │ ├── Abstract.php │ ├── Admin.php │ ├── AdminCatalog.php │ ├── AdminNetwork.php │ ├── AdminOrg.php │ ├── AdminVdc.php │ ├── AdminVdcStorageProfile.php │ ├── Catalog.php │ ├── CatalogItem.php │ ├── Constants.php │ ├── Disk.php │ ├── EdgeGateway.php │ ├── Exception.php │ ├── Extension.php │ ├── Extension │ ├── APIDefinition.php │ ├── AclRule.php │ ├── ApiFilter.php │ ├── BlockingTask.php │ ├── Datastore.php │ ├── File.php │ ├── Host.php │ ├── ResourceClass.php │ ├── ResourceClassAction.php │ ├── Service.php │ ├── ServiceLink.php │ ├── StrandedItem.php │ ├── TaskOps.php │ ├── VMWExternalNetwork.php │ ├── VMWNetworkPool.php │ ├── VMWProviderVdc.php │ ├── VMWProviderVdcResourcePool.php │ ├── VMWProviderVdcStorageProfile.php │ ├── VimServer.php │ └── serviceResources.php │ ├── Factory.php │ ├── Group.php │ ├── Helper.php │ ├── Http │ ├── Client.php │ ├── Client │ │ └── Interface.php │ ├── Exception.php │ └── Response │ │ └── Interface.php │ ├── Media.php │ ├── Network.php │ ├── Org.php │ ├── ProviderVdc.php │ ├── ProviderVdcStorageProfile.php │ ├── Query.php │ ├── Query │ ├── Abstract.php │ ├── Params.php │ └── Types.php │ ├── Right.php │ ├── Role.php │ ├── Service.php │ ├── Service │ └── Abstract.php │ ├── ShadowVm.php │ ├── Task.php │ ├── TasksList.php │ ├── User.php │ ├── UserService.php │ ├── VApp.php │ ├── VApp │ └── Abstract.php │ ├── VAppTemplate.php │ ├── Vdc.php │ ├── VdcStorageProfile.php │ └── Vm.php ├── sami.php ├── scripts ├── patches │ ├── 002-retrieve-username-token.patch │ ├── 003-remove-require-once.patch │ ├── 005-edge-gateway-modification.patch │ ├── 006-upload-big-ovf.patch │ ├── 007-upload-ovf-windows-cygwin.patch │ ├── 008-upload-media-image-type.patch │ ├── 009-vapp-template-query-storagekb.patch │ ├── 012-upload-vapp-template-storage-profile-ref.patch │ ├── 013-vapp-template-delete-return-task.patch │ └── 014-vapp-template-delete-vapp-template-return-task.patch └── split.php ├── tests ├── composer.json ├── config.mk.dist ├── test-authentication.php └── test-require.php └── Новый текстовый документ.txt /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | # Due to a bug in the EditorConfig for SublimeText, we set tab indentation for 4 | # all files and we set exceptions for all files with an extension 5 | 6 | [*] 7 | indent_style = tab 8 | indent_size = 4 9 | 10 | end_of_line = lf 11 | charset = utf-8 12 | trim_trailing_whitespace = true 13 | insert_final_newline = true 14 | 15 | [*.*] 16 | indent_style = space 17 | indent_size = 2 18 | 19 | [*.php] 20 | indent_size = 4 21 | 22 | [*.md] 23 | trim_trailing_whitespace = false 24 | 25 | [*.php] 26 | trim_trailing_whitespace = false 27 | insert_final_newline = false 28 | 29 | [*.patch] 30 | trim_trailing_whitespace = false 31 | insert_final_newline = false 32 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .sami 2 | vendor 3 | composer.lock 4 | composer.phar 5 | tests/config.mk 6 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | 2 | include tests/config.mk 3 | 4 | REPORT = echo -e "\\n> SUCCESS\\n" && exit 0 || (echo -e "\\n> FAILURE\\n" && exit 1) 5 | PARAMETERS = -h $(VCLOUD_HOST) -o $(VCLOUD_ORGANIZATION) -u $(VCLOUD_USERNAME) -p $(VCLOUD_PASSWORD) -a $(VCLOUD_API_VERSION) 6 | 7 | DOC := docs/api 8 | SRC = vendor/vmware/vcloud-sdk/library/ 9 | OUT = library/ 10 | PATCH = scripts/patches/*.patch 11 | 12 | all: dependencies 13 | 14 | 15 | # ============================================================================== 16 | # Dependencies 17 | # ============================================================================== 18 | 19 | dependencies: vendor 20 | # ┌─────────────────────────────┐ 21 | # │ Dependencies are up-to-date │ 22 | # └─────────────────────────────┘ 23 | 24 | vendor: composer.phar composer.json 25 | [ -e composer.lock ] && php -d memory_limit=-1 composer.phar update || php -d memory_limit=-1 composer.phar install 26 | cd vendor/sami/sami && curl -s https://github.com/fabpot/Sami/pull/47.patch | patch -p1 27 | touch vendor 28 | 29 | composer.phar: 30 | curl -s http://getcomposer.org/installer | php 31 | # ┌──────────────────────────────────────┐ 32 | # │ Downloaded Composer in composer.phar │ 33 | # └──────────────────────────────────────┘ 34 | 35 | 36 | # ============================================================================== 37 | # Cleaning 38 | # ============================================================================== 39 | 40 | clean: 41 | [ ! -d vendor ] || rm -Rf vendor 42 | [ ! -e composer.lock ] || rm -f composer.lock 43 | [ ! -e composer.phar ] || rm -f composer.phar 44 | # ┌─────────┐ 45 | # │ Cleaned │ 46 | # └─────────┘ 47 | 48 | 49 | # ============================================================================== 50 | # API Import 51 | # ============================================================================== 52 | 53 | split: dependencies 54 | find "$(SRC)" -name *.php -type f | while read filename; do \ 55 | php scripts/split.php "$$filename" "$(OUT)" || exit 1; \ 56 | done 57 | dos2unix $$(find library/ -type f -name *.php) 58 | 59 | patch: 60 | ls scripts/patches/*.patch | while read patch; do \ 61 | echo ==================== $$patch ====================; \ 62 | (git apply --stat "$$patch" && git apply < "$$patch") || exit 1; \ 63 | echo ; \ 64 | sleep 1; \ 65 | done || echo -n "" 66 | 67 | 68 | # ============================================================================== 69 | # Testing 70 | # ============================================================================== 71 | 72 | test: dependencies tests/config.mk tests/vendor \ 73 | tests/test-require.php \ 74 | tests/test-authentication.php \ 75 | 76 | php tests/test-require.php $(PARAMETERS) && $(REPORT) 77 | php tests/test-authentication.php $(PARAMETERS) && $(REPORT) 78 | 79 | tests/vendor: composer.phar tests/composer.json 80 | cd tests \ 81 | && [ -e composer.lock ] \ 82 | && php -d memory_limit=-1 ../composer.phar update \ 83 | || php -d memory_limit=-1 ../composer.phar install 84 | touch tests/vendor 85 | 86 | tests/config.mk: 87 | # ┌───────────────────────────────────────────────────────┐ 88 | # │ Missing file tests/config.mk │ 89 | # ├───────────────────────────────────────────────────────┤ 90 | # │ Please run `cp tests/config.mk.dist tests/config.mk` │ 91 | # │ and edit tests/config.mk with your own configuration. │ 92 | # └───────────────────────────────────────────────────────┘ 93 | exit 1 94 | 95 | 96 | # ============================================================================== 97 | # Documentation 98 | # ============================================================================== 99 | 100 | doc: $(DOC) 101 | # ┌─────────────────────────────┐ 102 | # │ Documentation is up-to-date │ 103 | # └─────────────────────────────┘ 104 | 105 | $(DOC): dependencies library 106 | [ ! -d "$(DOC)" ] || rm -Rf "$(DOC)" 107 | mkdir -p "$(DOC)" 108 | vendor/bin/sami.php update sami.php 109 | touch "$(DOC)" 110 | 111 | publish: 112 | git add "$(DOC)" && git commit -m "Updated API documentation" 113 | git subtree push --prefix "$(DOC)" origin gh-pages 114 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vmware/vcloud-sdk-patched", 3 | "description": "VMware vCloud SDK for PHP - patched version", 4 | "type": "library", 5 | "keywords": [ 6 | "vmware", 7 | "vcloud", 8 | "director", 9 | "api", 10 | "sdk", 11 | "patched" 12 | ], 13 | "homepage": "https://github.com/purple-dbu/vmware-vcloud-sdk-php-patched", 14 | "license": "CC-BY-3.0", 15 | "suggest": { 16 | "pear-pear/HTTP_Request2": "Requires HTTP_Request2 from pear's repository http://pear.php.net if it is not installed system-wise" 17 | }, 18 | "autoload": { 19 | "psr-0": { 20 | "VMware_": "library/" 21 | } 22 | }, 23 | "include-path": [ 24 | "library/" 25 | ], 26 | "repositories": [ 27 | { 28 | "type": "pear", 29 | "url": "http://pear.php.net" 30 | } 31 | ], 32 | "require": { 33 | "php": ">=5.3.2" 34 | }, 35 | "require-dev": { 36 | "pear-pear/HTTP_Request2": "2.1.*", 37 | "sami/sami": "1.3.0", 38 | "vmware/vcloud-sdk": "5.5.0" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /docs/api/PROJECT_VERSION: -------------------------------------------------------------------------------- 1 | master -------------------------------------------------------------------------------- /docs/api/SAMI_VERSION: -------------------------------------------------------------------------------- 1 | 1.3 -------------------------------------------------------------------------------- /docs/api/VMware_VCloud_SDK_Abstract.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | VMware_VCloud_SDK_Abstract | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 30 | 31 | 32 | 33 |
34 |
35 |
36 |
Class
37 |

VMware_VCloud_SDK_Abstract

38 |

abstract class 39 | VMware_VCloud_SDK_Abstract

40 | 41 | 42 | 43 | 44 |

Methods

45 | 46 | 47 | 48 | 51 | 55 | 56 | 57 |
49 | string 50 | 52 | getEntityId() 53 |

Get vCloud ID of the vCloud resource entity from its data object.

54 |
58 | 59 | 60 |

Details

61 | 62 |

63 |
at line 85
64 | public string 65 | getEntityId() 66 |

67 |
68 |

Get vCloud ID of the vCloud resource entity from its data object.

69 |

70 |

71 |
72 | 73 |

Return Value

74 | 75 | 76 | 77 | 78 | 80 | 81 |
string 79 |
82 | 83 | 84 | 85 |
86 |
87 | 88 | 89 |
90 | 93 |
94 |
95 |
96 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /docs/api/VMware_VCloud_SDK_Exception.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | VMware_VCloud_SDK_Exception | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 30 | 31 | 32 | 33 |
34 |
35 |
36 |
Class
37 |

VMware_VCloud_SDK_Exception

38 |

class 39 | VMware_VCloud_SDK_Exception extends Exception

40 | 41 | 42 | 43 | 44 |
45 | 48 |
49 |
50 |
51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /docs/api/VMware_VCloud_SDK_Http_Exception.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | VMware_VCloud_SDK_Http_Exception | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 30 | 31 | 32 | 33 |
34 |
35 |
36 |
Class
37 |

VMware_VCloud_SDK_Http_Exception

38 |

class 39 | VMware_VCloud_SDK_Http_Exception extends Exception

40 | 41 | 42 | 43 | 44 |
45 | 48 |
49 |
50 |
51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /docs/api/classes-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | All Classes | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/api/css/layout.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-top: 60px; 3 | padding-bottom: 40px; 4 | } -------------------------------------------------------------------------------- /docs/api/css/main.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2009 Vladimir Kolesnikov 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining 5 | a copy of this software and associated documentation files (the 6 | "Software"), to deal in the Software without restriction, including 7 | without limitation the rights to use, copy, modify, merge, publish, 8 | distribute, sublicense, and/or sell copies of the Software, and to 9 | permit persons to whom the Software is furnished to do so, subject to 10 | the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 19 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 20 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | */ 23 | 24 | a { 25 | color: #00F; 26 | text-decoration: none; 27 | } 28 | 29 | a:hover { 30 | color: #77F; 31 | text-decoration: underline; 32 | } 33 | 34 | body, td, p { 35 | font-family: "Bitstream Vera Sans", Verdana, Arial, Helvetica, sans-serif; 36 | background: #FFF; 37 | color: #000; 38 | margin: 0px; 39 | font-size: small; 40 | } 41 | 42 | p { 43 | margin-top: 0.5em; 44 | margin-bottom: 0.5em; 45 | } 46 | 47 | #content { 48 | margin: 2em; 49 | margin-left: 3.5em; 50 | margin-right: 3.5em; 51 | } 52 | 53 | #description p { 54 | margin-bottom: 0.5em; 55 | } 56 | 57 | .sectiontitle { 58 | margin-top: 1em; 59 | margin-bottom: 1em; 60 | padding: 0.5em; 61 | padding-left: 2em; 62 | background: #005; 63 | color: #FFF; 64 | font-weight: bold; 65 | } 66 | 67 | .attr-rw { 68 | padding-left: 1em; 69 | padding-right: 1em; 70 | text-align: center; 71 | color: #055; 72 | } 73 | 74 | .attr-name { 75 | font-weight: bold; 76 | } 77 | 78 | .attr-desc { 79 | } 80 | 81 | .attr-desc p { 82 | margin-top: 0; 83 | } 84 | 85 | .attr-value { 86 | font-family: monospace; 87 | } 88 | 89 | .file-title-prefix { 90 | font-size: large; 91 | } 92 | 93 | .file-title { 94 | font-size: large; 95 | font-weight: bold; 96 | background: #005; 97 | color: #FFF; 98 | } 99 | 100 | .banner { 101 | background: #005; 102 | color: #FFF; 103 | border: 1px solid black; 104 | padding: 1em; 105 | } 106 | 107 | .banner td { 108 | background: transparent; 109 | color: #FFF; 110 | } 111 | 112 | h1 a, h2 a, .sectiontitle a, .banner a { 113 | color: #FF0; 114 | } 115 | 116 | h1 a:hover, h2 a:hover, .sectiontitle a:hover, .banner a:hover { 117 | color: #FF7; 118 | } 119 | 120 | .dyn-source { 121 | display: none; 122 | background: #fffde8; 123 | color: #000; 124 | border: #ffe0bb dotted 1px; 125 | margin: 0.5em 2em 0.5em 2em; 126 | padding: 0.5em; 127 | } 128 | 129 | .dyn-source .cmt { 130 | color: #00F; 131 | font-style: italic; 132 | } 133 | 134 | .dyn-source .kw { 135 | color: #070; 136 | font-weight: bold; 137 | } 138 | 139 | .method { 140 | margin-left: 1em; 141 | margin-right: 1em; 142 | margin-bottom: 1em; 143 | } 144 | 145 | .description pre { 146 | padding: 0.5em; 147 | border: #ffe0bb dotted 1px; 148 | background: #fffde8; 149 | } 150 | 151 | .method .title { 152 | font-family: monospace; 153 | font-size: large; 154 | border-bottom: 1px dashed black; 155 | margin-bottom: 0.3em; 156 | padding-bottom: 0.1em; 157 | } 158 | 159 | .method .description, .method .sourcecode { 160 | margin-left: 1em; 161 | } 162 | 163 | .description p, .sourcecode p { 164 | margin-bottom: 0.5em; 165 | } 166 | 167 | .method .sourcecode p.source-link { 168 | text-indent: 0em; 169 | margin-top: 0.5em; 170 | } 171 | 172 | .method .aka { 173 | margin-top: 0.3em; 174 | margin-left: 1em; 175 | font-style: italic; 176 | text-indent: 2em; 177 | } 178 | 179 | h1 { 180 | padding: 1em; 181 | margin-left: -1.5em; 182 | font-size: x-large; 183 | font-weight: bold; 184 | color: #FFF; 185 | background: #007; 186 | } 187 | 188 | h2 { 189 | padding: 0.5em 1em 0.5em 1em; 190 | margin-left: -1.5em; 191 | font-size: large; 192 | font-weight: bold; 193 | color: #FFF; 194 | background: #009; 195 | } 196 | 197 | h3, h4, h5, h6 { 198 | color: #220088; 199 | border-bottom: #5522bb solid 1px; 200 | } 201 | 202 | .sourcecode > pre { 203 | padding: 0.5em; 204 | border: 1px dotted black; 205 | background: #FFE; 206 | } 207 | 208 | dt { 209 | font-weight: bold 210 | } 211 | 212 | dd { 213 | margin-bottom: 0.7em; 214 | } -------------------------------------------------------------------------------- /docs/api/css/reset.css: -------------------------------------------------------------------------------- 1 | /* http://meyerweb.com/eric/tools/css/reset/ */ 2 | /* v1.0 | 20080212 */ 3 | 4 | html, body, div, span, applet, object, iframe, 5 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 6 | a, abbr, acronym, address, big, cite, code, 7 | del, dfn, em, font, img, ins, kbd, q, s, samp, 8 | small, strike, strong, sub, sup, tt, var, 9 | b, u, i, center, 10 | dl, dt, dd, ol, ul, li, 11 | fieldset, form, label, legend, 12 | table, caption, tbody, tfoot, thead, tr, th, td { 13 | margin: 0; 14 | padding: 0; 15 | border: 0; 16 | outline: 0; 17 | font-size: 100%; 18 | vertical-align: baseline; 19 | background: transparent; 20 | } 21 | body { 22 | line-height: 1; 23 | } 24 | ol, ul { 25 | list-style: none; 26 | } 27 | blockquote, q { 28 | quotes: none; 29 | } 30 | blockquote:before, blockquote:after, 31 | q:before, q:after { 32 | content: ''; 33 | content: none; 34 | } 35 | 36 | /* remember to define focus styles! */ 37 | :focus { 38 | outline: 0; 39 | } 40 | 41 | /* remember to highlight inserts somehow! */ 42 | ins { 43 | text-decoration: none; 44 | } 45 | del { 46 | text-decoration: line-through; 47 | } 48 | 49 | /* tables still need 'cellspacing="0"' in the markup */ 50 | table { 51 | border-collapse: collapse; 52 | border-spacing: 0; 53 | } -------------------------------------------------------------------------------- /docs/api/i/arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Quillor243/vmware-vcloud-sdk-php-patched/4f24b36989ff16dd594963f7253ed5831db9b700/docs/api/i/arrows.png -------------------------------------------------------------------------------- /docs/api/i/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Quillor243/vmware-vcloud-sdk-php-patched/4f24b36989ff16dd594963f7253ed5831db9b700/docs/api/i/loader.gif -------------------------------------------------------------------------------- /docs/api/i/results_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Quillor243/vmware-vcloud-sdk-php-patched/4f24b36989ff16dd594963f7253ed5831db9b700/docs/api/i/results_bg.png -------------------------------------------------------------------------------- /docs/api/i/tree_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Quillor243/vmware-vcloud-sdk-php-patched/4f24b36989ff16dd594963f7253ed5831db9b700/docs/api/i/tree_bg.png -------------------------------------------------------------------------------- /docs/api/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | <body> 17 | Your browser does not support frames. Go to the <a href="namespaces.html">non-frame version</a>. 18 | </body> 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /docs/api/interfaces.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Interfaces | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 30 | 31 | 32 | 33 |
34 |
35 |
36 |

Interfaces

37 | 38 | 39 | 40 | 44 | 45 | 46 | 47 | 51 | 52 |
VMware_VCloud_SDK_Http_Client_Interface 41 | 42 | 43 |
VMware_VCloud_SDK_Http_Response_Interface 48 | 49 | 50 |
53 |
54 | 57 |
58 |
59 |
60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /docs/api/layout/base.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/api/layout/layout.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 |
16 |
17 |
18 |
19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /docs/api/layout/page.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 30 | 31 | 32 | 33 |
34 |
35 |
36 |
37 | 40 |
41 |
42 |
43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /docs/api/namespace-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/api/namespaces-frame.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Namespaces | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/api/namespaces.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Namespaces | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 30 | 31 | 32 | 33 |
34 |
35 |
36 |

Namespaces

37 | 38 | 39 | 40 | 41 |
42 |
43 | 46 |
47 |
48 |
49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /docs/api/opensearch.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Quillor243/vmware-vcloud-sdk-php-patched/4f24b36989ff16dd594963f7253ed5831db9b700/docs/api/opensearch.xml -------------------------------------------------------------------------------- /docs/api/panel.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 46 | 47 | 48 |
49 |
50 | loading... 51 |
52 |
53 | 60 |
61 |
62 | 64 |
65 |
66 | 68 |
69 |
70 | 71 | 72 | -------------------------------------------------------------------------------- /docs/authors.md: -------------------------------------------------------------------------------- 1 | Authors 2 | ======= 3 | 4 | - @amercier (pro.alexandre.mercier@gmail.com) - Creator and main developer 5 | - @brianium - Pull requests 6 | -------------------------------------------------------------------------------- /docs/contributing.md: -------------------------------------------------------------------------------- 1 | Contributing 2 | ============ 3 | 4 | Contributions (issues ♥, pull requests ♥♥♥) are more than welcome! Feel free to 5 | clone, fork, modify, extend, etc, as long as you respect the 6 | [license terms](../LICENSE-CC-BY.md). 7 | 8 | 9 | Dependencies 10 | ------------ 11 | 12 | The following section will help you to install all the dependencies of this 13 | project. 14 | 15 | Prerequisites: 16 | - PHP >= 5.3.2, check with `php -v` 17 | - curl , check with `curl --version` 18 | 19 | All you need is to go to the project root folder and execute: 20 | 21 | make install 22 | 23 | 24 | Testing 25 | ------- 26 | 27 | All you need is to go to the project root folder and execute: 28 | 29 | make test 30 | 31 | 32 | Publish a release 33 | ----------------- 34 | 35 | Before publishing a new release, you need to ensure that: 36 | 37 | ✔ The version number is up-to-date in [README.md](../README.md) 38 | ✔ The version number is up-to-date in [docs/install.md](../docs/README.md) 39 | 40 | To re-generate library files from the original SDK, go to the project root 41 | folder and execute: 42 | 43 | make split 44 | -------------------------------------------------------------------------------- /docs/install.md: -------------------------------------------------------------------------------- 1 | Full installation instructions 2 | ============================== 3 | 4 | 1. Prerequisites 5 | ---------------- 6 | 7 | ### PHP >= 5.3.2 8 | 9 | To ensure you have a compatible version of PHP, execute: 10 | 11 | php -v 12 | 13 | ### curl 14 | 15 | To ensure you have curl installed, execute: 16 | 17 | curl --version 18 | 19 | 20 | 2. Composer 21 | ----------- 22 | 23 | Go to your folder root and execute: 24 | 25 | curl -sS https://getcomposer.org/installer | php 26 | 27 | If the installation work correctly, this should display: 28 | 29 | #!/usr/bin/env php 30 | All settings correct for using Composer 31 | Downloading... 32 | 33 | Composer successfully installed to: /mnt/hgfs/Documents/sandbox/vcloud/composer.phar 34 | Use it: php composer.phar 35 | 36 | At this stage, you should have the following files in your project's folder: 37 | 38 | $ ls -l 39 | - composer.phar (~900 kB) 40 | 41 | 42 | 3. composer.json 43 | ---------------- 44 | 45 | Go to your folder root and execute: 46 | 47 | php composer.phar init 48 | 49 | This will help you to create the composer.json interactively. Once you reach the 50 | question _"Would you like to define your dependencies (require) interactively 51 | [yes]?"_, **answer yes**. Then, enter the package **vmware/vcloud-sdk-patched**. 52 | Then, select _vmware/vcloud-sdk-patched_ (usually **0**), and answer **1.*** as version 53 | number. 54 | 55 | At this stage, you should have the following files in your project's folder: 56 | 57 | $ ls -l 58 | - composer.phar (~900 kB) 59 | - composer.json (7 B) 60 | 61 | 62 | 4. Install packages 63 | ------------------- 64 | 65 | Go to your folder root and execute: 66 | 67 | php composer.phar install 68 | 69 | If the installation work correctly, this should display something like: 70 | 71 | Loading composer repositories with package information 72 | Initializing PEAR repository http://pear.php.net 73 | Updating dependencies (including require-dev) 74 | - Installing vmware/vcloud-sdk-patched (1.0.0 8f2e517) 75 | Cloning 8f2e517dd3e5c858d7729148bac526414d1444e3 76 | 77 | - Installing pear-pear.php.net/xml_util (1.2.1) 78 | Downloading: 100% 79 | - Installing pear-pear.php.net/console_getopt (1.3.1) 80 | Downloading: 100% 81 | - Installing pear-pear.php.net/structures_graph (1.0.4) 82 | Downloading: 100% 83 | - Installing pear-pear.php.net/archive_tar (1.3.11) 84 | Downloading: 100% 85 | - Installing pear-pear.php.net/pear (1.9.4) 86 | Downloading: 100% 87 | - Installing pear-pear.php.net/net_url2 (2.0.0) 88 | Downloading: 100% 89 | - Installing pear-pear.php.net/http_request2 (2.1.1) 90 | Downloading: 100% 91 | Writing lock file 92 | Generating autoload files 93 | 94 | At this stage, you should have the following files in your project's folder: 95 | 96 | $ ls -l 97 | - composer.phar (~900 kB) 98 | - composer.json (7 B) 99 | - vendor 100 | - autoload.php (~182 B) 101 | - composer 102 | - autoload_classmap.php (~150 B) 103 | - autoload_namespaces.php (~150 B) 104 | - autoload_real.php (~1 kB) 105 | - ClassLoader.php (~7 kB) 106 | - vmware 107 | - vcloud-sdk-patched 108 | - ... 109 | -------------------------------------------------------------------------------- /library/VMware/VCloud/API/Any.php: -------------------------------------------------------------------------------- 1 | valueOf = $valueOf; 13 | $this->tagName = 'Any'; 14 | $this->namespacedef = ' xmlns:vcloud="http://www.vmware.com/vcloud/v1.5" xmlns:ns12="http://www.vmware.com/vcloud/v1.5" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:ovfenv="http://schemas.dmtf.org/ovf/environment/1" xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5" xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'; 15 | } 16 | public function get_valueOf() { return $this->valueOf; } 17 | public function set_valueOf($valueOf) { $this->valueOf = $valueOf; } 18 | public function get_tagName() { return $this->tagName; } 19 | public function set_tagName($tagName) { $this->tagName = $tagName; } 20 | public function export($name=null, $out='', $level=0, $namespacedef=null, $namespace=null, $rootNS=null) { 21 | if (!isset($name)) { 22 | $name = $this->tagName; 23 | } 24 | $out = VMware_VCloud_API_Helper::showIndent($out, $level); 25 | if (is_null($namespace)) { 26 | $namespace = self::$defaultNS; 27 | } 28 | if (is_null($rootNS)) { 29 | $rootNS = self::$defaultNS; 30 | } 31 | if (NULL === $namespacedef) { 32 | $namespacedef = $this->namespacedef; 33 | if (0 >= strpos($namespacedef, 'xmlns=')) { 34 | $namespacedef = ' xmlns="' . self::$defaultNS . '"' . $namespacedef; 35 | } 36 | } 37 | $ns = VMware_VCloud_API_Helper::getNamespaceTag($this->namespace, $name, self::$defaultNS, $namespace, $rootNS); 38 | $out = VMware_VCloud_API_Helper::addString($out, '<' . $ns . $name . $namespacedef); 39 | $out = $this->exportAttributes($out, $level, $name, $namespacedef, $namespace, $rootNS); 40 | if ($this->hasContent()) { 41 | $out = VMware_VCloud_API_Helper::addString($out, ">"); 42 | $out = $this->exportChildren($out, $level + 1, $name, $namespace, $rootNS); 43 | $out = VMware_VCloud_API_Helper::addString($out, "\n"); 44 | } else { 45 | $out = VMware_VCloud_API_Helper::addString($out, "/>\n"); 46 | } 47 | return $out; 48 | } 49 | protected function exportAttributes($out, $level, $name, $namespace, $rootNS) { 50 | $namespace = self::$defaultNS; 51 | return $out; 52 | } 53 | protected function exportChildren($out, $level, $name, $namespace, $rootNS) { 54 | $namespace = self::$defaultNS; 55 | if (!is_null($this->valueOf)) { 56 | $out = VMware_VCloud_API_Helper::addString($out, VMware_VCloud_API_Helper::quote_xml($this->valueOf)); 57 | } 58 | return $out; 59 | } 60 | protected function hasContent() { 61 | if ( 62 | !is_null($this->valueOf) 63 | ) { 64 | return true; 65 | } else { 66 | return false; 67 | } 68 | } 69 | public function build($node, $namespaces='') { 70 | $tagName = $node->tagName; 71 | $this->tagName = $tagName; 72 | if (strpos($tagName, ':') > 0) { 73 | list($namespace, $tagName) = explode(':', $tagName); 74 | $this->tagName = $tagName; 75 | $this->namespace[$tagName] = $namespace; 76 | } 77 | $this->buildAttributes($node, $namespaces); 78 | $this->valueOf = ''; 79 | $children = $node->childNodes; 80 | foreach ($children as $child) { 81 | if ($child->nodeType == XML_ELEMENT_NODE || $child->nodeType == XML_TEXT_NODE) { 82 | $namespace = ''; 83 | $nodeName = $child->nodeName; 84 | if (strpos($nodeName, ':') > 0) { 85 | list($namespace, $nodeName) = explode(':', $nodeName); 86 | } 87 | $this->buildChildren($child, $nodeName, $namespace); 88 | } 89 | } 90 | } 91 | protected function buildAttributes($node, $namespaces='') { 92 | $attrs = $node->attributes; 93 | if (!empty($namespaces)) { 94 | $this->namespacedef = VMware_VCloud_API_Helper::constructNS($attrs, $namespaces, $this->namespacedef) . $this->namespacedef; 95 | } 96 | $nsUri = self::$defaultNS; 97 | } 98 | protected function buildChildren($child, $nodeName, $namespace='') { 99 | if ($child->nodeType == XML_TEXT_NODE) { 100 | $this->valueOf = $child->nodeValue; 101 | $this->tagName = $nodeName; 102 | } 103 | } 104 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/API/Extension/AccountLockoutIntervalMinutes.php: -------------------------------------------------------------------------------- 1 | valueOf = $valueOf; 13 | $this->tagName = 'AccountLockoutIntervalMinutes'; 14 | $this->namespacedef = ' xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5" xmlns:vcloud="http://www.vmware.com/vcloud/v1.5" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'; 15 | } 16 | public function get_valueOf() { return $this->valueOf; } 17 | public function set_valueOf($valueOf) { $this->valueOf = $valueOf; } 18 | public function get_tagName() { return $this->tagName; } 19 | public function set_tagName($tagName) { $this->tagName = $tagName; } 20 | public function export($name=null, $out='', $level=0, $namespacedef=null, $namespace=null, $rootNS=null) { 21 | if (!isset($name)) { 22 | $name = $this->tagName; 23 | } 24 | $out = VMware_VCloud_API_Helper::showIndent($out, $level); 25 | if (is_null($namespace)) { 26 | $namespace = self::$defaultNS; 27 | } 28 | if (is_null($rootNS)) { 29 | $rootNS = self::$defaultNS; 30 | } 31 | if (NULL === $namespacedef) { 32 | $namespacedef = $this->namespacedef; 33 | if (0 >= strpos($namespacedef, 'xmlns=')) { 34 | $namespacedef = ' xmlns="' . self::$defaultNS . '"' . $namespacedef; 35 | } 36 | } 37 | $ns = VMware_VCloud_API_Helper::getNamespaceTag($this->namespace, $name, self::$defaultNS, $namespace, $rootNS); 38 | $out = VMware_VCloud_API_Helper::addString($out, '<' . $ns . $name . $namespacedef); 39 | $out = $this->exportAttributes($out, $level, $name, $namespacedef, $namespace, $rootNS); 40 | if ($this->hasContent()) { 41 | $out = VMware_VCloud_API_Helper::addString($out, ">"); 42 | $out = $this->exportChildren($out, $level + 1, $name, $namespace, $rootNS); 43 | $out = VMware_VCloud_API_Helper::addString($out, "\n"); 44 | } else { 45 | $out = VMware_VCloud_API_Helper::addString($out, "/>\n"); 46 | } 47 | return $out; 48 | } 49 | protected function exportAttributes($out, $level, $name, $namespace, $rootNS) { 50 | $namespace = self::$defaultNS; 51 | return $out; 52 | } 53 | protected function exportChildren($out, $level, $name, $namespace, $rootNS) { 54 | $namespace = self::$defaultNS; 55 | if (!is_null($this->valueOf)) { 56 | $out = VMware_VCloud_API_Helper::addString($out, VMware_VCloud_API_Helper::quote_xml($this->valueOf)); 57 | } 58 | return $out; 59 | } 60 | protected function hasContent() { 61 | if ( 62 | !is_null($this->valueOf) 63 | ) { 64 | return true; 65 | } else { 66 | return false; 67 | } 68 | } 69 | public function build($node, $namespaces='') { 70 | $tagName = $node->tagName; 71 | $this->tagName = $tagName; 72 | if (strpos($tagName, ':') > 0) { 73 | list($namespace, $tagName) = explode(':', $tagName); 74 | $this->tagName = $tagName; 75 | $this->namespace[$tagName] = $namespace; 76 | } 77 | $this->buildAttributes($node, $namespaces); 78 | $this->valueOf = ''; 79 | $children = $node->childNodes; 80 | foreach ($children as $child) { 81 | if ($child->nodeType == XML_ELEMENT_NODE || $child->nodeType == XML_TEXT_NODE) { 82 | $namespace = ''; 83 | $nodeName = $child->nodeName; 84 | if (strpos($nodeName, ':') > 0) { 85 | list($namespace, $nodeName) = explode(':', $nodeName); 86 | } 87 | $this->buildChildren($child, $nodeName, $namespace); 88 | } 89 | } 90 | } 91 | protected function buildAttributes($node, $namespaces='') { 92 | $attrs = $node->attributes; 93 | if (!empty($namespaces)) { 94 | $this->namespacedef = VMware_VCloud_API_Helper::constructNS($attrs, $namespaces, $this->namespacedef) . $this->namespacedef; 95 | } 96 | $nsUri = self::$defaultNS; 97 | } 98 | protected function buildChildren($child, $nodeName, $namespace='') { 99 | if ($child->nodeType == XML_TEXT_NODE) { 100 | $this->valueOf = $child->nodeValue; 101 | $this->tagName = $nodeName; 102 | } 103 | } 104 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/API/Extension/ExtensionServicesType.php: -------------------------------------------------------------------------------- 1 | tagName = 'ExtensionServices'; 17 | $this->namespacedef = ' xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5" xmlns:vcloud="http://www.vmware.com/vcloud/v1.5" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'; 18 | } 19 | public function get_tagName() { return $this->tagName; } 20 | public function set_tagName($tagName) { $this->tagName = $tagName; } 21 | public function export($name=null, $out='', $level=0, $namespacedef=null, $namespace=null, $rootNS=null) { 22 | if (!isset($name)) { 23 | $name = $this->tagName; 24 | } 25 | $out = VMware_VCloud_API_Helper::showIndent($out, $level); 26 | if (is_null($namespace)) { 27 | $namespace = self::$defaultNS; 28 | } 29 | if (is_null($rootNS)) { 30 | $rootNS = self::$defaultNS; 31 | } 32 | if (NULL === $namespacedef) { 33 | $namespacedef = $this->namespacedef; 34 | if (0 >= strpos($namespacedef, 'xmlns=')) { 35 | $namespacedef = ' xmlns="' . self::$defaultNS . '"' . $namespacedef; 36 | } 37 | } 38 | $ns = VMware_VCloud_API_Helper::getNamespaceTag($this->namespace, $name, self::$defaultNS, $namespace, $rootNS); 39 | $out = VMware_VCloud_API_Helper::addString($out, '<' . $ns . $name . $namespacedef); 40 | $out = $this->exportAttributes($out, $level, $name, $namespacedef, $namespace, $rootNS); 41 | if ($this->hasContent()) { 42 | $out = VMware_VCloud_API_Helper::addString($out, ">\n"); 43 | $out = $this->exportChildren($out, $level + 1, $name, $namespace, $rootNS); 44 | $out = VMware_VCloud_API_Helper::showIndent($out, $level); 45 | $out = VMware_VCloud_API_Helper::addString($out, "\n"); 46 | } else { 47 | $out = VMware_VCloud_API_Helper::addString($out, "/>\n"); 48 | } 49 | return $out; 50 | } 51 | protected function exportAttributes($out, $level, $name, $namespace, $rootNS) { 52 | $namespace = self::$defaultNS; 53 | $out = parent::exportAttributes($out, $level, $name, $namespace, $rootNS); 54 | return $out; 55 | } 56 | protected function exportChildren($out, $level, $name, $namespace, $rootNS) { 57 | $namespace = self::$defaultNS; 58 | $out = parent::exportChildren($out, $level, $name, $namespace, $rootNS); 59 | return $out; 60 | } 61 | protected function hasContent() { 62 | if ( 63 | parent::hasContent() 64 | ) { 65 | return true; 66 | } else { 67 | return false; 68 | } 69 | } 70 | public function build($node, $namespaces='') { 71 | $tagName = $node->tagName; 72 | $this->tagName = $tagName; 73 | if (strpos($tagName, ':') > 0) { 74 | list($namespace, $tagName) = explode(':', $tagName); 75 | $this->tagName = $tagName; 76 | $this->namespace[$tagName] = $namespace; 77 | } 78 | $this->buildAttributes($node, $namespaces); 79 | $children = $node->childNodes; 80 | foreach ($children as $child) { 81 | if ($child->nodeType == XML_ELEMENT_NODE || $child->nodeType == XML_TEXT_NODE) { 82 | $namespace = ''; 83 | $nodeName = $child->nodeName; 84 | if (strpos($nodeName, ':') > 0) { 85 | list($namespace, $nodeName) = explode(':', $nodeName); 86 | } 87 | $this->buildChildren($child, $nodeName, $namespace); 88 | } 89 | } 90 | } 91 | protected function buildAttributes($node, $namespaces='') { 92 | $attrs = $node->attributes; 93 | if (!empty($namespaces)) { 94 | $this->namespacedef = VMware_VCloud_API_Helper::constructNS($attrs, $namespaces, $this->namespacedef) . $this->namespacedef; 95 | } 96 | $nsUri = self::$defaultNS; 97 | parent::buildAttributes($node, $namespaces); 98 | } 99 | protected function buildChildren($child, $nodeName, $namespace='') { 100 | parent::buildChildren($child, $nodeName, $namespace); 101 | } 102 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/API/Extension/ThresholdRedGb.php: -------------------------------------------------------------------------------- 1 | valueOf = $valueOf; 13 | $this->tagName = 'ThresholdRedGb'; 14 | $this->namespacedef = ' xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5" xmlns:vcloud="http://www.vmware.com/vcloud/v1.5" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'; 15 | } 16 | public function get_valueOf() { return $this->valueOf; } 17 | public function set_valueOf($valueOf) { $this->valueOf = $valueOf; } 18 | public function get_tagName() { return $this->tagName; } 19 | public function set_tagName($tagName) { $this->tagName = $tagName; } 20 | public function export($name=null, $out='', $level=0, $namespacedef=null, $namespace=null, $rootNS=null) { 21 | if (!isset($name)) { 22 | $name = $this->tagName; 23 | } 24 | $out = VMware_VCloud_API_Helper::showIndent($out, $level); 25 | if (is_null($namespace)) { 26 | $namespace = self::$defaultNS; 27 | } 28 | if (is_null($rootNS)) { 29 | $rootNS = self::$defaultNS; 30 | } 31 | if (NULL === $namespacedef) { 32 | $namespacedef = $this->namespacedef; 33 | if (0 >= strpos($namespacedef, 'xmlns=')) { 34 | $namespacedef = ' xmlns="' . self::$defaultNS . '"' . $namespacedef; 35 | } 36 | } 37 | $ns = VMware_VCloud_API_Helper::getNamespaceTag($this->namespace, $name, self::$defaultNS, $namespace, $rootNS); 38 | $out = VMware_VCloud_API_Helper::addString($out, '<' . $ns . $name . $namespacedef); 39 | $out = $this->exportAttributes($out, $level, $name, $namespacedef, $namespace, $rootNS); 40 | if ($this->hasContent()) { 41 | $out = VMware_VCloud_API_Helper::addString($out, ">"); 42 | $out = $this->exportChildren($out, $level + 1, $name, $namespace, $rootNS); 43 | $out = VMware_VCloud_API_Helper::addString($out, "\n"); 44 | } else { 45 | $out = VMware_VCloud_API_Helper::addString($out, "/>\n"); 46 | } 47 | return $out; 48 | } 49 | protected function exportAttributes($out, $level, $name, $namespace, $rootNS) { 50 | $namespace = self::$defaultNS; 51 | return $out; 52 | } 53 | protected function exportChildren($out, $level, $name, $namespace, $rootNS) { 54 | $namespace = self::$defaultNS; 55 | if (!is_null($this->valueOf)) { 56 | $out = VMware_VCloud_API_Helper::addString($out, VMware_VCloud_API_Helper::quote_xml($this->valueOf)); 57 | } 58 | return $out; 59 | } 60 | protected function hasContent() { 61 | if ( 62 | !is_null($this->valueOf) 63 | ) { 64 | return true; 65 | } else { 66 | return false; 67 | } 68 | } 69 | public function build($node, $namespaces='') { 70 | $tagName = $node->tagName; 71 | $this->tagName = $tagName; 72 | if (strpos($tagName, ':') > 0) { 73 | list($namespace, $tagName) = explode(':', $tagName); 74 | $this->tagName = $tagName; 75 | $this->namespace[$tagName] = $namespace; 76 | } 77 | $this->buildAttributes($node, $namespaces); 78 | $this->valueOf = ''; 79 | $children = $node->childNodes; 80 | foreach ($children as $child) { 81 | if ($child->nodeType == XML_ELEMENT_NODE || $child->nodeType == XML_TEXT_NODE) { 82 | $namespace = ''; 83 | $nodeName = $child->nodeName; 84 | if (strpos($nodeName, ':') > 0) { 85 | list($namespace, $nodeName) = explode(':', $nodeName); 86 | } 87 | $this->buildChildren($child, $nodeName, $namespace); 88 | } 89 | } 90 | } 91 | protected function buildAttributes($node, $namespaces='') { 92 | $attrs = $node->attributes; 93 | if (!empty($namespaces)) { 94 | $this->namespacedef = VMware_VCloud_API_Helper::constructNS($attrs, $namespaces, $this->namespacedef) . $this->namespacedef; 95 | } 96 | $nsUri = self::$defaultNS; 97 | } 98 | protected function buildChildren($child, $nodeName, $namespace='') { 99 | if ($child->nodeType == XML_TEXT_NODE) { 100 | $this->valueOf = $child->nodeValue; 101 | $this->tagName = $nodeName; 102 | } 103 | } 104 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/API/Extension/ThresholdYellowGb.php: -------------------------------------------------------------------------------- 1 | valueOf = $valueOf; 13 | $this->tagName = 'ThresholdYellowGb'; 14 | $this->namespacedef = ' xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5" xmlns:vcloud="http://www.vmware.com/vcloud/v1.5" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'; 15 | } 16 | public function get_valueOf() { return $this->valueOf; } 17 | public function set_valueOf($valueOf) { $this->valueOf = $valueOf; } 18 | public function get_tagName() { return $this->tagName; } 19 | public function set_tagName($tagName) { $this->tagName = $tagName; } 20 | public function export($name=null, $out='', $level=0, $namespacedef=null, $namespace=null, $rootNS=null) { 21 | if (!isset($name)) { 22 | $name = $this->tagName; 23 | } 24 | $out = VMware_VCloud_API_Helper::showIndent($out, $level); 25 | if (is_null($namespace)) { 26 | $namespace = self::$defaultNS; 27 | } 28 | if (is_null($rootNS)) { 29 | $rootNS = self::$defaultNS; 30 | } 31 | if (NULL === $namespacedef) { 32 | $namespacedef = $this->namespacedef; 33 | if (0 >= strpos($namespacedef, 'xmlns=')) { 34 | $namespacedef = ' xmlns="' . self::$defaultNS . '"' . $namespacedef; 35 | } 36 | } 37 | $ns = VMware_VCloud_API_Helper::getNamespaceTag($this->namespace, $name, self::$defaultNS, $namespace, $rootNS); 38 | $out = VMware_VCloud_API_Helper::addString($out, '<' . $ns . $name . $namespacedef); 39 | $out = $this->exportAttributes($out, $level, $name, $namespacedef, $namespace, $rootNS); 40 | if ($this->hasContent()) { 41 | $out = VMware_VCloud_API_Helper::addString($out, ">"); 42 | $out = $this->exportChildren($out, $level + 1, $name, $namespace, $rootNS); 43 | $out = VMware_VCloud_API_Helper::addString($out, "\n"); 44 | } else { 45 | $out = VMware_VCloud_API_Helper::addString($out, "/>\n"); 46 | } 47 | return $out; 48 | } 49 | protected function exportAttributes($out, $level, $name, $namespace, $rootNS) { 50 | $namespace = self::$defaultNS; 51 | return $out; 52 | } 53 | protected function exportChildren($out, $level, $name, $namespace, $rootNS) { 54 | $namespace = self::$defaultNS; 55 | if (!is_null($this->valueOf)) { 56 | $out = VMware_VCloud_API_Helper::addString($out, VMware_VCloud_API_Helper::quote_xml($this->valueOf)); 57 | } 58 | return $out; 59 | } 60 | protected function hasContent() { 61 | if ( 62 | !is_null($this->valueOf) 63 | ) { 64 | return true; 65 | } else { 66 | return false; 67 | } 68 | } 69 | public function build($node, $namespaces='') { 70 | $tagName = $node->tagName; 71 | $this->tagName = $tagName; 72 | if (strpos($tagName, ':') > 0) { 73 | list($namespace, $tagName) = explode(':', $tagName); 74 | $this->tagName = $tagName; 75 | $this->namespace[$tagName] = $namespace; 76 | } 77 | $this->buildAttributes($node, $namespaces); 78 | $this->valueOf = ''; 79 | $children = $node->childNodes; 80 | foreach ($children as $child) { 81 | if ($child->nodeType == XML_ELEMENT_NODE || $child->nodeType == XML_TEXT_NODE) { 82 | $namespace = ''; 83 | $nodeName = $child->nodeName; 84 | if (strpos($nodeName, ':') > 0) { 85 | list($namespace, $nodeName) = explode(':', $nodeName); 86 | } 87 | $this->buildChildren($child, $nodeName, $namespace); 88 | } 89 | } 90 | } 91 | protected function buildAttributes($node, $namespaces='') { 92 | $attrs = $node->attributes; 93 | if (!empty($namespaces)) { 94 | $this->namespacedef = VMware_VCloud_API_Helper::constructNS($attrs, $namespaces, $this->namespacedef) . $this->namespacedef; 95 | } 96 | $nsUri = self::$defaultNS; 97 | } 98 | protected function buildChildren($child, $nodeName, $namespace='') { 99 | if ($child->nodeType == XML_TEXT_NODE) { 100 | $this->valueOf = $child->nodeValue; 101 | $this->tagName = $nodeName; 102 | } 103 | } 104 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/API/Extension/TimeoutInMilliseconds.php: -------------------------------------------------------------------------------- 1 | valueOf = $valueOf; 13 | $this->tagName = 'TimeoutInMilliseconds'; 14 | $this->namespacedef = ' xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5" xmlns:vcloud="http://www.vmware.com/vcloud/v1.5" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'; 15 | } 16 | public function get_valueOf() { return $this->valueOf; } 17 | public function set_valueOf($valueOf) { $this->valueOf = $valueOf; } 18 | public function get_tagName() { return $this->tagName; } 19 | public function set_tagName($tagName) { $this->tagName = $tagName; } 20 | public function export($name=null, $out='', $level=0, $namespacedef=null, $namespace=null, $rootNS=null) { 21 | if (!isset($name)) { 22 | $name = $this->tagName; 23 | } 24 | $out = VMware_VCloud_API_Helper::showIndent($out, $level); 25 | if (is_null($namespace)) { 26 | $namespace = self::$defaultNS; 27 | } 28 | if (is_null($rootNS)) { 29 | $rootNS = self::$defaultNS; 30 | } 31 | if (NULL === $namespacedef) { 32 | $namespacedef = $this->namespacedef; 33 | if (0 >= strpos($namespacedef, 'xmlns=')) { 34 | $namespacedef = ' xmlns="' . self::$defaultNS . '"' . $namespacedef; 35 | } 36 | } 37 | $ns = VMware_VCloud_API_Helper::getNamespaceTag($this->namespace, $name, self::$defaultNS, $namespace, $rootNS); 38 | $out = VMware_VCloud_API_Helper::addString($out, '<' . $ns . $name . $namespacedef); 39 | $out = $this->exportAttributes($out, $level, $name, $namespacedef, $namespace, $rootNS); 40 | if ($this->hasContent()) { 41 | $out = VMware_VCloud_API_Helper::addString($out, ">"); 42 | $out = $this->exportChildren($out, $level + 1, $name, $namespace, $rootNS); 43 | $out = VMware_VCloud_API_Helper::addString($out, "\n"); 44 | } else { 45 | $out = VMware_VCloud_API_Helper::addString($out, "/>\n"); 46 | } 47 | return $out; 48 | } 49 | protected function exportAttributes($out, $level, $name, $namespace, $rootNS) { 50 | $namespace = self::$defaultNS; 51 | return $out; 52 | } 53 | protected function exportChildren($out, $level, $name, $namespace, $rootNS) { 54 | $namespace = self::$defaultNS; 55 | if (!is_null($this->valueOf)) { 56 | $out = VMware_VCloud_API_Helper::addString($out, VMware_VCloud_API_Helper::quote_xml($this->valueOf)); 57 | } 58 | return $out; 59 | } 60 | protected function hasContent() { 61 | if ( 62 | !is_null($this->valueOf) 63 | ) { 64 | return true; 65 | } else { 66 | return false; 67 | } 68 | } 69 | public function build($node, $namespaces='') { 70 | $tagName = $node->tagName; 71 | $this->tagName = $tagName; 72 | if (strpos($tagName, ':') > 0) { 73 | list($namespace, $tagName) = explode(':', $tagName); 74 | $this->tagName = $tagName; 75 | $this->namespace[$tagName] = $namespace; 76 | } 77 | $this->buildAttributes($node, $namespaces); 78 | $this->valueOf = ''; 79 | $children = $node->childNodes; 80 | foreach ($children as $child) { 81 | if ($child->nodeType == XML_ELEMENT_NODE || $child->nodeType == XML_TEXT_NODE) { 82 | $namespace = ''; 83 | $nodeName = $child->nodeName; 84 | if (strpos($nodeName, ':') > 0) { 85 | list($namespace, $nodeName) = explode(':', $nodeName); 86 | } 87 | $this->buildChildren($child, $nodeName, $namespace); 88 | } 89 | } 90 | } 91 | protected function buildAttributes($node, $namespaces='') { 92 | $attrs = $node->attributes; 93 | if (!empty($namespaces)) { 94 | $this->namespacedef = VMware_VCloud_API_Helper::constructNS($attrs, $namespaces, $this->namespacedef) . $this->namespacedef; 95 | } 96 | $nsUri = self::$defaultNS; 97 | } 98 | protected function buildChildren($child, $nodeName, $namespace='') { 99 | if ($child->nodeType == XML_TEXT_NODE) { 100 | $this->valueOf = $child->nodeValue; 101 | $this->tagName = $nodeName; 102 | } 103 | } 104 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/API/Extension/VMWExtensionType.php: -------------------------------------------------------------------------------- 1 | tagName = 'VMWExtension'; 17 | $this->namespacedef = ' xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5" xmlns:vcloud="http://www.vmware.com/vcloud/v1.5" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'; 18 | } 19 | public function get_tagName() { return $this->tagName; } 20 | public function set_tagName($tagName) { $this->tagName = $tagName; } 21 | public function export($name=null, $out='', $level=0, $namespacedef=null, $namespace=null, $rootNS=null) { 22 | if (!isset($name)) { 23 | $name = $this->tagName; 24 | } 25 | $out = VMware_VCloud_API_Helper::showIndent($out, $level); 26 | if (is_null($namespace)) { 27 | $namespace = self::$defaultNS; 28 | } 29 | if (is_null($rootNS)) { 30 | $rootNS = self::$defaultNS; 31 | } 32 | if (NULL === $namespacedef) { 33 | $namespacedef = $this->namespacedef; 34 | if (0 >= strpos($namespacedef, 'xmlns=')) { 35 | $namespacedef = ' xmlns="' . self::$defaultNS . '"' . $namespacedef; 36 | } 37 | } 38 | $ns = VMware_VCloud_API_Helper::getNamespaceTag($this->namespace, $name, self::$defaultNS, $namespace, $rootNS); 39 | $out = VMware_VCloud_API_Helper::addString($out, '<' . $ns . $name . $namespacedef); 40 | $out = $this->exportAttributes($out, $level, $name, $namespacedef, $namespace, $rootNS); 41 | if ($this->hasContent()) { 42 | $out = VMware_VCloud_API_Helper::addString($out, ">\n"); 43 | $out = $this->exportChildren($out, $level + 1, $name, $namespace, $rootNS); 44 | $out = VMware_VCloud_API_Helper::showIndent($out, $level); 45 | $out = VMware_VCloud_API_Helper::addString($out, "\n"); 46 | } else { 47 | $out = VMware_VCloud_API_Helper::addString($out, "/>\n"); 48 | } 49 | return $out; 50 | } 51 | protected function exportAttributes($out, $level, $name, $namespace, $rootNS) { 52 | $namespace = self::$defaultNS; 53 | $out = parent::exportAttributes($out, $level, $name, $namespace, $rootNS); 54 | return $out; 55 | } 56 | protected function exportChildren($out, $level, $name, $namespace, $rootNS) { 57 | $namespace = self::$defaultNS; 58 | $out = parent::exportChildren($out, $level, $name, $namespace, $rootNS); 59 | return $out; 60 | } 61 | protected function hasContent() { 62 | if ( 63 | parent::hasContent() 64 | ) { 65 | return true; 66 | } else { 67 | return false; 68 | } 69 | } 70 | public function build($node, $namespaces='') { 71 | $tagName = $node->tagName; 72 | $this->tagName = $tagName; 73 | if (strpos($tagName, ':') > 0) { 74 | list($namespace, $tagName) = explode(':', $tagName); 75 | $this->tagName = $tagName; 76 | $this->namespace[$tagName] = $namespace; 77 | } 78 | $this->buildAttributes($node, $namespaces); 79 | $children = $node->childNodes; 80 | foreach ($children as $child) { 81 | if ($child->nodeType == XML_ELEMENT_NODE || $child->nodeType == XML_TEXT_NODE) { 82 | $namespace = ''; 83 | $nodeName = $child->nodeName; 84 | if (strpos($nodeName, ':') > 0) { 85 | list($namespace, $nodeName) = explode(':', $nodeName); 86 | } 87 | $this->buildChildren($child, $nodeName, $namespace); 88 | } 89 | } 90 | } 91 | protected function buildAttributes($node, $namespaces='') { 92 | $attrs = $node->attributes; 93 | if (!empty($namespaces)) { 94 | $this->namespacedef = VMware_VCloud_API_Helper::constructNS($attrs, $namespaces, $this->namespacedef) . $this->namespacedef; 95 | } 96 | $nsUri = self::$defaultNS; 97 | parent::buildAttributes($node, $namespaces); 98 | } 99 | protected function buildChildren($child, $nodeName, $namespace='') { 100 | parent::buildChildren($child, $nodeName, $namespace); 101 | } 102 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/API/Extension/VcTrustStoreUploadSocketType.php: -------------------------------------------------------------------------------- 1 | tagName = 'VcTrustStoreUploadSocket'; 16 | $this->namespacedef = ' xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5" xmlns:vcloud="http://www.vmware.com/vcloud/v1.5" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'; 17 | } 18 | public function get_tagName() { return $this->tagName; } 19 | public function set_tagName($tagName) { $this->tagName = $tagName; } 20 | public function export($name=null, $out='', $level=0, $namespacedef=null, $namespace=null, $rootNS=null) { 21 | if (!isset($name)) { 22 | $name = $this->tagName; 23 | } 24 | $out = VMware_VCloud_API_Helper::showIndent($out, $level); 25 | if (is_null($namespace)) { 26 | $namespace = self::$defaultNS; 27 | } 28 | if (is_null($rootNS)) { 29 | $rootNS = self::$defaultNS; 30 | } 31 | if (NULL === $namespacedef) { 32 | $namespacedef = $this->namespacedef; 33 | if (0 >= strpos($namespacedef, 'xmlns=')) { 34 | $namespacedef = ' xmlns="' . self::$defaultNS . '"' . $namespacedef; 35 | } 36 | } 37 | $ns = VMware_VCloud_API_Helper::getNamespaceTag($this->namespace, $name, self::$defaultNS, $namespace, $rootNS); 38 | $out = VMware_VCloud_API_Helper::addString($out, '<' . $ns . $name . $namespacedef); 39 | $out = $this->exportAttributes($out, $level, $name, $namespacedef, $namespace, $rootNS); 40 | if ($this->hasContent()) { 41 | $out = VMware_VCloud_API_Helper::addString($out, ">\n"); 42 | $out = $this->exportChildren($out, $level + 1, $name, $namespace, $rootNS); 43 | $out = VMware_VCloud_API_Helper::showIndent($out, $level); 44 | $out = VMware_VCloud_API_Helper::addString($out, "\n"); 45 | } else { 46 | $out = VMware_VCloud_API_Helper::addString($out, "/>\n"); 47 | } 48 | return $out; 49 | } 50 | protected function exportAttributes($out, $level, $name, $namespace, $rootNS) { 51 | $namespace = self::$defaultNS; 52 | $out = parent::exportAttributes($out, $level, $name, $namespace, $rootNS); 53 | return $out; 54 | } 55 | protected function exportChildren($out, $level, $name, $namespace, $rootNS) { 56 | $namespace = self::$defaultNS; 57 | $out = parent::exportChildren($out, $level, $name, $namespace, $rootNS); 58 | return $out; 59 | } 60 | protected function hasContent() { 61 | if ( 62 | parent::hasContent() 63 | ) { 64 | return true; 65 | } else { 66 | return false; 67 | } 68 | } 69 | public function build($node, $namespaces='') { 70 | $tagName = $node->tagName; 71 | $this->tagName = $tagName; 72 | if (strpos($tagName, ':') > 0) { 73 | list($namespace, $tagName) = explode(':', $tagName); 74 | $this->tagName = $tagName; 75 | $this->namespace[$tagName] = $namespace; 76 | } 77 | $this->buildAttributes($node, $namespaces); 78 | $children = $node->childNodes; 79 | foreach ($children as $child) { 80 | if ($child->nodeType == XML_ELEMENT_NODE || $child->nodeType == XML_TEXT_NODE) { 81 | $namespace = ''; 82 | $nodeName = $child->nodeName; 83 | if (strpos($nodeName, ':') > 0) { 84 | list($namespace, $nodeName) = explode(':', $nodeName); 85 | } 86 | $this->buildChildren($child, $nodeName, $namespace); 87 | } 88 | } 89 | } 90 | protected function buildAttributes($node, $namespaces='') { 91 | $attrs = $node->attributes; 92 | if (!empty($namespaces)) { 93 | $this->namespacedef = VMware_VCloud_API_Helper::constructNS($attrs, $namespaces, $this->namespacedef) . $this->namespacedef; 94 | } 95 | $nsUri = self::$defaultNS; 96 | parent::buildAttributes($node, $namespaces); 97 | } 98 | protected function buildChildren($child, $nodeName, $namespace='') { 99 | parent::buildChildren($child, $nodeName, $namespace); 100 | } 101 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/API/IpsecVpnPeerType.php: -------------------------------------------------------------------------------- 1 | tagName = 'IpsecVpnPeer'; 14 | $this->namespacedef = ' xmlns:vcloud="http://www.vmware.com/vcloud/v1.5" xmlns:ns12="http://www.vmware.com/vcloud/v1.5" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:ovfenv="http://schemas.dmtf.org/ovf/environment/1" xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5" xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'; 15 | } 16 | public function get_tagName() { return $this->tagName; } 17 | public function set_tagName($tagName) { $this->tagName = $tagName; } 18 | public function export($name=null, $out='', $level=0, $namespacedef=null, $namespace=null, $rootNS=null) { 19 | if (!isset($name)) { 20 | $name = $this->tagName; 21 | } 22 | $out = VMware_VCloud_API_Helper::showIndent($out, $level); 23 | if (is_null($namespace)) { 24 | $namespace = self::$defaultNS; 25 | } 26 | if (is_null($rootNS)) { 27 | $rootNS = self::$defaultNS; 28 | } 29 | if (NULL === $namespacedef) { 30 | $namespacedef = $this->namespacedef; 31 | if (0 >= strpos($namespacedef, 'xmlns=')) { 32 | $namespacedef = ' xmlns="' . self::$defaultNS . '"' . $namespacedef; 33 | } 34 | } 35 | $ns = VMware_VCloud_API_Helper::getNamespaceTag($this->namespace, $name, self::$defaultNS, $namespace, $rootNS); 36 | $out = VMware_VCloud_API_Helper::addString($out, '<' . $ns . $name . $namespacedef); 37 | $out = $this->exportAttributes($out, $level, $name, $namespacedef, $namespace, $rootNS); 38 | if ($this->hasContent()) { 39 | $out = VMware_VCloud_API_Helper::addString($out, ">\n"); 40 | $out = $this->exportChildren($out, $level + 1, $name, $namespace, $rootNS); 41 | $out = VMware_VCloud_API_Helper::showIndent($out, $level); 42 | $out = VMware_VCloud_API_Helper::addString($out, "\n"); 43 | } else { 44 | $out = VMware_VCloud_API_Helper::addString($out, "/>\n"); 45 | } 46 | return $out; 47 | } 48 | protected function exportAttributes($out, $level, $name, $namespace, $rootNS) { 49 | $namespace = self::$defaultNS; 50 | $out = parent::exportAttributes($out, $level, $name, $namespace, $rootNS); 51 | return $out; 52 | } 53 | protected function exportChildren($out, $level, $name, $namespace, $rootNS) { 54 | $namespace = self::$defaultNS; 55 | $out = parent::exportChildren($out, $level, $name, $namespace, $rootNS); 56 | return $out; 57 | } 58 | protected function hasContent() { 59 | if ( 60 | parent::hasContent() 61 | ) { 62 | return true; 63 | } else { 64 | return false; 65 | } 66 | } 67 | public function build($node, $namespaces='') { 68 | $tagName = $node->tagName; 69 | $this->tagName = $tagName; 70 | if (strpos($tagName, ':') > 0) { 71 | list($namespace, $tagName) = explode(':', $tagName); 72 | $this->tagName = $tagName; 73 | $this->namespace[$tagName] = $namespace; 74 | } 75 | $this->buildAttributes($node, $namespaces); 76 | $children = $node->childNodes; 77 | foreach ($children as $child) { 78 | if ($child->nodeType == XML_ELEMENT_NODE || $child->nodeType == XML_TEXT_NODE) { 79 | $namespace = ''; 80 | $nodeName = $child->nodeName; 81 | if (strpos($nodeName, ':') > 0) { 82 | list($namespace, $nodeName) = explode(':', $nodeName); 83 | } 84 | $this->buildChildren($child, $nodeName, $namespace); 85 | } 86 | } 87 | } 88 | protected function buildAttributes($node, $namespaces='') { 89 | $attrs = $node->attributes; 90 | if (!empty($namespaces)) { 91 | $this->namespacedef = VMware_VCloud_API_Helper::constructNS($attrs, $namespaces, $this->namespacedef) . $this->namespacedef; 92 | } 93 | $nsUri = self::$defaultNS; 94 | parent::buildAttributes($node, $namespaces); 95 | } 96 | protected function buildChildren($child, $nodeName, $namespace='') { 97 | parent::buildChildren($child, $nodeName, $namespace); 98 | } 99 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/API/OVF/Any.php: -------------------------------------------------------------------------------- 1 | valueOf = $valueOf; 13 | $this->tagName = 'Any'; 14 | $this->namespacedef = ' xmlns:vcloud="http://www.vmware.com/vcloud/v1.5" xmlns:ns12="http://www.vmware.com/vcloud/v1.5" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:ovfenv="http://schemas.dmtf.org/ovf/environment/1" xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'; 15 | } 16 | public function get_valueOf() { return $this->valueOf; } 17 | public function set_valueOf($valueOf) { $this->valueOf = $valueOf; } 18 | public function get_tagName() { return $this->tagName; } 19 | public function set_tagName($tagName) { $this->tagName = $tagName; } 20 | public function export($name=null, $out='', $level=0, $namespacedef=null, $namespace=null, $rootNS=null) { 21 | if (!isset($name)) { 22 | $name = $this->tagName; 23 | } 24 | $out = VMware_VCloud_API_Helper::showIndent($out, $level); 25 | if (is_null($namespace)) { 26 | $namespace = self::$defaultNS; 27 | } 28 | if (is_null($rootNS)) { 29 | $rootNS = self::$defaultNS; 30 | } 31 | if (NULL === $namespacedef) { 32 | $namespacedef = $this->namespacedef; 33 | if (0 >= strpos($namespacedef, 'xmlns=')) { 34 | $namespacedef = ' xmlns="' . self::$defaultNS . '"' . $namespacedef; 35 | } 36 | } 37 | $ns = VMware_VCloud_API_Helper::getNamespaceTag($this->namespace, $name, self::$defaultNS, $namespace, $rootNS); 38 | $out = VMware_VCloud_API_Helper::addString($out, '<' . $ns . $name . $namespacedef); 39 | $out = $this->exportAttributes($out, $level, $name, $namespacedef, $namespace, $rootNS); 40 | if ($this->hasContent()) { 41 | $out = VMware_VCloud_API_Helper::addString($out, ">"); 42 | $out = $this->exportChildren($out, $level + 1, $name, $namespace, $rootNS); 43 | $out = VMware_VCloud_API_Helper::addString($out, "\n"); 44 | } else { 45 | $out = VMware_VCloud_API_Helper::addString($out, "/>\n"); 46 | } 47 | return $out; 48 | } 49 | protected function exportAttributes($out, $level, $name, $namespace, $rootNS) { 50 | $namespace = self::$defaultNS; 51 | return $out; 52 | } 53 | protected function exportChildren($out, $level, $name, $namespace, $rootNS) { 54 | $namespace = self::$defaultNS; 55 | if (!is_null($this->valueOf)) { 56 | $out = VMware_VCloud_API_Helper::addString($out, VMware_VCloud_API_Helper::quote_xml($this->valueOf)); 57 | } 58 | return $out; 59 | } 60 | protected function hasContent() { 61 | if ( 62 | !is_null($this->valueOf) 63 | ) { 64 | return true; 65 | } else { 66 | return false; 67 | } 68 | } 69 | public function build($node, $namespaces='') { 70 | $tagName = $node->tagName; 71 | $this->tagName = $tagName; 72 | if (strpos($tagName, ':') > 0) { 73 | list($namespace, $tagName) = explode(':', $tagName); 74 | $this->tagName = $tagName; 75 | $this->namespace[$tagName] = $namespace; 76 | } 77 | $this->buildAttributes($node, $namespaces); 78 | $this->valueOf = ''; 79 | $children = $node->childNodes; 80 | foreach ($children as $child) { 81 | if ($child->nodeType == XML_ELEMENT_NODE || $child->nodeType == XML_TEXT_NODE) { 82 | $namespace = ''; 83 | $nodeName = $child->nodeName; 84 | if (strpos($nodeName, ':') > 0) { 85 | list($namespace, $nodeName) = explode(':', $nodeName); 86 | } 87 | $this->buildChildren($child, $nodeName, $namespace); 88 | } 89 | } 90 | } 91 | protected function buildAttributes($node, $namespaces='') { 92 | $attrs = $node->attributes; 93 | if (!empty($namespaces)) { 94 | $this->namespacedef = VMware_VCloud_API_Helper::constructNS($attrs, $namespaces, $this->namespacedef) . $this->namespacedef; 95 | } 96 | $nsUri = self::$defaultNS; 97 | } 98 | protected function buildChildren($child, $nodeName, $namespace='') { 99 | if ($child->nodeType == XML_TEXT_NODE) { 100 | $this->valueOf = $child->nodeValue; 101 | $this->tagName = $nodeName; 102 | } 103 | } 104 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/API/OVF/qualifierSArray.php: -------------------------------------------------------------------------------- 1 | tagName = ''; 15 | $this->namespacedef = ' xmlns:vcloud="http://www.vmware.com/vcloud/v1.5" xmlns:ns12="http://www.vmware.com/vcloud/v1.5" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:ovfenv="http://schemas.dmtf.org/ovf/environment/1" xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'; 16 | } 17 | public function get_tagName() { return $this->tagName; } 18 | public function set_tagName($tagName) { $this->tagName = $tagName; } 19 | public function export($name=null, $out='', $level=0, $namespacedef=null, $namespace=null, $rootNS=null) { 20 | if (!isset($name)) { 21 | $name = $this->tagName; 22 | } 23 | $out = VMware_VCloud_API_Helper::showIndent($out, $level); 24 | if (is_null($namespace)) { 25 | $namespace = self::$defaultNS; 26 | } 27 | if (is_null($rootNS)) { 28 | $rootNS = self::$defaultNS; 29 | } 30 | if (NULL === $namespacedef) { 31 | $namespacedef = $this->namespacedef; 32 | if (0 >= strpos($namespacedef, 'xmlns=')) { 33 | $namespacedef = ' xmlns="' . self::$defaultNS . '"' . $namespacedef; 34 | } 35 | } 36 | $ns = VMware_VCloud_API_Helper::getNamespaceTag($this->namespace, $name, self::$defaultNS, $namespace, $rootNS); 37 | $out = VMware_VCloud_API_Helper::addString($out, '<' . $ns . $name . $namespacedef); 38 | $out = $this->exportAttributes($out, $level, $name, $namespacedef, $namespace, $rootNS); 39 | if ($this->hasContent()) { 40 | $out = VMware_VCloud_API_Helper::addString($out, ">"); 41 | $out = $this->exportChildren($out, $level + 1, $name, $namespace, $rootNS); 42 | $out = VMware_VCloud_API_Helper::addString($out, "\n"); 43 | } else { 44 | $out = VMware_VCloud_API_Helper::addString($out, "/>\n"); 45 | } 46 | return $out; 47 | } 48 | protected function exportAttributes($out, $level, $name, $namespace, $rootNS) { 49 | $namespace = self::$defaultNS; 50 | $out = parent::exportAttributes($out, $level, $name, $namespace, $rootNS); 51 | return $out; 52 | } 53 | protected function exportChildren($out, $level, $name, $namespace, $rootNS) { 54 | $namespace = self::$defaultNS; 55 | $out = parent::exportChildren($out, $level, $name, $namespace, $rootNS); 56 | return $out; 57 | } 58 | protected function hasContent() { 59 | if ( 60 | !is_null($this->valueOf) || 61 | parent::hasContent() 62 | ) { 63 | return true; 64 | } else { 65 | return false; 66 | } 67 | } 68 | public function build($node, $namespaces='') { 69 | $tagName = $node->tagName; 70 | $this->tagName = $tagName; 71 | if (strpos($tagName, ':') > 0) { 72 | list($namespace, $tagName) = explode(':', $tagName); 73 | $this->tagName = $tagName; 74 | $this->namespace[$tagName] = $namespace; 75 | } 76 | $this->buildAttributes($node, $namespaces); 77 | $this->valueOf = ''; 78 | $children = $node->childNodes; 79 | foreach ($children as $child) { 80 | if ($child->nodeType == XML_ELEMENT_NODE || $child->nodeType == XML_TEXT_NODE) { 81 | $namespace = ''; 82 | $nodeName = $child->nodeName; 83 | if (strpos($nodeName, ':') > 0) { 84 | list($namespace, $nodeName) = explode(':', $nodeName); 85 | } 86 | $this->buildChildren($child, $nodeName, $namespace); 87 | } 88 | } 89 | } 90 | protected function buildAttributes($node, $namespaces='') { 91 | $attrs = $node->attributes; 92 | if (!empty($namespaces)) { 93 | $this->namespacedef = VMware_VCloud_API_Helper::constructNS($attrs, $namespaces, $this->namespacedef) . $this->namespacedef; 94 | } 95 | $nsUri = self::$defaultNS; 96 | parent::buildAttributes($node, $namespaces); 97 | } 98 | protected function buildChildren($child, $nodeName, $namespace='') { 99 | parent::buildChildren($child, $nodeName, $namespace); 100 | } 101 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/API/OVFENV/Any.php: -------------------------------------------------------------------------------- 1 | valueOf = $valueOf; 13 | $this->tagName = 'Any'; 14 | $this->namespacedef = ' xmlns:vcloud="http://www.vmware.com/vcloud/v1.5" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:ovfenv="http://schemas.dmtf.org/ovf/environment/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'; 15 | } 16 | public function get_valueOf() { return $this->valueOf; } 17 | public function set_valueOf($valueOf) { $this->valueOf = $valueOf; } 18 | public function get_tagName() { return $this->tagName; } 19 | public function set_tagName($tagName) { $this->tagName = $tagName; } 20 | public function export($name=null, $out='', $level=0, $namespacedef=null, $namespace=null, $rootNS=null) { 21 | if (!isset($name)) { 22 | $name = $this->tagName; 23 | } 24 | $out = VMware_VCloud_API_Helper::showIndent($out, $level); 25 | if (is_null($namespace)) { 26 | $namespace = self::$defaultNS; 27 | } 28 | if (is_null($rootNS)) { 29 | $rootNS = self::$defaultNS; 30 | } 31 | if (NULL === $namespacedef) { 32 | $namespacedef = $this->namespacedef; 33 | if (0 >= strpos($namespacedef, 'xmlns=')) { 34 | $namespacedef = ' xmlns="' . self::$defaultNS . '"' . $namespacedef; 35 | } 36 | } 37 | $ns = VMware_VCloud_API_Helper::getNamespaceTag($this->namespace, $name, self::$defaultNS, $namespace, $rootNS); 38 | $out = VMware_VCloud_API_Helper::addString($out, '<' . $ns . $name . $namespacedef); 39 | $out = $this->exportAttributes($out, $level, $name, $namespacedef, $namespace, $rootNS); 40 | if ($this->hasContent()) { 41 | $out = VMware_VCloud_API_Helper::addString($out, ">"); 42 | $out = $this->exportChildren($out, $level + 1, $name, $namespace, $rootNS); 43 | $out = VMware_VCloud_API_Helper::addString($out, "\n"); 44 | } else { 45 | $out = VMware_VCloud_API_Helper::addString($out, "/>\n"); 46 | } 47 | return $out; 48 | } 49 | protected function exportAttributes($out, $level, $name, $namespace, $rootNS) { 50 | $namespace = self::$defaultNS; 51 | return $out; 52 | } 53 | protected function exportChildren($out, $level, $name, $namespace, $rootNS) { 54 | $namespace = self::$defaultNS; 55 | if (!is_null($this->valueOf)) { 56 | $out = VMware_VCloud_API_Helper::addString($out, VMware_VCloud_API_Helper::quote_xml($this->valueOf)); 57 | } 58 | return $out; 59 | } 60 | protected function hasContent() { 61 | if ( 62 | !is_null($this->valueOf) 63 | ) { 64 | return true; 65 | } else { 66 | return false; 67 | } 68 | } 69 | public function build($node, $namespaces='') { 70 | $tagName = $node->tagName; 71 | $this->tagName = $tagName; 72 | if (strpos($tagName, ':') > 0) { 73 | list($namespace, $tagName) = explode(':', $tagName); 74 | $this->tagName = $tagName; 75 | $this->namespace[$tagName] = $namespace; 76 | } 77 | $this->buildAttributes($node, $namespaces); 78 | $this->valueOf = ''; 79 | $children = $node->childNodes; 80 | foreach ($children as $child) { 81 | if ($child->nodeType == XML_ELEMENT_NODE || $child->nodeType == XML_TEXT_NODE) { 82 | $namespace = ''; 83 | $nodeName = $child->nodeName; 84 | if (strpos($nodeName, ':') > 0) { 85 | list($namespace, $nodeName) = explode(':', $nodeName); 86 | } 87 | $this->buildChildren($child, $nodeName, $namespace); 88 | } 89 | } 90 | } 91 | protected function buildAttributes($node, $namespaces='') { 92 | $attrs = $node->attributes; 93 | if (!empty($namespaces)) { 94 | $this->namespacedef = VMware_VCloud_API_Helper::constructNS($attrs, $namespaces, $this->namespacedef) . $this->namespacedef; 95 | } 96 | $nsUri = self::$defaultNS; 97 | } 98 | protected function buildChildren($child, $nodeName, $namespace='') { 99 | if ($child->nodeType == XML_TEXT_NODE) { 100 | $this->valueOf = $child->nodeValue; 101 | $this->tagName = $nodeName; 102 | } 103 | } 104 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/API/Version/Any.php: -------------------------------------------------------------------------------- 1 | valueOf = $valueOf; 13 | $this->tagName = 'Any'; 14 | $this->namespacedef = ' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'; 15 | } 16 | public function get_valueOf() { return $this->valueOf; } 17 | public function set_valueOf($valueOf) { $this->valueOf = $valueOf; } 18 | public function get_tagName() { return $this->tagName; } 19 | public function set_tagName($tagName) { $this->tagName = $tagName; } 20 | public function export($name=null, $out='', $level=0, $namespacedef=null, $namespace=null, $rootNS=null) { 21 | if (!isset($name)) { 22 | $name = $this->tagName; 23 | } 24 | $out = VMware_VCloud_API_Helper::showIndent($out, $level); 25 | if (is_null($namespace)) { 26 | $namespace = self::$defaultNS; 27 | } 28 | if (is_null($rootNS)) { 29 | $rootNS = self::$defaultNS; 30 | } 31 | if (NULL === $namespacedef) { 32 | $namespacedef = $this->namespacedef; 33 | if (0 >= strpos($namespacedef, 'xmlns=')) { 34 | $namespacedef = ' xmlns="' . self::$defaultNS . '"' . $namespacedef; 35 | } 36 | } 37 | $ns = VMware_VCloud_API_Helper::getNamespaceTag($this->namespace, $name, self::$defaultNS, $namespace, $rootNS); 38 | $out = VMware_VCloud_API_Helper::addString($out, '<' . $ns . $name . $namespacedef); 39 | $out = $this->exportAttributes($out, $level, $name, $namespacedef, $namespace, $rootNS); 40 | if ($this->hasContent()) { 41 | $out = VMware_VCloud_API_Helper::addString($out, ">"); 42 | $out = $this->exportChildren($out, $level + 1, $name, $namespace, $rootNS); 43 | $out = VMware_VCloud_API_Helper::addString($out, "\n"); 44 | } else { 45 | $out = VMware_VCloud_API_Helper::addString($out, "/>\n"); 46 | } 47 | return $out; 48 | } 49 | protected function exportAttributes($out, $level, $name, $namespace, $rootNS) { 50 | $namespace = self::$defaultNS; 51 | return $out; 52 | } 53 | protected function exportChildren($out, $level, $name, $namespace, $rootNS) { 54 | $namespace = self::$defaultNS; 55 | if (!is_null($this->valueOf)) { 56 | $out = VMware_VCloud_API_Helper::addString($out, VMware_VCloud_API_Helper::quote_xml($this->valueOf)); 57 | } 58 | return $out; 59 | } 60 | protected function hasContent() { 61 | if ( 62 | !is_null($this->valueOf) 63 | ) { 64 | return true; 65 | } else { 66 | return false; 67 | } 68 | } 69 | public function build($node, $namespaces='') { 70 | $tagName = $node->tagName; 71 | $this->tagName = $tagName; 72 | if (strpos($tagName, ':') > 0) { 73 | list($namespace, $tagName) = explode(':', $tagName); 74 | $this->tagName = $tagName; 75 | $this->namespace[$tagName] = $namespace; 76 | } 77 | $this->buildAttributes($node, $namespaces); 78 | $this->valueOf = ''; 79 | $children = $node->childNodes; 80 | foreach ($children as $child) { 81 | if ($child->nodeType == XML_ELEMENT_NODE || $child->nodeType == XML_TEXT_NODE) { 82 | $namespace = ''; 83 | $nodeName = $child->nodeName; 84 | if (strpos($nodeName, ':') > 0) { 85 | list($namespace, $nodeName) = explode(':', $nodeName); 86 | } 87 | $this->buildChildren($child, $nodeName, $namespace); 88 | } 89 | } 90 | } 91 | protected function buildAttributes($node, $namespaces='') { 92 | $attrs = $node->attributes; 93 | if (!empty($namespaces)) { 94 | $this->namespacedef = VMware_VCloud_API_Helper::constructNS($attrs, $namespaces, $this->namespacedef) . $this->namespacedef; 95 | } 96 | $nsUri = self::$defaultNS; 97 | } 98 | protected function buildChildren($child, $nodeName, $namespace='') { 99 | if ($child->nodeType == XML_TEXT_NODE) { 100 | $this->valueOf = $child->nodeValue; 101 | $this->tagName = $nodeName; 102 | } 103 | } 104 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/APIDefinition.php: -------------------------------------------------------------------------------- 1 | getRef( 14 | VMware_VCloud_SDK_Constants::APIDEFINITION_CONTENT_TYPE); 15 | } 16 | 17 | /** 18 | * Gets the service api definition data object. 19 | * 20 | * @return VMware_VCloud_API_ApiDefinitionType 21 | * @since Version 5.1.0 22 | */ 23 | public function getAPIDefinition() 24 | { 25 | return $this->getDataObj(); 26 | } 27 | 28 | /** 29 | * Returns all file descriptors for the API definition. 30 | * 31 | * @return VMware_VCloud_API_ContainerType 32 | * @since Version 5.1.0 33 | */ 34 | public function getFileDescriptor() 35 | { 36 | $url = $this->url . '/files'; 37 | return $this->svc->get($url); 38 | } 39 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/AdminVdcStorageProfile.php: -------------------------------------------------------------------------------- 1 | getDataObj(); 13 | } 14 | 15 | /** 16 | * Get a reference to a vDC storage profile entity. 17 | * 18 | * @return VMware_VCloud_API_ReferenceType 19 | * @since Version 5.1.0 20 | */ 21 | public function getAdminVdcStorageProfileRef() 22 | { 23 | return $this->getRef(VMware_VCloud_SDK_Constants:: 24 | ADMIN_VDC_STORAGE_PROFILE_CONTENT_TYPE); 25 | } 26 | 27 | /** 28 | * Updates a single vDC storage profile. 29 | * 30 | * @param VMware_VCloud_API_AdminVdcStorageProfileType $profile 31 | * @return VMware_VCloud_API_AdminVdcStorageProfileType 32 | * @since Version 5.1.0 33 | */ 34 | public function update($profile) 35 | { 36 | $type = VMware_VCloud_SDK_Constants:: 37 | ADMIN_VDC_STORAGE_PROFILE_CONTENT_TYPE; 38 | return $this->svc->put($this->url, 200, $type, $profile); 39 | } 40 | 41 | /** 42 | * Get metadata associated with the vDC storage profile or metadata 43 | * associated with the vDC storage profile for the specified key 44 | * in the specified domain. 45 | * 46 | * @param string $key 47 | * @param string $domain 48 | * @return VMware_VCloud_API_MetadataType| 49 | * VMware_VCloud_API_MetadataValueType|null 50 | * @since Version 5.1.0 51 | */ 52 | public function getMetadata($key=null, $domain=null) 53 | { 54 | return $this->svc->get($this->getMetadataUrl($key, $domain)); 55 | } 56 | 57 | /** 58 | * Merges the metadata for the vDC storage profile with the information 59 | * provided. 60 | * 61 | * @param VMware_VCloud_API_MetadataType $meta 62 | * @return VMware_VCloud_API_TaskType 63 | * @since Version 5.1.0 64 | */ 65 | public function mergeMetadata($meta) 66 | { 67 | $url = $this->getMetadataUrl(); 68 | $type = VMware_VCloud_SDK_Constants::METADATA_CONTENT_TYPE; 69 | return $this->svc->post($url, 202, $type, $meta); 70 | } 71 | 72 | /** 73 | * Sets the metadata for the particular key in the specified domain for the 74 | * vDC storage profile to the value provided. Note: This will 75 | * replace any existing metadata information. 76 | * 77 | * @param string $key 78 | * @param VMware_VCloud_API_MetadataValueType $value 79 | * @param string $domain 80 | * @return VMware_VCloud_API_TaskType 81 | * @since Version 5.1.0 82 | */ 83 | public function setMetadataByKey($key, $value, $domain=null) 84 | { 85 | $url = $this->getMetadataUrl($key, $domain); 86 | $type = VMware_VCloud_SDK_Constants::METADATA_VALUE_CONTENT_TYPE; 87 | return $this->svc->put($url, 202, $type, $value); 88 | } 89 | 90 | /** 91 | * Deletes the metadata for the particular key in the specified domain for 92 | * the vDC storage profile. 93 | * 94 | * @param string $key 95 | * @return VMware_VCloud_API_TaskType 96 | * @since Version 5.1.0 97 | */ 98 | public function deleteMetadataByKey($key, $domain=null) 99 | { 100 | $url = $this->getMetadataUrl($key, $domain); 101 | return $this->svc->delete($url, 202); 102 | } 103 | 104 | /** 105 | * Get provider vDC storage profile reference. 106 | * 107 | * @return VMware_VCloud_API_ReferenceType 108 | * @since Version 5.1.0 109 | */ 110 | public function getProviderVdcStorageProfileRef() 111 | { 112 | return $this->getAdminVdcStorageProfile()->getProviderVdcStorageProfile(); 113 | } 114 | 115 | /** 116 | * Get provider vDC storage profile. 117 | * 118 | * @return VMware_VCloud_API_ProviderVdcStorageProfileType 119 | * @since Version 5.1.0 120 | */ 121 | public function getProviderVdcStorageProfile() 122 | { 123 | $ref = $this->getProviderVdcStorageProfileRef(); 124 | return $this->svc->get($ref->get_href()); 125 | } 126 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Disk.php: -------------------------------------------------------------------------------- 1 | getRef(VMware_VCloud_SDK_Constants::DISK_CONTENT_TYPE); 13 | } 14 | 15 | /** 16 | * Get a VMware vCloud disk entity. 17 | * 18 | * @return VMware_VCloud_API_DiskType 19 | * @since Version 5.1.0 20 | */ 21 | public function getDisk() 22 | { 23 | return $this->getDataObj(); 24 | } 25 | 26 | /** 27 | * Constructs vCloud ID of this disk from its UUID. 28 | * 29 | * @return string 30 | * @since Version 5.1.0 31 | */ 32 | public function getId() 33 | { 34 | return 'urn:vcloud:disk:' . $this->getUuid(); 35 | } 36 | 37 | /** 38 | * Modify the name, description, and storage profile of a disk. 39 | * 40 | * @param VMware_VCloud_API_DiskType 41 | * @return VMware_VCloud_API_TaskType 42 | * @since Version 5.1.0 43 | */ 44 | public function modify($disk) 45 | { 46 | $type = VMware_VCloud_SDK_Constants::DISK_CONTENT_TYPE; 47 | return $this->svc->put($this->url, 202, $type, $disk); 48 | } 49 | 50 | /** 51 | * Delete a disk. 52 | * 53 | * @return VMware_VCloud_API_TaskType 54 | * @since Version 5.1.0 55 | */ 56 | public function delete() 57 | { 58 | return $this->svc->delete($this->url, 202); 59 | } 60 | 61 | /** 62 | * Retrieve a list of all VMs attached to a disk. 63 | * 64 | * @return array|null VMware_VCloud_API_ReferenceType object array or null. 65 | * @since Version 5.1.0 66 | */ 67 | public function getAttachedVms() 68 | { 69 | $url = $this->url . '/attachedVms'; 70 | $vmsArr = $this->svc->get($url); 71 | return (0 == sizeof($vmsArr)) ? null : $vmsArr->getVmReference(); 72 | } 73 | 74 | /** 75 | * Retrieve the owner of a disk. 76 | * 77 | * @return VMware_VCloud_API_OwnerType 78 | * @since Version 5.1.0 79 | */ 80 | public function getOwner() 81 | { 82 | $url = $this->url . '/owner'; 83 | return $this->svc->get($url); 84 | } 85 | 86 | /** 87 | * Change the owner of a disk. 88 | * 89 | * @param VMware_VCloud_API_OwnerType $owner 90 | * @return null 91 | * @since Version 5.1.0 92 | */ 93 | public function changeOwner($owner) 94 | { 95 | $url = $this->url . '/owner'; 96 | $type = VMware_VCloud_SDK_Constants::OWNER_CONTENT_TYPE; 97 | $this->svc->put($url, 204, $type, $owner); 98 | } 99 | 100 | /** 101 | * Get metadata associated with the disk or metadata 102 | * associated with the disk for the specified key in the 103 | * specified domain. 104 | * 105 | * @param string $key 106 | * @param string $domain 107 | * @return VMware_VCloud_API_MetadataType|VMware_VCloud_API_MetadataValueType|null 108 | * @since Version 5.1.0 109 | */ 110 | public function getMetadata($key=null, $domain=null) 111 | { 112 | return $this->svc->get($this->getMetadataUrl($key, $domain)); 113 | } 114 | 115 | /** 116 | * Merges the metadata for the disk with the information provided. 117 | * 118 | * @param VMware_VCloud_API_MetadataType $meta 119 | * @return VMware_VCloud_API_TaskType 120 | * @since Version 5.1.0 121 | */ 122 | public function mergeMetadata($meta) 123 | { 124 | $url = $this->getMetadataUrl(); 125 | $type = VMware_VCloud_SDK_Constants::METADATA_CONTENT_TYPE; 126 | return $this->svc->post($url, 202, $type, $meta); 127 | } 128 | 129 | /** 130 | * Sets the metadata for the particular key in the specified domain for the 131 | * disk to the value provided. Note: This will replace any existing 132 | * metadata information. 133 | * 134 | * @param string $key 135 | * @param VMware_VCloud_API_MetadataValueType $value 136 | * @param string $domain 137 | * @return VMware_VCloud_API_TaskType 138 | * @version 5.1.0 139 | */ 140 | public function setMetadataByKey($key, $value, $domain=null) 141 | { 142 | $url = $this->getMetadataUrl($key, $domain); 143 | $type = VMware_VCloud_SDK_Constants::METADATA_VALUE_CONTENT_TYPE; 144 | return $this->svc->put($url, 202, $type, $value); 145 | } 146 | 147 | /** 148 | * Deletes the metadata for the particular key in the specified domain for 149 | * the disk. 150 | * 151 | * @param string $key 152 | * @param string $domain 153 | * @return VMware_VCloud_API_TaskType 154 | * @version 5.1.0 155 | */ 156 | public function deleteMetadataByKey($key, $domain=null) 157 | { 158 | $url = $this->getMetadataUrl($key, $domain); 159 | return $this->svc->delete($url, 202); 160 | } 161 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/EdgeGateway.php: -------------------------------------------------------------------------------- 1 | getRef(VMware_VCloud_SDK_Constants::EDGE_GATEWAYS_CONTENT_TYPE); 13 | } 14 | 15 | /** 16 | * Get a VMware vCloud edgegateway entity. 17 | * 18 | * @return VMware_VCloud_API_GatewayType 19 | * @since Version 5.1.0 20 | */ 21 | public function getEdgeGateway() 22 | { 23 | return $this->getDataObj(); 24 | } 25 | 26 | /** 27 | * Get up link to the admin org vdc reference. 28 | * 29 | * @return VMware_VCloud_API_LinkType object 30 | * @since SDK Version 5.1.0 31 | */ 32 | public function getAdminVdcRef() 33 | { 34 | $vdcReference = null; 35 | $links = $this->getEdgeGateway()->getLink(); 36 | foreach ($links as $link) 37 | { 38 | if (($link->get_rel()== VMware_VCloud_SDK_Constants::RELATION_TYPE_UP) && ($link->get_Type() == VMware_VCloud_SDK_Constants::ADMIN_VDC_CONTENT_TYPE)) 39 | { 40 | $vdcReference = $link; 41 | } 42 | } 43 | return $vdcReference; 44 | } 45 | 46 | /** 47 | * Modify a edgeGateway. 48 | * 49 | * @param VMware_VCloud_API_GatewayType $params 50 | * @return VMware_VCloud_API_TaskType 51 | * @since Version 5.1.0 52 | */ 53 | public function modify($params) 54 | { 55 | $type = VMware_VCloud_SDK_Constants::EDGE_GATEWAYS_CONTENT_TYPE; 56 | // return $this->svc->put($this->url, 200, $type, $params); 57 | return $this->svc->put($this->url, 202, $type, $params); // @amercier #5 58 | } 59 | 60 | /** 61 | * Update edgeGateway configuration. 62 | * 63 | * @param VMware_VCloud_API_GatewayFeaturesType $params 64 | * @return VMware_VCloud_API_TaskType 65 | * @since Version 5.1.0 66 | */ 67 | public function configureServices($params) 68 | { 69 | $url = $this->url . '/action/configureServices'; 70 | $type = VMware_VCloud_SDK_Constants::EDGEGATEWAY_SERVICECONFIGURATION_CONTENT_TYPE; 71 | return $this->svc->post($url, 202, $type, $params); 72 | } 73 | 74 | /** 75 | * Reapply services on an edgeGateway. 76 | * 77 | * @return VMware_VCloud_API_TaskType 78 | * @since Version 5.1.0 79 | */ 80 | public function createReapplyServices() 81 | { 82 | $url = $this->url . '/action/reapplyServices'; 83 | return $this->svc->post($url, 202); 84 | } 85 | 86 | /** 87 | * Redeploy edgeGateway. 88 | * 89 | * @return VMware_VCloud_API_TaskType 90 | * @since Version 5.1.0 91 | */ 92 | public function createRedeploy() 93 | { 94 | $url = $this->url . '/action/redeploy'; 95 | return $this->svc->post($url, 202); 96 | } 97 | 98 | /** 99 | * Synchronize syslog server settings on an edgeGateway. 100 | * 101 | * @return VMware_VCloud_API_TaskType 102 | * @since Version 5.1.0 103 | */ 104 | public function createSyncSyslogServerSettings() 105 | { 106 | $url = $this->url . '/action/syncSyslogServerSettings'; 107 | return $this->svc->post($url, 202); 108 | } 109 | 110 | /** 111 | * Upgrade edgeGateway configuration from compact to full. 112 | * 113 | * @return VMware_VCloud_API_TaskType 114 | * @since Version 5.1.0 115 | */ 116 | public function createUpgradeConfig() 117 | { 118 | $url = $this->url . '/action/upgradeConfig'; 119 | return $this->svc->post($url, 202); 120 | } 121 | 122 | /** 123 | * Delete a edgegateway. 124 | * 125 | * @return null 126 | * @since Version 5.1.0 127 | */ 128 | public function delete() 129 | { 130 | $this->svc->delete($this->url, 202); 131 | $this->destroy(); 132 | } 133 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Exception.php: -------------------------------------------------------------------------------- 1 | getRef( 14 | VMware_VCloud_SDK_Constants::API_DEFINITIONS_CONTENT_TYPE); 15 | } 16 | 17 | /** 18 | * Gets the service api definition data object. 19 | * 20 | * @return VMware_VCloud_API_Extension_AdminApiDefinitionType 21 | * @since Version 5.1.0 22 | */ 23 | public function getAPIDefinition() 24 | { 25 | return $this->getDataObj(); 26 | } 27 | 28 | /** 29 | * Creates file descriptor. 30 | * @param VMware_VCloud_API_Extension_AdminFileDescriptorType $params 31 | * @return VMware_VCloud_API_Extension_AdminFileDescriptorType 32 | * @since Version 5.1.0 33 | */ 34 | public function createFileDescriptor($params) 35 | { 36 | $url = $this->url . '/files'; 37 | $type = VMware_VCloud_SDK_Constants:: 38 | FILE_DESCRIPTOR_CONTENT_TYPE; 39 | return $this->svc->post($url, 201, $type, $params); 40 | } 41 | 42 | /** 43 | * Retrieve a file descriptor. 44 | * 45 | * @return VMware_VCloud_API_Extension_AdminFileDescriptorType 46 | * @since Version 5.1.0 47 | */ 48 | public function getFileDescriptor() 49 | { 50 | $type='adminFileDescriptor'; 51 | return $this->svc->queryReferencesByType($type); 52 | } 53 | 54 | /** 55 | * Delete APIDefinition. 56 | * 57 | * 58 | * @since Version 5.1.0 59 | */ 60 | public function delete() 61 | { 62 | $this->svc->delete($this->url, 204); 63 | $this->destroy(); 64 | } 65 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Extension/AclRule.php: -------------------------------------------------------------------------------- 1 | getRef( 14 | VMware_VCloud_SDK_Constants::ACLRULE_CONTENT_TYPE); 15 | } 16 | /** 17 | * Gets the ACL rule data object. 18 | * 19 | * @return VMware_VCloud_API_Extension_AclRuleType 20 | * @since Version 5.1.0 21 | */ 22 | public function getAclRule() 23 | { 24 | return $this->getDataObj(); 25 | } 26 | 27 | /** 28 | * Delete ACL rule. 29 | * 30 | * 31 | * @since Version 5.1.0 32 | */ 33 | public function delete() 34 | { 35 | $this->svc->delete($this->url, 204); 36 | $this->destroy(); 37 | } 38 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Extension/ApiFilter.php: -------------------------------------------------------------------------------- 1 | getRef( 14 | VMware_VCloud_SDK_Constants::API_FILTERS_CONTENT_TYPE); 15 | } 16 | 17 | /** 18 | * Gets the api filter data object. 19 | * 20 | * @return VMware_VCloud_API_Extension_ApiFilterType 21 | * @since Version 5.1.0 22 | */ 23 | public function getApiFilter() 24 | { 25 | return $this->getDataObj(); 26 | } 27 | 28 | /** 29 | * Deletes API filter. 30 | * 31 | * @return null 32 | * @since Version 5.1.0 33 | */ 34 | public function delete() 35 | { 36 | $this->svc->delete($this->url); 37 | $this->destroy(); 38 | } 39 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Extension/BlockingTask.php: -------------------------------------------------------------------------------- 1 | getDataObj(); 14 | } 15 | 16 | /** 17 | * Aborts a request. 18 | * 19 | * @param VMware_VCloud_API_Extension_BlockingTaskOperationParamsType $params 20 | * @return null 21 | * @since Version 1.5.0 22 | */ 23 | public function abort($params) 24 | { 25 | $url = $this->url . '/action/abort'; 26 | $type = VMware_VCloud_SDK_Constants:: 27 | BLOCKING_TASK_OPERATION_PARAMS_CONTENT_TYPE; 28 | $this->svc->post($url, 204, $type, $params); 29 | } 30 | 31 | /** 32 | * Fails a request. 33 | * 34 | * @param VMware_VCloud_API_Extension_BlockingTaskOperationParamsType $params 35 | * @return null 36 | * @since Version 1.5.0 37 | */ 38 | public function fail($params) 39 | { 40 | $url = $this->url . '/action/fail'; 41 | $type = VMware_VCloud_SDK_Constants:: 42 | BLOCKING_TASK_OPERATION_PARAMS_CONTENT_TYPE; 43 | $this->svc->post($url, 204, $type, $params); 44 | } 45 | 46 | /** 47 | * Resumes a request. 48 | * 49 | * @param VMware_VCloud_API_Extension_BlockingTaskOperationParamsType $params 50 | * @return null 51 | * @since Version 1.5.0 52 | */ 53 | public function resume($params) 54 | { 55 | $url = $this->url . '/action/resume'; 56 | $type = VMware_VCloud_SDK_Constants:: 57 | BLOCKING_TASK_OPERATION_PARAMS_CONTENT_TYPE; 58 | $this->svc->post($url, 204, $type, $params); 59 | } 60 | 61 | /** 62 | * Updates progress. 63 | * 64 | * @param VMware_VCloud_API_Extension_BlockingTaskUpdateProgressParamsType 65 | * $params 66 | * @return VMware_VCloud_API_Extension_BlockingTaskType 67 | * @since Version 1.5.0 68 | */ 69 | public function updateProgress($params) 70 | { 71 | $url = $this->url . '/action/updateProgress'; 72 | $type = VMware_VCloud_SDK_Constants:: 73 | BLOCKING_TASK_UPDPROG_PARAMS_CONTENT_TYPE; 74 | return $this->svc->post($url, 200, $type, $params); 75 | } 76 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Extension/Datastore.php: -------------------------------------------------------------------------------- 1 | getRef(VMware_VCloud_SDK_Constants::DATASTORE_CONTENT_TYPE); 13 | } 14 | 15 | /** 16 | * Get a data store settings. 17 | * 18 | * @return VMware_VCloud_API_Extension_DatastoreType 19 | * @since Version 1.5.0 20 | */ 21 | public function getDatastore() 22 | { 23 | return $this->getDataObj(); 24 | } 25 | 26 | /** 27 | * Constructs vCloud ID of the data store from its UUID. 28 | * 29 | * @return string 30 | * @since Version 1.5.0 31 | */ 32 | public function getId() 33 | { 34 | return 'urn:vcloud:datastore:' . $this->getUuid(); 35 | } 36 | 37 | /** 38 | * Get MoRef of the data store. 39 | * 40 | * @return string 41 | * @since Version 1.5.0 42 | */ 43 | public function getMoRef() 44 | { 45 | return $this->getDatastore()->getVimObjectRef()->getMoRef(); 46 | } 47 | 48 | /** 49 | * Get the reference of the Vim server. 50 | * 51 | * @return VMware_VCloud_API_ReferenceType 52 | * @since Version 1.5.0 53 | */ 54 | public function getVimServerRef() 55 | { 56 | return $this->getDatastore()->getVimObjectRef()->getVimServerRef(); 57 | } 58 | 59 | /** 60 | * Modify the data store. 61 | * 62 | * @param VMware_VCloud_API_Extension_DatastoreType $ds 63 | * @return VMware_VCloud_API_Extension_DatastoreType 64 | * @since Version 1.5.0 65 | */ 66 | public function modify($ds) 67 | { 68 | $type = VMware_VCloud_SDK_Constants::DATASTORE_CONTENT_TYPE; 69 | return $this->svc->put($this->url, 200, $type, $ds); 70 | } 71 | 72 | /** 73 | * Enable the data store. 74 | * 75 | * @return VMware_VCloud_API_Extension_DatastoreType 76 | * @since Version 1.5.0 77 | */ 78 | public function enable() 79 | { 80 | $url = $this->url . '/action/enable'; 81 | return $this->svc->post($url, 200); 82 | } 83 | 84 | /** 85 | * Disable the data store. 86 | * 87 | * @return VMware_VCloud_API_Extension_DatastoreType 88 | * @since Version 1.5.0 89 | */ 90 | public function disable() 91 | { 92 | $url = $this->url . '/action/disable'; 93 | return $this->svc->post($url, 200); 94 | } 95 | 96 | /** 97 | * Remove the data store. 98 | * 99 | * @return null 100 | * @since Version 1.5.0 101 | */ 102 | public function delete() 103 | { 104 | $this->svc->delete($this->url); 105 | $this->destroy(); 106 | } 107 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Extension/File.php: -------------------------------------------------------------------------------- 1 | getRef( 14 | VMware_VCloud_SDK_Constants::FILE_DESCRIPTOR_CONTENT_TYPE); 15 | } 16 | 17 | /** 18 | * Gets the File data object. 19 | * 20 | * @return VMware_VCloud_API_Extension_AdminFileDescriptorType 21 | * @since Version 5.1.0 22 | */ 23 | public function getFile() 24 | { 25 | return $this->getDataObj(); 26 | } 27 | 28 | /** 29 | * Retrieve a file descriptor. 30 | * 31 | * @return VMware_VCloud_API_Extension_AdminFileDescriptorType 32 | * @since Version 5.1.0 33 | */ 34 | public function getFileDescriptor() 35 | { 36 | $type='adminFileDescriptor'; 37 | return $this->svc->queryReferencesByType($type); 38 | } 39 | 40 | /** 41 | * Deletes file descriptor. 42 | * 43 | * 44 | * @since Version 5.1.0 45 | */ 46 | public function delete() 47 | { 48 | $this->svc->delete($this->url, 204); 49 | $this->destroy(); 50 | } 51 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Extension/Host.php: -------------------------------------------------------------------------------- 1 | getRef(VMware_VCloud_SDK_Constants::HOST_CONTENT_TYPE); 13 | } 14 | 15 | /** 16 | * Get a host object. 17 | * 18 | * @return VMware_VCloud_API_Extension_HostType 19 | * @since Version 1.0.0 20 | */ 21 | public function getHost() 22 | { 23 | return $this->getDataObj(); 24 | } 25 | 26 | /** 27 | * Constructs vCloud ID of the host from its UUID. 28 | * 29 | * @return string 30 | * @since Version 1.5.0 31 | */ 32 | public function getId() 33 | { 34 | return 'urn:vcloud:host:' . $this->getUuid(); 35 | } 36 | 37 | /** 38 | * A common function for host operations. 39 | * 40 | * @param string $name Name of the action. 41 | * @param int $expect Expected return code of the HTTP request on success 42 | * @param mix $obj Represents as the HTTP request body 43 | * @param string $type HTTP request Content-Type. 44 | * @access protected 45 | */ 46 | protected function action($name, $expect=202, $obj=null, $type=null) 47 | { 48 | $url = $this->url . "/action/$name"; 49 | return $this->svc->post($url, $expect, $type, $obj); 50 | } 51 | 52 | /** 53 | * Prepare a host. 54 | * 55 | * @param string $username Username of the host. 56 | * @param string $password Password of the host. 57 | * @return VMware_VCloud_API_TaskType 58 | * @since Version 1.0.0 59 | */ 60 | public function prepare($username, $password) 61 | { 62 | $param = new VMware_VCloud_API_Extension_PrepareHostParamsType(); 63 | $param->setUsername($username); 64 | $param->setPassword($password); 65 | $type = VMware_VCloud_SDK_Constants::PREPARE_HOST_PARAMS_CONTENT_TYPE; 66 | return $this->action('prepare', 202, $param, $type); 67 | } 68 | 69 | /** 70 | * Unprepare a host. 71 | * 72 | * @return VMware_VCloud_API_TaskType 73 | * @since Version 1.0.0 74 | */ 75 | public function unprepare() 76 | { 77 | return $this->action('unprepare'); 78 | } 79 | 80 | /** 81 | * Enable a host. 82 | * 83 | * @return VMware_VCloud_API_TaskType 84 | * @since Version 1.0.0 85 | */ 86 | public function enable() 87 | { 88 | return $this->action('enable'); 89 | } 90 | 91 | /** 92 | * Disable a host. 93 | * 94 | * @return VMware_VCloud_API_TaskType 95 | * @since Version 1.0.0 96 | */ 97 | public function disable() 98 | { 99 | return $this->action('disable'); 100 | } 101 | 102 | /** 103 | * Check whether the host is enabled or not. 104 | * 105 | * @return boolean 106 | * @since Version 1.5.0 107 | */ 108 | public function isEnabled() 109 | { 110 | return $this->getHost()->getEnabled(); 111 | } 112 | 113 | /** 114 | * Check whether the host is ready or not. 115 | * 116 | * @return boolean 117 | * @since Version 1.5.0 118 | */ 119 | public function isReady() 120 | { 121 | return $this->getHost()->getReady(); 122 | } 123 | 124 | /** 125 | * Repair a host. 126 | * 127 | * @return VMware_VCloud_API_TaskType 128 | * @since Version 1.0.0 129 | */ 130 | public function repair() 131 | { 132 | return $this->action('repair'); 133 | } 134 | 135 | /** 136 | * Upgrade a host agent to the current version. If the version of the host 137 | * is current, no action will be performed. 138 | * 139 | * @return VMware_VCloud_API_TaskType 140 | * @since Version 1.0.0 141 | */ 142 | public function upgrade() 143 | { 144 | return $this->action('upgrade'); 145 | } 146 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Extension/ResourceClass.php: -------------------------------------------------------------------------------- 1 | getRef( 14 | VMware_VCloud_SDK_Constants::RESOURCE_CLASSES_CONTENT_TYPE); 15 | } 16 | 17 | /** 18 | * Gets the ResourceClass data object. 19 | * 20 | * @return VMware_VCloud_API_ResourceClassType 21 | * @since Version 5.1.0 22 | */ 23 | public function getResourceClass() 24 | { 25 | return $this->getDataObj(); 26 | } 27 | 28 | /** 29 | * Registers resource class Action for extension service. 30 | * @param VMware_VCloud_API_Extension_ResourceClassActionType $params 31 | * @return VMware_VCloud_API_Extension_ResourceClassActionType 32 | * @since Version 5.1.0 33 | */ 34 | public function registerResourceClassAction($params) 35 | { 36 | $url = $this->url . '/resourceclassactions'; 37 | $type = VMware_VCloud_SDK_Constants:: 38 | RESOURCECLASSACTION_CONTENT_TYPE; 39 | return $this->svc->post($url, 201, $type, $params); 40 | } 41 | 42 | /** 43 | * List registered resource class actions for extension service. 44 | * 45 | * @return VMware_VCloud_API_ResourceClassActionType 46 | * @since Version 5.1.0 47 | */ 48 | public function getResourceClassAction() 49 | { 50 | $type='resourceClassAction'; 51 | return $this->svc->queryReferencesByType($type); 52 | } 53 | 54 | /** 55 | * Registers resource class Action for extension service. 56 | * @param VMware_VCloud_API_Extension_ServiceResourceType $params 57 | * @return VMware_VCloud_API_Extension_ServiceResourceType 58 | * @since Version 5.1.0 59 | */ 60 | public function registerServiceResources($params) 61 | { 62 | $url = $this->url . '/serviceresources'; 63 | $type = VMware_VCloud_SDK_Constants:: 64 | SERVICERESOURCES_CLASSES_CONTENT_TYPE; 65 | return $this->svc->post($url, 201, $type, $params); 66 | } 67 | 68 | /** 69 | * List registered service resources for extension service. 70 | * 71 | * @return VMware_VCloud_API_ContainerType 72 | * @since Version 5.1.0 73 | */ 74 | public function getServiceResources() 75 | { 76 | $type='serviceResource'; 77 | return $this->svc->queryReferencesByType($type); 78 | } 79 | 80 | /** 81 | * Deletes resource class. 82 | * 83 | * 84 | * @since Version 5.1.0 85 | */ 86 | public function delete() 87 | { 88 | $this->svc->delete($this->url, 204); 89 | $this->destroy(); 90 | } 91 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Extension/ResourceClassAction.php: -------------------------------------------------------------------------------- 1 | getRef( 14 | VMware_VCloud_SDK_Constants::RESOURCECLASSACTION_CONTENT_TYPE); 15 | } 16 | /** 17 | * Gets the ResourceClassAction data object. 18 | * 19 | * @return VMware_VCloud_API_Extension_ResourceClassActionType 20 | * @since Version 5.1.0 21 | */ 22 | public function getResourceClassAction() 23 | { 24 | return $this->getDataObj(); 25 | } 26 | 27 | /** 28 | * Registers resource class ACL rule for extension service. 29 | * @param VMware_VCloud_API_Extension_AclRuleType $params 30 | * @return VMware_VCloud_API_Extension_AclRuleType 31 | * @since Version 5.1.0 32 | */ 33 | public function createAclRule($params) 34 | { 35 | $url = $this->url . '/aclrules'; 36 | $type = VMware_VCloud_SDK_Constants:: 37 | ACLRULE_CONTENT_TYPE; 38 | return $this->svc->post($url, 201, $type, $params); 39 | } 40 | 41 | /** 42 | * List registered resource class ACL rule for extension service. 43 | * 44 | * @return VMware_VCloud_API_ContainerType 45 | * @since Version 5.1.0 46 | */ 47 | public function getAclRuleRef() 48 | { 49 | $type = 'aclRule'; 50 | return $this->svc->queryReferencesByType($type); 51 | } 52 | 53 | /** 54 | * Deletes resource class action. 55 | * 56 | * 57 | * @since Version 5.1.0 58 | */ 59 | public function delete() 60 | { 61 | $this->svc->delete($this->url, 204); 62 | $this->destroy(); 63 | } 64 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Extension/ServiceLink.php: -------------------------------------------------------------------------------- 1 | getRef( 14 | VMware_VCloud_SDK_Constants::LINKS_CONTENT_TYPE); 15 | } 16 | 17 | /** 18 | * Gets the service link data object. 19 | * 20 | * @return VMware_VCloud_API_Extension_AdminServiceLinkType 21 | * @since Version 5.1.0 22 | */ 23 | public function getServiceLink() 24 | { 25 | return $this->getDataObj(); 26 | } 27 | 28 | /** 29 | * Delete Service link. 30 | * 31 | * 32 | * @since Version 5.1.0 33 | */ 34 | public function delete() 35 | { 36 | $this->svc->delete($this->url, 204); 37 | $this->destroy(); 38 | } 39 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Extension/StrandedItem.php: -------------------------------------------------------------------------------- 1 | getRef( 14 | VMware_VCloud_SDK_Constants::STRANDED_ITEM_CONTENT_TYPE); 15 | } 16 | 17 | /** 18 | * Get the stranded item data object. 19 | * 20 | * @return VMware_VCloud_API_Extension_StrandedItemType 21 | * @since Version 5.1.0 22 | */ 23 | public function getStrandedItem() 24 | { 25 | return $this->getDataObj(); 26 | } 27 | 28 | /** 29 | * Remove stranded item. 30 | * 31 | * @return VMware_VCloud_API_TaskType 32 | * @version Since 5.1.0 33 | */ 34 | public function removeStrandedItem() 35 | { 36 | return $this->svc->delete($this->url); 37 | } 38 | 39 | /** 40 | * Remove stranded item and its children. 41 | * 42 | * @return VMware_VCloud_API_TaskType 43 | * @version Since 5.1.0 44 | */ 45 | public function forceDeleteStrandedItem() 46 | { 47 | $url = $this->url . '/action/forceDelete'; 48 | return $this->svc->post($url, 202); 49 | } 50 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Extension/TaskOps.php: -------------------------------------------------------------------------------- 1 | getRef( 14 | VMware_VCloud_SDK_Constants::EXTERNAL_NET_CONTENT_TYPE); 15 | } 16 | 17 | /** 18 | * Get the external network data object. 19 | * 20 | * @return VMware_VCloud_API_Extension_VMWExternalNetworkType 21 | * @since Version 1.0.0 22 | */ 23 | public function getVMWExternalNetwork() 24 | { 25 | return $this->getDataObj(); 26 | } 27 | 28 | /** 29 | * Construct vCloud ID of the external network from its UUID. 30 | * 31 | * @return string 32 | * @since Version 1.5.0 33 | */ 34 | public function getId() 35 | { 36 | return 'urn:vcloud:network:' . $this->getUuid(); 37 | } 38 | 39 | /** 40 | * Modify the external network. 41 | * 42 | * @param VMware_VCloud_API_Extension_VMWExternalNetworkType $externalNet 43 | * @return VMware_VCloud_API_Extension_VMWExternalNetworkType 44 | * @since Version 1.0.0 45 | */ 46 | public function modify($externalNet) 47 | { 48 | $type = VMware_VCloud_SDK_Constants::EXTERNAL_NET_CONTENT_TYPE; 49 | return $this->svc->put($this->url, 200, $type, $externalNet); 50 | } 51 | 52 | /** 53 | * Delete the external network. 54 | * 55 | * @return VMware_VCloud_API_TaskType 56 | * @since Version 1.0.0 57 | */ 58 | public function delete() 59 | { 60 | $task = $this->svc->delete($this->url, 202); 61 | $this->destroy(); 62 | return $task; 63 | } 64 | 65 | /** 66 | * Reset the external network. 67 | * 68 | * @return VMware_VCloud_API_TaskType|null 69 | * @since Version 1.5.0 70 | * @deprecated since API version 5.1.0 and SDK 5.1.0 71 | * @this method will not work in SDK 5.1.0 72 | */ 73 | public function reset() 74 | { 75 | $url = str_replace('extension/externalnet', 'network', $this->url); 76 | $url = $url . '/action/reset'; 77 | return $this->svc->post($url, 202); 78 | } 79 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Extension/VMWNetworkPool.php: -------------------------------------------------------------------------------- 1 | getRef( 14 | VMware_VCloud_SDK_Constants::NETWORK_POOL_CONTENT_TYPE); 15 | } 16 | 17 | /** 18 | * Get the network pool data object. 19 | * 20 | * @return VMware_VCloud_API_Extension_PortGroupPoolType | 21 | * VMware_VCloud_API_Extension_VlanPoolType | 22 | * VMware_VCloud_API_Extension_FencePoolType 23 | * @since Version 1.0.0 24 | */ 25 | public function getVMWNetworkPool() 26 | { 27 | return $this->getDataObj(); 28 | } 29 | 30 | /** 31 | * Constructs vCloud ID of the network pool from its UUID. 32 | * 33 | * @return string 34 | * @since Version 1.5.0 35 | */ 36 | public function getId() 37 | { 38 | return 'urn:vcloud:networkpool:' . $this->getUuid(); 39 | } 40 | 41 | /** 42 | * Modify this network pool. 43 | * 44 | * @param VMware_VCloud_API_Extension_PortGroupPoolType | 45 | * VMware_VCloud_API_Extension_VlanPoolType | 46 | * VMware_VCloud_API_Extension_FencePoolType $vmwNetPool 47 | * @return VMware_VCloud_API_Extension_PortGroupPoolType | 48 | * VMware_VCloud_API_Extension_VlanPoolType | 49 | * VMware_VCloud_API_Extension_FencePoolType 50 | * @since Version 1.0.0 51 | */ 52 | public function modify($vmwNetPool) 53 | { 54 | $type = VMware_VCloud_SDK_Constants::NETWORK_POOL_CONTENT_TYPE; 55 | return $this->svc->put($this->url, 200, $type, $vmwNetPool); 56 | } 57 | 58 | /** 59 | * Retrieve services associated with this network pool. 60 | * 61 | * @return VMware_VCloud_API_VendorServicesType 62 | * @since Version 5.1.0 63 | */ 64 | public function getVMWVendorServices() 65 | { 66 | $url = $this->url . '/vendorServices'; 67 | return $this->svc->get($url); 68 | } 69 | 70 | /** 71 | * Delete the network pool. 72 | * 73 | * @return VMware_VCloud_API_TaskType 74 | * @since Version 1.0.0 75 | */ 76 | public function delete() 77 | { 78 | $ret = $this->svc->delete($this->url, 202); 79 | $this->destroy(); 80 | return $ret; 81 | } 82 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Extension/VMWProviderVdcResourcePool.php: -------------------------------------------------------------------------------- 1 | getRef( 14 | VMware_VCloud_SDK_Constants::PROVIDER_VDC_RESOURCE_POOL_CONTENT_TYPE); 15 | } 16 | 17 | /** 18 | * Gets the resource pool data object. 19 | * 20 | * @return VMware_VCloud_API_Extension_ContainerType 21 | * @since Version 5.1.0 22 | */ 23 | public function getResourcePool() 24 | { 25 | return $this->getDataObj(); 26 | } 27 | 28 | 29 | /** 30 | * List all VMs using this resource pool. 31 | * 32 | * @return VMware_VCloud_API_ReferenceType 33 | * @since Version 5.1.0 34 | */ 35 | public function getVMWResourcePoolVMList() 36 | { 37 | $url = $this->url . '/vmList?&format=references'; 38 | return $this->svc->get($url); 39 | } 40 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Extension/VMWProviderVdcStorageProfile.php: -------------------------------------------------------------------------------- 1 | getRef(VMware_VCloud_SDK_Constants:: 14 | VMW_PROVIDER_VDC_STORAGE_PROFILE_CONTENT_TYPE); 15 | } 16 | 17 | /** 18 | * Get the provider vDC storage profile data object. 19 | * 20 | * @return VMware_VCloud_API_Extension_VMWProviderVdcStorageProfileType 21 | * @since Version 5.1.0 22 | */ 23 | public function getProviderVdcStorageProfile() 24 | { 25 | return $this->getDataObj(); 26 | } 27 | 28 | /** 29 | * Modify the provider vDC storage profile. 30 | * 31 | * @param VMware_VCloud_API_Extension_VMWProviderVdcStorageProfileType $profile 32 | * @return VMware_VCloud_API_Extension_VMWProviderVdcStorageProfileType 33 | * @since Version 5.1.0 34 | */ 35 | public function modify($profile) 36 | { 37 | $type = VMware_VCloud_SDK_Constants:: 38 | VMW_PROVIDER_VDC_STORAGE_PROFILE_CONTENT_TYPE; 39 | return $this->svc->put($this->url, 200, $type, $profile); 40 | } 41 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Extension/serviceResources.php: -------------------------------------------------------------------------------- 1 | getRef( 14 | VMware_VCloud_SDK_Constants::SERVICERESOURCES_CLASSES_CONTENT_TYPE); 15 | } 16 | 17 | /** 18 | * Gets the service Resources data object. 19 | * 20 | * @return VMware_VCloud_API_Extension_ServiceResourceType 21 | * @since Version 5.1.0 22 | */ 23 | public function getserviceResource() 24 | { 25 | return $this->getDataObj(); 26 | } 27 | 28 | /** 29 | * Delete service Resource. 30 | * 31 | * 32 | * @since Version 5.1.0 33 | */ 34 | public function delete() 35 | { 36 | $this->svc->delete($this->url, 204); 37 | $this->destroy(); 38 | } 39 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Group.php: -------------------------------------------------------------------------------- 1 | getRef(VMware_VCloud_SDK_Constants::GROUP_CONTENT_TYPE); 13 | } 14 | 15 | /** 16 | * Get a VMware vCloud group entity. 17 | * 18 | * @return VMware_VCloud_API_GroupType 19 | * @since Version 1.0.0 20 | */ 21 | public function getGroup() 22 | { 23 | return $this->getDataObj(); 24 | } 25 | 26 | /** 27 | * Constructs vCloud ID of this group from its UUID. 28 | * 29 | * @return string 30 | * @since Version 1.5.0 31 | */ 32 | public function getId() 33 | { 34 | return 'urn:vcloud:group:' . $this->getUuid(); 35 | } 36 | 37 | /** 38 | * Modify a group. 39 | * 40 | * @param VMware_VCloud_API_GroupType $group 41 | * @return VMware_VCloud_API_GroupType 42 | * @since Version 1.0.0 43 | */ 44 | public function modify($group) 45 | { 46 | $type = VMware_VCloud_SDK_Constants::GROUP_CONTENT_TYPE; 47 | return $this->svc->put($this->url, 200, $type, $group); 48 | } 49 | 50 | /** 51 | * Delete a group. 52 | * 53 | * @return null 54 | * @since Version 1.0.0 55 | */ 56 | public function delete() 57 | { 58 | $this->svc->delete($this->url, 204); 59 | $this->destroy(); 60 | } 61 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Http/Client/Interface.php: -------------------------------------------------------------------------------- 1 | , 8 | * 'password'=>) format 9 | * @since Version 1.0.0 10 | */ 11 | public function setAuth($auth); 12 | 13 | /** 14 | * Set the HTTP configurations used by HTTP request. 15 | * 16 | * @param array $config In array(''=>, 17 | * ''=>, ... 18 | * ''=>) format 19 | * @since Version 1.0.0 20 | */ 21 | public function setConfig($config); 22 | 23 | /** 24 | * HTTP GET request 25 | * 26 | * @param string $url URL to send an HTTP request 27 | * @param array $headers HTTP request headers 28 | * @return VMware_VCloud_SDK_Http_Response_Interface 29 | * @since Version 1.0.0 30 | */ 31 | public function get($url, $headers=null); 32 | 33 | /** 34 | * HTTP POST request 35 | * 36 | * @param string $url URL to send an HTTP request 37 | * @param array $headers HTTP request headers 38 | * @param mixed $data HTTP request body 39 | * @return VMware_VCloud_SDK_Http_Response_Interface 40 | * @since Version 1.0.0 41 | */ 42 | public function post($url, $headers, $data); 43 | 44 | /** 45 | * HTTP POST request 46 | * 47 | * @param string $url URL to send an HTTP request 48 | * @param array $headers HTTP request headers 49 | * @param mixed $data HTTP request body 50 | * @return VMware_VCloud_SDK_Http_Response_Interface 51 | * @since Version 1.0.0 52 | */ 53 | public function put($url, $headers, $data); 54 | 55 | /** 56 | * HTTP DELETE request 57 | * 58 | * @param string $url URL to send an HTTP request 59 | * @return VMware_VCloud_SDK_Http_Response_Interface|null 60 | * @since Version 1.0.0 61 | */ 62 | public function delete($url); 63 | 64 | /** 65 | * Download a file and dump to specified location. 66 | * 67 | * @param string $url Download source 68 | * @param array $headers HTTP request headers 69 | * @param string $dest Destination of the file to write to 70 | * @since Version 1.0.0 71 | */ 72 | public function download($url, $headers, $dest); 73 | 74 | /** 75 | * Upload a file. 76 | * 77 | * @param string $url Target to upload the file 78 | * @param array $headers HTTP request headers 79 | * @param string $file Full path of the file to be uploaded 80 | * @since Version 1.0.0 81 | */ 82 | public function upload($url, $headers, $file); 83 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Http/Exception.php: -------------------------------------------------------------------------------- 1 | getRef(VMware_VCloud_SDK_Constants::NETWORK_CONTENT_TYPE); 13 | } 14 | 15 | /** 16 | * Get a VMware vCloud organization network entity. 17 | * 18 | * @return VMware_VCloud_API_OrgNetworkType 19 | * @since Version 1.0.0 20 | */ 21 | public function getNetwork() 22 | { 23 | return $this->getDataObj(); 24 | } 25 | 26 | /** 27 | * Constructs vCloud ID of the network from its UUID. 28 | * 29 | * @return string 30 | * @since Version 1.5.0 31 | */ 32 | public function getId() 33 | { 34 | return 'urn:vcloud:network:' . $this->getUuid(); 35 | } 36 | 37 | /** 38 | * Get up link to the org vdc reference. 39 | * 40 | * @return VMware_VCloud_API_LinkType object 41 | * @since SDK Version 5.1.0 42 | */ 43 | public function getVdcRef() 44 | { 45 | $vdcReference = null; 46 | $links = $this->getNetwork()->getLink(); 47 | foreach ($links as $link) 48 | { 49 | if (($link->get_rel()== VMware_VCloud_SDK_Constants::RELATION_TYPE_UP) && ($link->get_Type() == VMware_VCloud_SDK_Constants::VDC_CONTENT_TYPE)) 50 | { 51 | $vdcReference = $link; 52 | } 53 | } 54 | return $vdcReference; 55 | } 56 | 57 | /** 58 | * Get the org vdc this network belongs to. 59 | * 60 | * @return VMware_VCloud_API_VdcType object 61 | * @since SDK Version 5.1.0 62 | */ 63 | public function getVdc() 64 | { 65 | return $this->svc->get($this->getVdcRef()->get_href()); 66 | } 67 | 68 | /** 69 | * Get the link to the organization to which this network belongs. 70 | * 71 | * @return VMware_VCloud_API_LinkType|null 72 | * @since Version 1.5.0 73 | * @deprecated since API version 1.5.0, since SDK 5.1.0 74 | * @This method works only for API 1.5 75 | */ 76 | public function getOrgRef() 77 | { 78 | return $this->getContainerLink(); 79 | } 80 | 81 | /** 82 | * Get the organization this network belongs to. 83 | * 84 | * @return VMware_VCloud_API_OrgType|null 85 | * @since Version 1.5.0 86 | * @deprecated since API version 1.5.0, since SDK 5.1.0 87 | * @This method works only for API 1.5 88 | */ 89 | public function getOrg() 90 | { 91 | $ref = $this->getOrgRef(); 92 | return isset($ref)? $this->svc->get($ref->get_href()) : null; 93 | } 94 | 95 | /** 96 | * Get metadata associated with the organization network or metadata 97 | * associated with the organization network for the specified key in the 98 | * specified domain. 99 | * 100 | * @param string $key 101 | * @param string $domain 102 | * @return VMware_VCloud_API_MetadataType|VMware_VCloud_API_MetadataValueType|null 103 | * @since Version 1.5.0 104 | * @version 5.1.0 105 | */ 106 | public function getMetadata($key=null, $domain=null) 107 | { 108 | return $this->svc->get($this->getMetadataUrl($key, $domain)); 109 | } 110 | 111 | /** 112 | * Retrieve a list of IP addresses allocated to the network. 113 | * 114 | * @return array|null VMware_VCloud_API_AllocatedIpAddressType objects array 115 | * or null 116 | * @since Version 5.1.0 117 | */ 118 | public function getAllocatedIpAddresses() 119 | { 120 | $url = $this->url . '/allocatedAddresses'; 121 | $addrArr = $this->svc->get($url); 122 | return (0 == sizeof($addrArr)) ? null : $addrArr->getIpAddress(); 123 | } 124 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/ProviderVdc.php: -------------------------------------------------------------------------------- 1 | getRef(VMware_VCloud_SDK_Constants:: 13 | PROVIDER_VDC_CONTENT_TYPE); 14 | } 15 | 16 | /** 17 | * Get a VMware vCloud provider vDC object. 18 | * 19 | * @return VMware_VCloud_API_ProviderVdcType 20 | * @since Version 1.5.0 21 | */ 22 | public function getProviderVdc() 23 | { 24 | return $this->getDataObj(); 25 | } 26 | 27 | /** 28 | * Constructs vCloud ID of the provider vDC from its UUID. 29 | * 30 | * @return string 31 | * @since Version 1.5.0 32 | */ 33 | public function getId() 34 | { 35 | return 'urn:vcloud:providervdc:' . $this->getUuid(); 36 | } 37 | 38 | /** 39 | * Retrieves all organization vDCs for the given provider vDC. 40 | * 41 | * @return array|null An array of VMware_VCloud_API_ReferenceType or null. 42 | * @since Version 1.5.0 43 | */ 44 | public function getVdcRefs($name=null) 45 | { 46 | $url = $this->url . '/vdcReferences'; 47 | $refs = $this->svc->get($url); 48 | return VMware_VCloud_SDK_Helper::getObjsByName($refs->getVdcReference(), 49 | $name); 50 | } 51 | 52 | /** 53 | * Get provider vDC storage profile. 54 | * 55 | * @return an array of VMware_VCloud_API_ReferenceType objects 56 | * @since Version 5.1.0 57 | */ 58 | public function getProviderVdcStorageProfileRefs() 59 | { 60 | return $this->getProviderVdc()->getStorageProfiles()->getProviderVdcStorageProfile(); 61 | } 62 | 63 | /** 64 | * Get references to VMware network pools. 65 | * 66 | * @return array VMware_VCloud_API_ReferenceType object array 67 | * @since Version 5.1.0 68 | */ 69 | public function getVMWNetworkPoolRefs() 70 | { 71 | return $this->getProviderVdc()->getNetworkPoolReferences()->getNetworkPoolReference(); 72 | } 73 | 74 | /** 75 | * Get references to VMware external network. 76 | * 77 | * @return array VMware_VCloud_API_ReferenceType object 78 | * array 79 | * @since Version 5.1.0 80 | */ 81 | public function getExternalNetworkRefs() 82 | { 83 | return $this->getProviderVdc()->getAvailableNetworks()->getNetwork(); 84 | } 85 | 86 | /** 87 | * Get metadata associated with the provider vDC or metadata associated with 88 | * the provider vDC for the specified key in the specified domain. 89 | * 90 | * @param string $key 91 | * @param string $domain 92 | * @return VMware_VCloud_API_MetadataType|VMware_VCloud_API_MetadataValueType 93 | * @since Version 1.5.0 94 | * @version 5.1.0 95 | */ 96 | public function getMetadata($key=null, $domain=null) 97 | { 98 | return $this->svc->get($this->getMetadataUrl($key, $domain)); 99 | } 100 | 101 | /** 102 | * Merges the metadata for the provider vDC with the information provided. 103 | * 104 | * @param VMware_VCloud_API_MetadataType $meta 105 | * @return VMware_VCloud_API_TaskType 106 | * @since Version 1.5.0 107 | */ 108 | public function mergeMetadata($meta) 109 | { 110 | $url = $this->getMetadataUrl(); 111 | $type = VMware_VCloud_SDK_Constants::METADATA_CONTENT_TYPE; 112 | return $this->svc->post($url, 202, $type, $meta); 113 | } 114 | 115 | /** 116 | * Sets the metadata for the particular key in the specified domain for the 117 | * provider vDC to the value provided. Note: This will replace any existing 118 | * metadata information. 119 | * 120 | * @param string $key 121 | * @param VMware_VCloud_API_MetadataValueType $value 122 | * @param string $domain 123 | * @return VMware_VCloud_API_TaskType 124 | * @since Version 1.5.0 125 | * @version 5.1.0 126 | */ 127 | public function setMetadataByKey($key, $value, $domain=null) 128 | { 129 | $url = $this->getMetadataUrl($key, $domain); 130 | $type = VMware_VCloud_SDK_Constants::METADATA_VALUE_CONTENT_TYPE; 131 | return $this->svc->put($url, 202, $type, $value); 132 | } 133 | 134 | /** 135 | * Deletes the metadata for the particular key in the specified domain for 136 | * the provider vDC. 137 | * 138 | * @param string $key 139 | * @param string $domain 140 | * @return VMware_VCloud_API_TaskType 141 | * @since Version 1.5.0 142 | * @version 5.1.0 143 | */ 144 | public function deleteMetadataByKey($key, $domain=null) 145 | { 146 | $url = $this->getMetadataUrl($key, $domain); 147 | return $this->svc->delete($url, 202); 148 | } 149 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/ProviderVdcStorageProfile.php: -------------------------------------------------------------------------------- 1 | getDataObj(); 13 | } 14 | 15 | /** 16 | * Get a reference to a provider vDC storage profile entity. 17 | * 18 | * @return VMware_VCloud_API_ReferenceType 19 | * @since Version 5.1.0 20 | */ 21 | public function getProviderVdcStorageProfileRef() 22 | { 23 | return $this->getRef(VMware_VCloud_SDK_Constants:: 24 | PROVIDER_VDC_STORAGE_PROFILE_CONTENT_TYPE); 25 | } 26 | 27 | /** 28 | * Update a provider vDC storage profile. You can update a provider vDC 29 | * storage profile to enable or disable it. 30 | * 31 | * @param VMware_VCloud_API_ProviderVdcStorageProfileType $profile 32 | * @return VMware_VCloud_API_ProviderVdcStorageProfileType 33 | * @since Version 5.1.0 34 | */ 35 | public function update($profile) 36 | { 37 | $type = VMware_VCloud_SDK_Constants:: 38 | PROVIDER_VDC_STORAGE_PROFILE_CONTENT_TYPE; 39 | return $this->put($url, 200, $type, $profile); 40 | } 41 | 42 | /** 43 | * Get metadata associated with the provider vDC storage profile or metadata 44 | * associated with the provider vDC storage profile for the specified key 45 | * in the specified domain. 46 | * 47 | * @param string $key 48 | * @param string $domain 49 | * @return VMware_VCloud_API_MetadataType| 50 | * VMware_VCloud_API_MetadataValueType|null 51 | * @since Version 5.1.0 52 | */ 53 | public function getMetadata($key=null, $domain=null) 54 | { 55 | return $this->svc->get($this->getMetadataUrl($key, $domain)); 56 | } 57 | 58 | /** 59 | * Merges the metadata for the provider vDC storage profile with the 60 | * information provided. 61 | * 62 | * @param VMware_VCloud_API_MetadataType $meta 63 | * @return VMware_VCloud_API_TaskType 64 | * @since Version 5.1.0 65 | */ 66 | public function mergeMetadata($meta) 67 | { 68 | $url = $this->getMetadataUrl(); 69 | $type = VMware_VCloud_SDK_Constants::METADATA_CONTENT_TYPE; 70 | return $this->svc->post($url, 202, $type, $meta); 71 | } 72 | 73 | /** 74 | * Sets the metadata for the particular key in the specified domain for the 75 | * provider vDC storage profile to the value provided. Note: This will 76 | * replace any existing metadata information. 77 | * 78 | * @param string $key 79 | * @param VMware_VCloud_API_MetadataValueType $value 80 | * @param string $domain 81 | * @return VMware_VCloud_API_TaskType 82 | * @since Version 5.1.0 83 | */ 84 | public function setMetadataByKey($key, $value, $domain=null) 85 | { 86 | $url = $this->getMetadataUrl($key, $domain); 87 | $type = VMware_VCloud_SDK_Constants::METADATA_VALUE_CONTENT_TYPE; 88 | return $this->svc->put($url, 202, $type, $value); 89 | } 90 | 91 | /** 92 | * Deletes the metadata for the particular key in the specified domain for 93 | * the provider vDC storage profile. 94 | * 95 | * @param string $key 96 | * @return VMware_VCloud_API_TaskType 97 | * @since Version 5.1.0 98 | */ 99 | public function deleteMetadataByKey($key, $domain=null) 100 | { 101 | $url = $this->getMetadataUrl($key, $domain); 102 | return $this->svc->delete($url, 202); 103 | } 104 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Query.php: -------------------------------------------------------------------------------- 1 | svc = $svc; 43 | $this->queryUrl = $svc->getBaseUrl() . '/query?type='; 44 | } 45 | 46 | /** 47 | * Returns an instance of VMware_VCloud_SDK_Query object. 48 | * 49 | * @param VMware_VCloud_SDK_Service 50 | * @return VMware_VCloud_SDK_Query 51 | * @since Version 1.5.0 52 | */ 53 | public static function getInstance($svc) 54 | { 55 | if (self::$sdkQuery) 56 | { 57 | return self::$sdkQuery; 58 | } 59 | return new VMware_VCloud_SDK_Query($svc); 60 | } 61 | 62 | /** 63 | * Retrieves references for the specified query type. 64 | * 65 | * @param string $type 66 | * @param array|VMware_VCloud_SDK_QueryParams $params 67 | * @return VMware_VCloud_API_ReferencesType 68 | * @since Version 1.5.0 69 | */ 70 | public function queryReferences($type, $params=null) 71 | { 72 | return $this->query($type, $params, self::QUERY_REFERENCES); 73 | } 74 | 75 | /** 76 | * Retrieves records for the specified query type. 77 | * 78 | * @param string $type 79 | * @param array|VMware_VCloud_SDK_QueryParams $params 80 | * @return VMware_VCloud_API_QueryResultRecordsType 81 | * @since Version 1.5.0 82 | */ 83 | public function queryRecords($type, $params=null) 84 | { 85 | return $this->query($type, $params, self::QUERY_RECORDS); 86 | } 87 | 88 | /** 89 | * Retrieves idrecords for the specified query type. 90 | * 91 | * @param string $type 92 | * @param array|VMware_VCloud_SDK_QueryParams $params 93 | * @return VMware_VCloud_API_QueryResultRecordsType 94 | * @since Version 1.5.0 95 | */ 96 | public function queryIdRecords($type, $params=null) 97 | { 98 | return $this->query($type, $params, self::QUERY_IDRECORDS); 99 | } 100 | 101 | /** 102 | * Retrieves idrecords for the specified query type. 103 | * 104 | * @param string $type 105 | * @param array|VMware_VCloud_SDK_QueryParams $params 106 | * @param string $format 107 | * @return VMware_VCloud_API_QueryResultRecordsType 108 | * @access protected 109 | */ 110 | protected function query($type, $params, $format) 111 | { 112 | $url = $this->constructUrl($type, $params); 113 | $url .= '&format=' . $format; 114 | return $this->svc->get($url); 115 | } 116 | 117 | /** 118 | * Constructs a query URL, including query type and query parameters. 119 | * 120 | * @param string $type 121 | * @param array|VMware_VCloud_SDK_QueryParams $params 122 | * @return string 123 | * @access protected 124 | */ 125 | protected function constructUrl($type, $params=null) 126 | { 127 | $url = $this->queryUrl . $type; 128 | if (!is_null($params)) 129 | { 130 | $ps = method_exists($params, 'getParams')? 131 | $params->getParams() : $params; 132 | foreach ($ps as $key => $value) 133 | { 134 | if (isset($value)) 135 | { 136 | $url .= '&' . "$key=$value"; 137 | } 138 | } 139 | } 140 | //echo "query URL = $url\n"; 141 | return $url; 142 | } 143 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Query/Params.php: -------------------------------------------------------------------------------- 1 | null, 11 | 'sortDesc'=>null, 12 | 'page'=>null, 13 | 'pageSize'=>null, 14 | 'fields'=>null, 15 | 'filter'=>null 16 | ); 17 | 18 | /** 19 | * Constructor 20 | * 21 | * Initialize the query parameters. 22 | */ 23 | public function __construct($params=null) 24 | { 25 | if (!empty($params)) 26 | { 27 | $this->params = $params; 28 | } 29 | } 30 | 31 | /** 32 | * Returns query parameters. 33 | * 34 | * @return array 35 | * @since Version 1.5.0 36 | */ 37 | public function getParams() 38 | { 39 | return $this->params; 40 | } 41 | 42 | /** 43 | * Sets query parameters. 44 | * 45 | * @param array $params 46 | * @since Version 1.5.0 47 | */ 48 | public function setParams($params) 49 | { 50 | $this->params = $params; 51 | } 52 | 53 | /** 54 | * Sets the query condition. 55 | * For example: $params->setFilter('(name==vApp*;category==Catalog%20Item)'); 56 | * 57 | * @param string $filter An FIQL statement. 58 | * @see http://wattle.apnic.net/ietf/all-ids/draft-nottingham-atompub-fiql-00.txt 59 | * @since Version 1.5.0 60 | */ 61 | public function setFilter($filter) 62 | { 63 | if (isset($filter)) 64 | { 65 | $this->params['filter'] = $filter; 66 | } 67 | } 68 | 69 | /** 70 | * Sets fields to retrieve. 71 | * For example: $params->setFields('name,category'); 72 | * 73 | * @param string $fields A comma separeted fields string. 74 | * @since Version 1.5.0 75 | */ 76 | public function setFields($fields) 77 | { 78 | if (isset($fields)) 79 | { 80 | $this->params['fields'] = $fields; 81 | } 82 | } 83 | 84 | /** 85 | * Sets the size of the page when displaying query output. 86 | * 87 | * @param int $pageSize 88 | * @since Version 1.5.0 89 | */ 90 | public function setPageSize($pageSize) 91 | { 92 | if (0 < $pageSize) 93 | { 94 | $this->params['pageSize'] = $pageSize; 95 | } 96 | } 97 | 98 | /** 99 | * Sets the page number of the query output to retrieve. 100 | * 101 | * @param int $page Maximum is 100. 102 | * @since Version 1.5.0 103 | */ 104 | public function setPage($page) 105 | { 106 | if (0 < $page) 107 | { 108 | $this->params['page'] = $page; 109 | } 110 | } 111 | 112 | /** 113 | * Sets the field(s) name by which to sort in the descending order. Field 114 | * name comes first has higher priority in the sorting. For example, when 115 | * $fields = 'LastName, FirstName', the records of the query result will be 116 | * sorted first by the 'LastName' column, and then the 'FirstName' column. 117 | * This parameter can only be used when the query output format is set as 118 | * 'records'. 119 | * For example: $params->setSortDesc('name,category'); 120 | * 121 | * @param string $fields Comma separated field(s) name 122 | * @param string $pname Query sorting parameter names, allowed values are: 123 | * 'sortDesc', 'sortAsc'. 124 | * @since Version 1.5.0 125 | */ 126 | public function setSortDesc($fields, $pname='sortDesc') 127 | { 128 | if (!isset($fields)) 129 | { 130 | $this->params[$pname] = null; 131 | return; 132 | } 133 | $fs = explode(',', $fields); 134 | $sort = $fs[0]; 135 | unset($fs[0]); 136 | if (isset($fs)) 137 | { 138 | foreach ($fs as $f) 139 | { 140 | $sort .= '&' . "$pname=$f"; 141 | } 142 | } 143 | $this->params[$pname] = $sort; 144 | } 145 | 146 | /** 147 | * Sets the field(s) name by which to sort in the ascending order. This 148 | * parameter can only be used when the query output format is set as 149 | * 'records'. 150 | * For example: $params->setSortAsc('name,category'); 151 | * @param string $fields Comma separted field(s) name. 152 | * @since Version 1.5.0 153 | */ 154 | public function setSortAsc($fields) 155 | { 156 | $this->setSortDesc($fields, 'sortAsc'); 157 | } 158 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Query/Types.php: -------------------------------------------------------------------------------- 1 | getRef(VMware_VCloud_SDK_Constants::RIGHT_CONTENT_TYPE); 13 | } 14 | 15 | /** 16 | * Get a VMware vCloud right entity. 17 | * 18 | * @return VMware_VCloud_API_RightType 19 | * @since Version 5.1.0 20 | */ 21 | public function getRight() 22 | { 23 | return $this->getDataObj(); 24 | } 25 | 26 | /** 27 | * Constructs vCloud ID of this right from its UUID. 28 | * 29 | * @return string 30 | * @since Version 5.1.0 31 | */ 32 | public function getId() 33 | { 34 | return 'urn:vcloud:right:' . $this->getUuid(); 35 | } 36 | 37 | /** 38 | * Updates a right. 39 | * 40 | * @param VMware_VCloud_API_RightType $params 41 | * @return VMware_VCloud_API_RightType 42 | * @since Version 5.1.0 43 | */ 44 | public function updateRights($params) 45 | { 46 | $type = VMware_VCloud_SDK_Constants::RIGHT_CONTENT_TYPE; 47 | return $this->svc->put($this->url, 200, $type, $params); 48 | } 49 | 50 | /** 51 | * Delete a right. 52 | * 53 | * @return null 54 | * @since Version 5.1.0 55 | */ 56 | public function delete() 57 | { 58 | $this->svc->delete($this->url, 204); 59 | $this->destroy(); 60 | } 61 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Role.php: -------------------------------------------------------------------------------- 1 | getRef(VMware_VCloud_SDK_Constants::ROLE_CONTENT_TYPE); 13 | } 14 | 15 | /** 16 | * Get a VMware vCloud role entity. 17 | * 18 | * @return VMware_VCloud_API_RoleType 19 | * @since Version 1.0.0 20 | */ 21 | public function getRole() 22 | { 23 | return $this->getDataObj(); 24 | } 25 | 26 | /** 27 | * Constructs vCloud ID of this role from its UUID. 28 | * 29 | * @return string 30 | * @since Version 1.5.0 31 | */ 32 | public function getId() 33 | { 34 | return 'urn:vcloud:role:' . $this->getUuid(); 35 | } 36 | 37 | /** 38 | * Modify a role. 39 | * 40 | * @param VMware_VCloud_API_RoleType $role 41 | * @return VMware_VCloud_API_RoleType 42 | * @since Version 1.0.0 43 | */ 44 | public function modify($role) 45 | { 46 | $type = VMware_VCloud_SDK_Constants::ROLE_CONTENT_TYPE; 47 | return $this->svc->put($this->url, 200, $type, $role); 48 | } 49 | 50 | /** 51 | * Delete a role. 52 | * 53 | * @return null 54 | * @since Version 1.0.0 55 | */ 56 | public function delete() 57 | { 58 | $this->svc->delete($this->url, 204); 59 | $this->destroy(); 60 | } 61 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/ShadowVm.php: -------------------------------------------------------------------------------- 1 | getRef( 14 | VMware_VCloud_SDK_Constants::SHADOW_VMS_CONTENT_TYPE); 15 | } 16 | 17 | /** 18 | * Gets the shadowVm data object. 19 | * 20 | * @return VMware_VCloud_API_ReferencesType 21 | * @since Version 5.1.0 22 | */ 23 | public function getShadowVm() 24 | { 25 | return $this->getDataObj(); 26 | } 27 | 28 | /** 29 | * Deletes shadow VM. 30 | * 31 | * @return VMware_VCloud_API_TaskType 32 | * @since Version 1.5.0 33 | * @deprecated since version 5.1.0 34 | */ 35 | public function delete() 36 | { 37 | $task = $this->svc->delete($this->url, 202); 38 | $this->destroy(); 39 | return $task; 40 | } 41 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/Task.php: -------------------------------------------------------------------------------- 1 | getDataObj(); 13 | } 14 | 15 | /** 16 | * Cancel a task. 17 | * 18 | * @return null 19 | * @since Version 1.5.0 20 | */ 21 | public function cancel() 22 | { 23 | if ($this->isRunning()) 24 | { 25 | $url = $this->url . '/action/cancel'; 26 | $this->svc->post($url, 204); 27 | } 28 | } 29 | 30 | /** 31 | * Check whether this task is running. 32 | * 33 | * @return boolean 34 | * @since Version 1.5.0 35 | */ 36 | public function isRunning() 37 | { 38 | $task = $this->getTask(); 39 | return in_array($task->get_status(), array('queued', 40 | 'preRunning', 'running')); 41 | } 42 | 43 | /** 44 | * Wait for a task to finish. 45 | * 46 | * @param int $iteration Wait loops 47 | * @param int $interval Wait interval in seconds 48 | * @return VMware_VCloud_API_TaskType 49 | * @since Version 1.5.0 50 | */ 51 | public function wait($iteration=15, $interval=20) 52 | { 53 | $task = $this->getTask(); 54 | return $this->svc->waitForTask($task, $iteration, $interval); 55 | } 56 | 57 | /** 58 | * Update a task. 59 | * 60 | * @param VMware_VCloud_API_TaskType $task 61 | * @return VMware_VCloud_API_TaskType 62 | * @since Version 5.1.0 63 | */ 64 | public function update($task) 65 | { 66 | $type = VMware_VCloud_SDK_Constants::TASK_CONTENT_TYPE; 67 | return $this->svc->put($this->url, 200, $type, $task); 68 | } 69 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/TasksList.php: -------------------------------------------------------------------------------- 1 | getRef( 14 | VMware_VCloud_SDK_Constants::TASK_LISTS_CONTENT_TYPE); 15 | } 16 | 17 | /** 18 | * Gets the taskslist data object. 19 | * 20 | * @return VMware_VCloud_API_ReferencesType 21 | * @since Version 5.1.0 22 | */ 23 | public function getTasksList() 24 | { 25 | return $this->getDataObj(); 26 | } 27 | 28 | /** 29 | * Create task. 30 | * 31 | * @param VMware_VCloud_API_TaskType $params 32 | * @return VMware_VCloud_API_TaskType 33 | * @since Version 5.1.0 34 | */ 35 | public function createTasksList($params) 36 | { 37 | $type = VMware_VCloud_SDK_Constants::TASK_CONTENT_TYPE; 38 | return $this->svc->post($this->url, 200, $type, $params); 39 | } 40 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/User.php: -------------------------------------------------------------------------------- 1 | getRef(VMware_VCloud_SDK_Constants::USER_CONTENT_TYPE); 13 | } 14 | 15 | /** 16 | * Get a VMware vCloud user entity. 17 | * 18 | * @return VMware_VCloud_API_UserType 19 | * @since Version 1.0.0 20 | */ 21 | public function getUser() 22 | { 23 | return $this->getDataObj(); 24 | } 25 | 26 | /** 27 | * Constructs vCloud ID of this user from its UUID. 28 | * 29 | * @return string 30 | * @since Version 1.5.0 31 | */ 32 | public function getId() 33 | { 34 | return 'urn:vcloud:user:' . $this->getUuid(); 35 | } 36 | 37 | /** 38 | * Enable a user. 39 | * 40 | * @param boolean $enable To enable, set to true; to disable, set to false 41 | * @return VMware_VCloud_API_UserType|null 42 | * @since Version 1.0.0 43 | */ 44 | public function enable($enable=true) 45 | { 46 | $user = $this->getUser(); 47 | $isEnabled = $user->getIsEnabled(); 48 | if ($isEnabled === $enable) 49 | { 50 | return null; 51 | } 52 | $user->setIsEnabled($enable); 53 | return $this->modify($user); 54 | } 55 | 56 | /** 57 | * Disable a user. 58 | * 59 | * @return VMware_VCloud_API_UserType|null 60 | * @since Version 1.0.0 61 | */ 62 | public function disable() 63 | { 64 | return $this->enable(false); 65 | } 66 | 67 | /** 68 | * Modify a user. 69 | * 70 | * @param VMware_VCloud_API_UserType $user 71 | * @return VMware_VCloud_API_UserType 72 | * @since Version 1.0.0 73 | */ 74 | public function modify($user) 75 | { 76 | $type = VMware_VCloud_SDK_Constants::USER_CONTENT_TYPE; 77 | return $this->svc->put($this->url, 200, $type, $user); 78 | } 79 | 80 | /** 81 | * Delete a user. 82 | * 83 | * @return null 84 | * @since Version 1.0.0 85 | */ 86 | public function delete() 87 | { 88 | $this->svc->delete($this->url, 204); 89 | $this->destroy(); 90 | } 91 | 92 | /** 93 | * Unlock a user. 94 | * 95 | * @return null 96 | * @since Version 1.5.0 97 | * @deprecated since version 5.1.0 98 | */ 99 | public function unlock() 100 | { 101 | $url = $this->url . '/action/unlock'; 102 | return $this->svc->post($url, 204); 103 | } 104 | 105 | /** 106 | * Queries user privileges on a set of entities. 107 | * 108 | * @param VMware_VCloud_API_Extension_EntityReferencesType $refs 109 | * @return VMware_VCloud_API_Extension_UserEntityRightsType 110 | * @since Version 5.1.0 111 | */ 112 | public function getEntityRights($refs) 113 | { 114 | $url = $this->url . '/entityRights'; 115 | $type = VMware_VCloud_SDK_Constants::ENTITY_REFERENCES_CONTENT_TYPE; 116 | return $this->svc->post($url, 200, $type, $refs); 117 | } 118 | 119 | /** 120 | * Queries user granted privileges. 121 | * 122 | * @return VMware_VCloud_API_ReferencesType 123 | * @since Version 5.1.0 124 | */ 125 | public function getGrantedRights() 126 | { 127 | $url = $this->url . '/grantedRights'; 128 | return $this->svc->get($url); 129 | } 130 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/UserService.php: -------------------------------------------------------------------------------- 1 | getRef( 14 | VMware_VCloud_SDK_Constants::USER_SERVICE_CONTENT_TYPE); 15 | } 16 | /** 17 | * Gets the user service data object. 18 | * 19 | * @return VMware_VCloud_API_ServiceType 20 | * @since Version 5.1.0 21 | */ 22 | public function getUserService() 23 | { 24 | return $this->getDataObj(); 25 | } 26 | 27 | /** 28 | * Retrieves API Definition. 29 | * 30 | * @return VMware_VCloud_API_ApiDefinitionType 31 | * @since Version 5.1.0 32 | */ 33 | public function getAPIDefinitionRefs() 34 | { 35 | $type = 'apiDefinition'; 36 | return $this->svc->queryReferencesByType($type); 37 | } 38 | } -------------------------------------------------------------------------------- /library/VMware/VCloud/SDK/VdcStorageProfile.php: -------------------------------------------------------------------------------- 1 | getDataObj(); 13 | } 14 | 15 | /** 16 | * Get a reference to a vDC storage profile entity. 17 | * 18 | * @return VMware_VCloud_API_ReferenceType 19 | * @since Version 5.1.0 20 | */ 21 | public function getVdcStorageProfileRef() 22 | { 23 | return $this->getRef(VMware_VCloud_SDK_Constants:: 24 | VDC_STORAGE_PROFILE_CONTENT_TYPE); 25 | } 26 | 27 | /** 28 | * Get metadata associated with the vDC storage profile or metadata 29 | * associated with the vDC storage profile for the specified key in the 30 | * specified domain. 31 | * 32 | * @param string $key 33 | * @param string $domain 34 | * @return VMware_VCloud_API_MetadataType|VMware_VCloud_API_MetadataValueType|null 35 | * @since Version 5.1.0 36 | */ 37 | public function getMetadata($key=null, $domain=null) 38 | { 39 | return $this->svc->get($this->getMetadataUrl($key, $domain)); 40 | } 41 | } -------------------------------------------------------------------------------- /sami.php: -------------------------------------------------------------------------------- 1 | files() 8 | ->name('*.php') 9 | ->in(__DIR__.'/library') 10 | ; 11 | 12 | return new Sami($iterator, array( 13 | 'theme' => 'bootstrap', 14 | 'title' => 'VMware vCloud SDK for PHP - patched version', 15 | 'build_dir' => __DIR__.'/docs/api', 16 | 'cache_dir' => __DIR__.'/.sami', 17 | 'default_opened_level' => 2, 18 | )); -------------------------------------------------------------------------------- /scripts/patches/002-retrieve-username-token.patch: -------------------------------------------------------------------------------- 1 | library/VMware/VCloud/SDK/Http/Client.php | 20 ++++++++++++++++++++ 2 | 1 file changed, 20 insertions(+) 3 | 4 | diff --git a/library/VMware/VCloud/SDK/Http/Client.php b/library/VMware/VCloud/SDK/Http/Client.php 5 | index 523c246..0648806 100644 6 | --- a/library/VMware/VCloud/SDK/Http/Client.php 7 | +++ b/library/VMware/VCloud/SDK/Http/Client.php 8 | @@ -264,4 +264,24 @@ class VMware_VCloud_SDK_Http_Client implements 9 | } 10 | fclose($fh); 11 | } 12 | + 13 | + /** 14 | + * @amercier #2 15 | + * 16 | + * Get the username of a HTTP vCloud authentication token 17 | + * @return string Returns the vCloud username@organization 18 | + */ 19 | + public function getUsername() { 20 | + return $this->username; 21 | + } 22 | + 23 | + /** 24 | + * @amercier #2 25 | + * 26 | + * Get the vCloud authentication token 27 | + * @return Returns the vCloud authentication token 28 | + */ 29 | + public function getToken() { 30 | + return $this->authToken; 31 | + } 32 | } 33 | \ No newline at end of file 34 | -------------------------------------------------------------------------------- /scripts/patches/003-remove-require-once.patch: -------------------------------------------------------------------------------- 1 | library/VMware/VCloud/SDK/Http/Client.php | 4 ++-- 2 | 1 file changed, 2 insertions(+), 2 deletions(-) 3 | 4 | diff --git a/library/VMware/VCloud/SDK/Http/Client.php b/library/VMware/VCloud/SDK/Http/Client.php 5 | index 523c246..e870b58 100644 6 | --- a/library/VMware/VCloud/SDK/Http/Client.php 7 | +++ b/library/VMware/VCloud/SDK/Http/Client.php 8 | @@ -56,7 +56,7 @@ class VMware_VCloud_SDK_Http_Client implements 9 | } 10 | else 11 | { 12 | - require_once 'VMware/VCloud/Http/Exception.php'; 13 | + // require_once 'VMware/VCloud/Http/Exception.php'; // @amercier #3 14 | throw new VMware_VCloud_SDK_Http_Exception( 15 | "'username' and 'password' are valid keys of array \$auth\n"); 16 | } 17 | @@ -160,7 +160,7 @@ class VMware_VCloud_SDK_Http_Client implements 18 | } 19 | catch (HTTP_Request2_Exception $e) 20 | { 21 | - require_once 'VMware/VCloud/Http/Exception.php'; 22 | + // require_once 'VMware/VCloud/Http/Exception.php'; // @amercier #3 23 | throw new VMware_VCloud_SDK_Http_Exception($e->getMessage(), 24 | $e->getCode()); 25 | } 26 | -------------------------------------------------------------------------------- /scripts/patches/005-edge-gateway-modification.patch: -------------------------------------------------------------------------------- 1 | library/VMware/VCloud/SDK/EdgeGateway.php | 3 ++- 2 | 1 file changed, 2 insertions(+), 1 deletion(-) 3 | 4 | diff --git a/library/VMware/VCloud/SDK/EdgeGateway.php b/library/VMware/VCloud/SDK/EdgeGateway.php 5 | index 9d7719b..963f683 100644 6 | --- a/library/VMware/VCloud/SDK/EdgeGateway.php 7 | +++ b/library/VMware/VCloud/SDK/EdgeGateway.php 8 | @@ -53,7 +53,8 @@ class VMware_VCloud_SDK_EdgeGateway extends VMware_VCloud_SDK_Abstract 9 | public function modify($params) 10 | { 11 | $type = VMware_VCloud_SDK_Constants::EDGE_GATEWAYS_CONTENT_TYPE; 12 | - return $this->svc->put($this->url, 200, $type, $params); 13 | + // return $this->svc->put($this->url, 200, $type, $params); 14 | + return $this->svc->put($this->url, 202, $type, $params); // @amercier #5 15 | } 16 | 17 | /** 18 | -------------------------------------------------------------------------------- /scripts/patches/006-upload-big-ovf.patch: -------------------------------------------------------------------------------- 1 | library/VMware/VCloud/SDK/Http/Client.php | 61 ++++++++++++++++++++++++++----- 2 | 1 file changed, 51 insertions(+), 10 deletions(-) 3 | 4 | diff --git a/library/VMware/VCloud/SDK/Http/Client.php b/library/VMware/VCloud/SDK/Http/Client.php 5 | index bba29b1..916f4bb 100644 6 | --- a/library/VMware/VCloud/SDK/Http/Client.php 7 | +++ b/library/VMware/VCloud/SDK/Http/Client.php 8 | @@ -247,22 +247,63 @@ class VMware_VCloud_SDK_Http_Client implements 9 | /** 10 | * Upload a file. 11 | * 12 | - * @param string $url Target where to upload the file 13 | - * @param array $headers HTTP request headers 14 | - * @param string $file Full path of the file to be uploaded 15 | + * @param string $url Target where to upload the file 16 | + * @param array $headers HTTP request headers 17 | + * @param string $file Full path of the file to be uploaded 18 | + * @param int $windowSize Chunk size in bytes, defaults to 10M 19 | * @return null 20 | * @since Version 1.0.0 21 | */ 22 | - public function upload($url, $headers, $file) 23 | + public function upload($url, $headers, $file, $windowSize = 10485760) 24 | { 25 | - session_write_close(); 26 | - if ($fh = fopen($file, 'rb')) 27 | + if( filesize($file) <= $windowSize ) 28 | + { 29 | + session_write_close(); 30 | + if ($fh = fopen($file, 'rb')) 31 | + { 32 | + $data = fread($fh, filesize($file)); 33 | + $this->put($url, $headers, $data); 34 | + flush(); 35 | + } 36 | + fclose($fh); 37 | + } 38 | + else 39 | { 40 | - $data = fread($fh, filesize($file)); 41 | - $this->put($url, $headers, $data); 42 | - flush(); 43 | + $i = 0; 44 | + 45 | + # 'Accept' header is used to identify VMware vCloud Director version 46 | + $headers['Accept'] = VMware_VCloud_SDK_Constants::VCLOUD_ACCEPT_HEADER . 47 | + ';' . 48 | + 'version=' . $this->apiVersion; 49 | + 50 | + $transferred = 0; 51 | + $remaining = filesize($file); 52 | + $total = filesize($file); 53 | + 54 | + session_write_close(); 55 | + if ($fh = fopen($file, 'rb')) 56 | + { 57 | + while( $data = fread($fh, $windowSize) ) 58 | + { 59 | + 60 | + $contentLength = min($remaining, $windowSize); 61 | + 62 | + $headers['Content-Range'] = 'bytes ' . $transferred . '-' . ($transferred + $contentLength) . '/' . $total; 63 | + $headers['Content-Length'] = $contentLength; 64 | + $response = $this->put($url, $headers, $data); 65 | + 66 | + if( $response->getStatus() !== 200 ) 67 | + { 68 | + throw new Exception('Can\'t upload ' . $file . ' (HTTP ' . $response->getStatus() . '): ' . $response->getBody()); 69 | + } 70 | + 71 | + $transferred += $contentLength; 72 | + $remaining .= $contentLength; 73 | + } 74 | + flush(); 75 | + } 76 | + fclose($fh); 77 | } 78 | - fclose($fh); 79 | } 80 | 81 | /** 82 | -------------------------------------------------------------------------------- /scripts/patches/007-upload-ovf-windows-cygwin.patch: -------------------------------------------------------------------------------- 1 | library/VMWare/VCloud/SDK/Vdc.php | 3 ++- 2 | 1 file changed, 2 insertions(+), 1 deletion(-) 3 | 4 | diff --git a/library/VMWare/VCloud/SDK/Vdc.php b/library/VMWare/VCloud/SDK/Vdc.php 5 | index ea34b75..70180f6 100644 6 | --- a/library/VMWare/VCloud/SDK/Vdc.php 7 | +++ b/library/VMWare/VCloud/SDK/Vdc.php 8 | @@ -199,7 +199,8 @@ $vdcStorageProfileRef, $catalogRef) 9 | $diskUrl = $refs[0]->get_href(); 10 | $name = $file->get_name(); 11 | $diskPath = null; 12 | - $ovfFileName=substr($ovfDescriptorPath, strrpos($ovfDescriptorPath, '/')+1); 13 | + // $ovfFileName=substr($ovfDescriptorPath, strrpos($ovfDescriptorPath, '/')+1); 14 | + $ovfFileName=substr($ovfDescriptorPath, strrpos($ovfDescriptorPath, '/')+1); // @amercier #7 15 | $diskPath=str_replace($ovfFileName, $name, $ovfDescriptorPath); 16 | $this->svc->upload($diskUrl, $diskPath); 17 | } 18 | -------------------------------------------------------------------------------- /scripts/patches/008-upload-media-image-type.patch: -------------------------------------------------------------------------------- 1 | library/VMware/VCloud/SDK/Vdc.php | 1 + 2 | 1 file changed, 1 insertion(+) 3 | 4 | diff --git a/library/VMware/VCloud/SDK/Vdc.php b/library/VMware/VCloud/SDK/Vdc.php 5 | index 70180f6..1ae58e6 100644 6 | --- a/library/VMware/VCloud/SDK/Vdc.php 7 | +++ b/library/VMware/VCloud/SDK/Vdc.php 8 | @@ -398,6 +398,7 @@ $vdcStorageProfileRef, $catalogRef) 9 | */ 10 | private function uploadMedia($filename, $imageType, $mediaType) 11 | { 12 | + $mediaType->set_imageType($imageType); 13 | $mediaUpInfo = $this->sendUploadMediaRequest($mediaType); 14 | $url = $this->getMediaUploadInfo($mediaUpInfo); 15 | $durl = $mediaUpInfo->get_href(); 16 | -------------------------------------------------------------------------------- /scripts/patches/009-vapp-template-query-storagekb.patch: -------------------------------------------------------------------------------- 1 | From d41fa644a91df38f1d9de1c151d4571e91d3b612 Mon Sep 17 00:00:00 2001 2 | From: Brian Scaturro 3 | Date: Fri, 9 Aug 2013 11:26:53 -0400 4 | Subject: [PATCH] add support for storageKB field on 5 | VMware_VCloud_API_QueryResultVAppTemplateRecordType 6 | 7 | --- 8 | .../API/QueryResultVAppTemplateRecordType.php | 24 ++++++++++++++++++++-- 9 | 1 file changed, 22 insertions(+), 2 deletions(-) 10 | 11 | diff --git a/library/VMware/VCloud/API/QueryResultVAppTemplateRecordType.php b/library/VMware/VCloud/API/QueryResultVAppTemplateRecordType.php 12 | index 00d7e97..b1793b0 100644 13 | --- a/library/VMware/VCloud/API/QueryResultVAppTemplateRecordType.php 14 | +++ b/library/VMware/VCloud/API/QueryResultVAppTemplateRecordType.php 15 | @@ -15,6 +15,7 @@ class VMware_VCloud_API_QueryResultVAppTemplateRecordType extends VMware_VCloud_ 16 | protected $isExpired = null; 17 | protected $creationDate = null; 18 | protected $catalogName = null; 19 | + protected $storageKB = null; 20 | protected $namespace = array(); 21 | protected $namespacedef = null; 22 | protected $tagName = null; 23 | @@ -40,9 +41,10 @@ class VMware_VCloud_API_QueryResultVAppTemplateRecordType extends VMware_VCloud_ 24 | * @param string $org - [optional] an attribute, 25 | * @param boolean $isExpired - [optional] an attribute, 26 | * @param dateTime $creationDate - [optional] an attribute, 27 | - * @param string $catalogName - [optional] an attribute, 28 | + * @param string $catalogName - [optional] an attribute, 29 | + * @param string $storageKB - [optional] an attribute 30 | */ 31 | - public function __construct($href=null, $type=null, $id=null, $Link=null, $Metadata=null, $isGoldMaster=null, $status=null, $isDeployed=null, $name=null, $storageProfileName=null, $isEnabled=null, $isPublished=null, $vdcName=null, $vdc=null, $ownerName=null, $isBusy=null, $org=null, $isExpired=null, $creationDate=null, $catalogName=null) { 32 | + public function __construct($href=null, $type=null, $id=null, $Link=null, $Metadata=null, $isGoldMaster=null, $status=null, $isDeployed=null, $name=null, $storageProfileName=null, $isEnabled=null, $isPublished=null, $vdcName=null, $vdc=null, $ownerName=null, $isBusy=null, $org=null, $isExpired=null, $creationDate=null, $catalogName=null, $storageKB=null) { 33 | parent::__construct($href, $type, $id, $Link, $Metadata); 34 | $this->isGoldMaster = $isGoldMaster; 35 | $this->status = $status; 36 | @@ -59,6 +61,7 @@ class VMware_VCloud_API_QueryResultVAppTemplateRecordType extends VMware_VCloud_ 37 | $this->isExpired = $isExpired; 38 | $this->creationDate = $creationDate; 39 | $this->catalogName = $catalogName; 40 | + $this->storageKB = $storageKB; 41 | $this->tagName = 'VAppTemplateRecord'; 42 | $this->namespacedef = ' xmlns:vcloud="http://www.vmware.com/vcloud/v1.5" xmlns:ns12="http://www.vmware.com/vcloud/v1.5" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:ovfenv="http://schemas.dmtf.org/ovf/environment/1" xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5" xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'; 43 | } 44 | @@ -152,6 +155,12 @@ class VMware_VCloud_API_QueryResultVAppTemplateRecordType extends VMware_VCloud_ 45 | public function set_catalogName($catalogName) { 46 | $this->catalogName = $catalogName; 47 | } 48 | + public function get_storageKB() { 49 | + return $this->storageKB; 50 | + } 51 | + public function set_storageKB($storageKB) { 52 | + $this->storageKB = $storageKB; 53 | + } 54 | public function get_tagName() { return $this->tagName; } 55 | public function set_tagName($tagName) { $this->tagName = $tagName; } 56 | public function export($name=null, $out='', $level=0, $namespacedef=null, $namespace=null, $rootNS=null) { 57 | @@ -455,6 +464,17 @@ class VMware_VCloud_API_QueryResultVAppTemplateRecordType extends VMware_VCloud_ 58 | } else { 59 | $this->catalogName = null; 60 | } 61 | + $ndstorageKB = $attrs->getNamedItem('storageKB'); 62 | + if (!is_null($ndstorageKB)) { 63 | + $this->storageKB = $ndstorageKB->value; 64 | + if (isset($ndstorageKB->prefix)) { 65 | + $this->namespace['storageKB'] = $ndstorageKB->prefix; 66 | + $nsUri = $ndstorageKB->lookupNamespaceURI($ndstorageKB->prefix); 67 | + } 68 | + $node->removeAttributeNS($nsUri, 'storageKB'); 69 | + } else { 70 | + $this->storageKB = null; 71 | + } 72 | parent::buildAttributes($node, $namespaces); 73 | } 74 | protected function buildChildren($child, $nodeName, $namespace='') { 75 | -- 76 | 1.8.3.msysgit.0 77 | 78 | -------------------------------------------------------------------------------- /scripts/patches/012-upload-vapp-template-storage-profile-ref.patch: -------------------------------------------------------------------------------- 1 | From c4e79373009ad46908587a5256f85d1415e5f445 Mon Sep 17 00:00:00 2001 2 | From: Brian Scaturro 3 | Date: Fri, 9 Aug 2013 13:21:48 -0400 4 | Subject: [PATCH] VMware_VCloud_SDK_Vdc::sendUploadVAppTemplateRequest now uses 5 | 6 | --- 7 | library/VMware/VCloud/SDK/Vdc.php | 4 +++- 8 | 1 file changed, 3 insertions(+), 1 deletion(-) 9 | 10 | diff --git a/library/VMware/VCloud/SDK/Vdc.php b/library/VMware/VCloud/SDK/Vdc.php 11 | index 1ae58e6..65c47ff 100644 12 | --- a/library/VMware/VCloud/SDK/Vdc.php 13 | +++ b/library/VMware/VCloud/SDK/Vdc.php 14 | @@ -298,11 +298,12 @@ $vdcStorageProfileRef, $catalogRef) 15 | * to be created 16 | * @param boolean $manifestRequired A flag indicates the manifest 17 | * file is required or not 18 | + * @param VMware_VCloud_API_ReferenceType $vdcStorageProfileRef A reference to the storage profile being used 19 | * @return VMware_VCloud_API_VAppTemplateType 20 | * @since Version 1.0.0 21 | */ 22 | public function sendUploadVAppTemplateRequest($name, $format, 23 | - $description=null, $manifestRequired=false) 24 | + $description=null, $manifestRequired=false, $vdcStorageProfileRef=null) 25 | { 26 | $url = $this->url . '/action/uploadVAppTemplate'; 27 | $type = 28 | @@ -312,6 +313,7 @@ $vdcStorageProfileRef, $catalogRef) 29 | $params->set_transferFormat('application/' . $format . '+xml'); 30 | $params->setDescription($description); 31 | $params->set_manifestRequired($manifestRequired); 32 | + $params->setVdcStorageProfile($vdcStorageProfileRef); 33 | return $this->svc->post($url, 201, $type, $params); 34 | } 35 | 36 | -- 37 | 1.8.3.msysgit.0 38 | 39 | -------------------------------------------------------------------------------- /scripts/patches/013-vapp-template-delete-return-task.patch: -------------------------------------------------------------------------------- 1 | From 3a792cc6dd2be1f3bd6383f159a055e6d7027db3 Mon Sep 17 00:00:00 2001 2 | From: Brian Scaturro 3 | Date: Mon, 12 Aug 2013 13:34:09 -0400 4 | Subject: [PATCH] VMware_VCloud_SDK_VAppTemplate::delete now returns task 5 | 6 | --- 7 | library/VMware/VCloud/SDK/VAppTemplate.php | 3 ++- 8 | 1 file changed, 2 insertions(+), 1 deletion(-) 9 | 10 | diff --git a/library/VMware/VCloud/SDK/VAppTemplate.php b/library/VMware/VCloud/SDK/VAppTemplate.php 11 | index 811a973..8076c3d 100644 12 | --- a/library/VMware/VCloud/SDK/VAppTemplate.php 13 | +++ b/library/VMware/VCloud/SDK/VAppTemplate.php 14 | @@ -361,8 +361,9 @@ class VMware_VCloud_SDK_VAppTemplate extends VMware_VCloud_SDK_Abstract 15 | */ 16 | public function delete() 17 | { 18 | - $this->svc->delete($this->url, 202); 19 | + $task = $this->svc->delete($this->url, 202); 20 | $this->destroy(); 21 | + return $task; 22 | } 23 | 24 | /** 25 | -- 26 | 1.8.3.msysgit.0 27 | 28 | -------------------------------------------------------------------------------- /scripts/patches/014-vapp-template-delete-vapp-template-return-task.patch: -------------------------------------------------------------------------------- 1 | From 793e4dc39956721599f68f8f77153a9b05989cd0 Mon Sep 17 00:00:00 2001 2 | From: Brian Scaturro 3 | Date: Mon, 12 Aug 2013 13:48:20 -0400 4 | Subject: [PATCH] VMware_VCloud_SDK_VAppTemplate::deleteVAppTemplate returns 5 | task 6 | 7 | --- 8 | library/VMware/VCloud/SDK/VAppTemplate.php | 3 ++- 9 | 1 file changed, 2 insertions(+), 1 deletion(-) 10 | 11 | diff --git a/library/VMware/VCloud/SDK/VAppTemplate.php b/library/VMware/VCloud/SDK/VAppTemplate.php 12 | index 8076c3d..cbc52ac 100644 13 | --- a/library/VMware/VCloud/SDK/VAppTemplate.php 14 | +++ b/library/VMware/VCloud/SDK/VAppTemplate.php 15 | @@ -414,8 +414,9 @@ class VMware_VCloud_SDK_VAppTemplate extends VMware_VCloud_SDK_Abstract 16 | { 17 | $this->svc->createSDKObj($this->getCatalogItemLink())->delete(); 18 | } 19 | - $this->svc->delete($this->url, 202); 20 | + $task = $this->svc->delete($this->url, 202); 21 | $this->destroy(); 22 | + return $task; 23 | } 24 | 25 | /** 26 | -- 27 | 1.8.3.msysgit.0 28 | 29 | -------------------------------------------------------------------------------- /scripts/split.php: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | $className ) 38 | { 39 | $filename = str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php'; 40 | $absolutePath = $out . DIRECTORY_SEPARATOR . $filename; 41 | $absoluteDir = dirname($absolutePath); 42 | $classContents = " ' . $filename . ' (' . strlen($classContents) . ' B)... '; 45 | 46 | if( !file_exists($absoluteDir) && !mkdir($absoluteDir, 0777, true) ) 47 | { 48 | throw new Exception('Can\'t create directory ' . $absoluteDir); 49 | } 50 | 51 | if( file_put_contents($absolutePath, $classContents) ) 52 | { 53 | echo "OK\n"; 54 | } 55 | else 56 | { 57 | echo "NOK\n"; 58 | } 59 | } 60 | 61 | echo "----------------------------------------------------------------------\n"; 62 | } 63 | else 64 | { 65 | throw new Exception('No class found in ' . $src); 66 | } 67 | -------------------------------------------------------------------------------- /tests/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vmware/vcloud-sdk-patched-tests", 3 | "description": "Tests for vmware/vcloud-sdk-patched", 4 | "require": { 5 | "php": ">=5.3.2" 6 | }, 7 | "repositories": [ 8 | { 9 | "name": "local", 10 | "type": "git", 11 | "url": "../../vmware-vcloud-sdk-php-patched", 12 | "branches-path": false, 13 | "tags-path": false 14 | }, 15 | { 16 | "type": "pear", 17 | "url": "http://pear.php.net" 18 | } 19 | ], 20 | "licence": "MIT", 21 | "require": { 22 | "vmware/vcloud-sdk-patched": "dev-master", 23 | "pear-pear/HTTP_Request2": "*" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /tests/config.mk.dist: -------------------------------------------------------------------------------- 1 | VCLOUD_HOST := vcloud-director 2 | VCLOUD_ORGANIZATION := testing 3 | VCLOUD_USERNAME := orgadmin 4 | VCLOUD_PASSWORD := ******** 5 | VCLOUD_API_VERSION := 5.5 6 | -------------------------------------------------------------------------------- /tests/test-authentication.php: -------------------------------------------------------------------------------- 1 | $options['u'] . '@' . $options['o'], 9 | 'password' => $options['p'], 10 | ); 11 | 12 | $httpConfig = array( 13 | 'proxy_host' => null, 14 | 'proxy_port' => null, 15 | 'proxy_user' => null, 16 | 'proxy_password' => null, 17 | 'ssl_verify_peer' => false, 18 | 'ssl_verify_host' => false, 19 | 'ssl_cafile' => null, 20 | ); 21 | 22 | $service = VMware_VCloud_SDK_Service::getService(); 23 | $result = $service->login($options['h'], $auth, $httpConfig, $options['a']); 24 | 25 | if (!($service instanceof VMware_VCloud_SDK_Service)) { 26 | throw new Exception( 'Expecting service to be an instance of ' . VMware_VCloud_SDK_Service . ', got ' . gettype($service) ); 27 | } 28 | -------------------------------------------------------------------------------- /tests/test-require.php: -------------------------------------------------------------------------------- 1 |