From 803406e7e09f6f4199f7a92f11f2904ad1d6cc15 Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Sat, 17 Oct 2015 16:03:56 -0400 Subject: [PATCH] Retire stackforge/openstack-cli-powershell --- .gitignore | 165 - .gitreview | 4 - .nuget/NuGet.Config | 6 - .nuget/NuGet.exe | Bin 1655808 -> 0 bytes .nuget/NuGet.targets | 151 - .nuget/packages.config | 4 - ...AcmeInc.Openstack.Client.Powershell.csproj | 106 - .../Cmdlets/HelloAcmeIncCmdlet.cs | 37 - .../Deployment/AcmeInc.nuspec | 22 - .../Deployment/AcmeInc.psd1 | 19 - .../Deployment/ServiceProvider.xml | 16 - .../Deployment/tools/chocolateyInstall.ps1 | 38 - .../Properties/AssemblyInfo.cs | 36 - .../Utility/AcmeRegistrationManager.cs | 24 - .../app.config | 11 - .../packages.config | 9 - .../AcmeInc.Openstack.Deployment.sln | 20 - .../AcmeInc.Openstack.Deployment.vdproj | 1514 --- License.txt | 176 - ...Openstack.Client.Powershell.Deployment.sln | 20 - ...nstack.Client.Powershell.Deployment.vdproj | 2381 ---- .../.nuget/NuGet.Config | 6 - Openstack.Client.Powershell/.nuget/NuGet.exe | Bin 1662976 -> 0 bytes .../.nuget/NuGet.targets | 144 - .../BaseNavigationCmdletProvider.cs | 238 - .../Cmdlets/BasePSCmdlet.cs | 383 - .../BlockStorage/AttachVolumeCmdlet.cs | 97 - .../BlockStorage/BackupVolumeCmdlet.cs | 107 - .../BlockStorage/DetachVolumeCmdlet.cs | 78 - .../Cmdlets/BlockStorage/NewSnapshotCmdlet.cs | 132 - .../Cmdlets/BlockStorage/NewVolumeCmdlet.cs | 153 - .../BlockStorage/RemoveSnapshotCmdlet.cs | 62 - .../BlockStorage/RemoveVolumeBackupCmdlet.cs | 26 - .../BlockStorage/RemoveVolumeCmdlet.cs | 102 - .../Cmdlets/Clipboard.cs | 39 - .../Common/BaseAuthenticationCmdlet.cs | 263 - .../Cmdlets/Common/BasePSCmdlet.cs | 337 - .../Cmdlets/Common/CopyIdCmdlet.cs | 61 - .../Cmdlets/Common/GetCatalogCmdlet.cs | 152 - .../Cmdlets/Common/GetConfigCmdlet.cs | 74 - .../Cmdlets/Common/GetMetadataCmdlet.cs | 210 - .../Cmdlets/Common/GetNotesCmdlet.cs | 148 - .../Common/GetServiceProvidersCmdlet.cs | 53 - .../Cmdlets/Common/GetVersionCmdlet.cs | 40 - .../Cmdlets/Common/GetZoneCmdlet.cs | 45 - .../Cmdlets/Common/GetZonesCmdlet.cs | 106 - .../Common/NewServiceProviderCmdlet.cs | 131 - .../Cmdlets/Common/RefreshCacheCmdlet.cs | 40 - .../Cmdlets/Common/SetConfigCmdlet.cs | 88 - .../Cmdlets/Common/SetCredentialsCmdlet.cs | 97 - .../Cmdlets/Common/SetMetadataCmdlet.cs | 302 - .../Common/SetServiceProviderCmdlet.cs | 121 - .../Cmdlets/Common/SetZoneCmdlet.cs | 169 - .../Cmdlets/Common/SetZoneColorCmdlet.cs | 85 - .../Compute/Security/GetLimitsCmdlet.cs | 59 - .../Compute/Security/GetPasswordCmdlet.cs | 129 - .../Compute/Security/NewKeyPairCmdlet.cs | 145 - .../Compute/Security/RemoveKeyPairCmdlet.cs | 72 - .../Compute/Security/ResetPasswordCmdlet.cs | 159 - .../Compute/Server/ConnectServerCmdlet.cs | 316 - .../Cmdlets/Compute/Server/NewImageCmdlet.cs | 176 - .../Cmdlets/Compute/Server/NewServerCmdlet.cs | 323 - .../Compute/Server/PingServerCmdlet.cs | 180 - .../Compute/Server/RebootServerCmdlet.cs | 112 - .../Compute/Server/RemoveMetadataCmdlet.cs | 117 - .../Compute/Server/RemoveServerCmdlet.cs | 120 - .../Compute/Server/UpdateServerCmdlet.cs | 96 - .../Cmdlets/Networking/AssignIPCmdlet.cs | 93 - .../Networking/DeleteFloatingIPCmdlet.cs | 107 - .../Cmdlets/Networking/DeleteNetworkCmdlet.cs | 143 - .../Cmdlets/Networking/DeletePortCmdlet.cs | 107 - .../Cmdlets/Networking/DeleteRouterCmdlet.cs | 106 - .../Networking/DeleteRouterInterfaceCmdlet.cs | 69 - .../Cmdlets/Networking/DeleteSubnetCmdlet.cs | 104 - .../Cmdlets/Networking/NewFloatingIPCmdlet.cs | 71 - .../Cmdlets/Networking/NewNetworkCmdlet.cs | 127 - .../Cmdlets/Networking/NewPortCmdlet.cs | 104 - .../Cmdlets/Networking/NewRouterCmdlet.cs | 93 - .../Networking/NewRouterInterfaceCmdlet.cs | 101 - .../Cmdlets/Networking/NewSubnetCmdlet.cs | 136 - .../Cmdlets/Networking/UnAssignIPCmdlet.cs | 85 - .../Networking/UpdateFloatingIPCmdlet.cs | 70 - .../Cmdlets/Networking/UpdateNetworkCmdlet.cs | 70 - .../Cmdlets/Networking/UpdatePortCmdlet.cs | 73 - .../Cmdlets/Networking/UpdateRouterCmdlet.cs | 70 - .../Cmdlets/Networking/UpdateSubnetCmdlet.cs | 83 - .../Cmdlets/Networking/newclasses | 31 - .../Cmdlets/ObjectStorage/CDN/GetCDNCmdlet.cs | 54 - .../Cmdlets/ObjectStorage/CDN/NewCDNCmdlet.cs | 89 - .../ObjectStorage/CDN/RemoveCDNCmdlet.cs | 62 - .../Containers/MigrateDriveCmdlet.cs | 265 - .../Containers/NewContainerCmdlet.cs | 306 - .../Containers/RemoveContainerCmdlet.cs | 274 - .../Containers/SetScopeCmdlet.cs | 191 - .../ObjectStorage/Objects/CopyItemCmdlet.cs | 291 - .../ObjectStorage/Objects/GetURICmdlet.cs | 194 - .../ObjectStorage/Objects/RemoveItemCmdlet.cs | 133 - .../Cmdlets/Security/AddRuleCmdlet.cs | 176 - .../Security/NewSecurityGroupCmdlet.cs | 80 - .../Cmdlets/Security/RemoveRuleCmdlet.cs | 62 - .../Security/RemoveSecurityGroupCmdlet.cs | 76 - .../Microsoft.Http.Extensions.dll | Bin 28536 -> 0 bytes .../Dependencies/Microsoft.Http.dll | Bin 119648 -> 0 bytes .../Microsoft.QueryComposition.dll | Bin 197472 -> 0 bytes ...soft.ServiceModel.Http.Client.UnitTest.dll | Bin 14848 -> 0 bytes .../Microsoft.ServiceModel.Http.Client.dll | Bin 78336 -> 0 bytes .../Microsoft.ServiceModel.Http.Test.dll | Bin 557056 -> 0 bytes .../Microsoft.ServiceModel.Http.dll | Bin 127488 -> 0 bytes .../Deployment/ApacheLicense.rtf | 170 - .../Deployment/DevProfile.ps1 | 75 - .../Deployment/Examples/Aliases.txt | Bin 112 -> 0 bytes .../Deployment/Examples/ApacheLicense.txt | 15 - .../Deployment/Examples/CredentialList.xml | 4 - .../Examples/DevProfile.ps1.example | 73 - .../Examples/Openstack.config.example | 52 - .../Deployment/Examples/PostBuild.bat | 13 - .../Deployment/Examples/PostBuild.example | 13 - .../Deployment/Examples/ReleaseManifest.xml | 47 - .../Deployment/Examples/ReleaseNotes.xml | 47 - .../Deployment/Examples/readme.txt | 126 - .../Deployment/License.rtf | 217 - .../Microsoft.PowerShell_profile.ps1 | 81 - .../Deployment/Openstack-Core.psd1 | 21 - .../Openstack.Client.Powershell.dll-Help.xml | 9685 ----------------- .../Deployment/Openstack.config | 50 - .../Deployment/Openstack.format.ps1xml | 1729 --- .../openstack-cli-powershell.2.0.0.nupkg | Bin 4145 -> 0 bytes .../openstack-cli-powershell.nuspec | 25 - .../Deployment/powershell.exe.config | 7 - .../Deployment/tools/chocolateyInstall.ps1 | 46 - Openstack.Client.Powershell/License.txt | 176 - .../Migrations/AWSMigration.cs | 162 - .../Migrations/CopyInfoEventArgs.cs | 47 - .../Migrations/LocalStoreMigration.cs | 138 - .../Openstack.Client.Powershell.csproj | 279 - .../Openstack.Client.Powershell.sln | 137 - .../Properties/AssemblyInfo.cs | 52 - .../BlockStorage/AttachmentUIContainer.cs | 73 - .../BlockStorage/AttachmentsUIContainer.cs | 105 - .../BlockStorage/BlockStorageUIContainer.cs | 87 - .../BlockStorage/SnapshotUIContainer.cs | 79 - .../BlockStorage/SnapshotsUIContainer.cs | 64 - .../BlockStorage/VolumeBackupUIContainer.cs | 79 - .../BlockStorage/VolumeBackupsUIContainer.cs | 63 - .../BlockStorage/VolumeUIContainer.cs | 109 - .../BlockStorage/VolumesUIContainer.cs | 63 - .../Providers/Common/AccountUIContainer.cs | 84 - .../Providers/Common/BaseEntityUIContainer.cs | 32 - .../Common/BaseNavigationCmdletProvider.cs | 245 - .../Providers/Common/BaseUIContainer.cs | 518 - .../Providers/Common/CommonDriveInfo.cs | 84 - .../Providers/Common/CommonDriveParameters.cs | 44 - .../Providers/Common/CommonServiceProvider.cs | 606 -- .../Common/HPServiceIdentifierAttribute.cs | 54 - .../Providers/Common/UpdateManager.cs | 293 - .../Providers/CommonDriveInfo.cs | 85 - .../Providers/Compute/AbsoluteUIContainer.cs | 85 - .../Providers/Compute/AddressesUIContainer.cs | 31 - .../Providers/Compute/FlavorUIContainer.cs | 68 - .../Providers/Compute/FlavorsUIContainer.cs | 77 - .../Compute/FloatingIPUIContainer.cs | 71 - .../Providers/Compute/ImageUIContainer.cs | 76 - .../Providers/Compute/ImagesUIContainer.cs | 62 - .../Providers/Compute/KeyPairsUIContainer.cs | 69 - .../Providers/Compute/LimitsUIContainer.cs | 159 - .../Providers/Compute/MetaDataUIContainer.cs | 58 - .../Providers/Compute/RatesUIContainer.cs | 155 - .../Providers/Compute/ServerLogUIContainer.cs | 78 - .../Providers/Compute/ServerUIContainer.cs | 279 - .../Providers/Compute/ServersUIContainer.cs | 103 - .../Providers/Dbaas/DBInstancesUIContainer.cs | 28 - .../Providers/Dbaas/DatabaseUIContainer.cs | 89 - .../Networking/FloatingIPUIContainer.cs | 87 - .../Networking/FloatingIPsUIContainer.cs | 102 - .../Networking/NetworkUIContainer.cs | 166 - .../Networking/NetworksUIContainer.cs | 110 - .../Providers/Networking/PortUIContainer.cs | 75 - .../Providers/Networking/PortsUIContainer.cs | 57 - .../Providers/Networking/RouterUIContainer.cs | 55 - .../Networking/RoutersUIContainer.cs | 40 - .../Providers/Networking/SubnetUIContainer.cs | 103 - .../Networking/SubnetsUIContainer.cs | 58 - .../Providers/ObjectStorage/HPOSDriveInfo.cs | 385 - .../ObjectStorage/HPOSDriveParameters.cs | 42 - .../ObjectStorage/HPOSNavigationProvider.cs | 754 -- .../ObjectStorageDriveConverter.cs | 159 - .../ObjectStorageDriveParameters.cs | 42 - .../ObjectStorageNavigationProvider.cs | 745 -- .../ObjectStorage/ObjectStoragePSDriveInfo.cs | 369 - .../ObjectStorage/StorageItemViewModel.cs | 60 - .../Security/SecurityGroupUIContainer.cs | 134 - .../Security/SecurityGroupsUIContainer.cs | 128 - .../Providers/Security/SecurityUIContainer.cs | 86 - .../Utility/AccountCapabilities.cs | 211 - .../Utility/AvailabilityZone.cs | 56 - .../Utility/ConfigurationManager.cs | 632 -- .../Utility/Context.cs | 130 - .../Utility/CredentialElement.cs | 73 - .../Utility/CredentialManager.cs | 344 - Openstack.Client.Powershell/Utility/Enums.cs | 62 - .../Utility/ExtensionManager.cs | 249 - .../OpenstackCoreRegistrationManager.cs | 53 - .../Utility/RegistrationManager.cs | 154 - .../Utility/RegistrationResponse.cs | 50 - .../Utility/SecureStringHelper.cs | 68 - .../Utility/ServiceMap.cs | 38 - .../Utility/ServiceProvider.cs | 113 - .../Utility/ServiceProviderAttribute.cs | 24 - .../Utility/Settings.cs | 788 -- .../Utility/StoragePath.cs | 572 - Openstack.Client.Powershell/app.config | 33 - Openstack.Client.Powershell/packages.config | 10 - README.md | 126 - README.rst | 7 + .../.nuget/NuGet.Config | 6 - .../.nuget/NuGet.exe | Bin 1662976 -> 0 bytes .../.nuget/NuGet.targets | 144 - .../Cmdlets/HelloWidgetIncCmdlet.cs | 56 - .../Deployment/ServiceProvider.xml | 16 - .../Deployment/WidgetInc.config | 42 - .../Deployment/WidgetInc.nuspec | 25 - .../Deployment/WidgetInc.psd1 | 20 - .../Deployment/tools/chocolateyInstall.ps1 | 38 - .../Properties/AssemblyInfo.cs | 36 - .../Utility/WidgetIncRegistrationManager.cs | 25 - ...dgetInc.Openstack.Client.Powershell.csproj | 110 - .../WidgetInc.Openstack.Client.Powershell.sln | 29 - .../app.config | 11 - .../packages.config | 8 - .../WidgetInc.Openstack.Deployment.sln | 20 - .../WidgetInc.Openstack.Deployment.vdproj | 1488 --- openstack-cli-powershell.sln | 65 - 232 files changed, 7 insertions(+), 42372 deletions(-) delete mode 100644 .gitignore delete mode 100644 .gitreview delete mode 100644 .nuget/NuGet.Config delete mode 100644 .nuget/NuGet.exe delete mode 100644 .nuget/NuGet.targets delete mode 100644 .nuget/packages.config delete mode 100644 AcmeInc.Openstack.Client.Powershell/AcmeInc.Openstack.Client.Powershell.csproj delete mode 100644 AcmeInc.Openstack.Client.Powershell/Cmdlets/HelloAcmeIncCmdlet.cs delete mode 100644 AcmeInc.Openstack.Client.Powershell/Deployment/AcmeInc.nuspec delete mode 100644 AcmeInc.Openstack.Client.Powershell/Deployment/AcmeInc.psd1 delete mode 100644 AcmeInc.Openstack.Client.Powershell/Deployment/ServiceProvider.xml delete mode 100644 AcmeInc.Openstack.Client.Powershell/Deployment/tools/chocolateyInstall.ps1 delete mode 100644 AcmeInc.Openstack.Client.Powershell/Properties/AssemblyInfo.cs delete mode 100644 AcmeInc.Openstack.Client.Powershell/Utility/AcmeRegistrationManager.cs delete mode 100644 AcmeInc.Openstack.Client.Powershell/app.config delete mode 100644 AcmeInc.Openstack.Client.Powershell/packages.config delete mode 100644 AcmeInc.Openstack.Deployment/AcmeInc.Openstack.Deployment.sln delete mode 100644 AcmeInc.Openstack.Deployment/AcmeInc.Openstack.Deployment/AcmeInc.Openstack.Deployment.vdproj delete mode 100644 License.txt delete mode 100644 Openstack.Client.Powershell.Deployment/Openstack.Client.Powershell.Deployment.sln delete mode 100644 Openstack.Client.Powershell.Deployment/Openstack.Client.Powershell.Deployment/Openstack.Client.Powershell.Deployment.vdproj delete mode 100644 Openstack.Client.Powershell/.nuget/NuGet.Config delete mode 100644 Openstack.Client.Powershell/.nuget/NuGet.exe delete mode 100644 Openstack.Client.Powershell/.nuget/NuGet.targets delete mode 100644 Openstack.Client.Powershell/BaseNavigationCmdletProvider.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/BasePSCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/BlockStorage/AttachVolumeCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/BlockStorage/BackupVolumeCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/BlockStorage/DetachVolumeCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/BlockStorage/NewSnapshotCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/BlockStorage/NewVolumeCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/BlockStorage/RemoveSnapshotCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/BlockStorage/RemoveVolumeBackupCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/BlockStorage/RemoveVolumeCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Clipboard.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/BaseAuthenticationCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/BasePSCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/CopyIdCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/GetCatalogCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/GetConfigCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/GetMetadataCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/GetNotesCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/GetServiceProvidersCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/GetVersionCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/GetZoneCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/GetZonesCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/NewServiceProviderCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/RefreshCacheCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/SetConfigCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/SetCredentialsCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/SetMetadataCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/SetServiceProviderCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/SetZoneCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Common/SetZoneColorCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Compute/Security/GetLimitsCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Compute/Security/GetPasswordCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Compute/Security/NewKeyPairCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Compute/Security/RemoveKeyPairCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Compute/Security/ResetPasswordCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Compute/Server/ConnectServerCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Compute/Server/NewImageCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Compute/Server/NewServerCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Compute/Server/PingServerCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Compute/Server/RebootServerCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Compute/Server/RemoveMetadataCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Compute/Server/RemoveServerCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Compute/Server/UpdateServerCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/AssignIPCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/DeleteFloatingIPCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/DeleteNetworkCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/DeletePortCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/DeleteRouterCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/DeleteRouterInterfaceCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/DeleteSubnetCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/NewFloatingIPCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/NewNetworkCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/NewPortCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/NewRouterCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/NewRouterInterfaceCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/NewSubnetCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/UnAssignIPCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/UpdateFloatingIPCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/UpdateNetworkCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/UpdatePortCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/UpdateRouterCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/UpdateSubnetCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Networking/newclasses delete mode 100644 Openstack.Client.Powershell/Cmdlets/ObjectStorage/CDN/GetCDNCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/ObjectStorage/CDN/NewCDNCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/ObjectStorage/CDN/RemoveCDNCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/ObjectStorage/Containers/MigrateDriveCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/ObjectStorage/Containers/NewContainerCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/ObjectStorage/Containers/RemoveContainerCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/ObjectStorage/Containers/SetScopeCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/ObjectStorage/Objects/CopyItemCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/ObjectStorage/Objects/GetURICmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/ObjectStorage/Objects/RemoveItemCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Security/AddRuleCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Security/NewSecurityGroupCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Security/RemoveRuleCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Cmdlets/Security/RemoveSecurityGroupCmdlet.cs delete mode 100644 Openstack.Client.Powershell/Dependencies/Microsoft.Http.Extensions.dll delete mode 100644 Openstack.Client.Powershell/Dependencies/Microsoft.Http.dll delete mode 100644 Openstack.Client.Powershell/Dependencies/Microsoft.QueryComposition.dll delete mode 100644 Openstack.Client.Powershell/Dependencies/Microsoft.ServiceModel.Http.Client.UnitTest.dll delete mode 100644 Openstack.Client.Powershell/Dependencies/Microsoft.ServiceModel.Http.Client.dll delete mode 100644 Openstack.Client.Powershell/Dependencies/Microsoft.ServiceModel.Http.Test.dll delete mode 100644 Openstack.Client.Powershell/Dependencies/Microsoft.ServiceModel.Http.dll delete mode 100644 Openstack.Client.Powershell/Deployment/ApacheLicense.rtf delete mode 100644 Openstack.Client.Powershell/Deployment/DevProfile.ps1 delete mode 100644 Openstack.Client.Powershell/Deployment/Examples/Aliases.txt delete mode 100644 Openstack.Client.Powershell/Deployment/Examples/ApacheLicense.txt delete mode 100644 Openstack.Client.Powershell/Deployment/Examples/CredentialList.xml delete mode 100644 Openstack.Client.Powershell/Deployment/Examples/DevProfile.ps1.example delete mode 100644 Openstack.Client.Powershell/Deployment/Examples/Openstack.config.example delete mode 100644 Openstack.Client.Powershell/Deployment/Examples/PostBuild.bat delete mode 100644 Openstack.Client.Powershell/Deployment/Examples/PostBuild.example delete mode 100644 Openstack.Client.Powershell/Deployment/Examples/ReleaseManifest.xml delete mode 100644 Openstack.Client.Powershell/Deployment/Examples/ReleaseNotes.xml delete mode 100644 Openstack.Client.Powershell/Deployment/Examples/readme.txt delete mode 100644 Openstack.Client.Powershell/Deployment/License.rtf delete mode 100644 Openstack.Client.Powershell/Deployment/Microsoft.PowerShell_profile.ps1 delete mode 100644 Openstack.Client.Powershell/Deployment/Openstack-Core.psd1 delete mode 100644 Openstack.Client.Powershell/Deployment/Openstack.Client.Powershell.dll-Help.xml delete mode 100644 Openstack.Client.Powershell/Deployment/Openstack.config delete mode 100644 Openstack.Client.Powershell/Deployment/Openstack.format.ps1xml delete mode 100644 Openstack.Client.Powershell/Deployment/openstack-cli-powershell.2.0.0.nupkg delete mode 100644 Openstack.Client.Powershell/Deployment/openstack-cli-powershell.nuspec delete mode 100644 Openstack.Client.Powershell/Deployment/powershell.exe.config delete mode 100644 Openstack.Client.Powershell/Deployment/tools/chocolateyInstall.ps1 delete mode 100644 Openstack.Client.Powershell/License.txt delete mode 100644 Openstack.Client.Powershell/Migrations/AWSMigration.cs delete mode 100644 Openstack.Client.Powershell/Migrations/CopyInfoEventArgs.cs delete mode 100644 Openstack.Client.Powershell/Migrations/LocalStoreMigration.cs delete mode 100644 Openstack.Client.Powershell/Openstack.Client.Powershell.csproj delete mode 100644 Openstack.Client.Powershell/Openstack.Client.Powershell.sln delete mode 100644 Openstack.Client.Powershell/Properties/AssemblyInfo.cs delete mode 100644 Openstack.Client.Powershell/Providers/BlockStorage/AttachmentUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/BlockStorage/AttachmentsUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/BlockStorage/BlockStorageUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/BlockStorage/SnapshotUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/BlockStorage/SnapshotsUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/BlockStorage/VolumeBackupUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/BlockStorage/VolumeBackupsUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/BlockStorage/VolumeUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/BlockStorage/VolumesUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Common/AccountUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Common/BaseEntityUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Common/BaseNavigationCmdletProvider.cs delete mode 100644 Openstack.Client.Powershell/Providers/Common/BaseUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Common/CommonDriveInfo.cs delete mode 100644 Openstack.Client.Powershell/Providers/Common/CommonDriveParameters.cs delete mode 100644 Openstack.Client.Powershell/Providers/Common/CommonServiceProvider.cs delete mode 100644 Openstack.Client.Powershell/Providers/Common/HPServiceIdentifierAttribute.cs delete mode 100644 Openstack.Client.Powershell/Providers/Common/UpdateManager.cs delete mode 100644 Openstack.Client.Powershell/Providers/CommonDriveInfo.cs delete mode 100644 Openstack.Client.Powershell/Providers/Compute/AbsoluteUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Compute/AddressesUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Compute/FlavorUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Compute/FlavorsUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Compute/FloatingIPUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Compute/ImageUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Compute/ImagesUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Compute/KeyPairsUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Compute/LimitsUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Compute/MetaDataUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Compute/RatesUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Compute/ServerLogUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Compute/ServerUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Compute/ServersUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Dbaas/DBInstancesUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Dbaas/DatabaseUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Networking/FloatingIPUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Networking/FloatingIPsUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Networking/NetworkUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Networking/NetworksUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Networking/PortUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Networking/PortsUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Networking/RouterUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Networking/RoutersUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Networking/SubnetUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Networking/SubnetsUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/ObjectStorage/HPOSDriveInfo.cs delete mode 100644 Openstack.Client.Powershell/Providers/ObjectStorage/HPOSDriveParameters.cs delete mode 100644 Openstack.Client.Powershell/Providers/ObjectStorage/HPOSNavigationProvider.cs delete mode 100644 Openstack.Client.Powershell/Providers/ObjectStorage/ObjectStorageDriveConverter.cs delete mode 100644 Openstack.Client.Powershell/Providers/ObjectStorage/ObjectStorageDriveParameters.cs delete mode 100644 Openstack.Client.Powershell/Providers/ObjectStorage/ObjectStorageNavigationProvider.cs delete mode 100644 Openstack.Client.Powershell/Providers/ObjectStorage/ObjectStoragePSDriveInfo.cs delete mode 100644 Openstack.Client.Powershell/Providers/ObjectStorage/StorageItemViewModel.cs delete mode 100644 Openstack.Client.Powershell/Providers/Security/SecurityGroupUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Security/SecurityGroupsUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Providers/Security/SecurityUIContainer.cs delete mode 100644 Openstack.Client.Powershell/Utility/AccountCapabilities.cs delete mode 100644 Openstack.Client.Powershell/Utility/AvailabilityZone.cs delete mode 100644 Openstack.Client.Powershell/Utility/ConfigurationManager.cs delete mode 100644 Openstack.Client.Powershell/Utility/Context.cs delete mode 100644 Openstack.Client.Powershell/Utility/CredentialElement.cs delete mode 100644 Openstack.Client.Powershell/Utility/CredentialManager.cs delete mode 100644 Openstack.Client.Powershell/Utility/Enums.cs delete mode 100644 Openstack.Client.Powershell/Utility/ExtensionManager.cs delete mode 100644 Openstack.Client.Powershell/Utility/OpenstackCoreRegistrationManager.cs delete mode 100644 Openstack.Client.Powershell/Utility/RegistrationManager.cs delete mode 100644 Openstack.Client.Powershell/Utility/RegistrationResponse.cs delete mode 100644 Openstack.Client.Powershell/Utility/SecureStringHelper.cs delete mode 100644 Openstack.Client.Powershell/Utility/ServiceMap.cs delete mode 100644 Openstack.Client.Powershell/Utility/ServiceProvider.cs delete mode 100644 Openstack.Client.Powershell/Utility/ServiceProviderAttribute.cs delete mode 100644 Openstack.Client.Powershell/Utility/Settings.cs delete mode 100644 Openstack.Client.Powershell/Utility/StoragePath.cs delete mode 100644 Openstack.Client.Powershell/app.config delete mode 100644 Openstack.Client.Powershell/packages.config delete mode 100644 README.md create mode 100644 README.rst delete mode 100644 WidgetInc.Openstack.Client.Powershell/.nuget/NuGet.Config delete mode 100644 WidgetInc.Openstack.Client.Powershell/.nuget/NuGet.exe delete mode 100644 WidgetInc.Openstack.Client.Powershell/.nuget/NuGet.targets delete mode 100644 WidgetInc.Openstack.Client.Powershell/Cmdlets/HelloWidgetIncCmdlet.cs delete mode 100644 WidgetInc.Openstack.Client.Powershell/Deployment/ServiceProvider.xml delete mode 100644 WidgetInc.Openstack.Client.Powershell/Deployment/WidgetInc.config delete mode 100644 WidgetInc.Openstack.Client.Powershell/Deployment/WidgetInc.nuspec delete mode 100644 WidgetInc.Openstack.Client.Powershell/Deployment/WidgetInc.psd1 delete mode 100644 WidgetInc.Openstack.Client.Powershell/Deployment/tools/chocolateyInstall.ps1 delete mode 100644 WidgetInc.Openstack.Client.Powershell/Properties/AssemblyInfo.cs delete mode 100644 WidgetInc.Openstack.Client.Powershell/Utility/WidgetIncRegistrationManager.cs delete mode 100644 WidgetInc.Openstack.Client.Powershell/WidgetInc.Openstack.Client.Powershell.csproj delete mode 100644 WidgetInc.Openstack.Client.Powershell/WidgetInc.Openstack.Client.Powershell.sln delete mode 100644 WidgetInc.Openstack.Client.Powershell/app.config delete mode 100644 WidgetInc.Openstack.Client.Powershell/packages.config delete mode 100644 WidgetInc.Openstack.Deployment/WidgetInc.Openstack.Deployment.sln delete mode 100644 WidgetInc.Openstack.Deployment/WidgetInc.Openstack.Deployment/WidgetInc.Openstack.Deployment.vdproj delete mode 100644 openstack-cli-powershell.sln diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 1c05ad7..0000000 --- a/.gitignore +++ /dev/null @@ -1,165 +0,0 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files -*.suo -*.user -*.sln.docstates - -CLI.config -*.cache -FileListAbsolute.txt - - -# Build results - -[Dd]ebug/ -[Rr]elease/ -x64/ -build/ -[Bb]in/ -[Oo]bj/ - -# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets -!packages/*/build/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -*_i.c -*_p.c -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.log -*.scc -*.dll -*.pdb - - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opensdf -*.sdf -*.cachefile - -# Visual Studio profiler -*.psess -*.vsp -*.vspx - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# NCrunch -*.ncrunch* -.*crunch*.local.xml - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.Publish.xml - -# NuGet Packages Directory -## TODO: If you have NuGet Package Restore enabled, uncomment the next line -packages/ -*.nupkg - -# Windows Azure Build Output -csx -*.build.csdef - -# Windows Store app package directory -AppPackages/ - -# Others -sql/ -*.Cache -ClientBin/ -[Ss]tyle[Cc]op.* -~$* -*~ -*.dbmdl -*.[Pp]ublish.xml -*.pfx -*.publishsettings - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file to a newer -# Visual Studio version. Backup files are not needed, because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -App_Data/*.mdf -App_Data/*.ldf - - -#LightSwitch generated files -GeneratedArtifacts/ -_Pvt_Extensions/ -ModelManifest.xml - -# ========================= -# Windows detritus -# ========================= - -# Windows image file caches -Thumbs.db -ehthumbs.db - -# Folder config file -Desktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Mac desktop service store files -.DS_Store diff --git a/.gitreview b/.gitreview deleted file mode 100644 index af93dea..0000000 --- a/.gitreview +++ /dev/null @@ -1,4 +0,0 @@ -[gerrit] -host=review.openstack.org -port=29418 -project=stackforge/openstack-cli-powershell.git diff --git a/.nuget/NuGet.Config b/.nuget/NuGet.Config deleted file mode 100644 index 67f8ea0..0000000 --- a/.nuget/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.nuget/NuGet.exe b/.nuget/NuGet.exe deleted file mode 100644 index 9cba6edbfc43ef7cc1ee121d6bafe5b37cd98f1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1655808 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%0DA8VrI&xWQv!Qc51vpt7i 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℞FEE;i+~j;ta3&cdJ+e;5C3btpq&hFnsZ9rfvt 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⪙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 z z2c2P7;bh9N5DxD@=H;}7AP0gghfA!kpG3%SK2^V~{CZoWGZ1wnakCmzGe z$DYB)3jC^&7-=~xs`dV~=#w;=o10KEkc`np9CBT~3o0C7T`ceh@e5)0Wda%RDzaPy zoR5|)ARFMZm;2z72_q~cNo(H+xWND~_32~HHbG8=;gWIm4$16FWhanf!LuEynQfZ=@p)Myo2B_OL*eJ^@!|z*+2V$oGb?)y!5-xTG5uTWr@nA`-3+n zzxi3+Jnx?9sLYo6?6ey}$QBr4;JT3KynlAO8e_+OD1F+cbdF49HcBP=5uc>PC0Lpu zCCy*53Kmu@9_ORAP+D}4gl_|D1P|ZbUx*Tih@jAjYE}#o@@4{dkm6$pSO!&)aT-1gy9K{TcsoWvIZ8H zFe^OS0ELHNBRt2YN>Wv$Y@i&ZB}WA*$L`|`Gy%cBpjj7|HdPVAJoqLd?g)4jpfDS;!#;^B1Na4)ij zlTC<8eMN9v45#Ln7>SdsJbcpa?y{M%iSX^DCF|4BYmdtbK}^IElVScC*n42y!@cQ1 zFJmr#cPqGxckm?$yY+z4OgQOrATD~{*IDp6gncL?3NfYFooqPImN!-jgeXj}{VW&^ zS;3xVhO_yENpP2hft<%qi-;*4CBFSR5Zi3CuV$Ml+gaIJqn+~Qc>P)5Nxs~5fP4=l7=!G|{}$6-3Oubv_8h4$G^$k=)v}YC}JBkKGlnToYK?Nnp668CU6SMuoLm zaHmCATFa6opZuyN`fT~X{6pdb+?$UUu`n^G3A%t!-EW&=T|s*1_t^SDJu!z?wt8*` z++q|M2p~am2G+o!vI4Ekfbek&;`v_iuLng230ZQ8o0gI-E%$;*jd^g(#51pszqSJc zlncjS&()Y~gXA`qC3x>!pW+dY@}T+Ld~RoL@a)qggcH$71c?WIZnQmwrcARbC^q@B zjoJ@1fI|8OD%B{(gKiVX6U0*u4iRB*!}tu0DC@q4>fVDoq}82iMfNu z8U!^JBx|Rb6|hH$K}NKs%&~d@t9iBxd}fJHkTimBZ~B_ngievxB@tGH>vpaM+Wz;c zQ!pZ^c#QGJTX=JIC>MZ!|}@awXx*!`(&{E-<{#py&C5=jlgv z5b?iR(q$X1k@udcBsU|BXR(~53)*T%4>@}zm_mVL4>bd7A|*)zPp*&DV1&)o$V&2` z5(KuDl3;jHXSAWXZ9t@>U6u4M#;H$#1J}U_Tti!m-Q5Er6cD>*gF{{QMj#2-V<>AY zv3bdO=q5dYQ^=eCIY+0M^!v!!0jJr;R;qD_jcX_{h`eZjvX>qqvD$^Wbo7~k-WzR^m3 zTprz2`uy#?xx~j@esb&h_T5dh?ZorrhaV<`hkGWrJ!qklt?7Nuqcxe6Q zQ_m599p8F}$9%&1R=A0PsQb4DP~C4SM6&VH!G|WcbKA5ZIx7{%%4afVpy*xeMC`>8cLXh|0eITjj^>aE!-X~Qev_@l3LmVk1*5LSCtJ**R58)J zISs5*1hxUFbw#U7O94xUFddXJ?tmHsdX_F*1N+Wed{eOpgmNrdd~bLEpx+9Sn(|l- z`&voc^||-lA%e@aN>qer2rP%5a;%~Q+b3EOpcf)1Lx;mOF~|qVoSJqNbtZek3!z+x zP{05CPw5yorBQAkykH2)08q3OwyRcE5}cV*>DZGiRuBj`pV|oCw0YqYKPhItz(#Hb zB&}(ObN$!)It-iCI%u6jX^PqvYmU>hFTEX75B`H1iAJETVJLU;sCBf_1m ziSDsC`_wH(%cuF2D$c+{GqaKCs!yX1=&8FQM-zkKKqgaW+H>l1*ljD2Gd-v&sNZ9s z@(3C}l~q+dQ>1=jXqvXcj1^FwSs0$mC{jq`-JlhL=a5;bNPVaCvm-XU>bP$j(C?|* z0&0StWlaORs=5+21?el>m8X%nfD7mZygHvyF$=_TzG;3(Fg02eq5yh6VuPYjU7@3o~wf)QEuK zf-Ll%dwi%1S{ZgcS&vn5{L)A~mpE@b#cDSa2kjnt2*5L~<)^U&EAdC$;S_pQ9K@Ed zVa1{{YJLV3DJ_lLtZ>qikH7%VJa}u-!tG&IkjX~!(NEo32Nmqq1n54U7N*LMcw3!= z2t&E0!(#34X|Viwf)A!O`o$2i7*RZfNGuOr9M0J|V|m0@A8e7~08UFszbWJfmFLc| z+QzmpY$7%hWC)TYw2Rmil#U|$qb`mT*wB1C`P#CFSb+=v^2c{pm}zvB;ndc?do4+>|gq6)N**A!IS4jOQkluH+% zKMB2Y%m^@cIy*|o_dQ4s;EY4U)A1UKvKH@y-}(SWgt+4 zjQ` zwSeKXbl`Mq;|8n`BfH;mOtm8J%lq_)W9!M0;4*h_K2FN8ZhL-3i^5Go%BLDEhFqK%Q^&eghL;ct0 zPbeJN9uJd6Sz4@SDG8FtvDi0uRM&rE5hzI9{g_6I@^W0!gx3tb7lh_Ljn1)`?d(-V zf*c)$ruwBM^LT1De*v{ZIAbI|{a{8rMKjQoS0X>r5*k6+CDuePD(!rN>t|igY{_D^rL+AbW$C zTPgqMXb^QW?THECn2Nq+%85>w#8a5IPExcUlda(n=>6h`<#Eq~tW`%pN333xIPsb#z4V znHq63F?E02FHq#Ur4!@;s?q7QyB%N*%hRCII|Dr?CK(-|#uiB2r*1r`)UEJvZ)mI3 zbGxfLOfpa>s^+w#Gb@F;7A{g1ccY`2C~6(h;o05&LtOM~hma?rs`EcWd!wuuMxiFX zAJ1c7eT1wsd^B_AICw5Vbq}h6ZOxv-zqZSHz;^1{;~b8KY_YG}4JE%Fq9}fo*N4eFM#rP`P4QI`{LVG3 zDQmbjnks-BEM*&gW3a>t=!ougZtnTQEI-TY?ZsU-QkZBWZi`Lk%Ow`!p+IZ{d=#l% z&dAPu^cCna9oIgG8bB-30YGionrPZXYs4u*${=p3O6}LoNvBZlR(Ubn6Y)(bUXCc8 z*z#m+X21MXhu-qq1gXCUzZ8&~iKmZI$u)n4mdm{}y~H7Iyu_3Jxxd`%mIo#trJTzP z?HYb4S#0%>hWY`m7MS`2(w+0NJa+MSN4$wUXL+G&tl4gm>R3G(92aZGUK34Z_&mTo zROw>lj11|9&{Sb4wtuDvc zwyZo~RUFfhw3yu_y})PQf*6>WHaZ;qS-&dDf3$i9%|j7Z@gT-=2Jz$c&(?Du%iyh6 zu0j^HSPgoqd&zKNREAf}+J-5Jyi*F0q+|hbtkX-25bQ0su# zK*(Y=GD)oqBO|gYduBC40m$%v=0sTo_!D%w@Z~3xruUg81AS1bI-PL`kwtyzN|+Iv z;KNz$JdhuFj}&EB(2{C-8+<33MJ7Wk>zz z2|<^(r5wVfO+B=4>X}Un-eZJ#jS*qMFg>y!x|y_j^5MfYN};_nM(p8aF@{AJoMEk6 z5_r>qv&#JExZNXPLzx$o`K6c%6^{uTx+S8bCf-$fzo0pfJKyvF+@{F;T1f`H_5^1} zD*;Sg>jWXQy3kR^mUgCZFpKS>P!xAowy_$;m!3=_FPjP_S%4?QOSi7|ERUgt$+Z0C zQzCvSv&*FCcbfJIDUB+(aC`+VH>!D2hmPf3w#D%(>X=HraE08p>1=i@$@`}kV08+1_(e>XHD9?Ue=L(;~oN9<}bw-wm5RGJr&#fCijILYso6} z@a2k>6s-KcU$Zu4UAxfB?xUJee%CcopQ3Ja$*m+ujH)!}xBhiO$+9}NUWqxsVGjE? zN4gcWsLjHk8%**zzF#kVwA+wT^P=cb-s(@Z5t_9xH^7>$3E6|J^~??vaYNqF*ME|M z+OjgUURJp@UkmTTGnlDcQU%D-w`OK3WEu2p)QNIAG1av|yOXT765=5RdTv$tR8`3zu||l~SDV2OB0~b~a3VA`y~~%K7jD(T zZR&dagZo!G=7CZ(oU`6EXQ)>KiTkq*dLX^{)ycz8Ouj&Vpgm=$Z=33VOP54EL@hmc zvVZKT0IRthtquOc0wNSq&UJbjFI;v2`_c-=b^}I9qm9xRc*@MpQOk4hlCMUyft{GA z^~5L}m6J*uy(+(gnFSL2<)CV#goU^cmnhuRNUm!NF<_#%WVe|LTcm3EdgdIr#W-Dg zSR-l3a$g$hxzp9IK1+cyud`6o$zKHRjGmeMH2W$Qhs`i^a{sY14DlRG!^&9y%b(&z z(tM%z5o#;dhW#^=Z(!1)7)gJR<*p>3zjW|8V1i4BHl%moxyXO}(}_p6OuYI~{==8% zDJ`U`AAm#CLMM6$vLyM_MSx=ZM&@LXeo41r84>;R8|xf=y7SA;7p&~6u6Uoozh!;; zvN)R*{W;|z+`J=Sn0)p$vSDfyg@5+tKYRZQ-CND^r?&t6?tXLAT3@K&>A!xBzRZye z&y+~GLQyEKeDvFBrGSw9uFo$5$pbW*Zp|79?O81}(+X3CcZvC_WAHC2X=W=U&h}nB1d6&PcjBDHHMe` ziND0ZV4$8{y{OT^R|(4*T3vuy1FwuG3_rO*fr;2F!(<8qFn91eN+XO2cp)hx_kbk9 z)o>68aU@Lq;jM+6pOquekT$yWha9D$sLa}7sLfy!;20ItOOE7~#(?`M3K6g)Yqc2g zeBBoD?@k_2<*x800%sr+UAXiiU6lF+^8Fk0hX#lWSuBHSgXby`ND%_Qh;skloiK?g z?Owrp%>E(qprHa3hDT3PoNd5@goJ3f8wp7ihV%}X)e51`jPE7P zS`Lru{C$K}ehW>;0`eNkA6S#l^lRZXLDLJ#Awi0@)`-6jqO*~q?z-25D`L@0VhrSZ z9fBkbH16s~SV@hk=)$3Ww*Ds!i+~POJrn^;+#a63I7FE3M z_*V9ORyDWDx}vpPjFoRST)V7Q2N1OwSF@78F>WGyUoxvgVO)!pBwvHU2UQNg7HV4A zz%sX%O>5H5s_L!w{lgF_2^>qT&uCfAN;>XQL%CJOeJpw1rV6;;-dwMN+t#3(?s$yP z1`;EsNeJgk@HR8G%mGs>pMKSR#RLN7Sto#23#3{R+-x~P9p|5pTD8W_EHR^4mzm=D zUNW|EU$>OLRQRSGv1zrjLX^nu*^Xp3Op+EV3Gta`TPv+~57fKkduMr?b}zY#^)+(i z$(_>)B|BP|IH5DfrEiWu`kRZ79KLY!{!CU%*cs__aAiOFz=cz9YP)`2B5@0#1SA7znRw!X)87n z)F6Vt#))n}c!bmgv&kGrHG-lGtj+cjMBN95tAv5FeCFgoppDO4dRuyXjWi|zjojz8 zkOf_4DB?AaNHC57=ge-fU7<5tpy>gynON`Ht=ch}fgBl-W&vrQx2Dc(l)u@F%)$nH`%UfCMDQT+bA z8+$^0$tx*DgX(P{wqvgm7}DTZ6+{{a-{@9X+j}&5Oq_{`0@xR7Nuo^@2hUs6T?%GV ztsr<`a342@@}Sh%YozE3f9{i2N%kaBUUE!Lk-myeJ|YP4!i zBB&|mBq;5&HJ01bj~yuBT~o_Q9F@T~=T7kH2s0b%VHak#l0273qWHcxMXx)1v_v(U z#I}icuW59~&=q(RY8vOlkl-`e)lG>PlAa>;%YI9SNw5|#GH0NO}I^`P*7gRQJWJ;hk@Lg2P5*QY- zTWZ^`=8mXJvXeo~%6F^kmdba7pHca4>#`OZ;GE!%Lg|$>%g~Hwi=&i8c_BIPBgh{E z)gJIVSd4i~x}JNmh6Z#Q1Z3Oc8%xycd!w((o7K#5Ly+nrib1}&;VA-8k`)3dmhS&R zUqJ5sDnB~k;7j!mFcO%`u`-e$yT{R*`7j(dS!Nk*z9xM8R}lSG&>7-x|^b66tm@g*=pnax+N4IgJz*= z-};%CkUp~cjhM*xelDCU$^Vp`f6C!t)+zG<5$(z%YLPC?Nx|eF;;Pr=7F=pua2Mfb z1dSDfV&0OU`qtU=Il>Ih;mo_6EdpWG6KbK&W6iG1^M_}fI}_EqB_vm@ProtEKdwWP zS0g>Iueyq&FH$Sq*GR>1MbU&?qJKdfSryz|O-~F#3>_Fr@$F|`O9xh!?zQk*b+{{( zO*Z6JaX~|&3dRbARUrm93-yLGLHfK@d1Y1@15>o~EAT>CU4hxzkv|O$8pnG^fR+^Q zZcl&4-5Iq~a^tj)Q|nqc8RV=V*ZRrOXzAPa@dVC%svdB5Mx~CX`wKj0$#r}_O^XO1 zTje$&1^T3>$1BN#;DFUjinL~^#M99wi7U~062nPFDs^<%MgWAJ5IQrE{4MYNyQW`| z;!R+L_FQHkDBF|yO)Z=BZBJn~HJuaqMneO1?hc;N^}7fZ~3nPZMU z9C-YaTovMPO700^g0vAjh(Pux0y(#e8HC~I9^J%4;f`A^zQ)xMKA`%TePw7OP5#zy zlma1-=xL5`{IpHU3o%ZXgrWKaVE?Vp79i~&;3A`*##dK+(C6Y=#?p^5gV3d~E>T2M z;7fH{v4i+s-sK|@ zzt8avzbaZG3L!UEF%_~V0K56?3Yqjj&Ax`qJ{s7**d!kFWf%kqby3RCgUZ3}l-sS<`T&~ zA#DP*q^0HaRmf?mttRr2^_5K!#!Bhx7)c@6&Sx9hWBmG&`75>5Z~C3@bbF#0mb6*Lk=@yYIT}b-~B|*6WuyJVL=5J(PPV{4Tvw58d_ifFdH< z5G2QPv0R`=I0H+~`~_5F9@|?4wDzjnxmbo)so58(wYzO63e=bR2MqtVS+wJf?_^sP%bSA7^l1;S<2NlsCWda$)UO1 zY}~>_%q?k*fIo(s-1MuZEm)vve&`MO;3v24t0)>UwRKPN4Q7{y9JifQx$$_1iwML*Sbf-O zE*gY^WL7Dy1OJ%tK)o=F8KuSQVCYG#)MeylqiaUq&%kkn*g?kvsucFDBJp1)-oVgu zR@dOr*lS8u(rkz8RpIy>9n!Gm#^4m|v%DcN!_CPuadFXPW_^(!f<=Uoc=urw5uCaO z-V5*?zcuM$01#8al$JA{4HcHVHf1GQGf!C=edKraoIOIerl*ULevuh2Xat^ck}ek; zQ#W_^>W4}?ANz(1-vp^S&1Pi{r3)mMhU?y1T?x=xV*o!sH_sU9%^7cEmXrgeM_aae ztqjpJ0kR)|{<&hAE4xCxB8`;r!DKPJKDkP}yF~atM9n~y&AyQ#<1SlCc$T9Vu?L`8 zHQd>!C})viIrQs`w|bl*jfCs*_j&E8(^0L90fOul+}6Ti9^(X8`7sj%0ysb3e1hY! zT$$sG3mOP;^tBQpIY5tj0e@Q{5D)!RL4pzwc;>W^(ata0@sWApjkvoDu{diU8Wtsh z72HICdM%Zx!&?3I@QQDGoPPZ9vzHESzi{f2Oe6DBE15p7dHQ;|cjt~v2VNXM^IRC2 zaVx!&hv(-k&BF6*8r@`dOWR<7HuFi0_#9s+LsUHe2y6?u&o&YSQ`Yfb4g>%cxdMSw zL3skRZ^LawxdR2|*^6GErJ%|q-&rUAjcM|&yL2!4edfn0RBXxhdXCE>bk#5_U%7=g z$@cV^f7I=}s^Rht_Fv@aRyhgF+C1{HP}QX+;(nby8a#0&v`|*pr8U}q%~DWn(B^r~=yy@Zix;I_bzYrWRMAY zjN_aHL`hhw$4@q|)K^~|fAp==di~qtdNtk?+bzCcA@91hYj?hCufM`o>pk>1sxRQV z?HBMe`xG~k3c-u=I==n`*D=&XuW3vO{T0G|X>!Artm)Kyi_KxK`LKMiYO}gI^XhsH zX?hwYz@t8;DF5%N@GV88pP^7Lq0^G>`T?u`Mr)+tM*hR`!|(4@=rpj8>ad?-;a@l7 z!uO9O#S!0bVGDfs1GYfh0Zo4Sadrd_QdLw_{;YCoiKmvrr*5sf_mN?Sbj_9pzy`0Z z2mfgMU6NdPs|XrQU?ZU{y{dCqaBaNOq+X%ha|#Vh8nA*cG$4whr;p_gv^~*pUFKC=L}&*% zt4_UX^eL(PBO=HV7S7`A0S-rv2;qGWLbXx>m(2)X5MnjPE*8lCFyEp=9@kM zLUo_;GU)pG10E~1lclULIR86&=A>;m=?e%*)>1aob(Ft(rdCLxHYpYJ7kP=epjz;# zlzXNK) znWE6c9S=PfY2qY8C6Mcnob@Fu8_%tX$nP2@w=(5Fz~WanLL=TN|YM7 zaawsmQNAb63ajDRjV1wXg!#6fNe*}=s1K3`t@WZRh4N2VC>9nr85y}JFWMoM zB?%~By_yKTO($^BnR7Ty+mBqNv7**t5k6EH6}Po`u69+Rv`Sh_x)B&qu5}2&+ZnVOerxdW2hD93iTRN?$vwY^#p<@#}9|`}Mc=XXr@2CbiNiv^aN`>qJ|NCy&lg&^dhSZ&@!u>l*YEnwrI%mL-w0zD2qC}n$4jyohQ|!W?H9iQiuD~+#036F zvGSk)bl%uY#$eMMvUonb3=>M}!hZd8Ma~cZ=`+sI;s5v(=(Z`NfO6sg{?{1&t83ll zENcw@M2!``@K0mo@$>A4!pHq(TmFO4*wp<`O#W{F)aIT3@6X-Y7@;oAX4QWWiBr~G z;iLb}`8|Y=wwQ*Qee!3=9`LksZ|2jtK@Aa}{|rTcE1s4rdk!8-D3K`o19&fJvwfXCLtTi_DnXmxnu8E6K2e$VVwYvwLF8V?|#PY0DS)9t4?}d6huyOl*DC z@45W+{cb>WXi5BGSbGa)pOcQQ;|IqdI^bC0Se5D8|EROBTOsJ9+nb!Fun&$Od@6ir zD1h_ECgA=Vn&0a=wfd}h*`=3XW@|Yj_;M)kY zW&@!xARPwTs{Xzq!r^X(3qlkfx3CwC?S(w|?9-UB0DZfwA&-Sd^ScmPp0&x#%>RX> z%n&ZIw$wWKVSO%kB<*W(Yog8h%LFeIg)YH0G0F^JI@h2kg&{Zkgy)6zU|clZhQ5Mx zpa(a=PwPD^Pyqo1FU*R2J0N&j?v_*jK}J|JBpjmmY=6>P`#bk7V^R*(R*szn0%7iC z042qBI*bdUDGP#ROMDH=7Q^i!2w*IVRUIB;;0GGZS?c&5f+O1_kSGH&eN~D<=Clgy z84#Qn^lQo3gA7ZXV&s`?Tm98$8kw_J6st|$g)Wux4h9DvmRWI+Ss1q8y9$C1eWFe` z`fKP^@}sLPEj=cH$-kw$%p!yo0}Se~4Rc<@YQ+1yH7QoE4TPk8eYWxGYrPYaU$jb* zoEJxyR_nI&@s>nUU@SItm8q-Nhlq4gE39W$XxI56x}YfvzRfUpf(6^?{qM<)?#zsh zvpLV##gZlBJs%QOH$F)MW^-amx#*0ud=?2uo1>>QdRpb?c^nt)dmA6rk#=;u-oF8j zY*VP#4O019kjm4SHj^0o$E3aQwOuiJAAEUlr=C1EwRy|r@h8YAEqH>wYNsB3f7f=D zx)R?_I-{>wOgxi^4@|zkz2F^&p>*o$^^-5bb4tmzYiBOGw%fqO0V$kEMgRbZzzBic zHMMnpP;3s=&+eK{mUS(66C>(K$YC$avxM_Wa&DaxuZ`a`tK_zZIBzEsEG3#&#Uij! z6NEZ>{6#1|U+l#qZ??QPC#2~qGN~9<490jU#y|-WQfW6LMvBXvwe3zSOYtdeM@f$A zY9xj-VVWDXo2L;H|5wJjQ^Ej$h>(vl4G7)>UnDLul^Na!$k><}LwrscVJ?dn@=e{8 zg(?kd2sY*nS18U!Q+qAj=&*Pz6Utx(f#g5^bnVkcAONP?GYO6`#9r2lm*r=-f8#ISxqqEgAL=D*GLA241EU(W6q~` z&U_391;SwPLbyY3NZ7p>hh#4)jTQo!t!@F=8eXBSDZQXvX7AS@QY+%D7LyAe&aeQF#P<5Is&l1fk zs6U^$-n8fA>rHnE13L%%zbkch=o40;j()-lR3_I_D%#+mGRmD#T$eij3F}f}UxJV= z=tKX1P^eVJxr4wY4DHEiuPyOdt(cVa|SVap2RG6TSq_BADe<@W> zoXA8(@W@>~a7~+3F!Xvj87s-Roa7<%ILXUoWQ;`dMSG)WE*yW^{dqFelnVyagMJsm zgXM!cR>_+*@&|MH>F)0>Z9pYVS-jx&!|5^tu6i$(1)THJyBV<4391hFliA{abT04k0#SDt zS_o9zFF&D`z95o4x|$tZH%jdAlXVV$lTaP`ZIzx+myf;8_ApKY5X1AF@6oDans3nv z0YK&v@No`nG&b)|V7*@Iae_#CT}ghtFfjkgf@jr7a1amDfyhQ3z9?AvYq8%gg@DI1 z{>Di5hzE-;5F`JUIM_zhqLfJ-ZUj0g>Z`=5Z$WdQvY8ZSv<&wZLVxkz$O;{v#{RS< zc%pg{v#%mNanv#z=WIfY@qHXgGm$pVj|tv;Vsn9Cxh+Qua3G^tE_sNOn*%eWW1>T+ zdxn<#zl#$|d6i*Gcz94B7mxC{2Vn;MesLP`_C|b9K72kQIZcWNq>}vmCg#M&cQ0GI z@Rm98P!!h32!_KUS>{Ip0UPQ^c(sd=+^mz8Gu1MEfM-Pd#F#h?gKr!uqYJjr%g{h_ z1LUNNS1lXr>?B2H1>Q^wjP=))$5W7xhS2<);Cx#i8-Hl`_?D*?Ac$;gSqwuvM%9wT zUEK1@*6b9a4PC!_zI*ILaapl~jGY`N@s?f8g|tyb;-3XhQ_bo zqOUhe=<+_csGA3~rslSae`N?NfG}T*J zKXCKNnf4Z|jOD}-a7u(CrI2t^v0iEMlHNIdv}*{s$=zOPl)>t0DD%rYAZOF83T4E) z(U=rdgMcosB#!J~3+RA9OGQaJY^?GCicAllFxDgRYkdAgeM(0Rbr>p1ZF@HZ${>C4;Y%Ce9^d^|);%@8 z9-4<9P^!)&h=*4PGT(!~uOg5T=MDum>NSK*D5X%v+onKR9y?pj*^_qveh)?AsM7@C zFkMTSxpNg2cw<0pn8PIn2Yc=ePsbn69jd?@B&4cd3hu<h*e3&B zVM;X^)8ZQaU46{m+D1PJVUgQFaMv}Px#SnG(}<>ax0loaO9wKYNI$##!DO-WG(s7| zq2)ST@&Rub^s=?X3rLzJ;N<{y+w-OgDmql{Uqe=v+#gveOPq4%tFECzP!)kwk5e&L zVX)9wCE1omiTFOAHjR;w(uNA_xh19rB8X1VcD9N`|8T!3Ggd8$ScYa4Va)ETu9f!L zHLLb(((;BB1EfQ}9J8@915x8*%t~8}avD}wq1>NR+=?o}WG*5e28YPR(c2jfi)QN8 zCdpLCq0X5`G>cH;${{NlI4jm=utc-uXp+4{vaCHb0YPcoZwmb!+|BxSZW;ETLPYI~ z<>5tvFqBZzddv64i?Zvz4OHnPAVrj^jPT#E&G%CztodL!OY%tG>%8{cG&~5os-3?7 z=&{L%pD>O4<^7Y7@5wLa{0hZjlb4vA+L0Gru-w6|``&-@!Lp*Uz39d;;$35vanT)N zfI*J2^?{3Z!Dt2hXG5jX>S*ry-Y1c8s3oqnZeV11fC5HZ={gReqv@-z?i!-dnnj-= z!gQgEtnoV(Ytp6@zDU?Yu^y5CiYggaSb6*10&dOYMbrndAg*saOAFCy!=~fxT}{;` z{WfXZ?th|)wnJRgXmUHxzSaPA4w8ktaiJZxPPp+nH7Q%T@g}#}j8Wm|tiS$2V6{-%5 zy-5*pgept{YmpV4zg)Ul6)=K~ptEMp zM8O~l&3GOhGOe7vpyW9hKOhNPk`lgc4}M+qX}>sfw1ZnFe2F2rOL7w!`1( z=6E5E;4c^UGJ1-r7GkcUi?gs1D7?T@lwz+exo95f2hZcRaaJX-S%sKkTs(b_-v2Jh zTA689I*cNMRX9O4R|M^5)2mvQ4V_!regTqir@**;YUibc`v|kS8s!!l|I`xrrZZh! z-t!o>N3pd%Am(@=ztMluy<&@DiNvbcKpLS(ZjA7gmrKa1D1_<>w=Se4M23M~rc6sB znH=v@IWpyf+~K;8w`B(24-8|=0ZzH!>JZh&*TyOc(sR}*uYQFNcqr)LfpD&%SkHh{ zHjMr3yc`14A`q-qJg6j#Cw4p!8cS<3GO}>ywjx^dt23L(KLP=wu3!q=78v;QFT^<*^fjjw9U53g>YJyVKeGSwdfZKWSpS&` zp#^X0=8xL@|X-Yo-b5!#l;Ahq~r3_Q#TkX)d*47b|u)Z#vraFo#;`vQ9uJy9S1*hayHs z-bPKSoosaCpUvy(N&aYj^Zv^l_hrhuC`J?l{m139t(Op)%G`U^rDeN$a-cYXXgcj$0R=FKcK6ZKUb2JoQ@1#`YM_#3+&{5BRX=%qFQ#&`_gLXOCN0O{f1RXbV zGB7CF)NO#-kP~N@T0ZC=<;N{lAtHeL)fIyQlVxe=@&WLGk5eDdb5XvAc)F)|@zYwy zvZJY4SVa~u0wBkr*K1wXuJAEpOoP+hQeAN7LF3&BUyiklKFIMMFE=$#k5&5cc^r_hyCB* zxm|Q`)opH0$@brpYY57ycXN(ysGdnM}{c`ecAvA|qA6#%}ML&knUL zN4d&VOQ@w=wj}A>aHQLX=Y*}U%KYYBQWpG!Ve;(hum?lokpi{>D2~$FF zokt`gIk!^0Q`wlNb*$%3UDdM1ip1o6RL2eft3uN<16$s+*hE1H7Gu%5;Re#v2bYuz zG}*fNainxKJuVZF2Uw6mPsY;S0`iVbdhZM0uWr?IR8(dIHbllt|g48Fs3wT7H zn@6AI@ypLXGqHKA3ndzNG7N;JT38|hz%I|F4Z^>#)>uAJU8P(A&Q{TI4Xx?J$tgvp z-r3DxYcr8G@cTV|V|z!|;wE9#E6M5w=->=#N#uN+xm%7`Y;Ytd)>%`?tFq+M7~!t7 z$)1gsx&r^0ko+raEBos!q$N^hP%^E%+SgY}?q1kV8fg%0nNl*_H2hqM;UyW{%O}X| z$VAyZ(HxE*ED@Qfa+fFnZV`TfHZsW?MpDVoi`ljYU#gJrel$g?W*;U?rmz%vK`)$N zvHc||fWAlSnUu1XSxC)OpV@g5YCh_r%k){{J`@ZZt%VM+nNDb_$L zF0kuVa6P5kt14pkFrh(K7puiIlw88KHG-1AZzI5Xnbei3?R%#-9anWGRME+Y;EI06 zKRiWfO}@BELT+l$_NhG^uz?<)+H}NZS*ZlbU0Rd{ab=ss#Fadztktu-*7Vg@r|SwL z54XDpYPfSmS5yImj4Q`{+cv5scP+^zQ+{;WoJw?o@itoKFz_bwipzx+?H)SLSUHU1 zWImXj|D6ifPb0Oo^1Kz4sB-&(=sX*y*`PC47azE(jlB`sSNFInt zM{wFVOeOgRn%k^cr7g%kd{#u}R58BC3#*68sCGd}&~(LC8ui@}iUk>ol~zgq+gsRi z2)byvvqRbhjnM58lYXp%xcxzzYR2$rymswCxZZVxrw3??@!Q&4de~BxOHyrH*9KoRgzqR@g&sj_7iuz# zM{BXFe4=uIDvVUoGty=m!vE{prG-Vft0^{xFUtK`jGCl!7GsL$f8bsU9kII#;iu4% zc5sk^1_U>)!-V_FF0|>}Ls{SKfQSw@wjw>t;!jG5VpGN#6g?tG7*!dvxGJ|6FNWR~ z(IySnM$3L}H&Cx8_H^3p$RJ2{=D_&ojUk>?jy7?3IW{%=+lvpLFsEEO8*BY&>&S4n zk#?@Sa&fOqDJ(4ua%6ZN z%yHCe%;@5DIm~MGA&MOH?5=hl6ci_3ZL{1)6LUGD@#n#-csQ`(3ZW_XE2+;J_v|dZ^F$;ot16BbEG8h=vG6qIy z{G0B>=v!G`jQ_HfQ}~clZZgq)mF=5Z>&>@L_wlK{*#T#H*%gCwovw&QdUbJ`UAXWn_2V6Y}KB~ z0#(6UmgoLKv!yfNeduY&Phj38G7>qdLSWMk-*C_3K(E|p6$MutlqFOMU$+W1z;!=4 zdfD3%P2{D!{3ylyhG|>mX>c7bSJ-yENeC+tQ@44il)&vRR97z=AdGjn#EQD{Sh z-&M5V%0Tq;%@INj zIBU?h<3U_HgzNp??8Y`@QXtvRsCWu4!z0O^W(Z3d#&h2H10k5te)=w;qy05(xWRDM zSw0)<`g$5rK^G-x*AO_Al}>Ron>|l=WP0CI9~h#Z%Cf0256A@|FQ?ZNS}FJ1!Y=n!!G!~9qnooKo_xHlO3jnfq>wp*Y6ALO_B<&BxXP)kNEgo9jl>kxEm--~+2ywLo8JMJ(318kjdnG^O>2bJ2aCqM-2 zYk{9+Z|e({#w*GHVxmBP2%W;&;cMSSa5+ss`{|{kcYwGAn!bL+_xT6&ff(*9aVBR^ zAq@oQYi5kWS-zYmm@5u@3T!Yo%sMra8bC)lHjwKK7C$z9=&I^Upt=YP^h-UBXwb7g zFsI5sfI}P%fIzc(50r&H0BBc4FfKUK~pLc#%)$~yu>-KQw&who5{sRBS#KsCD|v;iXs4ETbI8y`~G+otg!cK zih-##9|ihqimukAJn6o05*+k>JA?bC8M*M;PiF)*2xMXo;qwf-QpOYu=C}U6(HGwn zueep<+(@xa8hlx?iP0?zPl(+{*-G}uA=I+cx)pLTy{}1A`xU*V*?kIa(Cp}8d_I?- zq=kpuqM)C9Z{x!OU9<6b{K32(4iXz74lKZpK@rz)uz`^q$=>SpJ8t@kUpe_d zKG1KK)#Cm(-CKxU^%g&k*dFIB-nf$Z5g zdEi)jUwK4Al_e{%zUzr}YU75f=N>ax(vD+7M&6gbBmKj%^@`p+_t>w}$<4=ki*9>= z1F@Oc%(wM)sQr}TP^LERd4J=x>C{{MiCMqD{Xk@9{6k_Wl!AgOF%kVxw!H1URe{bS zv{U)6dg}1t!P3)ME&?7|y-iPKdTWtxM~B%u(!fUi{0a-7OmaD>*g7P?;q4wO?}TuY zK>@Vx?5>g8xzY6Jcul%s0%H5*Zw1jkFm!Gc#~7&X&JiKL>BGoyC>p~#hT2g{{>Mzj zh0UM)u7s)yGTisKiSS0)0n4lPU+XK~*%kM8M&e_dauDCjnyCNUu-gUU%^hz@csH6q z&qbOXAAMs-k!2h{)YuF1nw@Svv>o0ngeylG<7MxQ`}}|V6yUCDyk3IzwefnHBrlW) z&0K8)gS{>d-NIMqauX>0=)3C)aJ|*e@#X?hrh$;$a@d`gqTj*?#E(S4G7=%`ioRYR z3X8DuhV^LrCwM(QhpUK}i;tfoIu-9 zV%O}O%@HAg<1c88TRQ8Q-d$s-&+axPRv)+s5c4=AL3OV2RaEdM(jtcl$ob(qA)CK3 z*F|UWDYB1P-4;WPHQ#Z(W$9hT%wXw`5~_cZUCq*fka*K>zftfoT1Onf#re#%SlW`R z`T^=IrVv@tQcl`()~>a8QwY5S_#A!7j-V}^N;&C?!NWLEr%MD%u5XimtA}z)K207@ za`j@yD#R8FDKc0BhDFQ9n50{C`%jm&f^Q&@>`R-{clL)V8W7$5o zN~MlX1XD{B-dygjTwbX2n|yORYnuQG)xtw0&wFy6Te(e+NE_Vtmao=gD3z2s9qsm# ziRs3n?)?Fa?gOnpeNLMB4ZUYSwhbPwB?s`~!J#>G0fy!42$)tQD!EpJ(B97A{Nd0; zf6P36{>JacN2bx+ISHjN`*U`WP3E^|RE4b|uU=#>IeTEK%lg)EU|VmU4X%|ve{?%F*5r`ykmyB#%=}`lN=UPJ%tvcZ9If2zgyv>Tq;EKNQL?T`=%yKhY^-pk>NDVTk8g&b_3th+)WM;j&bV{YDs^d?5QKgNdr{)gYNHVog6LwO~e)SmeF|CGDZ-e6o; zb||CzeyE-I!UN_|T2gvz4U zFNbBO(%VtiiDqbbeDTgYJYIZ)yxUGgR9BPNwVE^LKRfZ>C|*B&ZbzH4eD%;(MH9yS zR}bx*Itl2inEf={{7wUaz(aa3(!4P+GSpocIdf*QD9c_SO+^EvO9~y7O)_AaP_xhP zH2{xTd*nL^3_j-hC>SAJ&`5ld;a$zC*`MOVt-{%ZwXWa4b{AtaZ|QC6?X{Skv<|I( zfSRXWHlv1%zZxnYN(_LSv79QYOL}Jf(EXQx`$8#zr8|Yu=dpBr)9ZRdcV0a9JjGZp zKm3N9-BPZuy4_%*c3B%z=I@Z=FHA8r;eh<_FQCUXFlSlkDsnAh&F^t zh{vp{;fzMfATfNAA_IJcHShjUQ14J$uN)#9n4^&61f#;f?%Q@V@g?=t?~RF%wLVJo zDv}`hjhPen#8-7^K4Jsa9@yPzlFr)o@9OjA=hc0-VoryKv4DLb+vGuBr@P-D-RHOB zTfG_(`Za3Npy_+oPd)cSOJ3ylw^R9pd`03a{VQs#ag(c+Jb@-FCRL?qNflZbSqIk1 ztLLc#8$-m_&@=w!GLG$g3Ip{0^S`m2NxVpB-rdaNQg$t@2q_Ej)Vq(o`+z;~79P$k z(p&ru*Jv1A)%V8rnt6TIRjfhq+vK=(5j3(a%h^}34lV5aAHIV<{_XO5gh@H&cTo#k zPui?YJ&~=;aQn>b^O_G{pUSaRcW%D&RjPnn2M>v@u&`dQz4G-6ld!$?2Oo0PDlTLX zUZq*c7H`wqO(`&-Px_IsU} zsXzWmt6M%(d)>D+QtToP)RnFE2zJDuVf^Px9HM$TkFl!Q&C zK)pmp8FzQ2q7taZx?j`wbVu#sjYP`g*--% z6oG7u6e{SY`m4kh#@zj-}q;_C(W~{;sfKFXFx#i+9 z4WH#5S@i6OnbRiFB7{^Sf5^*(ZJF9m*-_{>J&6d6<<>2eTlbMlx0p9e`5#= z5uT+M6U6ZXVM+`-yP0qgA!HaIr9r4d*!4>^IQh^rPCDQ$Bi;sffbX{SM*nV`9~;*- z=XZMGqKN#izIxr9_-W)*n$4S%IoSnrkCif#TOGWcyT-YdtSI(89%ppDMKm z(&{kBLJyob=XP5j4^==3Aiz2|zcIKfy_?C>VzOgkDdi>LvFl2EL6d_7j?5ThSC}>a z&gRQ|PmMpeZDPlpj-1CIH?id{=8dC*)8XQt4O;wmkh)=c&5(6fnuSXaa~P<9D%Gl5Ds|K*dZOUuN{W40CwTM?SRr# zN({M{)IfIbk&tJSEP$AytG1kLIv4^+CfZsbYnOe(#D&d6#Dl22aV|9E-E?n1kgg-( z;1;q^Zoc_u?pAuA(QeXBK^Kguw%4+tSQ>PKH3AF*5ZBnt;(UlKBsBBUf``L%rS34;c#Y!6r^%Wp6#F?J0T}Q-MDph zNK9>if`Z%T2(?W6jED2s)OJF?c_jD7#a4`$+)72_yfigI7Zd9|iBwZXf4?{b)S7Xa?)cVjCyMVa~o5c8KlY$$ik}O91mZ#$w zaW;VU3bzSOugzf5Lt*s{d0(Q~RCv$SqW~PVt#az!ZFJ&x<$a@sFb(f3*OWjwnr6^2btdUfjR}wm-)=JflB9{mW`MLK_5DBl*mN zT7>xwCZAnU8(38(852MUlm(wzz@!^0X6!)nudPwL1mnRUfjOpVV)7?GN6g9=#(sbD znR|!Njh@}y36W$i`83Vpj9aU=K5qmKK`)e&c>auD2j(T^v(D{4dnEan3ytp4dp-Wx zp{&>2ck9o8wG^l_jvwe2<^^EVVDjmo=H305^910btA9MtKSBNU;*QB5c|Vg+-hoX*vgRn@bWV-_Gv!Q#wO+E9 zZH<)(rI>T%6%IcHR;1+TavNn*rk38}%tkt*A=DZ>-7{EU*_zyDbi!HP(C~~>*cNbp zhf}+_6A()}vIDkO1ayrxjebLH@tXKVyqw&Q&YBG~7$q#*kk>%B5J~}=tr|mMhd}mV zf)4fffh$v{a(L249=+(tG-muqQTF2yRwjkfB-l;R4N+*1#|vah{t6`JFQaTCMhR8Y z?(D#CMM(SF62>Pg1qIRO!JS9n+ptF_9Uvg4_|C`~%#m+Q2_m+cdT!_B%cq(RIN;N- zP9A<@@`cE@WPXD^&-~%&8v@X5eGRb9)J{}|1xp(&f?B34G=fG@1Wwm-ex)2uU3dgj zWu8w;Z&9Gh+SO7Aa#!yPgGRs|03|Ve=UmDwiT0lN#3A7$umIbGluvNzTQ*Y0-VgO& zIpL@cw7Jbw$^7|2^l>l-QUr%A57b90Y0MwWP|R(Km~PhgHa#`p+<7=3P#+vZF~_%g zhwHIQaznOfr5(IkD`r-N6VYul@C4l zjir(-%C-1rDd4%Sis3@xTJ0QrO(g@%(jcfXnKZa9==8bf!AIgmA(Kn8z||6o z+qUvR8c~!N$$VG|__wr}pgN&7NffLZ8hf3k&Iyh!Geq^}qDb&ZOjMu;+@%SDX&)s~ z{G*4Wd}vPJ%%nlMGuLw3iGq6zq99NRtWPITP%duU&K1d)GTErhw5CahUEN@^Upd9s9rxOCYDa#MM zJ|~z~;Y`-@FiXtgvVN+lrUP~Iz_Q}W)}9Y3WZ%nRJQt2X;(OmhMdRB}T;BXJ8~wtm zQy1ReUNq6QdB2%Gru;k0uMda))5le9%8`a>2SYAlv^dhX2FUiS8ZW}BQe z`9>FYOvhg9iWN+?+1Cz*cK&YRfO|y|ly;8iHae}YtT`z&pmePm(CS@iwjw|Wjh=0C zql)8Ukj1@h`q1*-?cqg{88Pf@?09UEIxs$>cNis>x8CRl^70u{)&^;DeiO_Ob8J64Q45j---<>c|2m203e%0@b?BUKzQ?_xXJgE z9dYS_W7A}GXQ%x%u%-ANa$mb?|A(We`Rnx5iJige-|QT)(|tN1)2#&{6Sd-H)|_Nd zpF3UcvbgWaN`6%USUWi=0)mESPJ_^)rLEb`IVg;P>MD20$1~fIt!Yu?En|+` zdh)eg1D$3~O8RuT(mCT=>(E*=w48uWpt<5Ab7D@GRVDe$#kN*59WeV6dNQY(f>Tp& za^Ime+^X_l zF6}=xe*Z&0S96mu_=6Z_m`71y=0BSUGFU!+bCWMF$%Ije>R_-A%uW70yb~2zRp&`A zMY1HHyA>2Ashb}E!HF_A`Rj|jPF>#idJNsbIS%B1Yc?f3Gx_)tknZN{GrfOq@)y6v zSEm%memU!MUA)SBmsmN#f$SX=G@6@Se||^ss2%lPg_EG!r>5;vR?uE?9LB zX~C-f@q;jsg=2{*8nt#Cz2QWn*lmM^vIFr+s|!M%A+4yQOInAdYGpS zpJr<{`EH?-NS6%KoZMF)=jgmf)Nw@B4tU&# zL`8>|d3UpzX?9CDu}S$*O3O4@k{2a0Q}YP+YR2?h(E!Xd7AadwzG3_vDU>Ox0XPSv zP6e^Ji3U7m)3k|TRWm=_wEM_?b02FTDWD#=rTh0ZlQ(?GeKZn1f*>S6+D7Wi{fL$1 zrYqP-T}5AG+!Ap!{qTb~6Ul7RIT@c08|sFcHtA?ExCeyHTvq*QwOxKO1V)}oA$vg*RtJiC~UWNnaA}L+H*{ddu=s3pZK1W zs#kEf!l->^dk&X-?ki50D}$t)s1Rx$UhnO6FJ~i<-w3R(zj7ju57E- z6#S5FHCXR=7|sW5uzu1Y1x%PuT^!%C=kl(7A8UhMSJ+?|Uphr|A4Ofnk7djQoKPQa zhoS1NpuQ)n;tf}@!Tw>$0%>uN#NBnn2On+&Lu*t^>BH)ZJOW)`^X`HM(1~4h zJhq+m-7DKk-Ble>LNC}kwV-W0@k&Duu496E$sz|hD`t*31aC$jrf>^+=2(NgmuKz| zkNz-*8$8B%h0zAP8P~ZsSs~aE0*6-~ZpfkyF-{qy4GlAqi@_>c4WZWCjM0YhWEO3> zW186Gl}8*hhh&UEE}S+3*&KG5ITGoChs=*~C9#M6<|_|Bm`6f&7_Kn<;P;bX-!A;{ zqjM*KSagA)F#5Nq5CkC`g)3Ksn`%$3ngC`v=2iXR}(owA^z||p~&^n7jy6# z>;m7D&_=Bx#Nd@uVVI8-jcD68v6MnwB7`SDI5rV)%;FRO&?Z0$JcWvvsy<37#v0yF z_tYRk2Z?41qn}bCf+B$R9@(Cmi`=D0PFkD?G?Bpa(JQ)9p=3}*EO1;C(Uex}&YmrY z;a>-cQS|eW7ISIueoo>n(mDRbA$;fltWM~1d;5>5J@fWZ6UEyr`h_NrZyta0pxTS! z&%C|;N7UZRD33z;ld9ln3?m*rL4vpq)bLf3Vx$$HAgqZ$3HQ-*9D03450v0JRFNHo!l&qDO50VK0^KEs zAdp!^MGBGCwbMjahXG6&ZoL}4QI-j-={Kr{Vtj=q!2GJSB6;rfc*_mRV>3p}gGnK7R{`_c?<|t+xkl{5)FQ(>{l~4urwxt*|=w76JU@SMxI$ZKbW+O4l9&&2sns& z3JOH@&2GAM^5p|~n=LsY^VU6itX$+hCDU-~nLQ#$3Fy;j+sBhv1y)_0aOS)VC97en zPghg4nmvZMkF^2jki|zHL7=i%JSvMB%VC&WS=~S-?Gx zg-{hrWFBJNEBFeH-$TKxcjR*C8a3)m-1na7*zArsF2E84NecjmH;ZvY=NAybQUsk+ z#f5W)Q1%G%2g14mBZ$Cf#VdU*3xUbkkKf<6Cwv+JHRZbOh14Pk$$%{dGz@MgfNKi@ z@}ag0>p$5M6gAwRW`_`3=tnz&g8G^tKd#b#+~cPfj~`cuKk?HiD9)q*Sr4DW*;CZB zb@sH=v;V2jp7lw4mAw4{WMz#%<_VN(@bMH{O%GOBR3--wfrg7^?ZPoc`I3)v48^8( z5D_um(|i);Iy_*bf6~J!f76FJk1})NpX@xE(ZJ}-&ZC0m5X=7oe$37!^qr4*CKVd4 zB>&LfBxyO9SRNnoT*~6;rhKs?{;}y?YHMReP*v%mYB{DX)&4)jA=S2vm1L-JTm|dq zpWw)9v70JQ@qiHg#d0coD5-ia3MI=7i4iofJ6<$#N@=WLFB&T$<5WkA2gSW+IY!EN ze%TbombXZWti{kZ&U(mh>m$Z(N)))+Avs;dIy|Ss@3B_ z-;zt(LfHEEul#-wJ^uZk-=6}}?&^NAfPD042A}`8ntlG>^H}%2)!DybT5UQEsXQGq zSRE?Cw>ltO6RhmLNF~pYEtOFxuC`;#R92}rnU}jM^5}F+cC3((y~E^=2u(?dG)$NP z8~-nRZvrQGb=~<^*-7kiykZ-(nzAG#fu%+gLI$}3w>H$aHmfCpW8-#pcXg}i?y62L zl3LzCAQqd&u~`i^iva^>HT&ws0?!*elfawANhZl;93cS);!KiB=8b1E@B2IV-v3hn z>Q+g1@|pR(*U;*!|Nrjy+;h)<(EUb;AtF8#zOo?~d8^`j<^E)mZt+?*)h&6)yYeTv zatTr|qou}DmrTQ$%bTkD$Ysb36dK2SJ*O-?j*NhK@5R>>G&lwHmUz}6T;YVjtF(}$ zWD+xeq~JOU(_1GSTdO!kRiLgv;6~^;=A_AmPr3u}9-)Q`gA!(B%qfm=<5Yyyj1=6> zMOhlHep-clynC92p%Ri2VU88-)^k^*fio`t@7WkaA2?THV0I3D=ft>`2{} zKYUqD0ScqRBm~bh+HR(?3y+#K8J*1gZ4Lto>jHvIp?Yc7nj~Y#pvp}rh9HPpq@BAu|^{w_2{K7g%%^Hkrd4ZX?Xz1^-g&!*N_=2=c(1Sq~#+F7PN%hINC& z*{aAS9=5jJXyP-1i%1M%jy$uhA!bGsvHM@%cReYNu@_H8e5LtKwgDcFT3}(s~>vp>-YPxsq==-q|f96tFbT50ke zqT7u$Wy92Dt_s>YSs=bLQT7|p?wY`9F6@9Pp0-=i9I&O?ea}4Yz&Qctjeo`(Et9DO zj`vFE?dBr{$vw{V(HIMgomM(cF~5&O-T2^_FwI!J-LC|3n28c9ANX2o8|Nqrm*`_I z2F<&_-g9PoUjMDUluHEz2!=D`^*{hISJ?O zvwUqYK6!bZY1bvWAg0JO(mFA_#b8(;$G~& z)yEun8O!n?TAPRlIanMYC?ii7(crVmYG6?cz!QV*v@^mUDAos?3KJ5t*1DxB`b4*W zeddHpGPoYE4q1c}S#7AEN%XjzQdI`(r6F7!EG+L+A-O;$_ ztFK+)voFqh?S`k0BdTyAB#^zJ@alu-l9Hl*u8H{xJL(-4Hw!CjTjThIAj;AgpI#9+ zc-$Yjf8u;l<4x38Vl5J@W~j)o!KrOcq8|gsU1~#@xk>S4pZ~t!Gh{qI8EjX6p{-Mt z-?ie`#Xpe1nfys!Gw-t{<&TX)xU`)(+Jq-1OP(B(VKr+AS8d^NfR4a7x+Dlrg>NB| z{>fjq@2dOvT_)js0NlOLC`qvPXy4Z#rHmq3J^s|oWQe}n9CR^=9@~LPNqrK+AOGj5 z+a0nB6^#@D<|x5e6|~FwAgpoY`+Ls6 z$RcciA3VPA%TE&|unnXxv3dw#1*xyzdFAWppG&SaDAU(3xZhCqBUirm2!XKMB}6$P z0i@d|t3$PCuNy!`evu!aGx(2DI*#*gf|vSbP{uO1Y)EBUwy*%pri4+mgnZ#5ZQTBm zz+)8gOOp+d{t6_hKv8nScG@iki-)Y4AKBwapbMa)b$aRMdlfhbH|HyFgvN96qy)pU ztBo5Q&tAIa2@>y#E`pAI`d$}gN@YLd0J$Rn8H;y|r_|PGuYc~k2AAXx;6YCAFas{^ zlyPz{FNNrn^$zhmIv0@+*&>5eO&6(5i~zT!3w4V^R?>&m$<9YQ!kC|enK%Yw4>78fx;P@3*zfoKI|eU(Elky#uVN(e)W5BCm?3T zysc!jx3)MDHqA!F`8f(a(NNNxCT^xo;`Aa?WJ?2plMStmSb&X4Y9=~gF*V9o2~5@$7zFdSVb5S|kyVhfy8sAJ+)!ve@X%AhZ^TG^Fsck(An$#WnaAPF6%@o`7We?i7}DFd;lmj_1mM6OR~H=g zVg~2g8y&jfF0&ULs3TSi!iG}$`U-Ps@HjkULWEYIs?Q$l2p{GmE@Ii@7#UZ=-e7H& z&d(PbJ60l>{>Xn9%|(?Tb&|Z3sPTs15RO6RkIDLX}tT?>0CGJrxX+{7xndTYqp9UjeW- zaaT(ReKo95(0gLAh@5X(rWsnq9UuUBWNmj>e)9p|7j{Po7=u$Z)GU-(OFx7b4s?=^ zqj^vgk~nb>rLK_W;xzKp+%DsZ+a=-l*+yR3?xOJ*4B>Ck z`uY$!`Z#5f;LoS64pwP*7dhLMfO?#a02uea;lv(<%`yk*#Km-U3z{=R31Zctfomc{I*tlW zQmWifmpr4(39BcIZ5rXF{1NLtS;;V4(>=^yo*)yaK_>Yb4h29gG(j6guuRf~etc2N zhV*gfo2U3%%Oy`|lA`nF7G=paH>>GLyL^|`PElOO5=}vx<&T@<6u3oeCOM(G(^F4w zmI09S3-<$!Ns=b;Jck=7Swm2|p1hH3F>>4%;E3`w_|^JA1OUlYu~Wc^O9C6i$dRcl zsU^cg$3Svi`+EZAd7MGPk2aFzw7`lhYQdg;$yx1id6Xz2oQ)5gsu?q?+l+gDbkF(U z*>nDb9e~S+9JnNsB4DO86|Brnz)DPyCo_U3!KE$Z93ec#xY0CHxrG+(2WB9GqZ|jI zB1d57k2a`Dq&Y~@#rd;h$Qi2=tjKf19z#Laj}0NEE^Mq#`g@Q}G$RQ6(E;d#*ydUZ z0ackO`jhL6xbfEULmb@Fm0uUZT&&TwRM&fNeH=;$_IdC9-+cMLtGvj+r4_PU?%nlZ zL|Tb7S{XIy6roNQwD;C$c)9o5YhJ$d_9>dW_@aGRT<b-P!1PQ>n;bgSMIg{b zTdfe27G1DN6i->d(4mW@X(pvx^_qhdD9gm;(yd1@x;>28Wn#E<&-vd~&O5T!O)Vd2 zX==|-VhY~6hs<{8lj=C7UI{c_JK?~1Y&iM)6%W078Ns%&X`ceOwCqOVH9~mbZ~*~5 z(yEth?vCRTB8z?~5vZ$@L{4K>Ttm?PZ!03%b0=K9_w2609kQit86cLlZRk0_i3qT@ao$##4IrWiwvrnm9TJea`{sEuXkw(| z)2yWzzbj8Zkb38d7tU{S(nj=fBZ?j;I(Q&b^~BVj3l8+K zai*&KjDiQfaLEgozHqrUl~f2Jk!T&+Ck+pf`?Xl#{YZ`UGAX=U*pNn=h$>wGYN9QA zlS)E?k2;c2?ARotVM5ke9i54*7 zVuIi!*HD3Dy%fW`QF1UoSmcG41YrxzjKmQ~vTngRdiPT`uV`qC3-c$nL1GCxhmcB; zE_y`=Dgm5s19r%uqbPfeh9SI7oKe3T^FyUplwu+h`f)NtMNIcKmN^0d)9E(kW?FzU zr93fK9a%0(Y@U+>zmW4m2GCQSelmn1TM4G#s-A%Ezm3W=1rRqRgSK3d|& zkw0|b4R^hC<86C?=jj)pymd(g#rZ?wXZBrtxggcO^5qX-i~Ggyo5u-E$yL4kp3< z(A43ZDg!0yEfoQJX=%8$Wo(Iq&HNF|s^fMEa{Y1%RtXnX4b}8cFO}$sca>&I5jAXL zaXqV52QfCHdPlhtnrAS1SxJw|zn6rXN4<8{r6JIoxj)^t>(!ec4{wiV$DtwNm`VR! z8dM6+CGpPYk4z7jl;er<&eg`D;CqzF5)Xq8cM2OS?&}kV!lX|@s}g4ZzNJ`gSHLgQ zj#ash!w}vZHl%7v?89TfA1={&+x;M6_bWH;3gx5yxLFYVOa)7Z@anL5KMF3#a2V7P zO0c~9LFJVS+fj^axuWehW8H-1M=Qje5!E^-u^BJ|*X-Hpxq#4Y>wdWOui@?Cem`^( z4W2`*(J9Lxxz1lrZmhN!QMX;$y>P~gTs&-!%kBBh3+F}?Pwa*a2Eh2EVGQqIrquEw zsfjZmB!-k!tdRHwcaqiG4R`GO_PP6Rylvk%Z+rQoy9`HjM7$Xrm^>7^>lO-OmEN|{ zvFoF>C+O4&5(HWa_GgNsSnvwgIV%Y6Mow|d=)KA88HtvPq*=lQi`oVu@zgLv!eaqg zj{kt2F;v86dsvK;XiKANb2v7Y8%1V+gj~F-K;#BxObzaIc?ytFGn(b0{`d@*+xleQC;W4~i^Oykv7@&4WxTZX4QRId{Qojc2c$ zs8pZ3eh_~VZ>(2T%3Hr!v!VK9#mN@zS%Q@wyqTq=^=q);`5R50q0@V=JTa7J^#M+; z(y6#aR*#uW;q#F;^h0L^YrAnvr=poBw4ov#NM=`Y>FWy1nrNIW4Wj#z+ugF{SW>pG z5?OU^c`(J(e=1W~RvQR`c!OWMgzc(th_r^!t7MjJ}?$i%d^v^qKZtWPs+-%7V{a)0(8aP)M#qb)Yl|zAs>dH@Kxb&KS|n&Fayav0zVV zgQlAB@z383>VKT1XZI@vky$o5r3z7TQ(Y+)LGz4KBkXA5xf_XWhwhw&h(&^RVdUXl z$G!giu(&j5usI>yKT&vCAjWS<{jl$bbMdeQh~^q?I!j+%9U_*%P!guy5p~HJDM==(K7o%d*r7vfB5-tWlr|Pi5eVwcpD7P*j2G8 zE=J)MUHL=eR=uGueZ^csY~mmeS$>d+2qPjtBBCO>jBQr*-qAJ%CuGs9qn0{B35k$} zSz3tx51N?RyuPLr63Iu)tKqf=l`?XIH9YlP))EF!=49@)hkl)7FS|rOL==0)X zZA2s;_NVs~y)I#B=^ z9LSNE@4GE}E=6ZhM8r@o2s=Z@idS6>-e@z#2oPz`yFg6Y&?nc1AoM}H2he7QiWLL) zjn#3GSdalW(_o#sppa*73L)wtN-|Bll%`#UB=&L~FDb#DD4@kWC;y4{9`G}bDVjux z5kVdZSz5SI)?UizD(JrEPK!?v%GmX8f3oAF$x4V!T?hv!eZt~aO>xT0037)N+V#gO zJ6NBOfWXY5-B$iOZW*67(yhaQF~d|4+^&2j+j92M0w-jCh_G}^fxQ>*Lbd8AujQHU zn3qEAd!H1wD+$Zd;g4~B9Ffq|iqWj5MG!?;hdAJbLOe^(mffJP0tEw?pTs1_;zxa9 zr?`#uI*r;6-x5~(pJsOuqGj8JNs7T}I$1#6JhURHR3@fuK8<$eCya-Y2lDsj7-Ghw zPdP3o@+Ho8jd<;ANr@Zgdv=*kDX5EvfC<_ekr}mnn%o)I4+Mw2*KQn>EDVu(B(do! zL0kS1$CxCXuM~0DyrrDyl*tS(CvpyA*Xp)%mB=Ru$uSCJ3Px5kOQ&cWD2>lUGeJNKGA`ujw53im z##qlV*#!RqMt$x^`F%r0Voqi2Bc?UlUy+W+X3TO7#@_ocOuTekfTmhyv^6$;*jn4M zL_tfO=Zc&V^Q(^Za@!UxW8$8%ueP3#O=0Q4!SX6_Zc=E#WE>rBVw$_~&CE>gBs^@~ z6Q(MjRXr+fYuhH~#Z^!q7M2oi;T#4W8KI{jpdG()YybqG;nRr@ zqxN*-ZEcPTAdw!gi3Z)`wFQf~A@VC*xtM^qX(2?AKs)vebKK~=A^>sZUl-8i1sS#o z5wWVoqak~%gN3NVQSJ9%qoC3eo+`C%cBk5HuNq8kur;Uzq=&U`Z1mX|)IA#p5+2xJ0zxJ~Zny@Le!NP5HP?As5k3@B zhtudwNp>Vlp_DRKw}+^3t+iER~fCd}tG1QMhHEV4D!Y;7Cb|A8_cM^QJ2El&`1W&@=u6*}O#jy{>Vz6q$EX+X5(~xx+ z1_W85d;uoR^=`0Ss^@!Q354!Lxh`bv!{rg6#-RZRSy2k~n3;I`23($AeCC@kKaBs# zgD*Y!Wd5U5Hr3LI<0AH+_YGydx&AR4*>~=D1gB>$#ZNlqyznxrmVqgTj00jB>7%(6fd^jH*YPIdk+V-uKZ`SmXwY?h|TpaUR^4Iy3sgT&6y7s@gC}h zo`EfRR*jTL@MLK@9BYt>r6c=iM(#mAm;^v=%Krptk=8{7dDxd?UEGOD4#Iva-hWd` zEWJZxbj(68B4tpWVfsM+ENhX}H$-hxn?-zq>-l9H6%?QAKUDF1El@G}9nX!+D8tmi z8qTAE=2x!1<;Cysl)b)PsO{tBr$a2IkGcFR^QD%4 z1JO@DtjM#w@aj%ny&qDj{fL3Ea<}Yy?ZV4myWjy_#^f>PqA0Z$3vT)?13yq0%OwBF zmTtQWXHJ^;n9M1mh2bS8ojpHXflDcf)rx_iWgv7C>HNwS(p}kRXIqR{U#fT)->3yB zcHcz`6`)#!h`mmP~B|Db`Q{L{xlSp2W3M94WU zDiKh|4MQG}Q9{j@;#fw8+47d6i@1vTIyi)>3sRYN5rINM7xCdGfs?%ld<*q0RlKHA z*<%Y}A!%``K+P{dUzgxOj!8sTtrA?7o6XlWTN@RZ_*I5g`co^(^=POtsmsf+ZC8GU z0^MEz{e73+0_J-K@ygR*=a$`j?o<0NzS>8*z4v?^u3x&~k-cBN{FRF?lPK0alOn7s zB)1s9>Q~OY^QEgEakb@K_vE)}!-cke@v+-o)!?Xf-pk+qrs{28TO{x9vsXB?sMfSU zTi{tqWo2>{BB7MY3xu^1b~Q*u;AOtOL<)KHKrBN9F6}5V)p)5mvTzj&H z8X^Vp76k_4*+{8W9zlP>$1`beuG)pya-neJI`|W_ZcyC`pC@y3GByzegrKBWA;ujs zzc-Z3{Tgc`&`U)*0og?Mp{Ttvcls*sNJP)Ak=GgoByT3Vj3ku=D%{{5xOd1(1wzDf z0n&=Hnqr%O=WjRJVaCdgT`*nToG1z7Un|L{3Dc;geC1<(x+ToRJ2fO0F9H~BabOC^ zn{v4y!(59ma%#flN#?OZKGT)2vA26Kz6ibZ-g9q7Qi8J?zTjBE?K$saWd_0H_1yD9 zWL+~&I`_O5ISS}+?}eA`ed6{#=YQQyqVRm0He2eZ*KRtG?584ies=%YJeDJa;Lo0U zOhI^el2gpW@p_b(LXPAdCY_-7dZIwWYUzyMa*p7ZV~WfTL--=@D!^+uOwY#WvE~5w zYt82_Aa^R^1(i${HIs8|!hp#k$gcdVKJO;O$dEG= z8ef3c+$&5Pa&um(P((6`ltLH+K70822XR*dElr(Eh=jwBQsI8kp;hEx%R&64Gbne# zeSLGdq08FndvbyTg`)UNdqBBjboYS0Z!vAUpMcAoCPx5jWww#44B)~Q8oTa_q{f*h z3J)ZNn=DL6*n#u_~Dj)QMLnNdgvp%}=$G8vkmJ(8LqFfq-8UlYr2%szf z!B4oeDr-kO$lPIm4B&LsgWzeDEwlT=Ni=rA9oD!c-n%LYh4Fz6{*)PthMd8q5*(ll zH;n0|Jv$#ZdyZ>39-%WGHx7=ES>4X)?}M+Mf9>m6UK%RssQAE#58R(f9z1K4LA31c zMv>JFDNbz!^wAh**_HsG?Pgtcq#a(w&wpFy9$dg4y3i#9RD`E};X+-lX{dZWYW>*V zSA#A`!%zbp)c}zMUX5i5s9T_7Yd>S$AnT%D{<77!$A;-6t{hagV?# z7_jfYr|2&ioI_Sy&R$&_$*@Oev!-E59ZYK;GIe{99y`j79ip@Yvdi)FbD-~MCL1=j zfXXurheUV*jNMRZ-cnFsjy;m(6yiY}39uZER0 zn&5=pav9{4ebyZZ`$l-tbB#9k7e#AE?G0x-w2#SZ%o)qzO@lVIYji}o7ZPWOZ)M}@ z;H(Sh@J(UgpWUU{B1_k`-$bxbbVaa<{xEUnD)lxyDf4L1Ax2kS`SW!lq%gZ*JI`Hf zc-aK?iBkxwZ@nE}xMD8UaJX1#UEYyKLnl&u+o^ux3Yn>rvqRlDCf%(tHm5qi@f|S4 zZNT6otUoqxR(Mg~?&Y4jFX1ccBRreCrt(e8dseI+{5s?bL7hmyf$0Q(>ZMw(O!(pv zt)n97T9SuXuDmyj|MTJ#m+yVxTd>!!Tz}!-uU;(MiNM)IW$wN3I)6=k!~|3?J#@?7 zr>=VCvWKJk`>uX!?*n(Y)OS&VKoGw2%8#2NzsVU>A%f%}If@0{C`LK)9N-KTHK<%C zh>*^uyK%q|72yZ0@5gpO#nBk^8!00M)?kQtD=gqE=J~_Wqs8X1m%ZUI( z5vuVPQoFf_3m>mh6OvZ+E|loUIRArVB3cYh4<2mT($91W*wxvo4H> zJpn5jt(|+6K-LzJ>-N#R+WM%;L7_)#I=J`==iUiqi{KTzPF^r;mJ1MW#hgER%Lr&3 z?9`QCY1=ajaDY)PSkZ)n0LWx}YVg=Bs#=|t)C^^@>UX2tv-2J^vcE5}D~L}qki2`( zPEd|F&XXv7iXcbsvVHNfDAW=6t&e|{|BUP8^_{oMbR*vP!fQ|7{pwAZytWG_{i_yv zSP_j=(T&2D{H?pmd_)?uwmkZ$K0ekQ+>t;-smMk+IXaMo2O{BnQ5Ip_j9!Izk8qfI zNQzhmQfKdXZUihx zCK*`i*#|I_H`(Jy-Bxcys)%*&SW|fegQ=0P!e~KS9L#e{C@Tnw1@T@f*}y?pEJ*bnjwW&; zP#BC3Zb&klqP4Rf;^!7D$mGB^Aj-v@i7NORfyW3oUxl@HrU*%F#R3MmZ$nsSzFD8Z zLXep7YW{Sarm$tvEj72F(3IHX$U?t_P#?jSLq6OOxHXj#|5c?_In`}di0NqCg&f74 z39!_kOR8h!D#<7Y7!-_Dz#uhMUu^w@eOyKQaXmYmef;I(5C?29{!?(qs<+)^obxWt zn(%{P*lr;X<(EmsOs6p9O)9dQA|h~gnY$0j3wIwdjwABD4uDlkL6*aHQAo(7)xYr1 z>sQ?U`c-$t&e+8Hc=bEjgx~xS_JrbtT`snSbn#~oJoM@X7r%P_{W2K$>Y`0%fEH6k zA+$$x+m4a3XRm`}#(q$K*9H$r+&x4|(&9t0$-8fx7~}EsInq36x4Uh%Wvpb&t&kqt zSZk$G)n2hx=6J0W1z6fnNr`RgDQkx2{G4VXd1s0~Yl#V}yNX1(&-3+T5n;OZV(B$x8jPqjt z1uLKtZMD)XyD4m5%UescIhGu|BH@ES^2)iFa9d$`=3AMeWPp30I-d*@fSp9f zS3b^X6-YKQLoj)=bJkGvVF*;_dfIp0PTo7US*CN<+`Ptnb6}t5s)~{};u}DY)Vy9> zW27KEd$$MjL^>{hU=VUUi&7Td`kw=#I1!2T&B~l{g_@X zD8dsm-!t+3aW)SDu>ShoZ#o9wNM-Kz9Yx4$CD0j1CDl->r*nKXQHKgR`RPf~LRWr$ zPvk|Km;&m`O0_u;aHtL->_O-4U}1*&&Y7vA@{v|&KzpMiHNWhNo#1mc?qq#UP>g-4#>cm5Im*vfw9Tn z3d*)|Q!*FFLcc}-64#jqQFohgpCAk9<08#WZJ&i7^&>-qS5j>4FJ9XP=!MGhT@BETi6Jx z`NWy*XG0ZTp`?h-_1$+m=ov*3!{(ren5Yg(M~2)3Bn^WL^ic3t3X zsS$_xbz_{joNKh~^@g;Z2>UDrVc6RMQiU1eNjngnfu3>PG?M|?2!vJAg=7Z<9ToCc z`IpYffZ7bCL==W;Cwc=^sxrSTjzb}TN8X#E4YCfn;h_8k*!911&C;}kSs#o?nBN2VZ=DHk}QDTID_1X3TUk!+N^c{zC30@ z4eqtzmB$VRkLxbC-lp}$w+h*qw4Ae}g&mq5o!{w}c&^}ynAdU42+5)R0tYZr{6U87 zEKC?MfxoDeS#uWmntU+XbDB~Y4$ncamR476JjnelXF+oHcr~4f%nePFL+fi_zVAUt!PrU$xLVkGaq}v_4&IiywuFg|LD6 zwqKL7cl1i(Y3HRVtB9c<}=ckMKlB9E;5sXu~yhy5-GoW*Djc7 zamqjY-uXX!@F^72*TIV;_Pf>+nSJk}pFMa1UxH7Unzrz0DHU`fe{24?0{)XiStdDt z+f4WDf|xgIliWtcr6kcGH9S|)X zq;VlY^wEe3k-)UM#cs`eyHLTQa0mtr2^`WiNJp2QL?Rs>$2KSgVT;bA*neS=TMUED zbtuH)4}hK_XUCb}lTX;GdX41wprI}+Dx*Le+LA-;=@|hSOtRJ%e%=(~SpB$E2MiNkL@_i8F zgoTpyImOCYalBp}<)3pSUa^9mr%_lf5W z_$(k_=(+r1jv`9ZFZ(Y4&fbe3$sg(8WGD`Ci^r~a9HHVf)-a32EGD||EkP#mv}5-@ z`8jyL``5%uoJx>L9{N}bN-$7;lUJ5;;rnx2tNM_ zNld*f_S83ebj-NbAHPGS!>d;k0RN#NS5F%5<_D0f)|0Llk}5coTyPBfX_ z4{jSp@PJCG!AX5~*C6J&$&*XWEXgUNvn#%ZrZE9u)#FYs*QS$?n*iOdH9Lr*5y~2Q zV)A_K0s!Rt z_BRnxt}>TXj3&Sl2=Fka<1}o(Wa9Da7aqjD{6zNNru*4VrE{W*^_B-9TlH zm1ym3gkQRXAB)HS@^v>l4+tldcB97ZSD}_L!@B!+3cUE#6B>JJ;E{DkH1@q0D9w}g z7QNK)zxx#*5v2W!w;eX}hcNP}t+OrD*YD?(ZW)o~u;2CP?vvezQ)?O0Hz0^#x^M+9 zVs-)Vqnn46X?xUJjIbYFg=Jd?u`ixCRxUIZ84`>dznu%THS5pahKM4>lS;VxC7>v- zqU1SASw$L*x}bsOINE36Zf2MM0H^&y=1Ohj9(kp$l9y)FD&{MtYsxj}4ghdJ zQu4xumAjuJnU#}?D8W_VM9DHiptzM(uBAO9PPPTN-YvD3k{0Ku-9Da8jLIgL)?eoP zTK!R^unpP3IkUU((SgT&(Vuj9Yf~~p*vXG2VzZ@sg!Yu=!Wqlx5IMmHG%&l3V#~r$ zMlB+Nm)v8dDNBFZW+!U0t`;yxa?f_y00B(g3shy>If4uRGVc{VB0U}cVL6?q%)82X zm3FZ?*yO4n9K$$AL$AyZT7w|tKxyEF9$dM$g~&1zt(p==Ht)642#OFC;!G)SkQr^a za5jir+Rte#-eYljkw(bokkzV_spj`|KH;t7egEra?U+|(X?CV`M<*{84E$*byvgU{ z7?UpAe1*0pH$g?)f~VI@no=CIxSgT2A!|&FkQ|%xqum}w&B7*4HU5j=U}i)}MQ)Id zZi|Jx->7!+0nq8+$aAA!utSO(kj3v)p4d6>UK>I%W4bg*LtJ{0$dJGjEZTHm6tRq< z`l;ox#J0uc$& z`!H%2-lWP2N@Tj=Z4{EUl&uT}O~G^1xvzceHpyXby7kpNADRL@+ijsFGrq^OXIoPt zlu|-h^pE*)MLAm#WBfJTi&dxuEO=g^PYMDVSxbzXd6(&a zhD+yw5Euw11W0Xm6cNTKYHGV8h=yIrCeE@C+NVLZ#WEYW?SAl_wylWJG(pc~d(bvr z)}Q6qiB7^Jp%slkQra1oap<+OGVVwqS#x7?-VRe^RCibrfv4M= zTab-1_F6CzZKqquk0RCiRETFrSN`@lco7jP_ngU^^k&;W>L$V$@m(kA?-ek_U{Q2*g!VWVQ_4>>UyNrT1zYj&3 zO_ZhkWRe;$*-AuQB>rssrD2c~eEt>LhgZaQVy7g(3j{*1*R=d4wV|?*cE$!;I^CH zZoEm!7Rrw?qSnhLPolB(K+c|xU<#iVe22>|vB=OsF4zdM@A;xab(s6hd#p}+gf0uR zs-#SW#2m&v5=$m19(|rPMxlM(sa@_)ahTn?8Otc}8y7f1#oossc_ras_u|tx>D3)y z+55y5m;#F6KG9Wm{>A+3>a}>+IfdWe+pa-(r%ESns$tQ`Ibxuwz!EORrrwlRjh8VA zY+iL@Eur|NRzkQJDWmi`p#n!Bba$S40+(7P1Z1iLojrr{NTKgUaKqIXVVVA1o53#jWLBET*&?9jQ!GA>#Em+ zYi}fwNazvd-`}aP+bKS^yb~9o4%mU^=W|c_h?3KKx1E;UGq>Q9&1=E!d^qP_trYv^ zz1osKZR5{>+fZN-k|%_Jh{fA_-I{ws(o4-_JRZrA0X&J(6j)Zl29maZ&*PrfyEN&J zYiNL5%tYCQu~ejNgwi-0wECqrN~0usixYT(55&%JxJiWMrFco4fVYD3qFj0rYVYg; z)@eH|c|-|X>yD`2968lFREWYk9i28*yZO1voe5_lI!(z)2$J*7p6cLGFg`gHJZ`$v z!LEnXfx&(EfgORgp-_JIwBVhf#Eza0dKqwX9Yj57zuLekb35sPfsu%ptaJ*fzCK~c;@l!m}svtoTz?$Py0&FqeGrJQr8`J&gD}BKAlZ00@`84xN zMus@2S4A?giARy~@G_w^xxl$Qtx0j*Zn*--?R@}*Gd9pvWc5ES#JcgtYpN*$StcYyRBl0J*Hg~2vRZejS`3M7_R9v)GYz6iLnPy8KNB)oa1 z4AJ3s7c8#^S{VtqUcrjc#|--7ujg`q@S~qUlh5UHzr*iX-z4VD<6Rp{1l_3-D<=B1 z0VC&94OtUG-D_jzfw=*Pp1P=OzW$p_JZqH0wbH4gYf&)FEv#=2jFkrwByFsYmMW(X zeE7q~lLk*(yx^1*7nSCpe9FvhXV`3&$4jC2zEa~24C>$TtDp5f%k}@n{If2&r+WDA z->jYe`#Zk&i@*6^*DdpJzT%YAXZ`mtu6pxd^_8!G&sVnPt( z_3_*U?F!Hs-e2w9cdQ$M)ZI`^uX8irjBArXp*xkrldy<`(Y1xz&uJ&VOMPe@M0E2VO1P z|LdJK)Vh6Z8G0qPjqd|Cj@NqEnVlA{*LJwdXD#56?SQ6G1X@bD5sK&M;L9NEH$s}g z>0+r@!9o}9p|oANg%S=3@e!8-G16VhaWYw{+(4H@R|>W6w)3-e2Z7Zb6!WtlYc^Yvc<-j{<6P z>K}>U6j*ys{WuMmustxUBrLG&7|Mu<$rb}^0$v-9f20epk`x!Eui zF=9c%a&No|VA@rQB-%4&;{esh%4IJCyAnC>ui2NEUTcy^rE!)~u`e6)JXhQgI{wHKP1j}>${wl@8+eh)my$olo-4$B9l?TCeNu{OPN*irWb!!dVnvS!|WrL6Q!`?zOZRS07Gp&Pv zg$CNpd+G+_DZGtCw$M#MhpECv+Q%6f=f5J;n4AI}PNLe}>8iC3@%O24>~t04A-x5> zuq3(J>9Z~hM+db&#n9$beNiXXTZecX6}vjA7!UQ|YN$G-B2ESw)`-FC4ujidQ|&kY zZ#2|Ss<#ex=rHrQ@fr)H@ z7mo+iN5TBXkPsLl1*at^*6NsUuHNuR{pm>5{hO(`ypal>r z#UTYYfa8tGkis_Q4^?$fh$twb3;?mPqA1EsY`p{Z(v?4D4Jv;%X)iLpmWTB&8Nkp} zJ19_&3f9C#vuoI(8LuC1SN@VI=4gRLh7d&}b5^P$R1eH9IaPed8IGo8jvTxf^&?8k zEtrDMFm>OMU#}twuP}()R;`WB3sRYAERED8rz=|M9i}fjk2Z(Tcoq^&fKkY*Y#gSt ztoV*mfAzVAvV|jXHDR`8m4YlWS|8El*>Oh08x=J8ZFaDbToeYN`dW<f{!^7uXhVfT#{d@;wXGqw7v8Ew2eYDVt3d)}eWo44KLb1O>kAOxm7llXLShOCjUwGo z@j@?V>Rl7{1>|+Bl_xkA>5+8hzoenU`d8}m8FYLdjsj6KShvqyVp7Pq?6OOb;-O%MU4nk}LC?&2n?Ya_+{B(sny2 zV^s#CXeR2QuQ@(mBq?)vY0Qhrec))k#8OzPOfzBaFhN#)T_%W{#Rj|vT`+p&6o;V1tVG8<+y6DYnm>B6PTSh3wv?I#C=50`S%PwxD@*uobq>%0(O3m~sX!=Q=t$ zV!|D+PeR{;4gajvIrm_y)1rW=iLb&L=s?^-Qpbi@h4tGXKg%bTKt?TVfQDAnwVeWG zdvvCBeF7%$O3i^gvs~G*akg$QJC&BVoV)q_FJ1hD3;z0=A{`meqcfT<=IVXw>l)S_*<`dsQT7#PM-1hSN^ZhzvI1k|KvSyc=kWN=YL-J>+ik)xy6Tn;iQv} zc+-FW>5*sN@y4T1`n^rF#ylaEzKlHPq;`-nJ+kwfQ|2%Zzj4OxVare6M<3980@zG@c6^`~mzz3=$OM^692*74HsZ~e`;?4A7cTfg!7N4B2u#ht@FUt9@S@OSUY<%(}c z_zUy41EF%?J9D|shan{9`A$CXfoZ+seYxE4z9pBt3WE7Zhvaf+yf>Ho0A;?%?={ep zXYu@ncOY7zoyU&I<$jAg_wzfBh-5bPMtSx#+HWA%d6n`zX?riUZT{U5tkjuxD0Sb4 z7~=3;u9x4JXzy;`{hWHIGN$K$GnYH&t^B3#QM5ThTV1^0#q)iD=!qHw^*_q@zoq=V zcja>bg*MNCF)J|MKj-^fsB;fx%RE1qKK>nJc$qd|XAYldEO#>3J9+*Gw7;G)H>vj{ z=3Sxf?@)I!WBCq!Y^RNT=;Ki8|CDujm2vE)pPO0BCuwg3bv{Cwf1te&QGN~UGMoAQ zI%E3_%ACX++(Nx8=;K<(Rin;>ticypuQyY6lJShw=BZUq{W0xbNd0%xpMFj+FxDRU_95fiCDWB)dKt`ySmK5;$Ko_4z7bzEY)pwb zef=PTAK^bSR3lUrZ}JHkQi)H>{9Dg$;9p6*%T`9x=OKH0GL`2i)db6|fNLUF4Xmfp zLBt$RWL&1wqGi_BAZ<$MP_scz(54gHR4DG)V2x$aMl_VW!&TIrhN)Jz7b~b-W1h8~ zn4kvIea$b~R3rEAskqoJ#(`C==T2b7->()280rX;a<|G_xgcQp9g1{KUqt-#O5^<8 zy4~7ZWi>CWtdNrisAw&>iCGN!?WpJeEmdYDd(obZQ*bMPB!a3^Jvpd< zrs}cNRh0z5jejO*V_~xBM%zRw1RAv2D&CSbNn)8LR6Fg!tF5O&2eR99pQVYj4!jBN zTUyMgcN? zr`@*n*)bUe=!6aibI;Sk=7Z^AJsn7+S7Qyg@K*}Lq$H-EdzGdQERzRQXM7caQ#WyA zEFazMn{p!Inc%>c8dYo6b*zuX(nziVh}?s6Nfs#fWHC@1KW5J`X_ z5b0yBgutY>{0u)+ShX}Wre>(x$jeXPK=&(#MPfW;%Ssv&;1>R z3vppVXIwbIz+A49W2Y*VZgD9^=f*{)xUGUAh0ry<0p?Tk_k%_}k{hMMqGW}1dp%Up z3TaT2=sveoNf%2!_f;wm>46}&#@u!Dq$}4`dz4%~?V;O%bEqvuFAb?sTDFb*H2bg= zt=L?8;aDsAcNBepD5?$DOLq+1&>OjKuGht9@S@RzXf^bJz}%Fa2vx$_21DFpl+P^T zv_V>y`dcrg4AGhj?sW!K{6YFy6p)`Z=9*ZIqvE!qlvqax6=BGq;=Vsr72`v(lB$BL z&+*FIOuh=^4f=$&bT0jZyGY!~yPzLVPPZAf!F?2M*c>E_t}{@bH8rYv>Au}YUka2W`%0g4RMHqOFAj2MjEVT`V7~p zJ~vd?u}hOOJqFg&&ICksITb#7AQc>7r+dARMiz%g(kqz8Ug??ZQ2jL7f4XY6uyi$p z2021F!+g^oPv(9>BP-+nb*luVmhL|bMfDaqI|4r8W1*?3`f~uP;ipHOZN7)**6y#l zB>e5a$w8W2zP~23@R%L#B{VcAG?cB7p4wd$j*ia$3Wu|vhLWe!{RI-c3?PrREMz_R z7Zi^6AqL|1g#-T~%+dgdiX2SizawA=m#hKmbxegvbWpRTX~5pvk(lek@`mak%T`a` zr;e6&)QBUk97UvcU%`lkVjNwG=CS=~vdv9GpAEI}fJ3?8rTT{KXmr00(o>Tvfx-|T z)S9&tdds*e-DT@oJkgJTL9-`ko7D*Pbh{A<+AFbot}}NrYKm`zul{Je%E_BlD^h_X z5k=?LBE3rsXk^v?8WB+GiWH$Dsz??D?N;t)8bjCHy5+r$Ailu0(dldDRD=j^AZ35m z0{w6U)lb`BuSrTJfSjxVoDIN#po!zNO*kSdi^2ba;xncyE^OUo#zVPH2rgD;i)9y} z?m2_0!S@R^wWzbEdfA>8o>G|1y+Fm`_7&sPChHav2Ljp>%%em2A~m#?dZRJN z64%%SY>eejLXOjBAJSD@Po^U`gJr-uG|>j6TbmI5tFbwOL6Nf}`aCppD~+trPB}>h z1+KI6lln;eMmI7FS(0iz2j1vD8f|l4w4CJ>7a>|J-qS-7gw09MIV*+;Kt7kkOV(1~ z@vQ07zrU+`D7Q-0)Av%3q5Lg?c_455BgWmGnD_{6%T`ZwDCtFO-L)&Ier&pThv-|e zPb2p*Mdx%@w4QrCJ1nhdrR559v*}}xMRbe&5fUBB%|fcVG~Jg#R2Q5UCENr$OrjWt z`Ni*z=9cn)JH`qxtEqn4fmRQ2q1$Oo?k6iGJ!R@#|J+Y)s3}L#knAR${hk$Ye%Pvj;B_FiT0_8i&Hkp#eu-x1i;)nY?SN2)vj;{8B8Ua< zq0;*`yix1ffs+uxW*dPN1V5q3qKz;=5*P$if1&0c1R}T{!H2V} zegq4m62du6%2j%4Mh(_;OQ<@(wW`){YVq7;ZZ(>f8Piod6Zl)1yPRSRTZ;({oZXg| zxE0Sziuo$lW=&ts-C*xTQFN3Fj`Ay^sl;DN3B&OeFzdFd3dEo!tk$}$y;Pr*Za+!p zr6F&U!nTn03}Cpu-oiGH0h9t5r&}4%T}!1^0z6^mRzMX6_Te?Q~@8xp$*3n=@6lH4Il$R`nzpUrgcEt%cKz-e;N@9Sv0w z_zILH0G9hhgI~wFxM}y(;HO&~)V$L;Mc-OEO0kF%7A&TOeiI@r1{)JJmF3t;4qPT zu&yD|AD*WeMbz+lP&k`ngQ$9nSua=ibu|oPmQE5^eVOy+P&!vC$+yjX3$U4>g8Ijq zG4{NtJ+k6h+(2xZy7DuZm1~%Q6%{im3Wq?P1`O{Ql}&<_EEaoRb~kQT7=<~{tl=Uy zUdl4zJQR4&Y_K&V0*UbEe3FtU)hJ%&*7XV``-g=^=)d%zD+zOZ%0aY%F^KZ+@O zcvp{^LB{4mmbh-8-O6-z<=^d+n+_!`$5_?u z!))8{jS4yIO~2T)PCLzc*)W#@;%tq015Wd*v1MmL^QX$mLtw@Gu;bC@1iurvNd^ec zK2b5I*p0dQcSm-Ikx^(p|C>uKZ?u-Eo_`xwS2B0AdDZiW7v{(kDKf%|3@DGwFJ{0A z3m<2P1=vU9kBpN16mVh1eJDR?c?@xG=>D{jS;Y(v{U&2hxQrA%LotNvR3x4CiHKam zOw_LfK<19bczHXaWpJUM#GE6;_P{Y~}0? z)=KfA(wi_lSDQ1WvqKXA8)i*H5B$n+nRw>rE`)91a2deWZeozNJ{cL2AS!Be(k0vC zb)5NNknrwRAESFbZW`Ze@R3b8^C&%d&0OQbM zUtH6`We9qD{)j|NQJx5weJ%e<*>KGcgTy!tbTiunitGd(YQ^?YG2X_(V>L_~<+x>O z@nlCv?0dPrjgxj!KvYsZ+IuwG~y z$J&XJ8vdu=Dw0{M_c37*OGjhA{00ggd1Vcqx^TgXrz~37m4E-bXtiun1Y6qW01x-) zmsu`(omYUMqC9rK_u&#y=}n*c#5Ot@3PYx01;lV0%xL{OD{%vkwS_r~4VAF_3^3)) zKWn&MH;BA3f>#@><<7A7hkOIL*t&f5Bx9HTbr@KAYq`NCc1G5e*bIsp9sO778Yi&ne_YM zPeb&*tIz6#B4)W`$*u?}f?;@o-r({%j~R>+V0=Wo6NnVm6ntaN+d`_$?je~2KBKB& zD?$n!`~(togafYpd$?y+$PI#`LbCaH^*V=x=uKDtFuM_>2M*O);dgHe_NdX@uKe44 z3$Ee(;dB%C5fF}5KZY0>;r1?Wg=jGh>5#YK(D~CB$YQYkVQw}7k+O%*djeG3M}%fP zQHO!HNdb{}tMIGwK`m&g<}Q}#4%RyQ>jV?$L@V6%fMkX}S<=+`Ct!p0y;|LSqoi&wO&F&U*&`Jbg@-&C$A-XSx`cKq#wVaPS#Vmw=ML$66sRLs7^re(c3TSD)9l)aD^8w9fH_eZ@nvvC zf;j1gJWqCc!iw#dEtKONZeg96DGzdf1})enr16xt4+;w}m_J`p?ZRQtSA-vCkC!XU z#)NM+I|7#@9c3$G4!S`C4j^Ahd02OeU?`vu&;*&3BX4Ce+f;}Bx_pl!Z;BAFF>PH~ zpqZF`@cuj+v0a^pK*=i?3P-Cx38HdN(c{%2cYDNP)^yjX-MF-O3I}z%18H*#0N^eD z&kol?F}Od)C&Zm1e4_16v6~8K9bJEdjR5~K;bE69K1a?{y;|e8IVl3CmS(5l#bd&# zJc*$G>g+~z@%C#Aqitc9=Vz}pk%lf}?mS)N23z3SF29zAx7fY< z2@T#8p6q|kC`QmHUUi04J%1F@tMLU8R^Ek-5KDnTN3xjD{?bh*`j0zK^l;kx{SVKu zJu)jdyyOhK@_oPb2(?|a=gp3&ir^c|#u7P5P zN?S`~)d?|yi96peQV*O)-%M5AL+l15HAd(;FTbg(pU~QS0M@B0oTSAujtv<`C~V;7 z(TFD}7N)6*xh}L9LP2xuERq_*W&!NMj#!q;+FI@}1Q7GTke|H{iK5+C^c8uA#t_6w zQk)nLl15W=URPQ$jtN1M{4$9SK>*=Mko<=?PEJ^K662Y<(To5RK?2UuQVFNir%&25 zxY-drUHL2C5Z`isO~ZW?PT(gI9Z1|k<}AA-tAWZ+-?(W%X5K|&3t{eb;?uy&+Tk?{BSPScWBaLPP7Z*`RG7`g01oj+2v;5Ba0h0r7kUk72nJ-yH5^3a z^Qkabs?H`xTn+i2X2!#-5rV5d4|rI%kiW8yj^7wj6K3yUceT6@XTaYD!_jKR&5c$N z>a_}T{Oe7tiuEn9Un68pX>9RgI1vF&2ukl0P5ij5CF7*BZ}WIN&l1t7x1FezuO}>=KYzgqXRTRH8jaF;k%k$vhNfZb(bA+suw=aqF5m$TRa#CUOg_|~iph=MIe z>(YKLtp`oRcaiAaX4hs=+N##&caXI*(Bc1LOBj(Ot&7(>AaQh4jUo#X2e^^ZD1Nzp zjGAHN;%!_o{Wivx5?l4Z;Vx=O@nJ{CKD7ZEP|7w)G~ zZs?#**$YT1gO(3`Hja|3Pty-;_$%lKx(70Pnr?nI)A7=oO*QV4j#dsTdees9_~L2Z z|L{Ev2VU^}uhA8m04o0){dn}f+KIS&A_-TAYdJtb9AdN_%wo1>b^kTGbv6NTAJcU9 zt2qHavdlF7{A!MX7lW@Qi_X9Nc^j-wOx8rM|BFv+jKJ|tLirqEN2mrJ$z7_<+thb3 zpxG#n{L8OnL_(q|ns$c!xeyEjvcKyu*|t7sk-Dh}vQ0Z`G{xq$w$=LG5x%xE9nN|xuAsH$@VyOb9bUEj zYsLL)?q@{Vb%~@zUP1MLBABKjsdYvGRDy*46$0?ow0FB*YJH}yXyw3y)KB7u0IMS7 z_s^TRwm#MOcD)`nBRW+ltVZ-S`h{|{XR2Eo(w;O)=^NHk?9;$?-gh_7R2vV#-1pHr4SSrT69P{qQE zG^U5tuMme*deT#85KXd_l%zzk$Okpu8D>|>4)IL;@lG?`SQNRR8(l;1e8{a6ZM}f% zwZV)CxZ`b2HXer6+JU=k4jyzm=>zqotQ3DWopb=J$uaE*ZbMNkwjbE(pyz3No2rK? zT5V~`)i!;@X~*G)^S^!Wo8t-MrXL@g@^^2#XV=AV-+bweLpNP>_|I?o=FXqaykph& zGavl%3xE31+t)t%)PMi(JwN!;zy5)1zW&=YpZkx^g+Ke_ z%TD^tv$vo8!;fBj$_>x_#z*e>($bHe^_zdcZr(c=ZMgiZ`5V9a^tqqBedeK`T5-Xu z!9V`qn}?c@+&Xm3%&!c;zv+;!&;9)s=YGD9xA}h}4$vBgzK}>W6GYOPPmF{2 z5?bOMoaX1jWg~B9KY7$-L*2ej?ZiOwh?!<_ zepYtU*i!tghG>Nz=&`IN7l}f9*K1;Bz#)_CT9W`>wYJtNWicx&D`HGC04-5gz6N1qa+{ z+P5&f7@wfgj&{D64H>lUk-zF7ncFz3;DN5~@f7FOaDcT(iTS>v2*&*fSA85-+o`r3xri(4T*wlj7$lb!xE zG`g{q>9;oOf*zDXa>~e&ZTPQgczGuc?{9*6zQMi@q=W+4DFIMcY zyT49upp%ZEK6{&`S6zryXj9nlUK%|}m`XP)IMT@o0qNSo)DP+GAh$c)Ss$J09Jdkz zb&Iq7D_N-IeDY8|zml;h8_kaXFuEB!I8aS5(e&Naa|`IGBT{C6(4>yyL{Pmndyq#h zJ^rb-w@3${`Bf~?R2|fFTMvF|0?j1+TH`Df0nZSqQlMHtiFOwoU)KkcADED!gq>hNE?B@2dID!)~Mqvh%(6sR`D1p`3!NL6g z8`thAc9{Yk>1GfI^#9OdM>O#Cvx$l7>hF~J@-M&c96Xm^;Bk^jvAItqC_{4eNZZn>y z6^jB;G(#G*qnhiI9Z6{Bavu@gVT^n%mViiZL<**X(_7q}Ojj}Du3!yKK9a8dAuI82 z8Y|Q%@$Ms-fc*6Hi+l0dz~2Lvb@1hJX4i5sBz3x+hny=e)0rLSGCSXus297WM-?=$ zRQVZGm6sKz8NklYe<)EVvR(Iv%zmAt+2xP$=DEQO*w%&lV+x-?0SDNix?>S!4ep)3 zhpL0*Z^hOhPi%xxGM&d|Hvd7_Sk!4rcK?b%f*COL@NMPaFK>*<$eb5vt(VgzZd2B1 z{_u^}DlN;(-aj(;YI!ASNYUW^WV~OWJa;w3H5yU?i~MI2(3M=^N_Adn+y8*<7lO5TwOi%j3C}w&SObgDrc6}+C(|kO(kGS+(*jwihS*~N| z;&R9$T$SJHqEPspReEx0FD`hNB+Tt~*wdqv8xsyOi|JgD^G8hax?XDJqnIb@7T@PQ zj)V7RG{gL%;e}=vJ+AAy&+V3O=-s&YXW;%2J#1;fyoBaN`wT8%LD;3a1>Ba8%fC_c zKj1U*F3f>iR`pDCp}_gYXM}Sy_i#K&3m0;7xp~C+&fzjl?G@~V#T8f%mup}wgM|DJ zS0R9hxlR<_yVxDTifV%^)ghXh;$Y)Sh+T=CckwL{%5)p)u_QjfTg%lZg9x}dKR*f- zz`#-)P?+PfM$3AhFink0HJ}=+q@=~i<$nWD745;C*cm7|m$(kOJv^rO80=k}D$emk zc-hJzid)+Ev8DMOQX75{qvp0M@%zI0rz~8oC%+E$Lh2U6|Ih3*wSHYsbHDq>-1f8H zkej)wFSq@$-^d+D?w6TM$EpLoy7j6z9H^;l|v?%|)c2D_rc6T(>`2QGsr0(0al-j~|E2L|wFbT^{l+ z#x>MX{H?{hAbv3se{^MprQ>Jb;5j`rx6^SU{KBgBGKh6Dex|!H`OQL8#Saoga}2h6zmq=7=9nJ)#ri zLb{yeZ}?p)EI_FiKU$G(I6`c3DVtY%6PDtg#aWKaWHvj1$A&21cw9KSw3+n^=3R~T z&h;#=7TyddHZ?H>B3EUqtZVaZZE0Jk+|;$maP_;Vxvypgo+ zTm`vx14;}pdL`FavTfZU_kemM=a-4A*M$vfdBB{)lgOv5L=bqlZ_%Sfu?QFlj}n(m zK5bXn-@BpVsJK113biVM>gx5L5KbkhKnA>V@SW?gr|0F+iZDoSS>LSg(@yE{Usi;k z9O|i5E0g0~Fl$PRat0qR1!ZN(P}*pJ|56r^!LL-x$y_(PWPt#*L8oQjCK?O{+c(oQ)@c6%XobwHXPaJA z+}{4hro_Ca@6<|mJVYz)0}V~vZa;PyTCg>i>a)iFIv>ftF&rv;>U~7>8{E>_o-ORG z*omDLJEgN?#ax&{y|W67avntb6a;E}R6V+PbKSxneUo)zgba`bGQQ0w3!7oXpRKd1 zG&bQo&A#*t-|hv$YbvEPNs-ERWdXRdh17KRDHp+j?(E6ztF_fiF984*pQgOE%~+WP zp5%r-GjpGM7=3oE*1L4DwQR4D^`3@UNyj23S{q;0XiTil{FswAjYAFr{qt6!IUnl)_P$`jQ8YN^W zqq**N&BjEtvD^}Cw_DxrKpM2JVYiQYH0AsCQD~s-D0R2drQn{0&%W=gj={uMD^rh) zstQKA(jsMY)A$VI{yXgSSlxei5Z3Zdm$qHDzMbehYpaVmYA||Xw7i4ya0iAqBOXn_ zuegb1C)U;DU6peE^SN}em-H@Mdo1zx_Guwi%z#l*2Y?0o&mOt~nqf354hd6!#$hZ@tVL^wN z!GdCk?V$KirMEbzM?-PxDMvr z1Mk@vKj%;}DVYHG8BN2Eo#y<-%DpgF9`MH{ zepWZ!o_Xvq6e>X?NTU(8%cEA~a3ha$-AjSA_V6<01=1F?cdxDb5F25bnSG{+A94?| zmnZAx?0N)(Vg&#>8L$IaVzw=qrIf9Ew#0@e_iE;GN5J;s&bEEHvtkS8bE6X_2XvSj zPJelby@?_n11q`y@(5Ckl0L$62FiDeJt_{jfw;cX*l?yN<4c6P@zZYfK#W!o@+2;f zZURqLIT5F4QC7or_+9QDa&HV##BxAS!*{rL@nr<%3pzJ~ExMp2T`1K&Ap+TtP_SMK z_m~qM7-|wZSC5Ky^U0oM7AcTxy_L|2>kr3XI0cdKjV)0#p|FZX581M~Xr}${-g;=* zQKp#^YjvrNb44`DXyP!bz~gzcTla4d zd{)B&!t&}M*-4sblp6Y!0GNmtji~By_9v|mt{h{IbM8v2_lcRRR@`ONTi+j7>bEy8Y<13-3OkdDV|MXQ?i#xo^JEW=>bSUIsFo4L%L`Xrw zS?_Eh3p=Fh7cLZk9E3{TcRti}@)+qF%uqkuz3MUP$A>O_k}IrPi*zLnd(BZ`F8hLeaB^8WDE4pn>5&I9iNs+;<9*?000v} zHzn6aa_GpXx;7~myoJl2MvS^jQBl1WQZf-Ba0jA=wgu=e)N9taIK0aJ9)(ne4A_dy z9YLSJ{aumxF{BLFS+0MWK{+*n`|JpvN@+VOh0FCd5DYEi`&@TBZoJ$0xGV_vCY#8- z?pN$7wylim91CSI!AiQ-^VC(Y+p8O+t2on4ccfaJx=dni9K^8{+b5Sr3s$#Nj2J5U zNTL;`&Dcl~UnNJ$X$zw-{losXTRC#gR_hHBQKC2XH;8ZaxgYTshFZljx7gOZC&&=N zCM5ss5N6tHtTLv;_9MV~P=QbL$^&hpgrzjVjMFJ?nWjW-q}eOWV34n6|3XI-d0EY5 zV|^R@R#b-8S5a%brgA)idzmiqM$ILDJh)$C<6*45d^EV(5pN z-AaGBOG8o7Eb{WIkK))gW%@&~Yu`5qruE6v$z{pWc?u#^3>>v|(kWY#J?0YXn$5*p zSy~a>EPs&wItM6DKLx_2ZE!$h+>8W$rxG%Xg2ExY)uF*+?}NxJU!%>nFD(T8WN_<4nn<6bgFJ@)|vh^ChPb?TCS zv>y{XRsjh`oJ_pA(oy(IiGmZ3tr5+eC}6F+XB^ML5@*q!chGYXVkEost>}?Meg1)c zS&j4xvxilLx8g6YqDA&!%%&rJ$!)Ao|KO#5j*s6b#bGkXVSOvrB)s<)+S@2 ziY^8AbtwI?TeHx{60|t0jqD#Dlc<)O99!VUAE*tbkrL`)SO>%_E#a&Ey9g1PRT-=U zX)w5JraF=0xQXoqHkc4L@Vu`-_Wc9M?KaiQ^l0!WtA@a9d&qDXPl{LeI>ca|)22iM z2`8CsA=V0vh+&=xy}ECaggjtf_gK;qy9t9B!Rta1M3Mok5rjm34DHWXc-awIyI?rS z&N*AMR^BKfNXr}#jPV>X(WpBcnWb|NIMfPpqc1!YNPF;0vjYUhpbDPnR*F|M$*z} zrf5eHxbVcz7?2Y?wRP!GO>ts}9NnT0+grref)>GLvaZtw?v9nm=l+|pq(2YPQGx=! zmv{$zrD#i>%3R_vm2Y!(cerGyn1)5*r7PTxEVE09S36|+J?9t^VMh36+GFCn;}Q`v zR~qu~2pSf2sEfktxTE$KcE~?3?2vz6*r8f{VUeq<0mjZOPj}+B$h;(^e&ThmXFz(| zwbgYKP)3H_KoeN^B86KzNw`e7xMoGd!Ifwu6QW^bhN_k72A65TNPH71N8Et!CVO%w zvHQgdL~lH{Jfn${CES}Ol01sehXU`PD3wOx^Pp-y<)4{E_xci~Or;@2Hb&maOaYyf zhVg8M3$gTx&|tRg05)T#nnRs%vamI%C@fWyBRb7(qvX^Uy%@a1wEOqE={Z%%$-ID5 z{SMX`k=IXvvJE*~6$~aZzwmlEo!*f2Qu08{5gdRV25oM`2 zqHug6PdAEQGruER8XNN0A^5`!$Q=nQs@lkc%%VsHC_|=dt)~X|P>Nx0g={fwg{Qn~ z0}VV~83~uA>s(bUwb6}*w^Mcz2=UtbD*ChRRT75a&9RM$4YyDuytJp*(=Rs;M=#WaIEVFDIN;`lS?ggmf#ezuWG#q?gx`^i*C6N; z*t&NpKv#Ll)2v>8tYLbIauZPOj?P?WG~Et-v(G`>5)=tuvoBq|W1TWjLu86FMptkL$I3_Wszsmyi5 zYfK3d2w2J(Lt<-HZ)*z4ah=~vpjU|Sn*ygOr5<@#0zEW zTQ7l<7Pkh*^+G;>>cK0@ZfE#3LcY!fpw{RafWK?2Ch=-pXAo6yTf}Qh)bcWXU7hkY zGs13POh8dSOMj#=WP*!Vvv)XYRo+4DHoov^Mmpvg1PqtKVeKn`J9@1d8 zE6_6l+up>mb^3zq#)jGt#Nf7_u~(Q~JC=^E=|kqbbW;E7Y(mX|Vvo~~~4lvgn3^Hh;t76VA5ZOs-h3YScD3HY|Sp{!zP%a6W|siq?Tekp{;g$<(48DUFzC5}_9Y-LA`@{JC--A`VUptbn?3f%H*n2n8S8e)q&yiA z^2Rse>L$xGqk?&?Zj0GXkJfo1`&Z)}_*|}Q-i8#TRfP)sc&P-%>vz7sbTVpr(g-m` z3C^zj%;MOnFnDG}D5_f_DN_axC9F^oVMv6aESaStCl<&e%SedPs5>?;+pG!lAO*%T zP-2&SVyOU?QoQI*G$kWbBCu)GBO3eawsqp*%nB)6qF?EewLdwjP&qj)aKr3+Os?Y} z&=2}8gY*trrw%Q(PV7)Kcw&bv+ld|ayQo78;6)vdZ&8N=hD9fKwtkBiMOv@ugIq4$ z!H*0jV!RSPGUmeJEzZceIdj2iSgtgk^a$JQ8A;R9&+O8Si>z%b=OGqE6Qhy8TOcax zTgnr5b#l~70Yw^d5lNUm+^&d>^8;ZLKQZ)A%10wLp%!zi%LDNjQ*g##%{o5uwH&)D zphtB+H?5sVxZjv5rwW1+NIza$LSf}}IZld*%3~H*Csp`do9(UylQhiUM7Yw=#LVw)Y{nVb z)L?p&e&{wRw4GZEGR4Tw2|1%?k&9+^6L#D6qrzxRhUxX2r*}L+0M4G!-Y~4IaC9`U zjn%06pbtsD^i{$uW0o4_f$~^m(reVYvBR)6l%BD2v7VbX%R%`3|Ch8kU2ZE!wuSjZ zpQCH&?m7{Uj__1&-S%`Xx!vC{1uaoBk7ZJalx*uh{aq_33_G#OsvA*daU&P7fy_iA zkr?)mzy0MefBCOZ7ysW+UD{tR{*JUb+Ff>Gv4-KXR=cx&YA7#>v)?6OIo(~-SXNcU zU3VO{0B>-$7omd#CIv^MN;@Ok+8I|lZ&7Fu1eEe z1F9;x<`lb75gS%d*%$tV*~}`ZlMn z0&F!c8;NBr=nlgI=M>zrv0rRf-+41eY(`ojRL?~^OzM~1e?sD$`>&tu=R2OD&d<(FYFxNg~e@cvJ<5+>%tSoa7qe($<;*GPJi4lAdk(S`%$88x}KE~ z0G0wL$Tk(CWgQruW8hiC%UFhoQ>cMz&-K1nJiXFalNpQw{mVE(!??_F3s9~6RnNA3oJ>k+@dRHtWl($pZvpc}_K`JqZSYD4 z?^vD?h(dy=cym>i`gSJ?UZ_2);5i7Oy|xLCe3O_T|KV(yy<2Y731yyi2~63w)=igy zD!sK$Qj5q-=Bh0?y{8QKwt2hK8OlKP(EEVaAvCk4!BZ5?xn%s$CkUaalGQ>QF=VN0N*>?V^nVQN()HH*c@fvwKuHL6_w!>=EHEor&N4 zSk^T(9x)|q%upa$F$eF#Rn%!Z^JPf=KkVf2Od-ucPKuWu;)M37R|-}97CyEgFTm> z&^@$lPm>aqSDK`jNlxf5Qhxpl(^~HaLoK*XY!L_L&3VBx%s+lTKfn9D#^v!iclZ#U-lcyh^QlC}IRAyinC zGPgC*LOuU5<6(?3L!@7|LGbqmn&aubKc!B`P>E~B#0nJN{~bSnIrk9R;&J6*{`LGE zqJtgcdE$TI3DR5d_xJMqmj(Agl{$tOr=HLi{1jPfc#NG|@Tr&`g;5;#ljE8d`j5Y# zpMT#iZ=n(tnx#gGe5SS->et0%&&v!uo;B$T`ddN&-2?$^B;iLY>iSabosaI@PyfBR z^5$U$hnY;oaHR4ipf)~;8kMQ2SAjDD99`K222belVxcCs z4{P^l%l#MZ)B1|p6o=S5oG8N!F1e9;wXhkSjEb=RJnRB(#5%dm`_U_Ob;$;wN%1%$ ziHm-Olamc(BC5@uE|5-g!rR&3(q=5+8_4Ee^i1s8#lNzW$F<3@JHM5m*wy0J2)iu& z=cn@Xf_lL%UlFcY_~)ETiZy#m!3fwGrs(T#eBjQ)|6VNRq<5R>Bedm_T?<@8h7Hs8 zU+DrppDs0;eW^~cd%W+|xSD6|CF;h->84Db6f7QNLj!tx|Axn*UOlDSfd-~yEO>mg z{67y;%AQJwogVwuYQvwPeO+%VjYJ1Sg1!-S9@)L4rV)%THnZofSYYRv?B)qWjNDK_ zXlJ$BQ%oE?H`>d6R$)~~%MCO%oJ(=5uyJ$`&$Zi$*pCB$g$~MA))-_S7O;)z7!U6D zs;SvaK>cjB`)UR&6bxNV1-OT4)g_eJd*>;bd%?(Ze-^In)*t9H*0eoT(-)K2bFKCm zzp5w8zIgl!tBklDM=qY^(#=E#Ze$mx6~gYy;=NGx9gHTE1Zx3aX}>rw!X8vZkEQqk zfOAb440Jy!wSeQ48`j@A`g4jZ`Te(1{ zJEdqv5TghVvC@5-yUL=mFsJ;B7a|abA9$My1w9^ilWDNI6G0U!>ZHC|XhETYG2NE9 zLIanqX6@d(f`Iw6_p%nSfORd{5ts~X*u9>qFpS-cnR+pJC28pM&RR?rFBjr~LhQ0G zI8iLx76xz<_Z+hXE{m@&buoilH-|!J=F$~bswOWn`M!|wpJ*>Q#{2)o*nm4Q32*># zZ8AC&+W;293;xQV93=MV=WxisoGsyuS8fIe4O1dC8g8bJev{YB-J=+#s0FSx41@FWDqA%C}j39*F8Y2ga-?_!0_D4VC&r6)MSZ`2UD6#)0 zh=u+lUbT;T?p?!Sx{n#-`O=p7v4?G~!7$l;jM|3f;Q|L&WPj%bReR^2GY8fc(G^UV z<%E~teSz=^SIvd0KXr0ql8X7_zO${rx}{U)?x?>lz|6N{_n;AWVHdBElih@u(pq_K zSxUAowQkpaaTfd<-F*5R1`%FaBc=)l&V(p#shM)+1YC(*`{h%=Y9k=2sIE?fw$QbIZ*~+_3wJ~aAgO=)+@t#lkjEqFc!V-0i z#)j82iej|G3%MmrYeUUK|KWs}W$~sKDxRnmVxjuPzXc-3y_`hHU{->8oYmPL{Npz5 z+8tHl4#4p18WCoR+zqM~*sC7~L%^UJD~g_tXvQi06lPRYZp_0;28K>f$M9W9&G1Bv* zczEM6!S@9UnGZ@_dGS3W(C;;Ts8iqXj0ZneesR)gL17C?S7B?+D#$6@#)uF(pR9MT z_YvfRClxVC22wEQA{0`ER9YAAZ$1dey=(cJI0*Y!tZdl6NWw+Ezb=aLV|JsG@FV=~DrGfhFeMN(sJYW})bm^mvfxAD^U;j&l<5 zUmT0hDGVIQ)1KEolkQxRAO?a0Z2}S1y%!FS(nd7q^N1M>_1{d#hE~M%_ZSY#Z%Nnt zXEoh^GktXZtN@3^$T_MaUq5$Wt#EI2MQwR^a(}JltX?bN`Z?<6mjy>%JRuNuwm{X1 zfwYQDYPNVJgQmG^de9XgoxvHZ>y1vy5TV5>O4Souvc=2Q-5Ufps-zQWHj@FRcc!Jh zmIIUS1X{_|Jj_hm*D(=OltDi~t5Gh~azcroboSM6JC4Y8k-`^82klO#-uh^C3@?Aplc`)|IJ8~r6r7-NTQ{U@oqwMRT^ zzpGbjG$b;o#kcs=uJM&T{+sEx+Y`MNQJz(Gi?1NZROU4gzo}23_H22BlQ$UdW-BVQ z-y+Qg4r;XlDowD$Yt?_-UKK30?$cOTsI(jfCExuw(`^f`Cz0GGNlQz3iHLXQk<|AZ z4Pj4~HJWJ>QK$X&!BW?0DzOM&ZNI<96nu?&nbl3qn{gm!fYRSM*5Z(<-RmIJxA-j@ zv)40h(Lt@3oFGJ{VuwM4V|#OR3a-mN%=Vr=Tn;&3WzUZDNBe8J-{4v}Y|B+yRR&NU z7ACy-0TYZ5t%`GFne7eEJ)T|AiKAAD=iw&xrNRD1daxhncKbr^=`_J+&&^|@#zaG; z&`&IgGaGNWP716`s!$=2xV*T|kWiUd_G=1Ge=*IbGWcV2U!hM^<=t|pvA#%uGS$|W zsi*c+1tRaje8&!FbM?2pMBVKZOL@RwF~^TyVjx%4gL(i`3Xd(Yg^K98Q8sk~9tOT2^zcN_V7~X+GE$g~&9&TPTPY75T`M8j8j)m# zw@m#a>7jll@~Uyr7o!}8KmyC`fHcpjrFB4Rs7A)=UBEY8f4%>Dijl;M3Cpd8o68-W zdy%I@;7)4asK6|Ib!86tlJ3!Z29}%b{P_bxo+=7&b+Mhvp!UCrGEYg)zrEebC4+dk zR@;7@ZCzhvbkoy3ypM-x=3a0MtrSv;UN4H|F?@PfQW(1_B7_N>N#RQ2h=iy}CkV-b zXhW8a7-cF0$%DAyn21nq@JKi#S+Mw0H{oYQrky{eBfir<>-@>(@Z95++I21NSW>Ui zGu7x}9*L>63t8-$KahWM(=~H==@5bWSwV(yut)+2&`c>W@~^c=l#5eyC@ZJ&^+@8^ z#diZnXZQO7#9riesv7~uS#oqwoxs)32$x7`pk#K)*74|0Ocmon+pQ8HPq5zAi0dbg1L?5-FH~r zxbvCE3f=o2$G7)-M|e()i^LzNb)x=Z(p1+>R8}-H>c=E3vD8&&67)E!I4M|N8Bk=0 z%QNZ1}!?LPXkLrOG^TgFK>gOXws_v5!!!t0F zC_k7ox%gYi(^SP;eLO~J*gmzYjT{kiYfg`W?YEjvXv~Mv$9*|I!g0`JO2#nBKS?A~ zE({m4{!-sd#}hamuq-YTd%cd}=9P&%@N&fuAYco$JV^ochs-IEXJe+d*v}+NQP4@8 zHyThhpA(x2nz;`Bn<`ICh9u!RHzA6@uPw5N6K<;F7AM%V;dBnxw1TEzY&V z1z=bMl`Xp-`{YtT=Hyy^ktzStN4`sDl5W~GnT%Sz#=%_N0}#uwBi5f!p3cUSa- zphrQwOZrO&HmI(CA`NSV8rLV+_>>_(I#~2qbys{!Y$54_X3AmrO0AFM_4*4cRBu{7 z$M$L5dGl&@g-yobPxW|>N4=sSA8&&}BDsDhy}$F`nAOFJEl`Se1No)5uFFrqh+TRz zHhfXIyiA3EWubvTZ~-9J#BB9cMuY!_Ydd9ImPiaEoffQ{e)}wB7RpE8U749Y;Rz*f zX@Y8kF}33^7c^?i>};D~_!1j$B#w3Wd`|^Odx#%^n0>$zTJS%hPZtjZStf+#=&Os5VsW#Ugo}Ruxm#4zqq*!dnoBFCnS3&uOC+Ne88BXL2)K0kis0`&m?d3U zCvH<>C5=2c04|adAmlOt6yXd2MM48W5z_!rWHkU3feipfY6CzK-3So!8vu$B2Y^bF z^qtK`f31h$T#QpnEyI)=0?epIdI_}>T|%womQX99CDck{3AGYeLak(#P%A-Y)FP#X zT8Sv3&dNtG-5N_t>GQG*%#6ewGbcC0%u3HNvobWytRxLHD^J7BO4Ts4vNg=CgdH;{ zXT!`&+b|*XvetwZ!fJ7>n#%^ENIA(>ENV)0xn{%=XhsZ4X2cL-Mhw|y#1L9W3~6P= z5K~HY`DDZpOh!y4(tlY-oR2zp2goHf1zAU&Eh&>&Us5W$9+XP32c?qiL8(N0P%7CT zluEbxSFBsYbmT9Cq~dXT{qO-NvwE+nu_8xmNi z4+$*Ohy<4DL;}mSB7tRkk--wpNMM<6B(O|7nvD*Xj>L9|R1-W`YOxD3k$Mm_SqCwb za1b-O1~HRn5HlGDF_T;nGkFzaBBdZ^vI(L~ zsxiXlHAcA5#t4_(7~$d@BV2}KgbQ*8VbUBUT%=<}Cs$od<%K=i{Kx^=a@Og+EIV2w z#g^8}uc394YiOO!8d@i+~!Xq{{tS|^p3*2<%yb&_akMF#vzg>|iGOWaI# zgT+IYLPDwJkW*a}DK%t~QHwM(YLQ1qEfUG7MJ5@wNF}2dxn$HLnUor`$*4s-88w#= zw-#dYZ7Lom45SmpOgK(VWn;u#G)BxNW5irAM$F}6#9S;!%%x()TqsUVWn#o!Bt}dn z@*LfzT&^({OiRz@Gr=Tc>M@zLI!r3G4wK5R!=xhYFsURvOe)Y0lghQjq~h%{nUp(B zD(nt3mN^$cs-rE6`Z-6=*E_3N)5|1sV�*$3# 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ุ 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�%cP(6*`sfAdi7U5a- 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 CBqpx_ diff --git a/.nuget/NuGet.targets b/.nuget/NuGet.targets deleted file mode 100644 index 2c3545b..0000000 --- a/.nuget/NuGet.targets +++ /dev/null @@ -1,151 +0,0 @@ - - - - $(MSBuildProjectDirectory)\..\ - - - false - - - false - - - true - - - false - - - - - - - - - - - $([System.IO.Path]::Combine($(SolutionDir), ".nuget")) - - - - - $(SolutionDir).nuget - - - - packages.$(MSBuildProjectName.Replace(' ', '_')).config - - - - - - $(PackagesProjectConfig) - - - - - packages.config - - - - - - - $(NuGetToolsPath)\NuGet.exe - @(PackageSource) - - "$(NuGetExePath)" - mono --runtime=v4.0.30319 $(NuGetExePath) - - $(TargetDir.Trim('\\')) - - -RequireConsent - -NonInteractive - - "$(SolutionDir) " - "$(SolutionDir)" - - - $(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir) - $(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols - - - - RestorePackages; - $(BuildDependsOn); - - - - - $(BuildDependsOn); - BuildPackage; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.nuget/packages.config b/.nuget/packages.config deleted file mode 100644 index 3f66cf8..0000000 --- a/.nuget/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/AcmeInc.Openstack.Client.Powershell/AcmeInc.Openstack.Client.Powershell.csproj b/AcmeInc.Openstack.Client.Powershell/AcmeInc.Openstack.Client.Powershell.csproj deleted file mode 100644 index 02d1538..0000000 --- a/AcmeInc.Openstack.Client.Powershell/AcmeInc.Openstack.Client.Powershell.csproj +++ /dev/null @@ -1,106 +0,0 @@ - - - - - Debug - AnyCPU - {B6C5D486-BEDE-4E4F-8035-63B72513E4BD} - Library - Properties - AcmeInc.Openstack.Client.Powershell - AcmeInc.Openstack.Client.Powershell - v4.5 - 512 - ..\ - true - - - true - full - false - ..\..\..\..\Documents\WindowsPowerShell\Modules\AcmeInc\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - False - ..\packages\Newtonsoft.Json.6.0.3\lib\net45\Newtonsoft.Json.dll - - - False - ..\packages\OpenStack-SDK-DotNet.0.9.1.0\lib\net40\OpenStack.dll - - - - - True - ..\packages\System.Management.Automation.6.1.7601.17515\lib\net45\System.Management.Automation.dll - - - - ..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Extensions.dll - - - ..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Primitives.dll - - - - - - - - - - - - - - - - - - Always - - - - - - - {32bac168-2ec8-4074-9e6d-8c13460dcfad} - Openstack.Client.Powershell - - - - - Always - - - - - - md %25USERPROFILE%25\Documents\WindowsPowerShell\Modules\AcmeInc -copy .\Deployment\AcmeInc.psd1 %25USERPROFILE%25\Documents\WindowsPowerShell\Modules\AcmeInc - - - - - - - - \ No newline at end of file diff --git a/AcmeInc.Openstack.Client.Powershell/Cmdlets/HelloAcmeIncCmdlet.cs b/AcmeInc.Openstack.Client.Powershell/Cmdlets/HelloAcmeIncCmdlet.cs deleted file mode 100644 index 036890e..0000000 --- a/AcmeInc.Openstack.Client.Powershell/Cmdlets/HelloAcmeIncCmdlet.cs +++ /dev/null @@ -1,37 +0,0 @@ -//* ============================================================================ -//Copyright 2014 Hewlett Packard - -//Licensed under the Apache License, Version 2.0 (the "License"); -//you may not use this file except in compliance with the License. -//You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -//Unless required by applicable law or agreed to in writing, software -//distributed under the License is distributed on an "AS IS" BASIS, -//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -//See the License for the specific language governing permissions and -//limitations under the License. -//============================================================================ */ -using System; -using System.Management.Automation; - -namespace AcmeInc.Client.Powershell.Cmdlets -{ - [Cmdlet("Hello", "AcmeInc", SupportsShouldProcess = true)] - //[RequiredServiceIdentifierAttribute(OpenStack.Objects.Domain.Admin.Services.ObjectStorage)] - public class HelloAcmeIncCmdlet : PSCmdlet - { - -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - Console.WriteLine("Hello World, from AcmeInc"); - } - - } -} diff --git a/AcmeInc.Openstack.Client.Powershell/Deployment/AcmeInc.nuspec b/AcmeInc.Openstack.Client.Powershell/Deployment/AcmeInc.nuspec deleted file mode 100644 index fc22751..0000000 --- a/AcmeInc.Openstack.Client.Powershell/Deployment/AcmeInc.nuspec +++ /dev/null @@ -1,22 +0,0 @@ - - - - - acme-cli-powershell - acme-cli-powershell - 2.0.0 - L.Jenkins - Example Inc - Thid package allows Users to manage their Openstack environments from the Powershell command line. - Thid package allows Users to manage their Openstack environments from the Powershell command line. - Acme OpenStack Powershell CLI Windows - 2014 - http://www.apache.org/licenses/LICENSE-2.0 - false - - This first release demonstrates the Mutli-Vendor functionality as well as a Read-onoly version of the ObjectStorage Provider. - - - - - diff --git a/AcmeInc.Openstack.Client.Powershell/Deployment/AcmeInc.psd1 b/AcmeInc.Openstack.Client.Powershell/Deployment/AcmeInc.psd1 deleted file mode 100644 index 2d1b29f..0000000 --- a/AcmeInc.Openstack.Client.Powershell/Deployment/AcmeInc.psd1 +++ /dev/null @@ -1,19 +0,0 @@ -@{ -ModuleToProcess = 'AcmeInc.OpenStack.Client.Powershell.dll' -GUID="{847a28a4-6407-4aa6-8070-a4a51396db70}" -Author="Lateralus" -CompanyName="Acme Corporation" -Copyright="DoJuJitsu" -ModuleVersion="1.0.0.0" -PowerShellVersion="2.0" -CLRVersion="4.0.30319" -FileList='' -RequiredAssemblies = 'OpenStack.dll' -} - - - - - - - diff --git a/AcmeInc.Openstack.Client.Powershell/Deployment/ServiceProvider.xml b/AcmeInc.Openstack.Client.Powershell/Deployment/ServiceProvider.xml deleted file mode 100644 index 57a4454..0000000 --- a/AcmeInc.Openstack.Client.Powershell/Deployment/ServiceProvider.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/AcmeInc.Openstack.Client.Powershell/Deployment/tools/chocolateyInstall.ps1 b/AcmeInc.Openstack.Client.Powershell/Deployment/tools/chocolateyInstall.ps1 deleted file mode 100644 index fcfcc6c..0000000 --- a/AcmeInc.Openstack.Client.Powershell/Deployment/tools/chocolateyInstall.ps1 +++ /dev/null @@ -1,38 +0,0 @@ - - # Install the Extensions Package... - - $packageName = 'acme-cli-powershell' - $installerType = 'msi' - $url = $env:USERPROFILE + '\Source\Builds\AcmeInc.Openstack.Deployment.msi' - $silentArgs = '/quiet' - $validExitCodes = @(0) - - Install-ChocolateyPackage "$packageName" "$installerType" "$silentArgs" "$url" -validExitCodes $validExitCodes - -try - { - # Add the extensions location to PSModulePath for easy loading later on.. - - $p = [Environment]::GetEnvironmentVariable("PSModulePath") - $p += ";" + $env:USERPROFILE + "\Documents\WindowsPowerShell\Modules\AcmeInc" - [Environment]::SetEnvironmentVariable("PSModulePath", $p) - - # Import our Openstack.Client.Powershell assembly. This has the ConfigurationMAnager type which lets you - # register your Service Provider information. - - $configManagerAsmPath = $env:USERPROFILE + "\Documents\WindowsPowerShell\Modules\Openstack-core\Openstack.Client.Powershell.dll" - add-type -Path ($configManagerAsmPath) - - # Register the Service Provider. This requires the Extension Author to have a ServiceProvider.xml definition file in the - # Deployment Folder. - - $serviceProviderPath = $env:USERPROFILE + "\Documents\WindowsPowerShell\Modules\AcmeInc\Deployment\ServiceProvider.xml" - $manager = New-Object -TypeName OpenStack.Client.Powershell.Utility.ConfigurationManager - $manager.WriteServiceProvider($serviceProviderPath) - Write-ChocolateySuccess "$packageName" - } -catch - { - Write-ChocolateyFailure "$packageName" "$($_.Exception.Message)" - throw - } diff --git a/AcmeInc.Openstack.Client.Powershell/Properties/AssemblyInfo.cs b/AcmeInc.Openstack.Client.Powershell/Properties/AssemblyInfo.cs deleted file mode 100644 index 996094c..0000000 --- a/AcmeInc.Openstack.Client.Powershell/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("AcmeInc.OpenStack.Client.Powershell")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("AcmeInc.OpenStack.Client.Powershell")] -[assembly: AssemblyCopyright("Copyright © 2014")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("3989338b-6fb6-4dc9-9982-52771596edc6")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/AcmeInc.Openstack.Client.Powershell/Utility/AcmeRegistrationManager.cs b/AcmeInc.Openstack.Client.Powershell/Utility/AcmeRegistrationManager.cs deleted file mode 100644 index ae41ffb..0000000 --- a/AcmeInc.Openstack.Client.Powershell/Utility/AcmeRegistrationManager.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using System.Linq; -using OpenStack.Client.Powershell.Utility; -using OpenStack.Identity; - -namespace AcmeInc.OpenStack.Client.Powershell.Utility -{ - [ServiceProviderAttribute("AcmeInc")] - public class AcmeRegistrationManager : RegistrationManager - { - public override RegistrationResponse Register(ServiceProvider serviceProvider) - { - this.ValidateCredentialElements(ref serviceProvider); - - string authenticationEndpoint = serviceProvider.CredentialElements.Where(ce => ce.Key == "AuthenticationServiceURI").Single().Value; - string userName = serviceProvider.CredentialElements.Where(ce => ce.Key == "Username").Single().Value; - string password = serviceProvider.CredentialElements.Where(ce => ce.Key == "Password").Single().Value; - string tenantId = serviceProvider.CredentialElements.Where(ce => ce.Key == "DefaultTenantId").Single().Value; - - IOpenStackCredential credential = new OpenStackCredential(new Uri (authenticationEndpoint), userName, password, tenantId); - return new RegistrationResponse(credential, serviceProvider); - } - } -} diff --git a/AcmeInc.Openstack.Client.Powershell/app.config b/AcmeInc.Openstack.Client.Powershell/app.config deleted file mode 100644 index 4429813..0000000 --- a/AcmeInc.Openstack.Client.Powershell/app.config +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/AcmeInc.Openstack.Client.Powershell/packages.config b/AcmeInc.Openstack.Client.Powershell/packages.config deleted file mode 100644 index 455e6c3..0000000 --- a/AcmeInc.Openstack.Client.Powershell/packages.config +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/AcmeInc.Openstack.Deployment/AcmeInc.Openstack.Deployment.sln b/AcmeInc.Openstack.Deployment/AcmeInc.Openstack.Deployment.sln deleted file mode 100644 index 799e230..0000000 --- a/AcmeInc.Openstack.Deployment/AcmeInc.Openstack.Deployment.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "AcmeInc.Openstack.Deployment", "AcmeInc.Openstack.Deployment\AcmeInc.Openstack.Deployment.vdproj", "{D2DB9636-72E1-47E2-98E8-E23AFD996109}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Default = Debug|Default - Release|Default = Release|Default - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D2DB9636-72E1-47E2-98E8-E23AFD996109}.Debug|Default.ActiveCfg = Debug - {D2DB9636-72E1-47E2-98E8-E23AFD996109}.Debug|Default.Build.0 = Debug - {D2DB9636-72E1-47E2-98E8-E23AFD996109}.Release|Default.ActiveCfg = Release - {D2DB9636-72E1-47E2-98E8-E23AFD996109}.Release|Default.Build.0 = Release - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/AcmeInc.Openstack.Deployment/AcmeInc.Openstack.Deployment/AcmeInc.Openstack.Deployment.vdproj b/AcmeInc.Openstack.Deployment/AcmeInc.Openstack.Deployment/AcmeInc.Openstack.Deployment.vdproj deleted file mode 100644 index 7ea04ac..0000000 --- a/AcmeInc.Openstack.Deployment/AcmeInc.Openstack.Deployment/AcmeInc.Openstack.Deployment.vdproj +++ /dev/null @@ -1,1514 +0,0 @@ -"DeployProject" -{ -"VSVersion" = "3:800" -"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" -"IsWebType" = "8:FALSE" -"ProjectName" = "8:AcmeInc.Openstack.Deployment" -"LanguageId" = "3:1033" -"CodePage" = "3:1252" -"UILanguageId" = "3:1033" -"SccProjectName" = "8:" -"SccLocalPath" = "8:" -"SccAuxPath" = "8:" -"SccProvider" = "8:" - "Hierarchy" - { - "Entry" - { - "MsmKey" = "8:_143E7C0BFB314EB9B5E5C0DFE7781C35" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_18FAB252D96C2FAB3459CE23B1DD6676" - "OwnerKey" = "8:_6F78553D9A41928D3C5476D46F469042" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_18FAB252D96C2FAB3459CE23B1DD6676" - "OwnerKey" = "8:_F67C3DC933154555BCF5CE4ABE0A674D" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_211C0306F77EF74EEED6C76A02915687" - "OwnerKey" = "8:_143E7C0BFB314EB9B5E5C0DFE7781C35" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_228926403FD04B4CA1C25F1B91DE349A" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_2F07FD07108BA8E60735D5101A66EA79" - "OwnerKey" = "8:_32EF738C49DC4969BB49AB02FA2E770F" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_2F07FD07108BA8E60735D5101A66EA79" - "OwnerKey" = "8:_E708D69C57BEBAAA09716EEEF6898512" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_2F07FD07108BA8E60735D5101A66EA79" - "OwnerKey" = "8:_44F29705E0114A4F95779E113F6AB842" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_32EF738C49DC4969BB49AB02FA2E770F" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_44F29705E0114A4F95779E113F6AB842" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_554BCB4BD4654BA5A930F7D9C5C71D25" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_57F51C7A3ED32F571B50D3289BA262FF" - "OwnerKey" = "8:_143E7C0BFB314EB9B5E5C0DFE7781C35" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_6F78553D9A41928D3C5476D46F469042" - "OwnerKey" = "8:_32EF738C49DC4969BB49AB02FA2E770F" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_6F78553D9A41928D3C5476D46F469042" - "OwnerKey" = "8:_E708D69C57BEBAAA09716EEEF6898512" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_6F78553D9A41928D3C5476D46F469042" - "OwnerKey" = "8:_44F29705E0114A4F95779E113F6AB842" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_7EDC5B5D27A749ADAEB29AC8A91F597F" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_7FC03BCEA43B4E06A6B5A0123CC7DF22" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_93F22C2D5C2944DD8524C29257291861" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_B0BB623AEB8341FBB9D9F362BC657BC5" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_C5A62625E1B2057F64C01D5A027F4721" - "OwnerKey" = "8:_143E7C0BFB314EB9B5E5C0DFE7781C35" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_C6B92F28EEC04E948EB2F89AFC3D4329" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_D009839B602047079C8EE7BD2C67ABC2" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_D0E4E3BA94884122B374A0C6C07E04A5" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_E708D69C57BEBAAA09716EEEF6898512" - "OwnerKey" = "8:_32EF738C49DC4969BB49AB02FA2E770F" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_EEF670ED3FFF44BB855E9902A55A76CD" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_F67C3DC933154555BCF5CE4ABE0A674D" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_F9AF20CE353C47DC9BA3B624648E91EB" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_E708D69C57BEBAAA09716EEEF6898512" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_18FAB252D96C2FAB3459CE23B1DD6676" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_6F78553D9A41928D3C5476D46F469042" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_2F07FD07108BA8E60735D5101A66EA79" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_32EF738C49DC4969BB49AB02FA2E770F" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_D0E4E3BA94884122B374A0C6C07E04A5" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_44F29705E0114A4F95779E113F6AB842" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_F67C3DC933154555BCF5CE4ABE0A674D" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_228926403FD04B4CA1C25F1B91DE349A" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_7FC03BCEA43B4E06A6B5A0123CC7DF22" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_57F51C7A3ED32F571B50D3289BA262FF" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_C5A62625E1B2057F64C01D5A027F4721" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_211C0306F77EF74EEED6C76A02915687" - "MsmSig" = "8:_UNDEFINED" - } - } - "Configurations" - { - "Debug" - { - "DisplayName" = "8:Debug" - "IsDebugOnly" = "11:TRUE" - "IsReleaseOnly" = "11:FALSE" - "OutputFilename" = "8:..\\..\\..\\..\\Builds\\AcmeInc.Openstack.Deployment.msi" - "PackageFilesAs" = "3:2" - "PackageFileSize" = "3:-2147483648" - "CabType" = "3:1" - "Compression" = "3:2" - "SignOutput" = "11:FALSE" - "CertificateFile" = "8:" - "PrivateKeyFile" = "8:" - "TimeStampServer" = "8:" - "InstallerBootstrapper" = "3:2" - "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" - { - "Enabled" = "11:TRUE" - "PromptEnabled" = "11:TRUE" - "PrerequisitesLocation" = "2:1" - "Url" = "8:" - "ComponentsUrl" = "8:" - } - } - "Release" - { - "DisplayName" = "8:Release" - "IsDebugOnly" = "11:FALSE" - "IsReleaseOnly" = "11:TRUE" - "OutputFilename" = "8:Release\\AcmeInc.Openstack.Deployment.msi" - "PackageFilesAs" = "3:2" - "PackageFileSize" = "3:-2147483648" - "CabType" = "3:1" - "Compression" = "3:2" - "SignOutput" = "11:FALSE" - "CertificateFile" = "8:" - "PrivateKeyFile" = "8:" - "TimeStampServer" = "8:" - "InstallerBootstrapper" = "3:2" - "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" - { - "Enabled" = "11:TRUE" - "PromptEnabled" = "11:TRUE" - "PrerequisitesLocation" = "2:1" - "Url" = "8:" - "ComponentsUrl" = "8:" - } - } - } - "Deployable" - { - "CustomAction" - { - } - "DefaultFeature" - { - "Name" = "8:DefaultFeature" - "Title" = "8:" - "Description" = "8:" - } - "ExternalPersistence" - { - "LaunchCondition" - { - "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_77A248D95DDD4F0296176824DFAFCE1B" - { - "Name" = "8:.NET Framework" - "Message" = "8:[VSDNETMSG]" - "FrameworkVersion" = "8:.NETFramework,Version=v4.0,Profile=Client" - "AllowLaterVersions" = "11:FALSE" - "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=131000" - } - } - } - "File" - { - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_143E7C0BFB314EB9B5E5C0DFE7781C35" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:System.Net.Http.Primitives, Version=4.2.22.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_143E7C0BFB314EB9B5E5C0DFE7781C35" - { - "Name" = "8:System.Net.Http.Primitives.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\AcmeInc\\System.Net.Http.Primitives.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_18FAB252D96C2FAB3459CE23B1DD6676" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL" - "ScatterAssemblies" - { - } - "SourcePath" = "8:Newtonsoft.Json.DLL" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_211C0306F77EF74EEED6C76A02915687" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:TRUE" - "AssemblyAsmDisplayName" = "8:System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_211C0306F77EF74EEED6C76A02915687" - { - "Name" = "8:System.Runtime.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:System.Runtime.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_228926403FD04B4CA1C25F1B91DE349A" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:System.Management.Automation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_228926403FD04B4CA1C25F1B91DE349A" - { - "Name" = "8:System.Management.Automation.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\AcmeInc\\System.Management.Automation.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_2F07FD07108BA8E60735D5101A66EA79" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:TRUE" - "AssemblyAsmDisplayName" = "8:System.Management.Automation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_2F07FD07108BA8E60735D5101A66EA79" - { - "Name" = "8:System.Management.Automation.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:System.Management.Automation.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_32EF738C49DC4969BB49AB02FA2E770F" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:AcmeInc.Openstack.Client.Powershell, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_32EF738C49DC4969BB49AB02FA2E770F" - { - "Name" = "8:AcmeInc.Openstack.Client.Powershell.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\AcmeInc\\AcmeInc.Openstack.Client.Powershell.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_44F29705E0114A4F95779E113F6AB842" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:Openstack.Client.Powershell, Version=1.3.5.8, Culture=neutral, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_44F29705E0114A4F95779E113F6AB842" - { - "Name" = "8:Openstack.Client.Powershell.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\AcmeInc\\Openstack.Client.Powershell.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_554BCB4BD4654BA5A930F7D9C5C71D25" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\AcmeInc\\Openstack.Client.Powershell.pdb" - "TargetName" = "8:Openstack.Client.Powershell.pdb" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_57F51C7A3ED32F571B50D3289BA262FF" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:TRUE" - "AssemblyAsmDisplayName" = "8:System.Net.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_57F51C7A3ED32F571B50D3289BA262FF" - { - "Name" = "8:System.Net.Primitives.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:System.Net.Primitives.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6F78553D9A41928D3C5476D46F469042" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:OpenStack, Version=0.9.1.0, Culture=neutral, PublicKeyToken=baf191d8aca7391c, processorArchitecture=MSIL" - "ScatterAssemblies" - { - } - "SourcePath" = "8:OpenStack.DLL" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7EDC5B5D27A749ADAEB29AC8A91F597F" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\AcmeInc\\System.Net.Http.Primitives.xml" - "TargetName" = "8:System.Net.Http.Primitives.xml" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7FC03BCEA43B4E06A6B5A0123CC7DF22" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:System.Net.Http.Extensions, Version=2.2.22.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_7FC03BCEA43B4E06A6B5A0123CC7DF22" - { - "Name" = "8:System.Net.Http.Extensions.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\AcmeInc\\System.Net.Http.Extensions.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_93F22C2D5C2944DD8524C29257291861" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\AcmeInc\\AcmeInc.psd1" - "TargetName" = "8:AcmeInc.psd1" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B0BB623AEB8341FBB9D9F362BC657BC5" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\AcmeInc\\Newtonsoft.Json.xml" - "TargetName" = "8:Newtonsoft.Json.xml" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_C5A62625E1B2057F64C01D5A027F4721" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:TRUE" - "AssemblyAsmDisplayName" = "8:System.Runtime.InteropServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_C5A62625E1B2057F64C01D5A027F4721" - { - "Name" = "8:System.Runtime.InteropServices.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:System.Runtime.InteropServices.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C6B92F28EEC04E948EB2F89AFC3D4329" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\AcmeInc\\AcmeInc.Openstack.Client.Powershell.dll.config" - "TargetName" = "8:AcmeInc.Openstack.Client.Powershell.dll.config" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D009839B602047079C8EE7BD2C67ABC2" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\AcmeInc\\AcmeInc.Openstack.Client.Powershell.pdb" - "TargetName" = "8:AcmeInc.Openstack.Client.Powershell.pdb" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D0E4E3BA94884122B374A0C6C07E04A5" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_D0E4E3BA94884122B374A0C6C07E04A5" - { - "Name" = "8:Newtonsoft.Json.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\AcmeInc\\Newtonsoft.Json.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E708D69C57BEBAAA09716EEEF6898512" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:Openstack.Client.Powershell, Version=1.3.5.8, Culture=neutral, processorArchitecture=MSIL" - "ScatterAssemblies" - { - } - "SourcePath" = "8:Openstack.Client.Powershell.DLL" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_EEF670ED3FFF44BB855E9902A55A76CD" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\AcmeInc\\System.Net.Http.Extensions.xml" - "TargetName" = "8:System.Net.Http.Extensions.xml" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_F67C3DC933154555BCF5CE4ABE0A674D" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:OpenStack, Version=0.9.1.0, Culture=neutral, PublicKeyToken=baf191d8aca7391c, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_F67C3DC933154555BCF5CE4ABE0A674D" - { - "Name" = "8:OpenStack.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\AcmeInc\\OpenStack.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F9AF20CE353C47DC9BA3B624648E91EB" - { - "SourcePath" = "8:..\\..\\AcmeInc.Openstack.Client.Powershell\\Deployment\\ServiceProvider.xml" - "TargetName" = "8:ServiceProvider.xml" - "Tag" = "8:" - "Folder" = "8:_966E76D62C114BF29ED390E61C9B8760" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - } - "FileType" - { - } - "Folder" - { - "{1525181F-901A-416C-8A58-119130FE478E}:_8E2DD584EC3A498190A120F7AAE4C9AB" - { - "Name" = "8:#1918" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:PersonalFolder" - "Folders" - { - "{9EF0B969-E518-4E46-987F-47570745A589}:_3F81A3AF34DE47C592619EDEBF01EEAA" - { - "Name" = "8:WindowsPowershell" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:_2C3637B3B2BB4B73A0F30A68FE5A00F9" - "Folders" - { - "{9EF0B969-E518-4E46-987F-47570745A589}:_05AF9BEDB1A1480DA6149704004AA468" - { - "Name" = "8:Modules" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:_7B55EE68BEC14410BCB0C079E060CE59" - "Folders" - { - "{9EF0B969-E518-4E46-987F-47570745A589}:_966E76D62C114BF29ED390E61C9B8760" - { - "Name" = "8:AcmeInc" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:_C2D62F6CE0644DADA2319D0F36888426" - "Folders" - { - } - } - } - } - } - } - } - } - "{3C67513D-01DD-4637-8A68-80971EB9504F}:_9DA9ADC263024E07B5D62AE05A6A649A" - { - "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]" - "Name" = "8:#1925" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:TARGETDIR" - "Folders" - { - } - } - } - "LaunchCondition" - { - } - "Locator" - { - } - "MsiBootstrapper" - { - "LangId" = "3:1033" - "RequiresElevation" = "11:FALSE" - } - "Product" - { - "Name" = "8:Microsoft Visual Studio" - "ProductName" = "8:AcmeInc.Openstack.Deployment" - "ProductCode" = "8:{37EEA9AD-73BD-470A-9D16-4573CAFBC0C3}" - "PackageCode" = "8:{35E4AC12-4E6D-4CC4-A4B6-4ED6E46A8DE7}" - "UpgradeCode" = "8:{E1664872-4EC7-45BB-8439-0B7626377E3B}" - "AspNetVersion" = "8:4.0.30319.0" - "RestartWWWService" = "11:FALSE" - "RemovePreviousVersions" = "11:FALSE" - "DetectNewerInstalledVersion" = "11:TRUE" - "InstallAllUsers" = "11:FALSE" - "ProductVersion" = "8:1.0.0" - "Manufacturer" = "8:Hewlett-Packard Company" - "ARPHELPTELEPHONE" = "8:" - "ARPHELPLINK" = "8:" - "Title" = "8:AcmeInc.Openstack.Deployment" - "Subject" = "8:" - "ARPCONTACT" = "8:Hewlett-Packard Company" - "Keywords" = "8:" - "ARPCOMMENTS" = "8:" - "ARPURLINFOABOUT" = "8:" - "ARPPRODUCTICON" = "8:" - "ARPIconIndex" = "3:0" - "SearchPath" = "8:" - "UseSystemSearchPath" = "11:TRUE" - "TargetPlatform" = "3:0" - "PreBuildEvent" = "8:" - "PostBuildEvent" = "8:" - "RunPostBuildEvent" = "3:0" - } - "Registry" - { - "HKLM" - { - "Keys" - { - "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_1312A9EB961B48BA9BB9A38D5E594BDA" - { - "Name" = "8:Software" - "Condition" = "8:" - "AlwaysCreate" = "11:FALSE" - "DeleteAtUninstall" = "11:FALSE" - "Transitive" = "11:FALSE" - "Keys" - { - "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_CE3455D798444C57AEC993E8E71A6B35" - { - "Name" = "8:[Manufacturer]" - "Condition" = "8:" - "AlwaysCreate" = "11:FALSE" - "DeleteAtUninstall" = "11:FALSE" - "Transitive" = "11:FALSE" - "Keys" - { - } - "Values" - { - } - } - } - "Values" - { - } - } - } - } - "HKCU" - { - "Keys" - { - "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_DA47D404A3204EFA8490A3DE1192A113" - { - "Name" = "8:Software" - "Condition" = "8:" - "AlwaysCreate" = "11:FALSE" - "DeleteAtUninstall" = "11:FALSE" - "Transitive" = "11:FALSE" - "Keys" - { - "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_6F6D1655027B41BFB1EDBBE89503085A" - { - "Name" = "8:[Manufacturer]" - "Condition" = "8:" - "AlwaysCreate" = "11:FALSE" - "DeleteAtUninstall" = "11:FALSE" - "Transitive" = "11:FALSE" - "Keys" - { - } - "Values" - { - } - } - } - "Values" - { - } - } - } - } - "HKCR" - { - "Keys" - { - } - } - "HKU" - { - "Keys" - { - } - } - "HKPU" - { - "Keys" - { - } - } - } - "Sequences" - { - } - "Shortcut" - { - } - "UserInterface" - { - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_313DF9BDB283455CBB6A19878FB4C714" - { - "Name" = "8:#1901" - "Sequence" = "3:1" - "Attributes" = "3:2" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_BD829185F09C4C289836A4AE63E20FB8" - { - "Sequence" = "3:100" - "DisplayName" = "8:Progress" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdProgressDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "ShowProgress" - { - "Name" = "8:ShowProgress" - "DisplayName" = "8:#1009" - "Description" = "8:#1109" - "Type" = "3:5" - "ContextData" = "8:1;True=1;False=0" - "Attributes" = "3:0" - "Setting" = "3:0" - "Value" = "3:1" - "DefaultValue" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_371B892A67BB4F1DA7D963D07F140BE2" - { - "Name" = "8:#1902" - "Sequence" = "3:1" - "Attributes" = "3:3" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_6A644B6FB14A4C83A8CBEBE8867C08C1" - { - "Sequence" = "3:100" - "DisplayName" = "8:Finished" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdFinishedDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "UpdateText" - { - "Name" = "8:UpdateText" - "DisplayName" = "8:#1058" - "Description" = "8:#1158" - "Type" = "3:15" - "ContextData" = "8:" - "Attributes" = "3:0" - "Setting" = "3:1" - "Value" = "8:#1258" - "DefaultValue" = "8:#1258" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_388D3481D244450DB7D36FD0079F982D" - { - "Name" = "8:#1901" - "Sequence" = "3:2" - "Attributes" = "3:2" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_C6EE4591DB4E4807A5C7029CE7FD0EF9" - { - "Sequence" = "3:100" - "DisplayName" = "8:Progress" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdAdminProgressDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "ShowProgress" - { - "Name" = "8:ShowProgress" - "DisplayName" = "8:#1009" - "Description" = "8:#1109" - "Type" = "3:5" - "ContextData" = "8:1;True=1;False=0" - "Attributes" = "3:0" - "Setting" = "3:0" - "Value" = "3:1" - "DefaultValue" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_832F3BFBD46D4B61ACC3207E311DD190" - { - "UseDynamicProperties" = "11:FALSE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdUserInterface.wim" - } - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_950360F7D5524F42A4254CDD609BAD2D" - { - "Name" = "8:#1902" - "Sequence" = "3:2" - "Attributes" = "3:3" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_A09E66C2769E483AA16E34359750F497" - { - "Sequence" = "3:100" - "DisplayName" = "8:Finished" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_98EAE9739822497E82B927EBE5E4DC10" - { - "Name" = "8:#1900" - "Sequence" = "3:2" - "Attributes" = "3:1" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_30DB2C113DFF4C65957F0192A3C2B5AE" - { - "Sequence" = "3:100" - "DisplayName" = "8:Welcome" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "CopyrightWarning" - { - "Name" = "8:CopyrightWarning" - "DisplayName" = "8:#1002" - "Description" = "8:#1102" - "Type" = "3:3" - "ContextData" = "8:" - "Attributes" = "3:0" - "Setting" = "3:1" - "Value" = "8:#1202" - "DefaultValue" = "8:#1202" - "UsePlugInResources" = "11:TRUE" - } - "Welcome" - { - "Name" = "8:Welcome" - "DisplayName" = "8:#1003" - "Description" = "8:#1103" - "Type" = "3:3" - "ContextData" = "8:" - "Attributes" = "3:0" - "Setting" = "3:1" - "Value" = "8:#1203" - "DefaultValue" = "8:#1203" - "UsePlugInResources" = "11:TRUE" - } - } - } - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_3516168FF76B43A484D1120DA6F435B7" - { - "Sequence" = "3:300" - "DisplayName" = "8:Confirm Installation" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_CC426182AF8542D0B013B7AE21B7672D" - { - "Sequence" = "3:200" - "DisplayName" = "8:Installation Folder" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdAdminFolderDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_E8347B8B8B924C058ECBAC76386FB15C" - { - "UseDynamicProperties" = "11:FALSE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdBasicDialogs.wim" - } - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_EC56F7C5178A49EF85EA915D19CFAFCE" - { - "Name" = "8:#1900" - "Sequence" = "3:1" - "Attributes" = "3:1" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_261BB94B0216402188D47BCE6FB5BABE" - { - "Sequence" = "3:300" - "DisplayName" = "8:Confirm Installation" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdConfirmDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_8E66500AB09F4BB382C8A5EE30357B28" - { - "Sequence" = "3:200" - "DisplayName" = "8:Installation Folder" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdFolderDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "InstallAllUsersVisible" - { - "Name" = "8:InstallAllUsersVisible" - "DisplayName" = "8:#1059" - "Description" = "8:#1159" - "Type" = "3:5" - "ContextData" = "8:1;True=1;False=0" - "Attributes" = "3:0" - "Setting" = "3:0" - "Value" = "3:1" - "DefaultValue" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_AAD0879654A7499BBAF11015BF0E46EB" - { - "Sequence" = "3:100" - "DisplayName" = "8:Welcome" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdWelcomeDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "CopyrightWarning" - { - "Name" = "8:CopyrightWarning" - "DisplayName" = "8:#1002" - "Description" = "8:#1102" - "Type" = "3:3" - "ContextData" = "8:" - "Attributes" = "3:0" - "Setting" = "3:1" - "Value" = "8:#1202" - "DefaultValue" = "8:#1202" - "UsePlugInResources" = "11:TRUE" - } - "Welcome" - { - "Name" = "8:Welcome" - "DisplayName" = "8:#1003" - "Description" = "8:#1103" - "Type" = "3:3" - "ContextData" = "8:" - "Attributes" = "3:0" - "Setting" = "3:1" - "Value" = "8:#1203" - "DefaultValue" = "8:#1203" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - } - "MergeModule" - { - } - "ProjectOutput" - { - } - } -} diff --git a/License.txt b/License.txt deleted file mode 100644 index c332405..0000000 --- a/License.txt +++ /dev/null @@ -1,176 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - diff --git a/Openstack.Client.Powershell.Deployment/Openstack.Client.Powershell.Deployment.sln b/Openstack.Client.Powershell.Deployment/Openstack.Client.Powershell.Deployment.sln deleted file mode 100644 index 7243977..0000000 --- a/Openstack.Client.Powershell.Deployment/Openstack.Client.Powershell.Deployment.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Openstack.Client.Powershell.Deployment", "Openstack.Client.Powershell.Deployment\Openstack.Client.Powershell.Deployment.vdproj", "{ED796A88-B8B7-49FC-9B16-2FD43492DADB}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Default = Debug|Default - Release|Default = Release|Default - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {ED796A88-B8B7-49FC-9B16-2FD43492DADB}.Debug|Default.ActiveCfg = Debug - {ED796A88-B8B7-49FC-9B16-2FD43492DADB}.Debug|Default.Build.0 = Debug - {ED796A88-B8B7-49FC-9B16-2FD43492DADB}.Release|Default.ActiveCfg = Release - {ED796A88-B8B7-49FC-9B16-2FD43492DADB}.Release|Default.Build.0 = Release - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/Openstack.Client.Powershell.Deployment/Openstack.Client.Powershell.Deployment/Openstack.Client.Powershell.Deployment.vdproj b/Openstack.Client.Powershell.Deployment/Openstack.Client.Powershell.Deployment/Openstack.Client.Powershell.Deployment.vdproj deleted file mode 100644 index 28f70dd..0000000 --- a/Openstack.Client.Powershell.Deployment/Openstack.Client.Powershell.Deployment/Openstack.Client.Powershell.Deployment.vdproj +++ /dev/null @@ -1,2381 +0,0 @@ -"DeployProject" -{ -"VSVersion" = "3:800" -"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" -"IsWebType" = "8:FALSE" -"ProjectName" = "8:Openstack.Client.Powershell.Deployment" -"LanguageId" = "3:1033" -"CodePage" = "3:1252" -"UILanguageId" = "3:1033" -"SccProjectName" = "8:" -"SccLocalPath" = "8:" -"SccAuxPath" = "8:" -"SccProvider" = "8:" - "Hierarchy" - { - "Entry" - { - "MsmKey" = "8:_104E4CADCFA0427D89ECB1D27E0701C3" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_1375CF5BE44F48C69C821D44293AA736" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_145D57927CF27FF01D42DAAF2ADDDAD6" - "OwnerKey" = "8:_104E4CADCFA0427D89ECB1D27E0701C3" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_147078F18F3541639DBA05E062819B7D" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_1D261E5639CE56CA029106E1BDF6A429" - "OwnerKey" = "8:_D317CDB797CC42C5924E503E4F602DBE" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_1E701453E5EA43979C289960AFB783D4" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_1E87F4C8294040748607811DCB9F4E0F" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_263297EA89374EA681360704970D6AD9" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_274FDD1C784345D08D26A63343AE6282" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_275DEF54976040309B45BFB14F9C7ADC" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_29275E1275FA46C39868D7F3A98E5DF1" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_547C2BB28A43CAD2EAA7F7C35963D5E0" - "OwnerKey" = "8:_A97E0A39617144B4B4DEEF3587DBCB9E" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_5A8EB885D99846C0A10D1F42233310D7" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_5A98F06FCA5643FE8A3820BF1D78699C" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_629B22504AB74ABB9375F1766DB53397" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_646D1FD85CCB8183E1926419A9CD9536" - "OwnerKey" = "8:_D317CDB797CC42C5924E503E4F602DBE" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_7A41D8CCF2EF44AB8785EAB818F3FA1A" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_7A67B483678047199FDDBBD1E0988E88" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_7AF10CC72D98FBAF717E87434F1BFD65" - "OwnerKey" = "8:_A97E0A39617144B4B4DEEF3587DBCB9E" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_7EA940E4B795459C8F2E6D3A065C55A4" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_848D7D293345454383EC18003FB5B8B7" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_8804C4A22C8F12667963DF08A521F830" - "OwnerKey" = "8:_A97E0A39617144B4B4DEEF3587DBCB9E" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_88457574D5444BE0ACB0AF6BFB7BFAE8" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_8AD4AC2CEAC74BD384221C73852572A5" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_8D26FC01569144FD9DBFBBA5DA66C486" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_97F7414A445643828AA3BB9FE51FA4E0" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_9B9C9A9CE6AD4C66BB34AFB4E35FEDFC" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_A00E634C674C42C2BB915593E87E835D" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_A4A9E2D1D1B94CA6AD9552DB52AAAA00" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_A4D91F4254924ADE8F8331712A150E09" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_A97E0A39617144B4B4DEEF3587DBCB9E" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_AE748563B567410791CE547C7D91C66F" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_B1A2812BBC00A7B8F7BD8EB16B47C5D9" - "OwnerKey" = "8:_7EA940E4B795459C8F2E6D3A065C55A4" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_B1A2812BBC00A7B8F7BD8EB16B47C5D9" - "OwnerKey" = "8:_646D1FD85CCB8183E1926419A9CD9536" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_B4E1002474D6459FA2F7C9FA7E593B5F" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_B56999375D324B3492DDE53E4328C250" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_B588C3817CF6464DAF9242989DA0A00F" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_B84370CBB1A5478497032803AD495895" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_BE9682EDD3464812990BB011F5EA1BFD" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_C85F32B963EB4307A4D6EEF68055BA5F" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_CAD8EE0143DF43FCAD6676816F905C81" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_D317CDB797CC42C5924E503E4F602DBE" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_D9CB459BEC3A4AD9B64A08EF6A45161C" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_DD4B1A4C602D0B508F4979F658C60636" - "OwnerKey" = "8:_145D57927CF27FF01D42DAAF2ADDDAD6" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_DD4B1A4C602D0B508F4979F658C60636" - "OwnerKey" = "8:_FD7EAC8EA5244809AA15A0FCB8C05A20" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_DD4B1A4C602D0B508F4979F658C60636" - "OwnerKey" = "8:_104E4CADCFA0427D89ECB1D27E0701C3" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_DE92D2AE905940769E3B603A0090658D" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_E06F44CF28E84825923B34A78522057A" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_E88CE2792E444E1795AAE2AEF9BA5520" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_EA0E33BF1CBD43578CCA6EEEAC6702A1" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_EA24E3BDB92A495CA06C0CDD25636F08" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_FD7EAC8EA5244809AA15A0FCB8C05A20" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_DD4B1A4C602D0B508F4979F658C60636" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_FD7EAC8EA5244809AA15A0FCB8C05A20" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_D317CDB797CC42C5924E503E4F602DBE" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_646D1FD85CCB8183E1926419A9CD9536" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_CAD8EE0143DF43FCAD6676816F905C81" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_B588C3817CF6464DAF9242989DA0A00F" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_B56999375D324B3492DDE53E4328C250" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_B4E1002474D6459FA2F7C9FA7E593B5F" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_A4A9E2D1D1B94CA6AD9552DB52AAAA00" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_88457574D5444BE0ACB0AF6BFB7BFAE8" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_8804C4A22C8F12667963DF08A521F830" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_7EA940E4B795459C8F2E6D3A065C55A4" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_B1A2812BBC00A7B8F7BD8EB16B47C5D9" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_7AF10CC72D98FBAF717E87434F1BFD65" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_5A98F06FCA5643FE8A3820BF1D78699C" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_547C2BB28A43CAD2EAA7F7C35963D5E0" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_1E701453E5EA43979C289960AFB783D4" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_1D261E5639CE56CA029106E1BDF6A429" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_145D57927CF27FF01D42DAAF2ADDDAD6" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_104E4CADCFA0427D89ECB1D27E0701C3" - "MsmSig" = "8:_UNDEFINED" - } - } - "Configurations" - { - "Debug" - { - "DisplayName" = "8:Debug" - "IsDebugOnly" = "11:TRUE" - "IsReleaseOnly" = "11:FALSE" - "OutputFilename" = "8:..\\..\\..\\..\\Builds\\Openstack.Client.Powershell.Deployment.msi" - "PackageFilesAs" = "3:2" - "PackageFileSize" = "3:-2147483648" - "CabType" = "3:1" - "Compression" = "3:2" - "SignOutput" = "11:FALSE" - "CertificateFile" = "8:" - "PrivateKeyFile" = "8:" - "TimeStampServer" = "8:" - "InstallerBootstrapper" = "3:2" - "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" - { - "Enabled" = "11:TRUE" - "PromptEnabled" = "11:TRUE" - "PrerequisitesLocation" = "2:1" - "Url" = "8:" - "ComponentsUrl" = "8:" - "Items" - { - "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.0,Profile=Client" - { - "Name" = "8:Microsoft .NET Framework 4 Client Profile (x86 and x64)" - "ProductCode" = "8:.NETFramework,Version=v4.0,Profile=Client" - } - "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1" - { - "Name" = "8:Windows Installer 3.1" - "ProductCode" = "8:Microsoft.Windows.Installer.3.1" - } - } - } - } - "Release" - { - "DisplayName" = "8:Release" - "IsDebugOnly" = "11:FALSE" - "IsReleaseOnly" = "11:TRUE" - "OutputFilename" = "8:Release\\Openstack.Client.Powershell.Deployment.msi" - "PackageFilesAs" = "3:2" - "PackageFileSize" = "3:-2147483648" - "CabType" = "3:1" - "Compression" = "3:2" - "SignOutput" = "11:FALSE" - "CertificateFile" = "8:" - "PrivateKeyFile" = "8:" - "TimeStampServer" = "8:" - "InstallerBootstrapper" = "3:2" - "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" - { - "Enabled" = "11:TRUE" - "PromptEnabled" = "11:TRUE" - "PrerequisitesLocation" = "2:1" - "Url" = "8:" - "ComponentsUrl" = "8:" - "Items" - { - "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.0,Profile=Client" - { - "Name" = "8:Microsoft .NET Framework 4 Client Profile (x86 and x64)" - "ProductCode" = "8:.NETFramework,Version=v4.0,Profile=Client" - } - "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1" - { - "Name" = "8:Windows Installer 3.1" - "ProductCode" = "8:Microsoft.Windows.Installer.3.1" - } - } - } - } - } - "Deployable" - { - "CustomAction" - { - } - "DefaultFeature" - { - "Name" = "8:DefaultFeature" - "Title" = "8:" - "Description" = "8:" - } - "ExternalPersistence" - { - "LaunchCondition" - { - "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_56880755324247BABD2BE6B8097D57FB" - { - "Name" = "8:.NET Framework" - "Message" = "8:[VSDNETMSG]" - "FrameworkVersion" = "8:.NETFramework,Version=v4.0,Profile=Client" - "AllowLaterVersions" = "11:FALSE" - "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=131000" - } - } - } - "File" - { - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_104E4CADCFA0427D89ECB1D27E0701C3" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:AWSSDK, Version=2.0.11.0, Culture=neutral, PublicKeyToken=9f476d3089b52be3, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_104E4CADCFA0427D89ECB1D27E0701C3" - { - "Name" = "8:AWSSDK.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\AWSSDK.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1375CF5BE44F48C69C821D44293AA736" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\Microsoft.PowerShell_profile.ps1" - "TargetName" = "8:Microsoft.PowerShell_profile.ps1" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_145D57927CF27FF01D42DAAF2ADDDAD6" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:TRUE" - "AssemblyAsmDisplayName" = "8:System.Net.Http.WebRequest, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_145D57927CF27FF01D42DAAF2ADDDAD6" - { - "Name" = "8:System.Net.Http.WebRequest.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:System.Net.Http.WebRequest.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_147078F18F3541639DBA05E062819B7D" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\Openstack.Client.Powershell.dll-Help.xml" - "TargetName" = "8:Openstack.Client.Powershell.dll-Help.xml" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_1D261E5639CE56CA029106E1BDF6A429" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:TRUE" - "AssemblyAsmDisplayName" = "8:System.Management.Automation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_1D261E5639CE56CA029106E1BDF6A429" - { - "Name" = "8:System.Management.Automation.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:System.Management.Automation.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_1E701453E5EA43979C289960AFB783D4" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_1E701453E5EA43979C289960AFB783D4" - { - "Name" = "8:System.Net.Http.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\System.Net.Http.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_1E87F4C8294040748607811DCB9F4E0F" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\Openstack-Core.psd1" - "TargetName" = "8:Openstack-Core.psd1" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_263297EA89374EA681360704970D6AD9" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\System.Net.Http.Formatting.xml" - "TargetName" = "8:System.Net.Http.Formatting.xml" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_274FDD1C784345D08D26A63343AE6282" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\CredentialList.xml" - "TargetName" = "8:CredentialList.xml" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_275DEF54976040309B45BFB14F9C7ADC" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\ReleaseNotes.xml" - "TargetName" = "8:ReleaseNotes.xml" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_29275E1275FA46C39868D7F3A98E5DF1" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\Openstack.config.example" - "TargetName" = "8:Openstack.config.example" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_547C2BB28A43CAD2EAA7F7C35963D5E0" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:TRUE" - "AssemblyAsmDisplayName" = "8:System.Net.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_547C2BB28A43CAD2EAA7F7C35963D5E0" - { - "Name" = "8:System.Net.Primitives.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:System.Net.Primitives.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5A8EB885D99846C0A10D1F42233310D7" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\Openstack.format.ps1xml" - "TargetName" = "8:Openstack.format.ps1xml" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5A98F06FCA5643FE8A3820BF1D78699C" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:System.Net.Http.Extensions, Version=2.2.22.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_5A98F06FCA5643FE8A3820BF1D78699C" - { - "Name" = "8:System.Net.Http.Extensions.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\System.Net.Http.Extensions.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_629B22504AB74ABB9375F1766DB53397" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\AWSSDK.pdb" - "TargetName" = "8:AWSSDK.pdb" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_646D1FD85CCB8183E1926419A9CD9536" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:OpenStack, Version=0.9.1.0, Culture=neutral, PublicKeyToken=baf191d8aca7391c, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_646D1FD85CCB8183E1926419A9CD9536" - { - "Name" = "8:OpenStack.DLL" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:OpenStack.DLL" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7A41D8CCF2EF44AB8785EAB818F3FA1A" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\PostBuild.bat" - "TargetName" = "8:PostBuild.bat" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7A67B483678047199FDDBBD1E0988E88" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\Acme.Openstack.Powershell.xml" - "TargetName" = "8:Acme.Openstack.Powershell.xml" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7AF10CC72D98FBAF717E87434F1BFD65" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:TRUE" - "AssemblyAsmDisplayName" = "8:System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_7AF10CC72D98FBAF717E87434F1BFD65" - { - "Name" = "8:System.Runtime.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:System.Runtime.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7EA940E4B795459C8F2E6D3A065C55A4" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:OpenStack, Version=0.9.1.0, Culture=neutral, PublicKeyToken=baf191d8aca7391c, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_7EA940E4B795459C8F2E6D3A065C55A4" - { - "Name" = "8:OpenStack.DLL" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\OpenStack.DLL" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_848D7D293345454383EC18003FB5B8B7" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\License.rtf" - "TargetName" = "8:License.rtf" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_8804C4A22C8F12667963DF08A521F830" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:TRUE" - "AssemblyAsmDisplayName" = "8:System.Runtime.InteropServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_8804C4A22C8F12667963DF08A521F830" - { - "Name" = "8:System.Runtime.InteropServices.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:System.Runtime.InteropServices.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_88457574D5444BE0ACB0AF6BFB7BFAE8" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_88457574D5444BE0ACB0AF6BFB7BFAE8" - { - "Name" = "8:Newtonsoft.Json.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\Newtonsoft.Json.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8AD4AC2CEAC74BD384221C73852572A5" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\ApacheLicense.rtf" - "TargetName" = "8:ApacheLicense.rtf" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8D26FC01569144FD9DBFBBA5DA66C486" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\Newtonsoft.Json.xml" - "TargetName" = "8:Newtonsoft.Json.xml" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_97F7414A445643828AA3BB9FE51FA4E0" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\openstack-cli-powershell.nuspec" - "TargetName" = "8:openstack-cli-powershell.nuspec" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9B9C9A9CE6AD4C66BB34AFB4E35FEDFC" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\Openstack.Client.Powershell.pdb" - "TargetName" = "8:Openstack.Client.Powershell.pdb" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A00E634C674C42C2BB915593E87E835D" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\PostBuild.example" - "TargetName" = "8:PostBuild.example" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_A4A9E2D1D1B94CA6AD9552DB52AAAA00" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:System.Runtime.InteropServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_A4A9E2D1D1B94CA6AD9552DB52AAAA00" - { - "Name" = "8:System.Runtime.InteropServices.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\System.Runtime.InteropServices.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A4D91F4254924ADE8F8331712A150E09" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\DevProfile.ps1" - "TargetName" = "8:DevProfile.ps1" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_A97E0A39617144B4B4DEEF3587DBCB9E" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:System.Net.Http.Primitives, Version=4.2.22.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_A97E0A39617144B4B4DEEF3587DBCB9E" - { - "Name" = "8:System.Net.Http.Primitives.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\System.Net.Http.Primitives.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_AE748563B567410791CE547C7D91C66F" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\Openstack.config" - "TargetName" = "8:Openstack.config" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B1A2812BBC00A7B8F7BD8EB16B47C5D9" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_B1A2812BBC00A7B8F7BD8EB16B47C5D9" - { - "Name" = "8:Newtonsoft.Json.DLL" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:Newtonsoft.Json.DLL" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B4E1002474D6459FA2F7C9FA7E593B5F" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:System.Net.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_B4E1002474D6459FA2F7C9FA7E593B5F" - { - "Name" = "8:System.Net.Primitives.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\System.Net.Primitives.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B56999375D324B3492DDE53E4328C250" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_B56999375D324B3492DDE53E4328C250" - { - "Name" = "8:System.Runtime.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\System.Runtime.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B588C3817CF6464DAF9242989DA0A00F" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:System.Management.Automation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_B588C3817CF6464DAF9242989DA0A00F" - { - "Name" = "8:System.Management.Automation.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\System.Management.Automation.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B84370CBB1A5478497032803AD495895" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\DevProfile.ps1.example" - "TargetName" = "8:DevProfile.ps1.example" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BE9682EDD3464812990BB011F5EA1BFD" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\Aliases.txt" - "TargetName" = "8:Aliases.txt" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C85F32B963EB4307A4D6EEF68055BA5F" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\readme.txt" - "TargetName" = "8:readme.txt" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_CAD8EE0143DF43FCAD6676816F905C81" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_CAD8EE0143DF43FCAD6676816F905C81" - { - "Name" = "8:System.Net.Http.Formatting.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\System.Net.Http.Formatting.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D317CDB797CC42C5924E503E4F602DBE" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:Openstack.Client.Powershell, Version=1.3.5.8, Culture=neutral, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_D317CDB797CC42C5924E503E4F602DBE" - { - "Name" = "8:Openstack.Client.Powershell.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\Openstack.Client.Powershell.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D9CB459BEC3A4AD9B64A08EF6A45161C" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\ReleaseManifest.xml" - "TargetName" = "8:ReleaseManifest.xml" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_DD4B1A4C602D0B508F4979F658C60636" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:TRUE" - "AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_DD4B1A4C602D0B508F4979F658C60636" - { - "Name" = "8:System.Net.Http.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:System.Net.Http.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DE92D2AE905940769E3B603A0090658D" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\System.Net.Http.Primitives.xml" - "TargetName" = "8:System.Net.Http.Primitives.xml" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E06F44CF28E84825923B34A78522057A" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\Openstack.Client.Powershell.dll.config" - "TargetName" = "8:Openstack.Client.Powershell.dll.config" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E88CE2792E444E1795AAE2AEF9BA5520" - { - "SourcePath" = "8:..\\..\\Openstack.Client.Powershell\\Deployment\\Openstack.config" - "TargetName" = "8:Openstack.config" - "Tag" = "8:" - "Folder" = "8:_E0458110E3D64D3FAB0F75397C96B21D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_EA0E33BF1CBD43578CCA6EEEAC6702A1" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\System.Net.Http.Extensions.xml" - "TargetName" = "8:System.Net.Http.Extensions.xml" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_EA24E3BDB92A495CA06C0CDD25636F08" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\powershell.exe.config" - "TargetName" = "8:powershell.exe.config" - "Tag" = "8:" - "Folder" = "8:_D6BC6EF46DA2487A986FC88DA84CB761" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_FD7EAC8EA5244809AA15A0FCB8C05A20" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:System.Net.Http.WebRequest, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_FD7EAC8EA5244809AA15A0FCB8C05A20" - { - "Name" = "8:System.Net.Http.WebRequest.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\Openstack-Core\\System.Net.Http.WebRequest.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_3A7B2B90893844FB9D326CD2BDA1E02D" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - } - "FileType" - { - } - "Folder" - { - "{1525181F-901A-416C-8A58-119130FE478E}:_417A9BD276B24EE09637D66D8A543B29" - { - "Name" = "8:#1918" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:PersonalFolder" - "Folders" - { - "{9EF0B969-E518-4E46-987F-47570745A589}:_BAC4A4AAEC494799ABD6068E4C1D4521" - { - "Name" = "8:WindowsPowerShell" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:_6CDF6DBD92A74BB284DC3A781DF4B4A0" - "Folders" - { - "{9EF0B969-E518-4E46-987F-47570745A589}:_56834F63C1084ED3A7A4B708C52FDE97" - { - "Name" = "8:Modules" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:_65499BCF08404FFAAC3CF05B22D3C2B6" - "Folders" - { - "{9EF0B969-E518-4E46-987F-47570745A589}:_3A7B2B90893844FB9D326CD2BDA1E02D" - { - "Name" = "8:Openstack-Core" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:_2757CC2C53F24618821904DA2D22F65C" - "Folders" - { - } - } - } - } - } - } - "{9EF0B969-E518-4E46-987F-47570745A589}:_E0458110E3D64D3FAB0F75397C96B21D" - { - "Name" = "8:OS" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:_6E2F69C4C6274264BE1D96E6B9453AA0" - "Folders" - { - } - } - } - } - "{3C67513D-01DD-4637-8A68-80971EB9504F}:_7BD43CEFE60B4AAEACCE7B35DF7474F2" - { - "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]" - "Name" = "8:#1925" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:TARGETDIR" - "Folders" - { - } - } - "{1525181F-901A-416C-8A58-119130FE478E}:_CAA469F56B3B4153BC0BB151ECDBB02E" - { - "Name" = "8:#1914" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:SystemFolder" - "Folders" - { - "{9EF0B969-E518-4E46-987F-47570745A589}:_D0803A8F88C944AB8B83EB34FEE8A4AC" - { - "Name" = "8:WindowsPowershell" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:_8C705A3CA6B543F99CBFF37C84C26ADC" - "Folders" - { - "{9EF0B969-E518-4E46-987F-47570745A589}:_D6BC6EF46DA2487A986FC88DA84CB761" - { - "Name" = "8:v1.0" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:_17F9F5FD42F24FB1ABCFD35A4A576E93" - "Folders" - { - } - } - } - } - } - } - } - "LaunchCondition" - { - } - "Locator" - { - "{CF66B7F7-B7DA-4B08-A67A-233430638C9C}:_A0BF62018C5541E68E96177AF6510DA0" - { - "Name" = "8:Get Common Documents Folder" - "Root" = "2:1" - "RegKey" = "8:SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders" - "Value" = "8:Common Documents" - "Property" = "8:REGISTRYVALUE1" - } - } - "MsiBootstrapper" - { - "LangId" = "3:1033" - "RequiresElevation" = "11:FALSE" - } - "Product" - { - "Name" = "8:Microsoft Visual Studio" - "ProductName" = "8:Openstack Powershell Client" - "ProductCode" = "8:{4FCD8C9E-7C17-47E0-84C0-D03B4EA12790}" - "PackageCode" = "8:{E7742A6B-895D-4178-A6B6-1DF8313B0DE1}" - "UpgradeCode" = "8:{87F78046-D852-47C1-B14D-3671654B37BE}" - "AspNetVersion" = "8:4.0.30319.0" - "RestartWWWService" = "11:FALSE" - "RemovePreviousVersions" = "11:FALSE" - "DetectNewerInstalledVersion" = "11:TRUE" - "InstallAllUsers" = "11:FALSE" - "ProductVersion" = "8:1.0.0" - "Manufacturer" = "8:Openstack" - "ARPHELPTELEPHONE" = "8:" - "ARPHELPLINK" = "8:" - "Title" = "8:Openstack Powershell Client Installer" - "Subject" = "8:" - "ARPCONTACT" = "8:Openstack" - "Keywords" = "8:" - "ARPCOMMENTS" = "8:" - "ARPURLINFOABOUT" = "8:" - "ARPPRODUCTICON" = "8:" - "ARPIconIndex" = "3:0" - "SearchPath" = "8:" - "UseSystemSearchPath" = "11:TRUE" - "TargetPlatform" = "3:0" - "PreBuildEvent" = "8:" - "PostBuildEvent" = "8:" - "RunPostBuildEvent" = "3:0" - } - "Registry" - { - "HKLM" - { - "Keys" - { - "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_4331D4EACA8C40D98ADCEA88861522DE" - { - "Name" = "8:Software" - "Condition" = "8:" - "AlwaysCreate" = "11:FALSE" - "DeleteAtUninstall" = "11:FALSE" - "Transitive" = "11:FALSE" - "Keys" - { - "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E7D5958CFAAF4C38BC22265B28230550" - { - "Name" = "8:[Manufacturer]" - "Condition" = "8:" - "AlwaysCreate" = "11:FALSE" - "DeleteAtUninstall" = "11:FALSE" - "Transitive" = "11:FALSE" - "Keys" - { - } - "Values" - { - } - } - } - "Values" - { - } - } - } - } - "HKCU" - { - "Keys" - { - "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_779D2E4AD93248EB82B6D81913E2FAF5" - { - "Name" = "8:Software" - "Condition" = "8:" - "AlwaysCreate" = "11:FALSE" - "DeleteAtUninstall" = "11:FALSE" - "Transitive" = "11:FALSE" - "Keys" - { - "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_28A8D5EFB0A349E3BA7D1D907E45E14A" - { - "Name" = "8:[Manufacturer]" - "Condition" = "8:" - "AlwaysCreate" = "11:FALSE" - "DeleteAtUninstall" = "11:FALSE" - "Transitive" = "11:FALSE" - "Keys" - { - } - "Values" - { - } - } - } - "Values" - { - } - } - } - } - "HKCR" - { - "Keys" - { - } - } - "HKU" - { - "Keys" - { - } - } - "HKPU" - { - "Keys" - { - } - } - } - "Sequences" - { - } - "Shortcut" - { - } - "UserInterface" - { - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_0A9EC0BD063C429BA441F616E8E2CB94" - { - "Name" = "8:#1902" - "Sequence" = "3:1" - "Attributes" = "3:3" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E32A21088AC045569347CA9553B9A242" - { - "Sequence" = "3:100" - "DisplayName" = "8:Finished" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdFinishedDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "UpdateText" - { - "Name" = "8:UpdateText" - "DisplayName" = "8:#1058" - "Description" = "8:#1158" - "Type" = "3:15" - "ContextData" = "8:" - "Attributes" = "3:0" - "Setting" = "3:1" - "Value" = "8:#1258" - "DefaultValue" = "8:#1258" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_0AE1025914C94451BC4A9D748089AC56" - { - "UseDynamicProperties" = "11:FALSE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdUserInterface.wim" - } - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_26BEEFF53B754AD49B051F565A408EF2" - { - "Name" = "8:#1901" - "Sequence" = "3:2" - "Attributes" = "3:2" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F5DCE8644E814D109FE0C6C5B8FC1558" - { - "Sequence" = "3:100" - "DisplayName" = "8:Progress" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdAdminProgressDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "ShowProgress" - { - "Name" = "8:ShowProgress" - "DisplayName" = "8:#1009" - "Description" = "8:#1109" - "Type" = "3:5" - "ContextData" = "8:1;True=1;False=0" - "Attributes" = "3:0" - "Setting" = "3:0" - "Value" = "3:1" - "DefaultValue" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_62F0D53B0CB5415B925675B68973C941" - { - "UseDynamicProperties" = "11:FALSE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdBasicDialogs.wim" - } - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_647AB0A4032F4827BBDCC782CD462549" - { - "Name" = "8:#1902" - "Sequence" = "3:2" - "Attributes" = "3:3" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F8ECA572E23B4854888F47DEFAC1616E" - { - "Sequence" = "3:100" - "DisplayName" = "8:Finished" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_6AF70D2879E045A5B7A71B5D0DBC9EE2" - { - "Name" = "8:#1901" - "Sequence" = "3:1" - "Attributes" = "3:2" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_632ED07FFC75413BAB8525BE436865DC" - { - "Sequence" = "3:100" - "DisplayName" = "8:Progress" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdProgressDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "ShowProgress" - { - "Name" = "8:ShowProgress" - "DisplayName" = "8:#1009" - "Description" = "8:#1109" - "Type" = "3:5" - "ContextData" = "8:1;True=1;False=0" - "Attributes" = "3:0" - "Setting" = "3:0" - "Value" = "3:1" - "DefaultValue" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_83240826D05E4442833523D64BC36F85" - { - "Name" = "8:#1900" - "Sequence" = "3:2" - "Attributes" = "3:1" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_11DD7E096FBB48D0B46B5875D7C13FA1" - { - "Sequence" = "3:200" - "DisplayName" = "8:Installation Folder" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdAdminFolderDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_6787F48D5EF34436889559972D5BB78D" - { - "Sequence" = "3:100" - "DisplayName" = "8:Welcome" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "CopyrightWarning" - { - "Name" = "8:CopyrightWarning" - "DisplayName" = "8:#1002" - "Description" = "8:#1102" - "Type" = "3:3" - "ContextData" = "8:" - "Attributes" = "3:0" - "Setting" = "3:1" - "Value" = "8:#1202" - "DefaultValue" = "8:#1202" - "UsePlugInResources" = "11:TRUE" - } - "Welcome" - { - "Name" = "8:Welcome" - "DisplayName" = "8:#1003" - "Description" = "8:#1103" - "Type" = "3:3" - "ContextData" = "8:" - "Attributes" = "3:0" - "Setting" = "3:1" - "Value" = "8:#1203" - "DefaultValue" = "8:#1203" - "UsePlugInResources" = "11:TRUE" - } - } - } - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_CADDE2C743C6460D85B64E0905EF2BC9" - { - "Sequence" = "3:300" - "DisplayName" = "8:Confirm Installation" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_AD778BF56B484D8EAEB5B15C30AF0E65" - { - "Name" = "8:#1900" - "Sequence" = "3:1" - "Attributes" = "3:1" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_4B6D8194A55D46688D4980EC565C71DE" - { - "Sequence" = "3:300" - "DisplayName" = "8:Confirm Installation" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdConfirmDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_8BEE6CA3AEDC43A991231594C405DEA5" - { - "Sequence" = "3:100" - "DisplayName" = "8:Welcome" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdWelcomeDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "CopyrightWarning" - { - "Name" = "8:CopyrightWarning" - "DisplayName" = "8:#1002" - "Description" = "8:#1102" - "Type" = "3:3" - "ContextData" = "8:" - "Attributes" = "3:0" - "Setting" = "3:1" - "Value" = "8:#1202" - "DefaultValue" = "8:#1202" - "UsePlugInResources" = "11:TRUE" - } - "Welcome" - { - "Name" = "8:Welcome" - "DisplayName" = "8:#1003" - "Description" = "8:#1103" - "Type" = "3:3" - "ContextData" = "8:" - "Attributes" = "3:0" - "Setting" = "3:1" - "Value" = "8:#1203" - "DefaultValue" = "8:#1203" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - } - "MergeModule" - { - } - "ProjectOutput" - { - } - } -} diff --git a/Openstack.Client.Powershell/.nuget/NuGet.Config b/Openstack.Client.Powershell/.nuget/NuGet.Config deleted file mode 100644 index 67f8ea0..0000000 --- a/Openstack.Client.Powershell/.nuget/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Openstack.Client.Powershell/.nuget/NuGet.exe b/Openstack.Client.Powershell/.nuget/NuGet.exe deleted file mode 100644 index c41a0d0debd870f8df2754f07a9f29c2d89a3d27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1662976 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§aghoAul?L0X>d$YAi*B*}Ui| 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≀u3%ll>HC17`Qjrp#2UXAU^9R4NKu~g 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%0Ac z*-+iF5H@OKjk&=a9d5SC2cXoQDuX2@@QtovgoTZMZvMW)&71l*bxsHSmWWZ~ZF@be z2{=YoYF|)ts}mC>TYo44CqOjf^Ou2tv@5nkWP>Y@RrIQjBGK}n_NtYIUsFdp*fJu3 zW^fjnaA4C}L0Ul7Z1XJD{K#fRHu4?Wn%DAwxQTDoyItVu7?0Kg1x&P%l>(ahp_U*; z*ut}DC1bF)5@hD&^(BE%|3wPDblu@lgLk^|P_qUw&?(*jDE(jhV?dji=~`x+@oV$r0^Z%dbbu zU0(@9AR=!7Zv-UrU=9+I$YP3+d2~gll0`vXpO!Ag{Nx|WbFj9OXG&*};O(iHdqlYySi18_}UkN|^{#4hAgO-HIoC*30ry`u1ovWLOh!B0!xOf_5H zY3P?7l=$*fsYhCRCA=VVaqsbqkFUeMiBVSPXttQ@(qx$@vwMFWcrFS6Vy3${PM_SN zvtleY6>da8hstmI&`!YZR)eyWt(;cc%({LA6{fdwkcYCMC|S%!-a%8fhnoxVB2OIk*NeD7>mX_ z!s)35qiYIILlvz`%Ji3%VwMB+t8=_}c#KXCfE+IeVSjs|J=l&RN&=GqB$7h?GA@E2 zsEd-(tJ5B-+pn>y(;wzPy7b`8*x2a{`ENF#eIxuB^Gmc=`lI~!C9aY9z0lh!|2b~X z;%&`+)8%WMeW0s*BRZ}<_t};F(nW2}0I|(e;kol?Q`9D~*}cm;8+ z&atJi3-)9pdCGe;1sk-J58q_%50k77#k;Bcg#=aJp2_*QXHsh;0GA+6$CTsc1|jXp z?ZLI!;-g>_fTElm9~{N~FUZnv;JELG=VrEo)u*|({!At@EgLF}+dFX}Wm$tn4an$s z@MI^-lmZ8~m%c&WR5JJ6TMxEhp4bUwP6D{45P|x5e!o*d2Kkt{v6ae+hTbTD$6m9@ z!*ATnF5*?<%*a~fgVn(xHz6mhte`E0eIG=vRB|=@)61_udTH15QTw^og}cahx%BvE zNE6A7XqV`?sUxqa*|1T#1yvA+} zON3YWpx%moZ9E#RLt%_x`|P+~4^FBiJGO)w*$8llODTLuH|v>&S3PtWhM(9}EV zbh#zoQY_Gv$u$v}lh_pwiT<%*4-k4mH)rtw@MiCsK~RV<*P1*%Jb7ASx&eF=hrtAZ z3ua`cPrX)H$6s60Zi&D?c@Od^w4y<#@dQXuN-f*VNj>YR25aGKH2+Fk;o`3jUZK2q z^U;gDpPYJP-_*{7QzuV&bCs!WPfbm1&^rCn)X~SLUU>m}P!6Bk{?tdOVF-PaV?UaB z_0rDMAH8qXgSTik(;hh*|KyvHG4VG1Ci*0rD2bxXdvZ4$jn)dPrc@Fr6m2VSL|G|4 zZB_B4hYK8FxDNhA$_TLoCQs1#c5uX$NRfq*w!(`Cxhj!^+_n$YU%DBj_b|yGwwg^# z4-V@077no_WHZvAA!<@iwySFyX#LxRfM5yP4^1f|;fHr}7sBQV-Umuv(Hy^SOgZTM zrhc^nI6qvP^L6dJE{wlp;Ro9jL>$UGgl%Dw43ZG!Ctk6gA?B{BO@}FSD{Yi-O>f+N zm96o@_Hv~B+EWv1NDfipvAu-ex7vqfiO+jzbcnJSEgz%a@>j-IAxf>fNIj?Cn)>O| zWrj(OJTIJKWsqr7(JeZLs}vR1Qj)>T5n+u} ztLXLU0~-X`^IiAfzhvIho8xQY%ig-2ETUEb%Eamc$d2Zim3tHlA6W%Z$}nHnf5i=F z+Ox2*bSX#)Kd`KD<%dqKJ1s2S_E)Di z?@X8hYDIh^njKwP)$9c(Uz<6-)$D)B9O{jMu+${weBJLSptx^LcX*=|UI1=a7HLg_R^kCH zcuS%fW8EV*Kc?-C()UXD%fcvj^k^YCMk+VXSduqt{po01f8Dw(8WchK4p0ePxSE~J zqB9S89GhJaBZEGQn<_Q zJ$N$Fp%Cepq@VYk_CbAuiZxWwNluk^eu6O3tT& zqhoHroNqszxsKL-8;G!@&}lBbdvPjaA^}xD>$HA+^l2p;ri~dvrM1uVfh0rdnzsA& z)kDYgSEsbUL+1ai~d`;N3VUnErbxGH+8ii5# z+-bbkV3;QXnc7Wy8edB|B;p0;T}#@>F_tstpqd>oN{=8sBrDwh^L5-ETA#m0xT9Ic z3Lh3k2p-xD3F02`jJx1+tChae=3^B0K_SJSHlCjxcHZ_IW>$=8*5@k}DMv%)v;~_9 zFSznMf$|IE6;uFdN^$b3rJX@6BQYO&m6(Z<6D~aFtX(f<*o6u<%e}+v2eQ-4gHw_6 zY$ME=!)kUkTWS`crr{=|(F(XrB{E$R?TP+LIk|5-5DX83N3+nv}XPQZ1i=aJyKbO5LN)YOyDk^T{LhEsCzBj4Ka z9Kgt`KX`hNQEU7>4NYUmWP>s8m33!8aaY2qqTYEPaJP?YJRE$bAsJCOt0A}Vupw8* ztP;?9u{Ro;tZ5Fz`pCDJ3p0+r^fmW0y~F!0E? zf&B3Y4yVVp(9~LJ=9Y$CLdyl)4ev+A1U2w<5NGH%Ou_fw1j86)jLJ)zV~dxo>zZAX zuQvvW7h%E4(TjW=EWWU~-8P78I~2H?2Tabz#w@ICGRt9Q%RkO9)JWH9Xd=t%9bfo` z3xeOd=WChxy~n4v!+i0kxLL>dU)Zqs!uZP<#%V{oxiXKX2f0O8Yano49I;F1OH^DK zR1jF~wO(+aqsJ`BKko9!M>mSp_1bg0=S?5qd~;XL%`@@ayl+!ZaI?6|R4H(5BB|fx zZ#QDz9wfO)S%mB-9feW1)*W$+S6SRdPWU`%UTtksI?sl9DCxZ3rZZpA%OXmO&i$~u zur7%S*{ZaQ;;37Nfc$ym^)jzMu0NPb(^9Qg?&Vm>U#UVv9nQWCp?r<$GIQF+%P0<3 za$3rjO@zpZjUHpH&~s)d!je9{M)Z|q&HM7 z1{!py#UZrLI1_#f5i!}mAu>3M8^AUUV44_MAlA#W4zc918WwB?$_c^?R*IJA)G7}G zLQ&kIpCfurZTJk?$dvo(qH5OISL1?#2bqd9jA3iq!;AC3BcDVsokuY17cN;0dxDjw z*?uY>6wdMe#h@;(Q#elw;N2rrXEp{Dy8{U3jQ4ShU2*CNO5hdwy#amT2_YNqDZur1 z(52%q!y9?!$#*nI2DD%|=s9ov%?cRh4K$`U#IKT$%PzCu>9*06k(Pg8I zAXuXQKx2fVEFeS_q_?uzSRvRdP{L+hlF&$IVA=7`V^oq6 zZi?$nvO954q%bBk$Q8Ihbty<9y_yYniBNWiFgwL|=P9DL#c?_b6xyEc!Z_7nWCXf6 za@qX_xm-je$FOFBE6y;(da7&V`-Qp!XN)NB3P6bPsfuc_DA?@-ePAgp1wq@yK8-Eg zf_lR%>Z^ItjC%`JqttJW4#8-Ac9UA4bi_=V`?z`>fzShrZV=9t5GwTy86jYLd-LkG za#&fq`I;NoIoes>Vs64#I|jOkx#V!KCIG*|%V~v&XJx=4E-n+uX>8X76{td+Yq3o^O6X$&nZkOW!9qZ!81<`?5 zFbJe?aL1PwVA(ex9ERR>P4IqJ7hXVzee4m4Y=oaQ(!Uy_=S0w=7UZh7e3d zY4x=^IuFQjXaT)_(*pDS)REc8EW}qhGRJY>w4fX&;ph|?;Xpvss(WZH%Wm#`>L2~+ zM=`{~fqY7s^mz+X=pqFo!jlmlvr$z|0nq!?Oy!>}$g#B^7YJh!D`2dM`ToX&7!Zhv zD4!o%XLSSv{IP@upT8iw`3VHe*mo4%dpkB_!*5$4lv78=>-nRc65Vw<>zvXJA^v6N zFM8VH0g{`|DJ8V{=kDWG)7Y;Spe13wQPKAYmp|As^{YMM`?SUsx%)>~#y93a`Kr?Q zpSySYAdR2$(wVrRS+1qtJ#-5+t(RgqI&<#AsPdg&~g9Nk4=j}QK75H-kILD zy#N~h9H7zBwWMs~%TEvahv^yY5fq+D_xO$TPg?{!wkh-WLldCd67o5e{Zhtex51?O z?bypS?itW_WF0G`lc&W+Q_cS5673V|_yrns-&W6;SJI2}*QeKVV$amSbmtl zG=Gme=IamF`sm_yhU~fCp#h8(TI#QhERq7$7!vW(suC}*Y}%7ra-Eg1hA?)oIF%F{gk`n{B=UQ{>K#3E`OSTo-hAQW?o*deKSSFh zC@e@@Upjo)n~A2)056eN`K`Va{M3tw_6W-S!Ru4oo(~^xeB`tESfAe~3^s<1m8 zzbA^jf%;fuh^+rEZhojKX#NOo8$d4C`dCiGYuGjfbpw@8zI&?K!Ur8gr@9rTVeg)5v|7}|m5o(6W17U}# zNjXwC6*NAQ_LHZ7R}N3U47iLWgWZtEq6~W&GAMAX?P22ED@hKEUxtxsRYewhpkduV zJy2TMfok_{Fk5XnU@~H)P`W}7s(az@0i_SZZE7qvP#4>a{hp*bt8(Px?sZd}Uo`f& zjtZLb_boA?OhLdtEB6b19RL5U0MSYts7)t{Uvdb)DddZRCwzctB&*PU13ye=clwF_ z*EUgGb80&uEK%_G>nbdmK2V?=fg5fs2P&%@*+n}V70lSu55_G`3d*og;u+zQ2h_t; zYpQpcKgI@W=c(EoEfG3N+Ui1-u5FE}C(XH2$b()=7{czSnD)nM*M}(wTjw**beC2I zCuuQ|_;;d^0ljQQpA=U$dy10mnS!9i;E4#30t>tS)Q3;1JEvoRPGi7qh2(lKp8+6JcrCu1VAjMH8u--I%h4 zhUiG_3Av$E%~VpY2IFZcCqszV68r009V(8(v{HYN?uoZA!cI6_HCkJNZ+42hs2G-ynzx<@7_Bbf-*N+d!CF+~iK z91WEqL`*?Y60WH&=|#0sS~8GmtAy6n@B3M6?S1x1Qup@$zTemHpWe@BY0f!&uf6u( zYdz~3-p~7?!q&jVAi7JqVhs@b5I~+d52U&P$Ah#TdJbg;&;Ui^wj+^(>|S1;5u>&X8!#<3%l|6Np>W9TgKLP0N zrAG~^d11kXg`4FCe3dF$Uw*QL2dAoyhygde>5|2a8?535bPNoXg-na+CN%z41gEdD}PVSI{po~dA&`zN(1){Ju z7}03o^F)nTHYKo7q5LXSVk$Ovw#H~WVTTJrCX5fn60$omWayiGj`1+NTK8nT9xzX$ zTkx9E(W=E6U89sWQho^9gtF6zsmu@KCJ{s=%aI$$Dmqll5<&{UFnN$#K{K*?sYX+7 zva(N)lyYdP0 z1dSFu3pQE7K3?)c91W^<`Hj$2LUD#L$XD=p-?t$JvzBkfP%a`G^MUkJl7@?P_c#d&Cc$?@g^u0okf_sv05(KHr zrF2Lx;k=ww{#N!20aq`JQ|OM6+wwiJ?zB=ovPNJhxaU>=na~{Yr)47#P*H&a?R>rKaS-PM`Hi&YliEx(PR_hrfwct_| zz6QZoowBqt?m$KSvWj>J;6O!1lPe&Ab9$b>FovpmBauT*bf|JVkU}Io9SEPQK8aP{ zVT6a620^pHWr*Iw7?~oR465mhDQYZxfVo1inMq{4RskxNC#x<<*`^tv1#_|SNeaW! zc%roJzbJCRawV1lLdrN=2t0~!Ag=%1rGXz!^i74Ng|aS`o;277;0EEF0mL-WR7iKg zE}uTiE`LzO9D! zV{|IO)wj6(GgeMmE8F&JKq0sM2}@YPiQ&^?bcYls z4*+UKBQf0#6Iu04SUm%h;aoMLBz|E1pc1jPBbe!9E^Wc2lu6UsA0`zxXr^6`0n)FU zaZMgM)7gyl?Xh8S%3%KosTHhgt|Blan^R6Q&4306c5|&%BB3A?Uv*5DQx-8dGbz`Z z>3#!{x4zAH3pPbk5r`UIVh@35nyjvLCJLop+6bSR0{jsy-J ziU_K}Qdh)^5$AIpwz^YJrj9krsoOYxhqS4@dcFCG!X7nh$H>De}Gmr5yR=QGYTzLP?OoWccOBXUdt!7|~N_v7N zB1_{7i2^%97#-Mch@SJ5K~do_&GC`VL7ahb2=TQeTEYvQ;3wcjVdE*sBP|J5^&B{a zp(?^!pm88aqHxoH9vHYVAt^B?^h&i?SO*y1te{}UCY2|sR*J35IMvmPA@Y|{etZ_B zE!ot_306w2KyV-(j#XY{>#$}Z4kYd{jG>DPJ(VHnNpO4WptvLb7z@@P&z3|v*F*7_ zFk9i21fM7JB($J+hwu;dhSvllL0sN=ZLZR)!hhnb6e%Ltml!^J<}@`{)n+h?ErfX^ z4V>f<90y+TEnqW=tczT4n0a182Eo-OD|t-sMJ*W|PeOsIhq4x0OT3Y%fuoMi7Wv*7 zj}*qE)}t9e2$WXA7s!*xNjSknq3FRv<8~qim`Sc+JV&HMldJxf0|~(P5G-F7N6WN3 z)gFcFZmGQZ?-HJYT7#y0hEPUjN;oD!J_rLESbaq_DoziK55igQTu2)6UJ-7?>nCnj zm8{2u=ikw3G!ukm_5u@6jia?l!$(FqiqWue1igSiyRvLfP`w+uBO*FPkN|T-9-u6r zjd!M%Zb`^HC#R9(>6BkT)A4QTt-}5^K6k}90Foaa!($VQP!8Xq#H}MDBKTvCrU#;( zUN|8*h{)vh?4{zSYaWPI;2%ovb<7Abf2dw~?H5MSE0EIojfw5m?p7<^B@8|mpB33w@^7pCWw&|h597RN9 z9?u({N}qf|$K zDEmnUyueJ)WrAIJRk-gF`xb`61Sw8u+X!U=tB*m&5gmNT^jmPj7PgJ3q#1_7;4`=p zW)w3Mf^}h}6i^MG`9svYF7CLl!V-WCN<`m~l25Tc_$^iD?WF_YzfVLwPKoo;F-X6x zZa4pDgbO+{^gQ2Q&ZC*WP;ZN)#a5|x+@XozGC5v+$VpzQsFEl zMN(N_;}OgU;OPbCH()xH^TfBB2-2QlzR{v%PFi*(^Zp_VCR<+oC&We7E(Gu-IQU`n z4AuF;Z$Pmcer0(`(0!_{5QId)iA|JqaFH`r4Eq;5OkBXUd#Sg(J?)`nC=LbDsSNRx zHCbkA4P_WOIs_=de(v^alc?5{xG6)Y$sk9qyFE8SYCoQt5$t$@b;MN^rJbF^HSOwm zOQ)zXk9O|%u3Svjb{Ss9h)ywrAK&J;&-B6C&QaaJ41@g3PYk0{)Rg~l4FQV$%a_1y zDBE1Em*5PHbnh}+5~rxdJm_la<%2J-wnr?8bMaCXR~|cF=0vGB2kA0FbFdB$5Ny=R z-QHxyA7H1->#w%Uk^2Lun9%F?b+?xnR;@QkE&;l(35s&|B&2D=H515EC@C+S2R3}D z$N~9l-~=OX5^P))2!S^mA1KreiBIK5J(cswhl0L5SqJ3A;LFyBfOf$s7aMrz#Ae`} z%8qV8m34)Wk#$$Pd~wO1!@NQo>rctnHnOy_!k~0CcU$nz#5GEetRZ&+L5!6%rNENt zT)N(Y&u~43>w{fSK3IVe!?G6)Z0gIvz$e-dejj%?>?1q>$WGoZyO{cX=@U1qhyhF8 z2sfsOL?#6+bQYHR4;*V6oW2FsMz`>z8Lto3;nj$`8`XQpqeX~I!HcF#2stqJ`B1?C zf(N34G%JA^1QZoZRYj(TS4^yDe#9Qa9upWWQP>ntC2j|Eo1Fe-)^2T`lfBIz*IQ#z zVADUy2ci^K4Ih+NS}BbV(*;B7l6|8fs4>4qsD`E%>?=7VSZyN0kuR#2VG6=l#*H|z>Jg_ihBP035i;3K)7SA0du9dMIzCKdDI6JyDrPXq5xQn)z<)s#2?aV7@(}hk zcpzOVI;I0nqj*ldqP90YyNLL5Q&CQ9$Fqa$L0o{}i4AWs=T6oSqB2 zHZ4OQ>cQjSwbF=gOuZUK@i4|#My_H}2o)XBL$p=8A+wToP5t4z)fQ!z;3Jd+>L^~S z=Iay`WT@Chk3`91=ZjArMxu+>Fy<5%v1rArzT=>Z4rBJx@nDVC-#2Uq}mpULJ+j`Qwxkg}O6 z$C+%JblhME&ihGsz=ctmE!*P)3pe?mK2BQ|#~2)=IbU#0wP8vB0O_V`v$5s75&3M% zb&3I~cPfDm;8dA!yNEfe+8KzWUdU^rnV|7Qi{Y_Wgrcn2(}AR=k;(@O!Op|_2r#Oi zARNRVAjqa}=<$KAksSrUq%D0X1RtDLsmocodq*u|k{*x^9W9HX^}8x^)>dpImLy^> zrm<8S18n?RvH{{zk~BbpcY+7KV%5*noz4%0DrL)V%eZ8Le!)%3tCGfmdsQCB3>>Xm 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

?KYszH*fnDu=4;_B$|9I%@XZ_8?y@!r_ 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 liI`dCHeT!%<7;}X+9xBJ*iwwM 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
  1. Eoy%{Iz*Kx9b1E=UMI90!iDY|Iq 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 EFFYo8OaK4? diff --git a/Openstack.Client.Powershell/.nuget/NuGet.targets b/Openstack.Client.Powershell/.nuget/NuGet.targets deleted file mode 100644 index 3f8c37b..0000000 --- a/Openstack.Client.Powershell/.nuget/NuGet.targets +++ /dev/null @@ -1,144 +0,0 @@ - - - - $(MSBuildProjectDirectory)\..\ - - - false - - - false - - - true - - - false - - - - - - - - - - - $([System.IO.Path]::Combine($(SolutionDir), ".nuget")) - - - - - $(SolutionDir).nuget - - - - $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName.Replace(' ', '_')).config - $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config - - - - $(MSBuildProjectDirectory)\packages.config - $(PackagesProjectConfig) - - - - - $(NuGetToolsPath)\NuGet.exe - @(PackageSource) - - "$(NuGetExePath)" - mono --runtime=v4.0.30319 "$(NuGetExePath)" - - $(TargetDir.Trim('\\')) - - -RequireConsent - -NonInteractive - - "$(SolutionDir) " - "$(SolutionDir)" - - - $(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir) - $(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols - - - - RestorePackages; - $(BuildDependsOn); - - - - - $(BuildDependsOn); - BuildPackage; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Openstack.Client.Powershell/BaseNavigationCmdletProvider.cs b/Openstack.Client.Powershell/BaseNavigationCmdletProvider.cs deleted file mode 100644 index c277db7..0000000 --- a/Openstack.Client.Powershell/BaseNavigationCmdletProvider.cs +++ /dev/null @@ -1,238 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Management.Automation; -using System.Management.Automation.Provider; -using OpenStack; -using System.Xml.Serialization; -using System.Xml; -using System.IO; -using System.Text; -using System.Runtime.Serialization.Json; -using OpenStack.Client.Powershell.Providers.Storage; -using System.Reflection; -using System.Xml.Linq; -using System.Xml.XPath; -using System.Threading; -using OpenStack.Client.Powershell.Utility; -using OpenStack.Storage; -using System.Security; -using System.Linq; -using OpenStack.Identity; - - -namespace OpenStack.Client.Powershell.Providers.Common -{ - public class BaseNavigationCmdletProvider : NavigationCmdletProvider - { - OpenStackClient _client; -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected OpenStackClient Client - { - get - { - return (OpenStackClient)this.SessionState.PSVariable.Get("CoreClient").Value; - } - set - { - this.SessionState.PSVariable.Set(new PSVariable("CoreClient", value)); - } - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - protected Settings Settings - { - get - { - return this.Context.Settings; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - protected Context Context - { - get - { - return (Context)this.SessionState.PSVariable.GetValue("Context", null); - } - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private bool IsContextInitialized() - { - if (this.SessionState.PSVariable.GetValue("Context", null) == null) { - return false; - } - else - { - return true; - } - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - protected string ConfigFilePath - { - get - { - try - { - return (string)this.SessionState.PSVariable.Get("ConfigPath").Value; - } - catch (Exception) - { - return Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\" + @"OS\OpenStack.config"; - } - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - private void SetZoneColor() - { - string configFilePath = this.ConfigFilePath; - XDocument doc = XDocument.Load(configFilePath); - XElement defaultZoneNode = doc.XPathSelectElement("//AvailabilityZone[@isDefault='True']"); - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), defaultZoneNode.Attribute("shellForegroundColor").Value); - this.Host.UI.RawUI.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), defaultZoneNode.Attribute("shellForegroundColor").Value); - this.Context.Forecolor = defaultZoneNode.Attribute("shellForegroundColor").Value; - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - protected void InitializeSession() - { - ConfigurationManager configManager = new ConfigurationManager(); - ExtensionManager loader = new ExtensionManager(this.SessionState, this.Context); - configManager.Load(); - ServiceProvider provider = configManager.GetDefaultServiceProvider(); - - if (provider.Name == String.Empty && provider.IsDefault == true) - { - // Technically Core is already loaded (you're in it :) but this signs in for you to the ServiceProvider selected.. - // This is just used in the case where it's the Users first time loading the CLI.. - - loader.LoadCore(provider); - } - else - { - // Load any extensions that were supplied by the ServiceProvider... - - loader.LoadExtension(provider); - } - - this.SetZoneColor(); - } - #region Implementation of DriveCmdletProvider -//================================================================================================== -/// -/// Removes an Item from the store.. -/// -/// -//================================================================================================== - protected override void ClearItem(string path) - { - base.ClearItem(path); - } -//================================================================================================== -/// -/// Called when the user decides to delete a KVSDrive. -/// -/// -/// -//================================================================================================== - protected override PSDriveInfo RemoveDrive(PSDriveInfo drive) - { - if (drive == null) - { - WriteError(new ErrorRecord(new ArgumentNullException("drive"), "NullDrive", ErrorCategory.InvalidArgument, drive)); - return null; - } - return drive; - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - protected override void GetChildNames(string path, ReturnContainers returnContainers) - { - WriteItemObject(path, path, true); - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - protected override string GetChildName(string path) - { - return base.GetChildName(path); - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - protected override bool ItemExists(string path) - { - return true; - } - #endregion -//================================================================================================== -/// -/// This test should not verify the existance of the item at the path. -/// It should only perform syntactic and semantic validation of the -/// path. For instance, for the file system provider, that path should -/// be canonicalized, syntactically verified, and ensure that the path -/// does not refer to a device. -/// -/// -/// -//================================================================================================== - protected override bool IsValidPath(string path) - { - return true; - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/BasePSCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/BasePSCmdlet.cs deleted file mode 100644 index f5d9eb4..0000000 --- a/Openstack.Client.Powershell/Cmdlets/BasePSCmdlet.cs +++ /dev/null @@ -1,383 +0,0 @@ -///* ============================================================================ -//Copyright 2014 Hewlett Packard - -//Licensed under the Apache License, Version 2.0 (the "License"); -//you may not use this file except in compliance with the License. -//You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -//Unless required by applicable law or agreed to in writing, software -//distributed under the License is distributed on an "AS IS" BASIS, -//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -//See the License for the specific language governing permissions and -//limitations under the License. -//============================================================================ */ -//using System; -//using System.Text; -//using System.Management.Automation; -//using OpenStack.Objects.DataAccess; -//using System.IO; -//using OpenStack.Common.Properties; -//using System.Xml; -//using System.Xml.Serialization; -//using OpenStack.Client.Powershell.Providers.Storage; -//using OpenStack.Objects.Domain; -//using OpenStack.Objects.Utility; -//using OpenStack.Client.Powershell.Providers.Common; -//using System.Linq; -//using System.Collections.ObjectModel; -//using System.Management.Automation.Host; - -//namespace OpenStack.Client.Powershell.Cmdlets.Common -//{ -// public class BasePSCmdlet : PSCmdlet -// { -// private OpenStack.Objects.DataAccess.ResponseFormat _responseFormat = ResponseFormat.none; -// private BaseRepositoryFactory _repositoryFactory; - -// #region Properties -////========================================================================================= -///// -///// -///// -////========================================================================================= -// protected BaseUIContainer CurrentContainer -// { -// get -// { -// CommonDriveInfo tempDrive = this.Drive as CommonDriveInfo; -// if (tempDrive != null) -// { -// return tempDrive.CurrentContainer as BaseUIContainer; -// } -// else return null; -// } -// } -////========================================================================================= -///// -///// Exposes the currently mapped Drive. Belongs in base class??? -///// -////========================================================================================= -// protected PSDriveInfo Drive -// { -// get -// { -// return this.SessionState.Drive.Current; -// } -// } -////========================================================================================= -///// -///// -///// -///// -////========================================================================================= -// protected void WriteHeaderSection(string headerText) -// { -// WriteObject(" "); -// Console.ForegroundColor = ConsoleColor.DarkGray; -// WriteObject("=============================================================================================="); -// Console.ForegroundColor = ConsoleColor.Yellow; -// WriteObject(headerText); -// Console.ForegroundColor = ConsoleColor.DarkGray; -// WriteObject("=============================================================================================="); -// Console.ForegroundColor = ConsoleColor.Green; -// } -////================================================================================================== -///// -///// -///// -////================================================================================================== -// protected Context Context -// { -// get -// { -// return (Context)this.SessionState.PSVariable.GetValue("Context", null); -// } -// set -// { -// this.SessionState.PSVariable.Set(new PSVariable("Context", value)); -// } -// } -////========================================================================================= -///// -///// -///// -////========================================================================================= -// protected BaseRepositoryFactory RepositoryFactory -// { -// get -// { -// if (_repositoryFactory == null) -// { -// try -// { -// _repositoryFactory = (BaseRepositoryFactory)this.SessionState.PSVariable.Get("BaseRepositoryFactory").Value; -// } -// catch (NullReferenceException ex) -// { -// throw new PSSecurityException("The Authentication process has failed for this session. Please ensure that proper credentials have been supplied before using any of these cmdlets."); -// } -// return _repositoryFactory; -// } -// else -// { -// return _repositoryFactory; -// } -// } -// } -////========================================================================================= -///// -///// -///// -///// -////========================================================================================= -// protected string ConfigFilePath -// { -// get -// { -// try -// { -// return (string)this.SessionState.PSVariable.Get("ConfigPath").Value; -// } -// catch (Exception) -// { -// return Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\" + @"OS\OpenStack.config"; -// } -// } -// } -////========================================================================================= -///// -///// -///// -///// -////========================================================================================= -// protected Settings Settings -// { -// set -// { -// this.Context.Settings = value; -// } -// get -// { -// return this.Context.Settings; -// } -// } -// #endregion -// #region Methods -////================================================================================================== -///// -///// -///// -///// -///// -////================================================================================================== -// protected string TranslateQuickPickNumber(string path) -// { -// CommonDriveInfo drive = this.Drive as CommonDriveInfo; -// if (drive != null) -// { -// BaseUIContainer result = null; -// int number = 0; - -// if (Int32.TryParse(Path.GetFileName(path), out number)) -// { -// if (path == "\\" + this.Drive.CurrentLocation) -// { -// return path.Replace(Path.GetFileName(path), drive.CurrentContainer.Entity.Id); -// } -// //else if (path.Length < this.Drive.CurrentLocation.Length) -// //{ -// // result = drive.CurrentContainer.Parent; -// //} -// else -// { -// result = drive.CurrentContainer.Containers.Where(q => q.Entity.QuickPickNumber == number).FirstOrDefault(); -// } -// } -// else -// { -// return path; -// } - -// if (result != null) -// return path.Replace(Path.GetFileName(path), result.Id); -// else return null; -// } -// else return null; -// } -////================================================================================================== -///// -///// -///// -////================================================================================================== -// protected override void BeginProcessing() -// { -// if (this.Drive.Name != "OpenStack" && this.Drive.Provider.Name != "OS-Storage") -// { -// ErrorRecord err = new ErrorRecord(new InvalidOperationException("You must be attached to an ObjectStorage Container or the OpenStack drive to execute an OpenStack Cloud cmdlet."), "0" , ErrorCategory.InvalidOperation, this); -// this.ThrowTerminatingError(err); -// } - -// bool isAuthorized = false; -// Type type = this.GetType(); -// object[] metadata = type.GetCustomAttributes(false); -// bool foundattribute = false; - -// foreach (object attribute in metadata) -// { -// RequiredServiceIdentifierAttribute identifier = attribute as RequiredServiceIdentifierAttribute; - -// if (identifier != null) -// { -// if (this.Context.ServiceCatalog.GetService(identifier.Services) != null) -// isAuthorized = true; -// } -// } - -// if (isAuthorized == false && foundattribute == false) return; - -// if (!isAuthorized) -// this.ThrowTerminatingError(new ErrorRecord(new InvalidOperationException("You're not current authorized to use this service. Please go to https://www.OpenStack.com/ for more information on signing up for this service."), "aa", ErrorCategory.InvalidOperation, this)); -// } -////================================================================================================== -///// -///// Writes out the files represented as StorageObjects for the supplied path. -///// -////================================================================================================== -// protected void WriteXML(T graph, string path) -// { -// XmlTextWriter xtw = null; -// MemoryStream stream = new MemoryStream(); -// StringBuilder builder = new StringBuilder(); -// XmlDocument document = new XmlDocument(); -// StringWriter writer = null; -// XmlSerializer serializer = new XmlSerializer(typeof(T)); - -// try -// { -// serializer.Serialize(stream, graph); -// stream.Position = 0; -// document.Load(stream); - -// writer = new StringWriter(builder); -// xtw = new XmlTextWriter(writer); -// xtw.Formatting = Formatting.Indented; - -// document.WriteTo(xtw); -// } -// finally -// { -// xtw.Close(); -// } -// WriteObject(builder.ToString()); -// WriteObject(""); -// } -// #endregion -// #region Methods -////========================================================================================= -///// -///// -///// -///// -///// -////========================================================================================= -// protected bool UserConfirmsDeleteAction(string entity) -// { -// Collection choices = new Collection(); -// choices.Add(new ChoiceDescription("Y", "Yes")); -// choices.Add(new ChoiceDescription("N", "No")); - -// if (this.Host.UI.PromptForChoice("Confirm Action", "You are about to delete all " + entity + " in the current container. Are you sure about this?", choices, 0) == 0) -// { -// return true; -// } -// else -// { -// return false; -// } -// } -////========================================================================================= -///// -///// -///// -////========================================================================================= -// protected void UpdateCache(Context context) -// { -// CommonDriveInfo tempDrive = this.Drive as CommonDriveInfo; -// if (tempDrive != null) -// { -// BaseUIContainer container = tempDrive.CurrentContainer as BaseUIContainer; -// container.Context = context; - -// if (container != null) -// { -// try -// { -// container.Load(); -// } -// catch (InvalidOperationException) { } -// if (container.Parent != null) -// container.Parent.Load(); -// } -// } -// } -////========================================================================================= -///// -///// -///// -////========================================================================================= -// protected void UpdateCache() -// { -// CommonDriveInfo tempDrive = this.Drive as CommonDriveInfo; -// if (tempDrive != null) -// { -// BaseUIContainer container = tempDrive.CurrentContainer as BaseUIContainer; - -// if (container != null) -// { -// try -// { -// container.Load(); -// } -// catch (InvalidOperationException) { } -// if (container.Parent != null) -// container.Parent.Load(); -// } -// } -// } -////========================================================================================= -///// -///// Updates the cache if the current UIContainer manages the supplied type. -///// -////========================================================================================= -// protected void UpdateCache() where T : BaseUIContainer -// { -// T container = ((CommonDriveInfo)this.Drive).CurrentContainer as T; - -// if (container != null) -// { -// container.Load(); -// } -// else -// { -// T parentContainer = ((CommonDriveInfo)this.Drive).CurrentContainer.Parent as T; -// if (parentContainer != null) -// { -// parentContainer.Load(); -// } -// } -// } -////========================================================================================= -///// -///// -///// -///// -////========================================================================================= -// protected StoragePath CreateStoragePath(string path) -// { -// return ((OSDriveInfo)this.Drive).CreateStoragePath(path); -// } -// #endregion -// } -//} diff --git a/Openstack.Client.Powershell/Cmdlets/BlockStorage/AttachVolumeCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/BlockStorage/AttachVolumeCmdlet.cs deleted file mode 100644 index 51a1b25..0000000 --- a/Openstack.Client.Powershell/Cmdlets/BlockStorage/AttachVolumeCmdlet.cs +++ /dev/null @@ -1,97 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.BlockStorage; -using Openstack.Client.Powershell.Providers.BlockStorage; -using Openstack.Client.Powershell.Providers.Security; - -namespace Openstack.Client.Powershell.Cmdlets.BlockStorage -{ - [Cmdlet("Attach", "Volume", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.BlockStorage)] - public class AttachVolumeCmdlet : BasePSCmdlet - { - private string _serverId; - private string _volumeId; - private string _device; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "AttachVolume", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("s")] - [ValidateNotNullOrEmpty] - public string ServerId - { - get { return _serverId; } - set { _serverId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "AttachVolume", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("v")] - [ValidateNotNullOrEmpty] - public string VolumeId - { - get { return _volumeId; } - set { _volumeId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 2, ParameterSetName = "AttachVolume", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("d")] - [ValidateNotNullOrEmpty] - public string Device - { - get { return _device; } - set { _device = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - VolumeAttachment attachment = new VolumeAttachment(); - attachment.Device = this.Device; - attachment.VolumeId = this.VolumeId; - attachment.ServerId = this.ServerId; - - this.RepositoryFactory.CreateVolumeRepository().AttachVolume(attachment, this.ServerId); - this.UpdateCache(); - this.UpdateCache(); - } - #endregion - } -} - - - - diff --git a/Openstack.Client.Powershell/Cmdlets/BlockStorage/BackupVolumeCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/BlockStorage/BackupVolumeCmdlet.cs deleted file mode 100644 index d408dc0..0000000 --- a/Openstack.Client.Powershell/Cmdlets/BlockStorage/BackupVolumeCmdlet.cs +++ /dev/null @@ -1,107 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.BlockStorage; -using Openstack.Client.Powershell.Providers.BlockStorage; -using Openstack.Client.Powershell.Providers.Security; - -namespace Openstack.Client.Powershell.Cmdlets.BlockStorage -{ - [Cmdlet("Backup", "Volume", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.BlockStorage)] - public class BackupVolumeCmdlet : BasePSCmdlet - { - private NewVolumeBackup _newBackup = new NewVolumeBackup(); - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 3, ParameterSetName = "BackupVolume", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("c")] - [ValidateNotNullOrEmpty] - public string Container - { - get { return _newBackup.Container; } - set { _newBackup.Container = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 2, ParameterSetName = "BackupVolume", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("d")] - [ValidateNotNullOrEmpty] - public string Description - { - get { return _newBackup.Description; } - set { _newBackup.Container = value; } - } - -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "BackupVolume", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("v")] - [ValidateNotNullOrEmpty] - public string VolumeId - { - get { return _newBackup.VolumeId;} - set { _newBackup.VolumeId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "BackupVolume", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("n")] - [ValidateNotNullOrEmpty] - public string Name - { - get { return _newBackup.Name; } - set { _newBackup.Name = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - NewVolumeBackup backup = new NewVolumeBackup(); - - backup.VolumeId = this.TranslateQuickPickNumber(_newBackup.VolumeId); - - this.RepositoryFactory.CreateVolumeRepository().SaveVolumeBackup(backup); - this.UpdateCache(); - } - #endregion - } -} - - - - diff --git a/Openstack.Client.Powershell/Cmdlets/BlockStorage/DetachVolumeCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/BlockStorage/DetachVolumeCmdlet.cs deleted file mode 100644 index 314c8f3..0000000 --- a/Openstack.Client.Powershell/Cmdlets/BlockStorage/DetachVolumeCmdlet.cs +++ /dev/null @@ -1,78 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.BlockStorage; -using Openstack.Client.Powershell.Providers.BlockStorage; -using Openstack.Client.Powershell.Providers.Security; - -namespace Openstack.Client.Powershell.Cmdlets.BlockStorage -{ - [Cmdlet("Detach", "Volume", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.BlockStorage)] - public class DetachVolumeCmdlet : BasePSCmdlet - { - private string _serverId; - private string _volumeId; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "DettachVolume", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("s")] - [ValidateNotNullOrEmpty] - public string ServerId - { - get { return _serverId; } - set { _serverId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "DettachVolume", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("v")] - [ValidateNotNullOrEmpty] - public string VolumeId - { - get { return _volumeId; } - set { _volumeId = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - this.RepositoryFactory.CreateVolumeRepository().DetachVolume(this.VolumeId, this.ServerId); - this.UpdateCache(); - this.UpdateCache(); - } - #endregion - } -} - - - - diff --git a/Openstack.Client.Powershell/Cmdlets/BlockStorage/NewSnapshotCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/BlockStorage/NewSnapshotCmdlet.cs deleted file mode 100644 index 027486e..0000000 --- a/Openstack.Client.Powershell/Cmdlets/BlockStorage/NewSnapshotCmdlet.cs +++ /dev/null @@ -1,132 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.BlockStorage; -using Openstack.Client.Powershell.Providers.Security; -using System; - -namespace Openstack.Client.Powershell.Cmdlets.BlockStorage -{ - [Cmdlet(VerbsCommon.New, "Snapshot", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.BlockStorage)] - public class NewSnapshotCmdlet : BasePSCmdlet - { - private string _name; - private SwitchParameter _force = false; - private string _description; - private string _volumeId; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "NewSnapshot", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("n")] - [ValidateNotNullOrEmpty] - public string Name - { - get { return _name; } - set { _name = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "NewSnapshot", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("d")] - [ValidateNotNullOrEmpty] - public string Description - { - get { return _description; } - set { _description = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 2, ParameterSetName = "NewSnapshot", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("v")] - [ValidateNotNullOrEmpty] - public string VolumeId - { - get { return _volumeId; } - set { _volumeId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 4, ParameterSetName = "NewSnapshot", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("f")] - public SwitchParameter Force - { - get { return _force; } - set { _force = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - private bool IsVolumeAvailable(string volumeId) - { - Volume volume = this.RepositoryFactory.CreateVolumeRepository().GetVolume(volumeId); - if (volume.Status == "in-use") - return false; - else - return true; - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - if (this.IsVolumeAvailable(this.VolumeId)) - { - NewSnapshot snapshot = new NewSnapshot(); - snapshot.Description = this.Description; - snapshot.Name = this.Name; - snapshot.VolumeId = this.VolumeId; - snapshot.Force = this.Force; - - this.RepositoryFactory.CreateSnapshotRepository().SaveSnapshot(snapshot); - this.UpdateCache(); - } - else - { - Console.WriteLine(""); - Console.WriteLine("The specified Volume is already in use."); - Console.WriteLine(""); - } - } - #endregion - } -} - - - - diff --git a/Openstack.Client.Powershell/Cmdlets/BlockStorage/NewVolumeCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/BlockStorage/NewVolumeCmdlet.cs deleted file mode 100644 index 55c235f..0000000 --- a/Openstack.Client.Powershell/Cmdlets/BlockStorage/NewVolumeCmdlet.cs +++ /dev/null @@ -1,153 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.BlockStorage; -using Openstack.Client.Powershell.Providers.Security; - -namespace Openstack.Client.Powershell.Cmdlets.BlockStorage -{ - [Cmdlet(VerbsCommon.New, "Volume", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.BlockStorage)] - public class NewVolumeCmdlet : BasePSCmdlet - { - private string _name; - private string _size; - private string _description; - private string[] _metadata; - private NewVolume vol = new NewVolume(); - private string _availabilityZone; - private string _sourceVolid; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 4, ParameterSetName = "NewVolume", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("az")] - [ValidateNotNullOrEmpty] - public string AvailabilityZone - { - get { return _availabilityZone; } - set { _availabilityZone = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 5, ParameterSetName = "NewVolume", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("svid")] - [ValidateNotNullOrEmpty] - public string SourceVolumeId - { - get { return _sourceVolid; } - set { _sourceVolid = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "NewVolume", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("n")] - [ValidateNotNullOrEmpty] - public string Name - { - get { return _name; } - set { _name = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "NewVolume", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("d")] - [ValidateNotNullOrEmpty] - public string Description - { - get { return _description; } - set { _description = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 2, ParameterSetName = "NewVolume", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("s")] - [ValidateNotNullOrEmpty] - public string Size - { - get { return _size; } - set { _size = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 3, Mandatory = false, ParameterSetName = "NewVolume", ValueFromPipelineByPropertyName = true, HelpMessage = "Valid values include")] - [Alias("md")] - [ValidateNotNullOrEmpty] - public string[] MetaData - { - get { return _metadata; } - set { _metadata = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - NewVolume volume = new NewVolume(); - volume.Description = this.Description; - volume.Name = this.Name; - volume.SourceVolid = this.SourceVolumeId; - volume.AvailabilityZone = this.AvailabilityZone; - - if (this.SourceVolumeId == null) - volume.Size = this.Size; - else - volume.Size = null; - - - if (_metadata != null && _metadata.Length > 0) - { - foreach (string kv in _metadata) - { - char[] seperator = { '|' }; - string[] temp = kv.Split(seperator); - volume.Metadata.Add(temp[0], temp[1]); - } - } - - this.RepositoryFactory.CreateVolumeRepository().SaveVolume(volume); - this.UpdateCache(); - } - #endregion - } -} - - diff --git a/Openstack.Client.Powershell/Cmdlets/BlockStorage/RemoveSnapshotCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/BlockStorage/RemoveSnapshotCmdlet.cs deleted file mode 100644 index d41c8fc..0000000 --- a/Openstack.Client.Powershell/Cmdlets/BlockStorage/RemoveSnapshotCmdlet.cs +++ /dev/null @@ -1,62 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; - -namespace Openstack.Client.Powershell.Cmdlets.BlockStorage -{ - [Cmdlet(VerbsCommon.Remove, "Snapshot", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class RemoveSnapshotCmdlet : BasePSCmdlet - { - private string _snapshotId; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "RemoveSnapshot", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "a")] - [Alias("s")] - public string SnapshotId - { - get { return _snapshotId; } - set { _snapshotId = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - if (this.UserConfirmsDeleteAction("Snapshots")) - { - this.RepositoryFactory.CreateSnapshotRepository().DeleteSnapshot(this.SnapshotId); - this.UpdateCache(); - } - } - #endregion - } -} - - - diff --git a/Openstack.Client.Powershell/Cmdlets/BlockStorage/RemoveVolumeBackupCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/BlockStorage/RemoveVolumeBackupCmdlet.cs deleted file mode 100644 index 6cffa11..0000000 --- a/Openstack.Client.Powershell/Cmdlets/BlockStorage/RemoveVolumeBackupCmdlet.cs +++ /dev/null @@ -1,26 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Openstack.Client.Powershell.Cmdlets.BlockStorage -{ - class RemoveVolumeBackupCmdlet - { - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/BlockStorage/RemoveVolumeCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/BlockStorage/RemoveVolumeCmdlet.cs deleted file mode 100644 index 013aabd..0000000 --- a/Openstack.Client.Powershell/Cmdlets/BlockStorage/RemoveVolumeCmdlet.cs +++ /dev/null @@ -1,102 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Objects.Domain.BlockStorage; - -namespace Openstack.Client.Powershell.Cmdlets.BlockStorage -{ - [Cmdlet(VerbsCommon.Remove, "Volume", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class RemoveVolumeCmdlet : BasePSCmdlet - { - private string _volumeId; - private SwitchParameter _force = false; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "RemoveVolume2", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("all")] - public SwitchParameter RemoveAll - { - get { return _force; } - set { _force = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "RemoveVolume", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "a")] - [Alias("v")] - public string VolumeId - { - get { return _volumeId; } - set { _volumeId = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - string id = this.TranslateQuickPickNumber(this.VolumeId); - - if (_force == true && this.UserConfirmsDeleteAction("Volumes")) { - this.RemoveAllVolumes(); - } - else - { - this.RepositoryFactory.CreateVolumeRepository().DeleteVolume(id); - this.UpdateCache(); - } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void RemoveAllVolumes() - { - List volumes = this.RepositoryFactory.CreateVolumeRepository().GetVolumes(); - Console.WriteLine(""); - - foreach (Volume volume in volumes) - { - - Console.WriteLine("Removing Volume : " + volume.Name); - this.RepositoryFactory.CreateVolumeRepository().DeleteVolume(volume.Id); - - } - Console.WriteLine(""); - } - #endregion - } -} - - - diff --git a/Openstack.Client.Powershell/Cmdlets/Clipboard.cs b/Openstack.Client.Powershell/Cmdlets/Clipboard.cs deleted file mode 100644 index 030021d..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Clipboard.cs +++ /dev/null @@ -1,39 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Runtime.InteropServices; -using System.Windows.Forms; - -namespace Openstack.Client.Powershell.Cmdlets -{ - class OutClipboard - { - [STAThread] - public static void SetText(string text) - { - TextBox tb = new TextBox(); - tb.Multiline = true; - - tb.Text = text; - tb.SelectAll(); - tb.Copy(); - - } - } -} - - - diff --git a/Openstack.Client.Powershell/Cmdlets/Common/BaseAuthenticationCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/BaseAuthenticationCmdlet.cs deleted file mode 100644 index 6979629..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/BaseAuthenticationCmdlet.cs +++ /dev/null @@ -1,263 +0,0 @@ -///* ============================================================================ -//Copyright 2014 Hewlett Packard - -//Licensed under the Apache License, Version 2.0 (the "License"); -//you may not use this file except in compliance with the License. -//You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -//Unless required by applicable law or agreed to in writing, software -//distributed under the License is distributed on an "AS IS" BASIS, -//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -//See the License for the specific language governing permissions and -//limitations under the License. -//============================================================================ */ -//using System; -//using System.Management.Automation; -//using System.Collections.ObjectModel; -//using OpenStack.Client.Powershell.Providers.Storage; -//using System.Collections.Generic; -//using OpenStack; - -//namespace OpenStack.Client.Powershell.Cmdlets.Common -//{ -// public class BaseAuthenticationCmdlet : BasePSCmdlet -// { -// private string _key; -// private string _value; -// private SwitchParameter _reset = false; -////================================================================================================== -///// -///// -///// -////================================================================================================== -// protected void InitializeSession(AuthenticationRequest request, Settings settings = null) -// { -// Context context = new Context(); - -// if (request != null) -// { -// KeystoneAuthProvider authProvider = new KeystoneAuthProvider(); -// AuthenticationResponse response = authProvider.Authenticate(request); - -// context.ServiceCatalog = response.ServiceCatalog; -// if (settings == null) -// context.Settings = Settings.Default; -// else -// context.Settings = settings; -// context.AccessToken = response.Token; - -// this.SessionState.PSVariable.Set(new PSVariable("Context", context)); -// this.SessionState.PSVariable.Set(new PSVariable("BaseRepositoryFactory", new BaseRepositoryFactory(context))); -// } -// } -////================================================================================================== -///// -///// -///// -////================================================================================================== -// protected void InitializeSession(Settings settings) -// { -// AuthenticationRequest request = new AuthenticationRequest(new Credentials(settings.Username, settings.Password), settings.DefaultTenantId); -// this.InitializeSession(request, settings); -// } -////================================================================================================== -///// -///// -///// -///// -////================================================================================================== -// private System.Collections.ObjectModel.Collection GetAvailableDrives(Settings settings, ProviderInfo providerInfo, string configFilePath) -// { -// List storageContainers = null; -// OSDriveParameters parameters = new OSDriveParameters(); - -// if (this.Settings != null) -// { -// parameters.Settings = this.Settings; -// } -// else -// { -// parameters.Settings = settings; -// } - -// try -// { -// IContainerRepository storageContainerRepository = this.RepositoryFactory.CreateContainerRepository(); -// storageContainers = storageContainerRepository.GetStorageContainers(configFilePath); -// } -// catch (Exception ex) -// { -// Console.WriteLine(ex); -// } - -// Collection drives = new Collection(); - -// // For every storageContainer that the User has access to, create a Drive that he can mount within Powershell.. - -// try -// { -// if (storageContainers.Count > 0) -// { -// foreach (StorageContainer storageContainer in storageContainers) -// { -// PSDriveInfo driveInfo = new PSDriveInfo(storageContainer.Name, providerInfo, "/", "Root folder for your storageContainer", null); -// OSDriveInfo kvsDriveInfo = new OSDriveInfo(driveInfo, parameters, this.Context); -// try -// { -// drives.Add(kvsDriveInfo); -// } -// catch (Exception) { } -// } -// } -// else -// { -// PSDriveInfo driveInfo = new PSDriveInfo("OS-Init", this.SessionState.Drive.Current.Provider, "/", "Root folder for your storageContainer", null); -// return new Collection -// { -// new OSDriveInfo(driveInfo, parameters, this.Context) -// }; -// } -// } -// catch (Exception) -// { - -// } - -// return drives; -// } -////======================================================================================================= -///// -///// Removes all currently registered drives.. -///// -////======================================================================================================= -// private void RemoveDrives() -// { -// // Remove the old Users drives first.. - -// Collection deadDrives = this.SessionState.Drive.GetAllForProvider("OS-Storage"); -// foreach (PSDriveInfo deadDrive in deadDrives) -// { -// this.SessionState.Drive.Remove(deadDrive.Name, true, "local"); -// } -// } -//////======================================================================================================= -/////// -/////// removes only the currently registered shared drives.. -/////// -//////======================================================================================================= -//// private void RemoveSharedDrives() -//// { -//// Collection deadDrives = this.SessionState.Drive.GetAllForProvider("OS-Storage"); -//// foreach (OSDriveInfo deadDrive in deadDrives) -//// { -//// if (deadDrive.SharePath != null) -//// this.SessionState.Drive.Remove(deadDrive.Name, true, "local"); -//// } -//// } -////======================================================================================================= -///// -///// -///// -////======================================================================================================= -// protected void WriteContainers(string configFilePath) -// { -// List invalidDriveNames = new List(); -// OSDriveParameters parameters = new OSDriveParameters(); - -// // Write out the commands header information first.. - -// WriteObject(""); -// Console.ForegroundColor = ConsoleColor.DarkGray; -// WriteObject("==================================================================="); -// Console.ForegroundColor = ConsoleColor.Yellow; -// WriteObject("Object Storage Service available. Remapping to the following drives."); -// Console.ForegroundColor = ConsoleColor.DarkGray; -// WriteObject("==================================================================="); -// Console.ForegroundColor = ConsoleColor.Green; -// WriteObject(" "); - -// HPOSNavigationProvider provider = new HPOSNavigationProvider(); -// Collection drives = this.GetAvailableDrives(this.Settings, this.SessionState.Provider.GetOne("OS-Storage"), configFilePath); - -// if (drives != null) -// { -// this.RemoveDrives(); - -// foreach (PSDriveInfo drive in drives) -// { -// if (drive.Name != string.Empty) -// { -// WriteObject("Storage Container : [" + drive.Name + "] now available."); -// } - -// try -// { -// this.SessionState.Drive.New(drive, "local"); -// } -// catch (PSArgumentException ex) -// { -// if (drive.Name != string.Empty) -// invalidDriveNames.Add(drive.Name); -// } -// catch (Exception) { } - -// } -// WriteObject(""); -// } -// else -// { -// // No storageContainers exist for the new credentials so make some up... - -// PSDriveInfo driveInfo = new PSDriveInfo("OS-Init", this.SessionState.Drive.Current.Provider, "/", "Root folder for your storageContainer", null); -// this.SessionState.Drive.New(new OSDriveInfo(driveInfo, parameters, this.Context), "local"); -// } - -// if (invalidDriveNames.Count > 0) -// { -// WriteObject(""); -// Console.ForegroundColor = ConsoleColor.DarkGray; -// WriteObject("================================================================="); -// Console.ForegroundColor = ConsoleColor.Red; -// WriteObject("Error : A subset of your Containers could not be bound to this"); -// WriteObject("session due to naming conflicts with the naming standards required"); -// WriteObject("for Powershell drives. These containers are listed below."); -// Console.ForegroundColor = ConsoleColor.DarkGray; -// WriteObject("================================================================="); -// Console.ForegroundColor = ConsoleColor.Green; -// WriteObject(" "); - -// foreach (string name in invalidDriveNames) -// { -// WriteObject(name); -// WriteObject(" "); -// } -// WriteObject(" "); -// } -// } -////======================================================================================================= -///// -///// -///// -////======================================================================================================= -// protected void WriteServices() -// { -// WriteObject(""); -// Console.ForegroundColor = ConsoleColor.DarkGray; -// WriteObject("================================================================="); -// Console.ForegroundColor = ConsoleColor.Yellow; -// WriteObject("Binding to new Account. New service catalog is as follows."); -// Console.ForegroundColor = ConsoleColor.DarkGray; -// WriteObject("================================================================="); -// Console.ForegroundColor = ConsoleColor.Green; -// WriteObject(" "); - -// foreach (Service service in this.Context.ServiceCatalog) -// { -// WriteObject(service); -// } -// WriteObject(""); -// } -// } -//} diff --git a/Openstack.Client.Powershell/Cmdlets/Common/BasePSCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/BasePSCmdlet.cs deleted file mode 100644 index bba823d..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/BasePSCmdlet.cs +++ /dev/null @@ -1,337 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Text; -using System.Management.Automation; -using OpenStack.Client.Powershell.Utility; -using System.IO; -using OpenStack.Common; -using System.Xml; -using System.Xml.Serialization; -using OpenStack.Client.Powershell.Providers.Storage; -using OpenStack.Client.Powershell.Providers.Common; -using System.Linq; -using System.Collections.ObjectModel; -using System.Management.Automation.Host; -using System.Threading; -using OpenStack.Client.Powershell.Utility; - -namespace OpenStack.Client.Powershell.Cmdlets.Common -{ - public class BasePSCmdlet : PSCmdlet - { - #region Properties - ////========================================================================================= - ///// - ///// - ///// - ////========================================================================================= - //protected BaseUIContainer CurrentContainer - //{ - // get - // { - // CommonDriveInfo tempDrive = this.Drive as CommonDriveInfo; - // if (tempDrive != null) - // { - // return tempDrive.CurrentContainer as BaseUIContainer; - // } - // else return null; - // } - //} - //========================================================================================= - /// - /// Exposes the currently mapped Drive. Belongs in base class??? - /// - //========================================================================================= - protected PSDriveInfo Drive - { - get - { - return this.SessionState.Drive.Current; - } - } - //========================================================================================= - /// - /// - /// - /// - //========================================================================================= - protected void WriteHeaderSection(string headerText) - { - WriteObject(" "); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteObject("=============================================================================================="); - Console.ForegroundColor = ConsoleColor.Yellow; - WriteObject(headerText); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteObject("=============================================================================================="); - Console.ForegroundColor = ConsoleColor.Green; - } - //================================================================================================== - /// - /// - /// - /// - /// - /// - //================================================================================================== - protected T CreateServiceClient(CoreServices service) where T : IOpenStackServiceClient - { - ServiceProvider provider = this.Context.CurrentServiceProvider; - return this.CoreClient.CreateServiceClientByName(provider.ServiceMaps.TranslateServiceName(service)); - } - //================================================================================================== - /// - /// - /// - //================================================================================================== - protected IOpenStackClient CoreClient - { - get - { - return (IOpenStackClient)this.SessionState.PSVariable.GetValue("CoreClient", null); - } - set - { - this.SessionState.PSVariable.Set(new PSVariable("CoreClient", value)); - } - } - //================================================================================================== - /// - /// - /// - /// - //================================================================================================== - protected override void StopProcessing() - { - CancellationTokenSource source = (CancellationTokenSource)this.SessionState.PSVariable.Get("CancellationTokenSource").Value; - source.Cancel(); - } - //================================================================================================== - /// - /// - /// - //================================================================================================== - protected Context Context - { - get - { - return (Context)this.SessionState.PSVariable.GetValue("Context", null); - } - set - { - this.SessionState.PSVariable.Set(new PSVariable("Context", value)); - } - } - //========================================================================================= - /// - /// - /// - /// - //========================================================================================= - protected string ConfigFilePath - { - get - { - return Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\" + @"OS\OpenStack.config"; - } - } - #endregion - #region Methods - ////================================================================================================== - ///// - ///// - ///// - ///// - ///// - ////================================================================================================== - //protected string TranslateQuickPickNumber(string path) - //{ - // CommonDriveInfo drive = this.Drive as CommonDriveInfo; - // if (drive != null) - // { - // BaseUIContainer result = null; - // int number = 0; - - // if (Int32.TryParse(Path.GetFileName(path), out number)) - // { - // if (path == "\\" + this.Drive.CurrentLocation) - // { - // return path.Replace(Path.GetFileName(path), drive.CurrentContainer.Entity.Id); - // } - // //else if (path.Length < this.Drive.CurrentLocation.Length) - // //{ - // // result = drive.CurrentContainer.Parent; - // //} - // else - // { - // result = drive.CurrentContainer.Containers.Where(q => q.Entity.QuickPickNumber == number).FirstOrDefault(); - // } - // } - // else - // { - // return path; - // } - - // if (result != null) - // return path.Replace(Path.GetFileName(path), result.Id); - // else return null; - // } - // else return null; - //} - //================================================================================================== - /// - /// - /// - //================================================================================================== - protected override void BeginProcessing() - { - //if (this.Drive.Name != "OpenStack" && this.Drive.Provider.Name != "OS-Storage") - //{ - // ErrorRecord err = new ErrorRecord(new InvalidOperationException("You must be attached to an ObjectStorage Container or the OpenStack drive to execute an OpenStack Cloud cmdlet."), "0", ErrorCategory.InvalidOperation, this); - // this.ThrowTerminatingError(err); - //} - - //bool isAuthorized = false; - //Type type = this.GetType(); - //object[] metadata = type.GetCustomAttributes(false); - //bool foundattribute = false; - - //foreach (object attribute in metadata) - //{ - // RequiredServiceIdentifierAttribute identifier = attribute as RequiredServiceIdentifierAttribute; - - // if (identifier != null) - // { - // if (this.Context.ServiceCatalog.Exists(identifier.Services) != null) - // isAuthorized = true; - // } - //} - - //if (isAuthorized == false && foundattribute == false) return; - - //if (!isAuthorized) - // this.ThrowTerminatingError(new ErrorRecord(new InvalidOperationException("You're not current authorized to use this service. Please go to https://www.OpenStack.com/ for more information on signing up for this service."), "aa", ErrorCategory.InvalidOperation, this)); - } - #endregion - #region Methods - //========================================================================================= - /// - /// - /// - /// - /// - //========================================================================================= - - protected bool UserConfirmsDeleteAction(string entity) - { - Collection choices = new Collection(); - choices.Add(new ChoiceDescription("Y", "Yes")); - choices.Add(new ChoiceDescription("N", "No")); - - if (this.Host.UI.PromptForChoice("Confirm Action", "You are about to delete all " + entity + " in the current container. Are you sure about this?", choices, 0) == 0) - { - return true; - } - else - { - return false; - } - } - //========================================================================================= - /// - /// - /// - //========================================================================================= - protected void UpdateCache(Context context) - { - //CommonDriveInfo tempDrive = this.Drive as CommonDriveInfo; - //if (tempDrive != null) - //{ - // BaseUIContainer container = tempDrive.CurrentContainer as BaseUIContainer; - // container.Context = context; - - // if (container != null) - // { - // try - // { - // container.Load(); - // } - // catch (InvalidOperationException) { } - // if (container.Parent != null) - // container.Parent.Load(); - // } - //} - } - //========================================================================================= - /// - /// - /// - //========================================================================================= - protected void UpdateCache() - { - //CommonDriveInfo tempDrive = this.Drive as CommonDriveInfo; - //if (tempDrive != null) - //{ - // BaseUIContainer container = tempDrive.CurrentContainer as BaseUIContainer; - - // if (container != null) - // { - // try - // { - // container.Load(); - // } - // catch (InvalidOperationException) { } - // if (container.Parent != null) - // container.Parent.Load(); - // } - //} - } - //========================================================================================= - /// - /// Updates the cache if the current UIContainer manages the supplied type. - /// - //========================================================================================= - //protected void UpdateCache() where T : BaseUIContainer - //{ - // T container = ((CommonDriveInfo)this.Drive).CurrentContainer as T; - - // if (container != null) - // { - // container.Load(); - // } - // else - // { - // T parentContainer = ((CommonDriveInfo)this.Drive).CurrentContainer.Parent as T; - // if (parentContainer != null) - // { - // parentContainer.Load(); - // } - // } - //} - //========================================================================================= - /// - /// - /// - /// - //========================================================================================= - protected StoragePath CreateStoragePath(string path) - { - return ((ObjectStoragePSDriveInfo)this.Drive).CreateStoragePath(path); - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Common/CopyIdCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/CopyIdCmdlet.cs deleted file mode 100644 index 3728975..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/CopyIdCmdlet.cs +++ /dev/null @@ -1,61 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Management.Automation; -using System.Collections; -using Openstack.Client.Powershell.Cmdlets.Common; -using System.IO; -using System.Xml; -using Openstack.Client.Powershell.Providers.Common; -using System.Linq; - -namespace Openstack.Client.Powershell.Cmdlets.Common -{ - [Cmdlet(VerbsCommon.Copy, "Id", SupportsShouldProcess = true)] - public class CopyIdCmdlet : BasePSCmdlet - { - private int _quickPickNumber; - -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "CopyIdCmdlet", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Server.")] - [Alias("qp")] - public int QuickPickNumber - { - get { return _quickPickNumber; } - set { _quickPickNumber = value; } - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - protected override void ProcessRecord() - { - int number = 0; - CommonDriveInfo drive = this.Drive as CommonDriveInfo; - BaseUIContainer result = drive.CurrentContainer.Containers.Where(q => q.Entity.QuickPickNumber == _quickPickNumber).FirstOrDefault(); - - WriteObject(""); - this.WriteObject("Id " + result.Entity.Id + " copied to clipboard."); - WriteObject(""); - OutClipboard.SetText(result.Entity.Id); - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Common/GetCatalogCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/GetCatalogCmdlet.cs deleted file mode 100644 index d88f01a..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/GetCatalogCmdlet.cs +++ /dev/null @@ -1,152 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Management.Automation; -using System.Collections; -using OpenStack.Client.Powershell.Cmdlets.Common; -using System.IO; -using System.Xml; -using OpenStack.Identity; - -namespace OpenStack.Client.Powershell.Cmdlets.Common -{ - [Cmdlet(VerbsCommon.Get, "Catalog", SupportsShouldProcess = true)] - public class GetCatalogCmdlet : BasePSCmdlet - { - private SwitchParameter _verbose = false; - - #region Properties -//========================================================================================= -/// -/// -/// -//========================================================================================= - //[Parameter(Mandatory = false, ParameterSetName = "gc0", ValueFromPipelineByPropertyName = true, HelpMessage = "Prints information for the current service in use.")] - //[Alias("cs")] - //[ValidateNotNullOrEmpty] - //public SwitchParameter CurrentService - //{ - // get { return _currentService; } - // set { _currentService = value; } - //} -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Mandatory = false, ParameterSetName = "gc0", ValueFromPipelineByPropertyName = true, HelpMessage = "Prints extended information for each service.")] - [Alias("v")] - [ValidateNotNullOrEmpty] - public SwitchParameter Verbose2 - { - get { return _verbose; } - set { _verbose = value; } - } - #endregion -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private void WriteSection(string headerText) - { - WriteObject(" "); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteObject("=============================================================================================="); - Console.ForegroundColor = ConsoleColor.Yellow; - WriteObject(headerText); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteObject("=============================================================================================="); - Console.ForegroundColor = ConsoleColor.Green; - } -//======================================================================================================= -/// -/// -/// -/// -//======================================================================================================= - private void PrintEndpoint(OpenStackServiceEndpoint endpoint) - { - Console.WriteLine("Region : " + endpoint.Region); - Console.WriteLine("Public URL : " + endpoint.PublicUri.ToString()); - //Console.WriteLine("Internal URL : " + endpoint..InternalURL); - //Console.WriteLine("Admin URL : " + endpoint.AdminURL); - Console.WriteLine("Version : " + endpoint.Version); - //Console.WriteLine("Version Info : " + endpoint.Version.InfoURL); - //Console.WriteLine("Version List : " + endpoint.Version.ListURL); - Console.WriteLine(); - } -//======================================================================================================= -/// -/// -/// -/// -//======================================================================================================= - private void PrintServiceVerbose(OpenStackServiceDefinition service) - { - Console.WriteLine(""); - this.WriteSection ("Service : " + service.Name); - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine("General"); - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.Green; - Console.WriteLine("Name : " + service.Name); - Console.WriteLine("Type : " + service.Type); - - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine(""); - Console.WriteLine("Associated Endpoints"); - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.Green; - - foreach (OpenStackServiceEndpoint endpoint in service.Endpoints) - { - this.PrintEndpoint(endpoint); - } - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - private void PrintServiceCatalog() - { - WriteObject(""); - this.WriteSection("You have access to the following Services "); - WriteObject(""); - - foreach (OpenStackServiceDefinition service in this.Context.ServiceCatalog) - { - if (!_verbose) - WriteObject(service); - else - PrintServiceVerbose(service); - } - WriteObject(""); - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - protected override void ProcessRecord() - { - this.PrintServiceCatalog(); - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Common/GetConfigCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/GetConfigCmdlet.cs deleted file mode 100644 index 625d0a2..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/GetConfigCmdlet.cs +++ /dev/null @@ -1,74 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Management.Automation; -using System.Collections; - -namespace OpenStack.Client.Powershell.Cmdlets.Common -{ - [Cmdlet(VerbsCommon.Get, "Config", SupportsShouldProcess = true)] - public class GetConfigCmdlet : BasePSCmdlet - { -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private void WriteSection(string headerText) - { - WriteObject(" "); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteObject("=============================================================================================="); - Console.ForegroundColor = ConsoleColor.Yellow; - WriteObject(headerText); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteObject("=============================================================================================="); - Console.ForegroundColor = ConsoleColor.Green; - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - protected override void ProcessRecord() - { - string configFilePath = this.ConfigFilePath; - - WriteObject(""); - this.WriteSection("Current Session Settings are as follows. "); - WriteObject(""); - this.WriteObject("Configuration File located at " + configFilePath); - WriteObject(""); - - foreach (DictionaryEntry setting in this.Context.Settings) - { - if (((string)setting.Key) == "SecretKey" || ((string)setting.Key)== "AccessKey") - { - var entry = new DictionaryEntry(); - entry.Value = "***********"; - entry.Key = setting.Key; - WriteObject(entry); - } - else - { - WriteObject(setting); - } - } - WriteObject(""); - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Common/GetMetadataCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/GetMetadataCmdlet.cs deleted file mode 100644 index a3b8644..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/GetMetadataCmdlet.cs +++ /dev/null @@ -1,210 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections.Generic; -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using System; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain.Admin; - -namespace Openstack.Client.Powershell.Cmdlets.Storage.CDN -{ - [Cmdlet(VerbsCommon.Get, "Metadata", SupportsShouldProcess = true)] - public class GetNMetadataCmdlet2 : BasePSCmdlet - { - private string _cdnContainerName; - private string _sourcePath; - private string _objectStorageContainerName; - private string _serverId; - -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(ParameterSetName = "serverMetadata", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("s")] - [ValidateNotNullOrEmpty] - public string ServerId - { - get { return _serverId; } - set { _serverId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(ParameterSetName = "containerMetadata", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("cn")] - [ValidateNotNullOrEmpty] - public string ObjectStorageContainerName - { - get { return _objectStorageContainerName; } - set { _objectStorageContainerName = value; } - } -//========================================================================================= -/// -/// The location of the file to set permissions on. -/// -//========================================================================================= - [Parameter(Position = 0 , ParameterSetName = "objectMetadata", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("sp")] - [ValidateNotNullOrEmpty] - public string SourcePath - { - get { return _sourcePath; } - set { _sourcePath = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Mandatory = false, ParameterSetName = "cdnMetadata", ValueFromPipelineByPropertyName = true, HelpMessage = "The Name of the Container to enable for CDN access.")] - [Alias("cdn")] - [ValidateNotNullOrEmpty] - public string CDNContainerName - { - get { return _cdnContainerName; } - set { _cdnContainerName = value; } - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private void WriteSection(string headerText) - { - WriteObject(" "); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteObject("=============================================================================================="); - Console.ForegroundColor = ConsoleColor.Yellow; - WriteObject(headerText); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteObject("=============================================================================================="); - Console.ForegroundColor = ConsoleColor.Green; - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private void WriteKVPs(List> kvps, string displayName) - { - if (kvps.Count > 0) - { - WriteObject(""); - this.WriteSection("Meta-Data for " + displayName + " is as follows."); - WriteObject(""); - foreach (KeyValuePair kvp in kvps) - { - WriteObject("Key = " + kvp.Key.Replace("X-", string.Empty)); - WriteObject("Value = " + Convert.ToString(kvp.Value)); - WriteObject("---------------------------------"); - } - WriteObject(""); - } - else - { - WriteObject(""); - Console.WriteLine("No meta-data found for the supplied resource name."); - WriteObject(""); - } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void ProcessCDNMetadata() - { - if (this.Context.ServiceCatalog.DoesServiceExist(Services.CDN) == false) { - Console.WriteLine("You don't have access to CDN services under this account. For information on signing up for CDN access please go to http://Openstack.com/."); - } - WriteKVPs(RepositoryFactory.CreateCDNRepository().GetMetaData(this.CDNContainerName), this.CDNContainerName); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void ProcessObjectMetadata() - { - if (this.Drive.Provider.Name != "OS-Storage") - Console.WriteLine("You must be using the Object Storage Provider to use this cmdlet with the supplied parameters. To use this provider mount to a ObjectStorage container first. To see a list of available Containers issue the Get-PSDrive command."); - else - WriteKVPs(RepositoryFactory.CreateStorageObjectRepository().GetMetaData(this.CreateStoragePath(this.SourcePath).AbsoluteURI), this.SourcePath); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void ProcessContainerMetadata() - { - if (this.Drive.Provider.Name != "OS-Storage") - Console.WriteLine("You must be using the Object Storage Provider to use this cmdlet with the supplied parameters. To use this provider mount to a ObjectStorage container first. To see a list of available Containers issue the Get-PSDrive command."); - else - WriteKVPs(RepositoryFactory.CreateContainerRepository().GetMetaData(_objectStorageContainerName), _objectStorageContainerName); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void ProcessServerMetadata() - { - if (this.Context.ServiceCatalog.DoesServiceExist(Services.Compute) == false) - Console.WriteLine("You don't have access to Compute services under this account. For information on signing up for this please go to http://Openstack.com/."); - else - { - Server server = RepositoryFactory.CreateServerRepository().GetServer(this.ServerId); - //WriteKVPs(server.MetaData.ToKeypairs(), server.Name); - } - } -//========================================================================================= -/// -/// The main driver.. -/// -//========================================================================================= - protected override void ProcessRecord() - { - switch (this.ParameterSetName) - { - case ("serverMetadata"): - this.ProcessServerMetadata(); - break; - - case ("containerMetadata"): - this.ProcessContainerMetadata(); - break; - - case ("cdnMetadata"): - - this.ProcessCDNMetadata(); - break; - - case ("objectMetadata"): - this.ProcessObjectMetadata(); - break; - } - } - } -} - diff --git a/Openstack.Client.Powershell/Cmdlets/Common/GetNotesCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/GetNotesCmdlet.cs deleted file mode 100644 index 8313ae4..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/GetNotesCmdlet.cs +++ /dev/null @@ -1,148 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Management.Automation; -using System.Reflection; -using System.Xml.Linq; -using System.Linq; -using System.Xml.XPath; - -namespace Openstack.Client.Powershell.Cmdlets.Common -{ - [Cmdlet(VerbsCommon.Get, "Notes", SupportsShouldProcess = true)] - public class GetNotesCmdlet : BasePSCmdlet - { - private bool _showAllNotes = false; - private string _version; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, Mandatory = false, ParameterSetName = "sn", ValueFromPipelineByPropertyName = true, HelpMessage = "Show all release notes for this product.")] - [Alias("all")] - [ValidateNotNullOrEmpty] - public SwitchParameter ShowAllNotes - { - get { return _showAllNotes; } - set { _showAllNotes = value; } - } -//========================================================================================= -/// -/// The location of the file to set permissions on. -/// -//========================================================================================= - [Parameter(ParameterSetName = "sn", Position = 0, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Show release notes for a specific version of the CLI.")] - [Alias("v")] - [ValidateNotNullOrEmpty] - public string Version - { - get { return _version; } - set { _version = value; } - } - #endregion -//======================================================================================================= -/// -/// -/// -/// -//======================================================================================================= - private void PrintRelease (XElement releaseNode) - { - Console.WriteLine("-------------------------------------------------------- "); - Console.WriteLine("Version : " + releaseNode.Attribute(XName.Get("version")).Value); - Console.WriteLine("Notes :"); - - XElement notes = (from xml2 in releaseNode.Descendants() - select xml2).FirstOrDefault(); - Console.WriteLine(notes.Value); - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - public void PrintVersionNotes(XDocument releaseNotes) - { - string currentVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString(); - XElement releaseNode = (from xml2 in releaseNotes.Descendants("Release") - where xml2.Attribute(XName.Get("version")).Value == _version - select xml2).FirstOrDefault(); - - this.PrintRelease(releaseNode); - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - private void PrintAllNotes(XDocument releaseNotes) - { - Console.WriteLine(" "); - foreach (XElement element in releaseNotes.Descendants("Release")) - { - this.PrintRelease(element); - } - Console.WriteLine(" "); - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - private void PrintCurrentRelease(XDocument releaseNotes) - { - string currentVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString(); - //XElement releaseNode = (from xml2 in releaseNotes.Descendants("Release") - // where xml2.Attribute(XName.Get("version")).Value == currentVersion - // select xml2).FirstOrDefault(); - - XElement notes = releaseNotes.XPathSelectElement("//Release[@version='" + currentVersion + "']"); - if (notes != null) - this.PrintRelease(notes); - else - { - Console.WriteLine(""); - Console.WriteLine("No release notes exist for the current version."); - Console.WriteLine(""); - } - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - protected override void ProcessRecord() - { - XDocument releaseNotes = XDocument.Load(this.Settings.ReleaseNotesURI); - - if (_version == null && _showAllNotes == false) - { - this.PrintCurrentRelease(releaseNotes); - } - else if (_showAllNotes) - { - this.PrintAllNotes(releaseNotes); - } - else if (_version != null) - { - this.PrintVersionNotes(releaseNotes); - } - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Common/GetServiceProvidersCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/GetServiceProvidersCmdlet.cs deleted file mode 100644 index 74ff715..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/GetServiceProvidersCmdlet.cs +++ /dev/null @@ -1,53 +0,0 @@ -///* ============================================================================ -//Copyright 2014 Hewlett Packard - -//Licensed under the Apache License, Version 2.0 (the "License"); -//you may not use this file except in compliance with the License. -//You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -//Unless required by applicable law or agreed to in writing, software -//distributed under the License is distributed on an "AS IS" BASIS, -//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -//See the License for the specific language governing permissions and -//limitations under the License. -//============================================================================ */ -using System; -using System.Management.Automation; -using OpenStack.Client.Powershell.Providers.Common; -using System.Security.Cryptography; -using System.Text; -using System.Web; -using OpenStack; -using System.Xml.Linq; -using System.Collections.Generic; -using OpenStack.Client.Powershell.Utility; -using System.Linq; - -namespace OpenStack.Client.Powershell.Cmdlets.Common -{ - [Cmdlet(VerbsCommon.Get, "SP", SupportsShouldProcess = true)] - //[RequiredServiceIdentifierAttribute(OpenStack.Objects.Domain.Admin.Services.ObjectStorage)] - public class GetServiceProvidersCmdlet : BasePSCmdlet - { - #region Methods - -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - var manager = new ConfigurationManager(); - manager.Load(); - - this.WriteObject(""); - this.WriteObject("Current Service Provider : " + this.Context.CurrentServiceProvider.Name); - this.WriteObject("-----------------------------------------"); - this.WriteObject(manager.GetServiceProviders()); - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Common/GetVersionCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/GetVersionCmdlet.cs deleted file mode 100644 index 4c1a554..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/GetVersionCmdlet.cs +++ /dev/null @@ -1,40 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Management.Automation; -using OpenStack.Client.Powershell.Cmdlets.Common; -using System.Reflection; - -namespace OpenStack.Client.Powershell.Cmdlets.GroupManagement -{ - [Cmdlet(VerbsCommon.Get, "Version", SupportsShouldProcess = true)] - public class GetVersionCmdlet : BasePSCmdlet - { -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - protected override void ProcessRecord() - { - Console.WriteLine(" "); - Console.WriteLine("Assembly Location : " + Assembly.GetExecutingAssembly().Location); - Console.WriteLine("Product Version : " + Assembly.GetExecutingAssembly().GetName().Version); - Console.WriteLine("CLR Version : " + Assembly.GetExecutingAssembly().ImageRuntimeVersion); - Console.WriteLine(" "); - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Common/GetZoneCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/GetZoneCmdlet.cs deleted file mode 100644 index ab0d03a..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/GetZoneCmdlet.cs +++ /dev/null @@ -1,45 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Management.Automation; -using System.Xml.Linq; -using System.Xml.XPath; -using System.Linq; -using OpenStack.Client.Powershell.Utility; -using OpenStack.Client.Powershell.Utility; - -namespace OpenStack.Client.Powershell.Cmdlets.Common -{ - [Cmdlet("Get", "Zone", SupportsShouldProcess = true)] - public class GetZoneCmdlet : BasePSCmdlet - { -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - AvailabilityZone zone = this.Context.CurrentServiceProvider.AvailabilityZones.Where(z => z.IsDefault == true).Single(); - - if (zone != null) { - Console.WriteLine(""); - Console.WriteLine("Current Availability Zone is " + zone.Name); - Console.WriteLine(""); - } - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Common/GetZonesCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/GetZonesCmdlet.cs deleted file mode 100644 index 412617d..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/GetZonesCmdlet.cs +++ /dev/null @@ -1,106 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using OpenStack.Client.Powershell.Cmdlets.Common; -using System.Management.Automation; -using System.Xml.Linq; -using System.Xml.XPath; -using OpenStack.Client.Powershell.Utility; - -namespace OpenStack.Client.Powershell.Cmdlets.Common -{ - [Cmdlet("Get", "Zones", SupportsShouldProcess = true)] - public class GetZonesCmdlet : BasePSCmdlet - { - //private SwitchParameter _verbose = true; - -//========================================================================================= -/// -/// -/// -//========================================================================================= - //[Parameter(Mandatory = false, ParameterSetName = "gz", ValueFromPipelineByPropertyName = true, HelpMessage = "Prints extended information for each service.")] - //[Alias("v")] - //[ValidateNotNullOrEmpty] - //public SwitchParameter Verbose - //{ - // get { return _verbose; } - // set { _verbose = value; } - //} -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void ShowVerboseOutput() - { - foreach (AvailabilityZone zone in this.Context.CurrentServiceProvider.AvailabilityZones) - { - this.WriteHeaderSection("Zone : " + zone.Name); - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), zone.ShellForegroundColor); - Console.WriteLine("Zone Id : " + zone.Id); - Console.WriteLine("Zone Name : " + zone.Name); - Console.WriteLine("Shell Foreground Color : " + zone.ShellForegroundColor); - Console.WriteLine(""); - Console.WriteLine("The following Services are available from this Availability Zone"); - Console.WriteLine("----------------------------------------------------------------"); - - this.WriteObject(this.Context.ServiceCatalog.GetServicesInAvailabilityZone(zone.Name)); - Console.WriteLine(""); - } - Console.WriteLine(""); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void ShowNonVerboseOutput() - { - foreach (AvailabilityZone zone in this.Context.CurrentServiceProvider.AvailabilityZones) - { - this.WriteHeaderSection("Zone : " + zone.Name); - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), zone.ShellForegroundColor); - Console.WriteLine("Zone Id : " + zone.Id); - Console.WriteLine("Zone Name : " + zone.Name); - Console.WriteLine("Shell Foreground Color : " + zone.ShellForegroundColor); - Console.WriteLine(""); - } - Console.WriteLine(""); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - this.ShowVerboseOutput(); - - //if (_verbose) - //{ - // this.ShowVerboseOutput(); - //} - //else - //{ - // this.ShowNonVerboseOutput(); - //} - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Common/NewServiceProviderCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/NewServiceProviderCmdlet.cs deleted file mode 100644 index 326ff50..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/NewServiceProviderCmdlet.cs +++ /dev/null @@ -1,131 +0,0 @@ -//* ============================================================================ -//Copyright 2014 Hewlett Packard - -//Licensed under the Apache License, Version 2.0 (the "License"); -//you may not use this file except in compliance with the License. -//You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -//Unless required by applicable law or agreed to in writing, software -//distributed under the License is distributed on an "AS IS" BASIS, -//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -//See the License for the specific language governing permissions and -//limitations under the License. -//============================================================================ */ -using System.Management.Automation; -using System.Xml.Linq; -using System.Collections.Generic; -using OpenStack.Client.Powershell.Utility; -using System.Xml.XPath; - -namespace OpenStack.Client.Powershell.Cmdlets.Common -{ - [Cmdlet(VerbsCommon.New, "SP", SupportsShouldProcess = true)] - //[RequiredServiceIdentifierAttribute(OpenStack.Objects.Domain.Admin.Services.ObjectStorage)] - public class NewServiceProvidersCmdlet : BasePSCmdlet - { - - private string _name = ""; - private bool _isDefault = false; - private string _authenticationServiceURI = ""; - private string _username = ""; - private string _password = ""; - private string _defTenantId = ""; - - #region Parameters - - [Parameter(Position = 0, ParameterSetName = "NewSP", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = " ")] - [Alias("n")] - public string Name - { - get { return _name; } - set { _name = value; } - } - [Parameter(Position = 1, ParameterSetName = "NewSP", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = " ")] - [Alias("url")] - public string AuthenticationServiceURI - { - get { return _authenticationServiceURI; } - set { _authenticationServiceURI = value; } - } - [Parameter(Position = 2, ParameterSetName = "NewSP", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = " ")] - [Alias("un")] - public string Username - { - get { return _username; } - set { _username = value; } - } - [Parameter(Position = 3, ParameterSetName = "NewSP", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = " ")] - [Alias("p")] - public string Password - { - get { return _password; } - set { _password = value; } - } - [Parameter(Position = 4, ParameterSetName = "NewSP", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = " ")] - [Alias("t")] - public string DefTenantId - { - get { return _defTenantId; } - set { _defTenantId = value; } - } - [Parameter(Position = 4, ParameterSetName = "NewSP", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = " ")] - [Alias("d")] - [ValidateNotNullOrEmpty] - public SwitchParameter IsDefault - { - get { return _isDefault; } - set { _isDefault = value; } - } - - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - private XElement CreateAddElement(string name, string value) - { - XElement element = new XElement("add"); - element.SetAttributeValue("key", name); - element.SetAttributeValue("value", value); - return element; - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - string isDef = "False"; - if (IsDefault) { - isDef = "True"; - } - else { - isDef = "False"; - } - - List serviceProviders = new List(); - XDocument doc = XDocument.Load(this.ConfigFilePath); - XElement element = new XElement("ServiceProvider", new XAttribute("name", this.Name), new XAttribute("isDefault", isDef)); - - element.Add(this.CreateAddElement("AuthenticationServiceURI", this.AuthenticationServiceURI)); - element.Add(this.CreateAddElement("Username", this.Username)); - element.Add(this.CreateAddElement("Password", this.Password)); - element.Add(this.CreateAddElement("DefaultTenantId", this.DefTenantId)); - - doc.XPathSelectElement("configuration/appSettings/IdentityServices").Add(element); - doc.Save(this.ConfigFilePath); - this.WriteObject(""); - this.WriteObject("New Serviced Provider " + this.Name + " created!"); - this.WriteObject(""); - } - #endregion - } -} - diff --git a/Openstack.Client.Powershell/Cmdlets/Common/RefreshCacheCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/RefreshCacheCmdlet.cs deleted file mode 100644 index 3051466..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/RefreshCacheCmdlet.cs +++ /dev/null @@ -1,40 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Management.Automation; - -namespace Openstack.Client.Powershell.Cmdlets.Common -{ - [Cmdlet("Refresh", "Cache", SupportsShouldProcess = true)] - public class RefreshCacheCmdlet : BasePSCmdlet - { -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - this.UpdateCache(); - Console.WriteLine(""); - Console.WriteLine("Shell Cache Reloaded successfully."); - Console.WriteLine(""); - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Common/SetConfigCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/SetConfigCmdlet.cs deleted file mode 100644 index 98f9340..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/SetConfigCmdlet.cs +++ /dev/null @@ -1,88 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using OpenStack.Client.Powershell.Utility; - -namespace OpenStack.Client.Powershell.Cmdlets.Common -{ - [Cmdlet(VerbsCommon.Set, "Config", SupportsShouldProcess = true)] - public class SetConfigCmdlet : BasePSCmdlet - { - //private string _configFilePath = @"C:\Users\tplummer\Source\Repos\OpenStack-NewCLI\Rackspace.Client.Powershell\Deployment\Rackspace.config"; - private string _configFilePath = null; - private SwitchParameter _reset = false; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - //[Parameter(Position = 1, Mandatory = false, ParameterSetName = "sc3", ValueFromPipelineByPropertyName = true, HelpMessage = "s")] - //[Alias("resetcfg")] - //[ValidateNotNullOrEmpty] - //public SwitchParameter Reset - //{ - // get { return _reset; } - // set { _reset = value; } - //} -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, Mandatory = false, ParameterSetName = "sc4", ValueFromPipelineByPropertyName = true, HelpMessage = "s")] - [Alias("s")] - [ValidateNotNullOrEmpty] - public string ConfigFilePathKey - { - get { return _configFilePath; } - set { _configFilePath = value; } - } - #endregion -//======================================================================================================= -/// -/// -/// -//=================================================zx====================================================== - private void LoadConfigFile() - { - var configManager = new ConfigurationManager(); - configManager.Load(this.ConfigFilePathKey); - ServiceProvider provider = configManager.GetDefaultServiceProvider(); - - var loader = new ExtensionManager(this.SessionState, this.Context); - - loader.LoadCore(provider); - loader.LoadExtension(provider); - - // Show the User the new ServiceCatalog that we just received.. - - var capabilities = new AccountCapabilities(this.SessionState, this.Context, this.CoreClient, this); - capabilities.WriteServices(); - capabilities.WriteContainers(); - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - protected override void ProcessRecord() - { - this.LoadConfigFile(); - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Common/SetCredentialsCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/SetCredentialsCmdlet.cs deleted file mode 100644 index adbdf76..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/SetCredentialsCmdlet.cs +++ /dev/null @@ -1,97 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Management.Automation; -using Openstack.Objects.Domain.Admin; - -namespace Openstack.Client.Powershell.Cmdlets.Common -{ - [Cmdlet(VerbsCommon.Set, "Credentials", SupportsShouldProcess = true)] - public class SetCredentialsCmdlet : BaseAuthenticationCmdlet - { - private string _accessKey; - private string _secretKey; - private string _tenantId; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, Mandatory = true, ParameterSetName = "sc5", ValueFromPipelineByPropertyName = true, HelpMessage = "s")] - [Alias("ak")] - [ValidateNotNullOrEmpty] - public string AccessKey - { - get { return _accessKey; } - set { _accessKey = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, Mandatory = true, ParameterSetName = "sc5", ValueFromPipelineByPropertyName = true, HelpMessage = "s")] - [Alias("sk")] - [ValidateNotNullOrEmpty] - public string SecretKey - { - get { return _secretKey; } - set { _secretKey = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 2, Mandatory = true, ParameterSetName = "sc5", ValueFromPipelineByPropertyName = true, HelpMessage = "s")] - [Alias("t")] - [ValidateNotNullOrEmpty] - public string TenantId - { - get { return _tenantId; } - set { _tenantId = value; } - } - #endregion - #region Methods -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - protected override void ProcessRecord() - { - AuthenticationRequest request = new AuthenticationRequest(new Credentials(_accessKey, _secretKey), _tenantId); - this.InitializeSession(request); - - // Show the User the new ServiceCatalog that we just received.. - - this.WriteServices(); - - // If ObjectStorage is among those new Services, show the new Container set bound to those credentials.. - - if (this.Context.ServiceCatalog.DoesServiceExist("OS-Storage")) - { - //this.WriteContainers(); - } - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Common/SetMetadataCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/SetMetadataCmdlet.cs deleted file mode 100644 index f8cefe8..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/SetMetadataCmdlet.cs +++ /dev/null @@ -1,302 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using System; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain.Admin; -using Openstack.Objects.DataAccess; -using Openstack.Objects.Domain; -using System.Collections; -using Openstack.Client.Powershell.Providers.Security; -using System.Linq; -using Openstack.Client.Powershell.Providers.Common; -using System.Collections.Generic; -using Openstack.Client.Powershell.Providers.Compute; - -namespace Openstack.Client.Powershell.Cmdlets.Storage.CDN -{ - [Cmdlet(VerbsCommon.Set, "Metadata", SupportsShouldProcess = true)] - public class SetMetadataCmdlet2 : BasePSCmdlet - { - private string _cdnContainerName; - private string _sourcePath; - private string _objectStorageContainerName; - private string _serverId; - private string[] _extendedProperties; - -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter( ParameterSetName = "containerMetadata", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("c")] - [ValidateNotNullOrEmpty] - public string ObjectStorageContainerName - { - get { return _objectStorageContainerName; } - set { _objectStorageContainerName = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("md")] - [ValidateNotNullOrEmpty] - public string[] ExtendedProperties - { - get { return _extendedProperties; } - set { _extendedProperties = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(ParameterSetName = "serverMetadata", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("s")] - [ValidateNotNullOrEmpty] - public string ServerId - { - get { return _serverId; } - set { _serverId = value; } - } -//========================================================================================= -/// -/// The location of the file to set permissions on. -/// -//========================================================================================= - [Parameter(ParameterSetName = "objectMetadata", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("sp")] - [ValidateNotNullOrEmpty] - public string SourcePath - { - get { return _sourcePath; } - set { _sourcePath = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Mandatory = false, ParameterSetName = "cdnMetadata", ValueFromPipelineByPropertyName = true, HelpMessage = "The Name of the Container to enable for CDN access.")] - [Alias("cdn")] - [ValidateNotNullOrEmpty] - public string CDNContainerName - { - get { return _cdnContainerName; } - set { _cdnContainerName = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void ProcessCDNMetadata() - { - if (this.Context.ServiceCatalog.DoesServiceExist(Services.CDN) == false) - Console.WriteLine("You don't have access to CDN services under this account. For information on signing up for CDN access please go to http://Openstack.com/."); - else - { - List> metadata = new List>(); - if (this.ExtendedProperties != null && this.ExtendedProperties.Count() > 0) - { - foreach (string kv in this.ExtendedProperties) - { - char[] seperator = { '|' }; - string[] temp = kv.Split(seperator); - KeyValuePair element = new KeyValuePair(temp[0], temp[1]); - - metadata.Add(element); - } - this.RepositoryFactory.CreateCDNRepository().SetMetaData(this.CDNContainerName, metadata); - } - } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void ProcessObjectMetadata() - { - IStorageObjectRepository repository = this.RepositoryFactory.CreateStorageObjectRepository(); - StoragePath storagePath = this.CreateStoragePath(_sourcePath); - StorageObject storageObject = new StorageObject(); - storageObject.FileName = storagePath.FileName; - - storageObject.ExtendedProperties.AddEntries(this.ExtendedProperties); - repository.SetMetaData(storagePath.AbsoluteURI, storageObject.ExtendedProperties); - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private void AddElements(MetaData metadata) - { - IList elements = ((CommonDriveInfo)this.Drive).CurrentContainer.Entities; - - foreach (KeyValuePair element in metadata) - { - MetaDataElement newElement = new MetaDataElement(); - newElement.Key = element.Key; - newElement.Value = element.Value; - - elements.Add(newElement); - } - } -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - public MetaData ReformatMetadata(string[] keyValuePairs) - { - MetaData metadata = new MetaData(); - - if (keyValuePairs != null && keyValuePairs.Count() > 0) - { - foreach (string kv in keyValuePairs) - { - char[] seperator = { '|' }; - string[] temp = kv.Split(seperator); - MetaDataElement element = new MetaDataElement(); - element.Key = temp[0]; - element.Value = temp[1]; - - metadata.Add(temp[0], temp[1]); - } - return metadata; - } - return null; - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void ProcessServerMetadata() - { - if (this.Context.ServiceCatalog.DoesServiceExist(Services.Compute) == false) - Console.WriteLine("You don't have access to Compute services under this account. For information on signing up for this please go to http://Openstack.com/."); - else - { - MetaData md = null; - if (this.ServerId != null) - { - md = this.ReformatMetadata(this.ExtendedProperties); - this.RepositoryFactory.CreateServerRepository().SetMetadata(md, this.ServerId); - this.UpdateCache(); - } - else - { - BaseUIContainer currentContainer = this.SessionState.PSVariable.Get("CurrentContainer").Value as BaseUIContainer; - - if (currentContainer.Name == "Metadata") - { - ServerUIContainer serverContainer = currentContainer.Parent as ServerUIContainer; - - if (serverContainer != null) - { - md = this.ReformatMetadata(this.ExtendedProperties); - this.RepositoryFactory.CreateServerRepository().SetMetadata(md, serverContainer.Entity.Id); - this.UpdateCache(); - } - } - else - { - md = this.ReformatMetadata(this.ExtendedProperties); - this.RepositoryFactory.CreateServerRepository().SetMetadata(md, currentContainer.Entity.Id); - this.UpdateCache(); - } - } - } - } -////========================================================================================= -///// -///// -///// -////========================================================================================= - private void ProcessContainerMetadata() - { - if (this.Context.ServiceCatalog.DoesServiceExist(Services.ObjectStorage) == false) - Console.WriteLine("You don't have access to Object Storage services under this account. For information on signing up for this please go to http://Openstack.com/."); - else - { - MetaData md = null; - if (this.ObjectStorageContainerName != null) - { - List> exProps = new List>(); - if (this.ExtendedProperties != null && this.ExtendedProperties.Count() > 0) - { - foreach (string kv in this.ExtendedProperties) - { - char[] seperator = { '|' }; - string[] temp = kv.Split(seperator); - exProps.AddEntry(temp[0], temp[1]); - } - } - - md = this.ReformatMetadata(this.ExtendedProperties); - this.RepositoryFactory.CreateContainerRepository().SetMetaData(_objectStorageContainerName, exProps); - this.UpdateCache(); - } - else - { - - } - } - } -//========================================================================================= -/// -/// The main driver.. -/// -//========================================================================================= - protected override void ProcessRecord() - { - switch (this.ParameterSetName) - { - case ("serverMetadata"): - this.ProcessServerMetadata(); - break; - - case ("cdnMetadata"): - - this.ProcessCDNMetadata(); - break; - - case ("objectMetadata"): - this.ProcessObjectMetadata(); - break; - - case ("containerMetadata"): - this.ProcessContainerMetadata(); - break; - - } - } - - - } -} - diff --git a/Openstack.Client.Powershell/Cmdlets/Common/SetServiceProviderCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/SetServiceProviderCmdlet.cs deleted file mode 100644 index 1d6497c..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/SetServiceProviderCmdlet.cs +++ /dev/null @@ -1,121 +0,0 @@ -//* ============================================================================ -//Copyright 2014 Hewlett Packard -//Licensed under the Apache License, Version 2.0 (the "License"); -//you may not use this file except in compliance with the License. -//You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -//Unless required by applicable law or agreed to in writing, software -//distributed under the License is distributed on an "AS IS" BASIS, -//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -//See the License for the specific language governing permissions and -//limitations under the License. -//============================================================================ */ -using System.Management.Automation; -using OpenStack.Client.Powershell.Utility; - -namespace OpenStack.Client.Powershell.Cmdlets.Common -{ - [Cmdlet(VerbsCommon.Set, "SP", SupportsShouldProcess = true)] - public class SetServiceProviderCmdlet : BasePSCmdlet - { - private string _name; - private SwitchParameter _setDefault = false; - - #region Properties -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(ParameterSetName = "SetSP", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("d")] - [ValidateNotNullOrEmpty] - public SwitchParameter SetDefault - { - get { return _setDefault; } - set { _setDefault = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "SetSP", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = " ")] - [Alias("n")] - public string Name - { - get { return _name; } - set { _name = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - var manager = new ConfigurationManager(); - manager.Load(); - - var provider = manager.GetServiceProvider(this.Name); - provider.IsDefault = this.SetDefault; - - this.WriteObject(""); - this.WriteObject(" - Connecting to OpenStack Provider " + this.Name); - - this.InitialzeServiceProvider(provider); - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private bool DoesRequireCredentials() - { - return true; - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - private void InitialzeServiceProvider(ServiceProvider provider) - { - if (this.SetDefault) - { - var configManager = new ConfigurationManager(); - configManager.Load(); - configManager.SetDefaultServiceProvider(provider.Name); - } - - this.WriteObject(" - Loading Service Provider extensions "); - var manager = new ExtensionManager(this.SessionState, this.Context); - manager.LoadExtension(provider); - this.ShowAccountState(); - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - private void ShowAccountState() - { - // Show the User the new ServiceCatalog that we just received.. - - this.WriteObject(" - Success!"); - this.WriteObject(""); - - // This is a hack for sure.. Need to move Zones into Vendor specific section. - - this.Context.CurrentRegion = "region-a.geo-1"; - - var capabilities = new AccountCapabilities(this.SessionState, this.Context, this.CoreClient, this); - capabilities.WriteServices(); - capabilities.WriteContainers(); - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Common/SetZoneCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/SetZoneCmdlet.cs deleted file mode 100644 index 7c8a23f..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/SetZoneCmdlet.cs +++ /dev/null @@ -1,169 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Management.Automation; -using System.Xml.Linq; -using System.Xml.XPath; -using OpenStack.Client.Powershell.Cmdlets.Common; -using OpenStack.Client.Powershell.Utility; - -namespace OpenStack.Client.Powershell.Cmdlets.Common -{ - [Cmdlet("Set", "Zone", SupportsShouldProcess = true)] - public class SetZoneCmdlet : BasePSCmdlet - { - private string _Zone; - - #region Properties -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "SetZone", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Valid values include")] - [Alias("z")] - [ValidateNotNullOrEmpty] - [ValidateSet("1", "2", "3", "4", "5")] - public string Zone - { - get { return _Zone; } - set { _Zone = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - if (this.Drive.Provider.Name != "OpenStack-Cloud" && this.Drive.Provider.Name != "Object Storage") { - ShowError(); - } - else - { - // Mark down the new default Region and reload the config file.. - - XElement zoneKeyNode = SaveZone(); - this.Context.CurrentRegion = zoneKeyNode.Attribute("name").Value; - this.Context.Settings.Load(this.ConfigFilePath); - - ConfigurationManager manager = new ConfigurationManager(); - manager.Load(); - - this.SetUI(zoneKeyNode); - this.ChanegDirectory(); - this.UpdateCache(); - - // Now show the User what he is getting for this action.. - - var abilities = new AccountCapabilities(this.SessionState, this.Context, this.CoreClient , this); - abilities.WriteServices(); - abilities.WriteContainers(); - } - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - private void ShowError() - { - ConsoleColor oldColor = Console.ForegroundColor; - Console.ForegroundColor = ConsoleColor.Red; - Console.WriteLine(""); - Console.WriteLine("Setting the Availability Zone requires you to be connected to the OpenStack: drive or a valid Storage Container. Please map to one of these drive types and reissue the command."); - Console.WriteLine(""); - Console.ForegroundColor = oldColor; - } -//======================================================================================================= -/// -/// -/// -/// -//======================================================================================================= - private void SetUI(XElement zoneKeyNode) - { - this.Context.Forecolor = zoneKeyNode.Attribute("shellForegroundColor").Value; - Console.ForegroundColor =(ConsoleColor) Enum.Parse(typeof (ConsoleColor), zoneKeyNode.Attribute("shellForegroundColor").Value); - Console.WriteLine(""); - Console.WriteLine("New Availability Zone " + zoneKeyNode.Attribute("name").Value + " selected."); - Console.WriteLine(""); - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - private void ChanegDirectory() - { - if (this.Drive.Provider.Name == "Object Storage") - this.SessionState.InvokeCommand.InvokeScript(@"cd\"); - else - this.SessionState.InvokeCommand.InvokeScript("cd c:"); - } -//======================================================================================================= -/// -/// -/// -/// -//======================================================================================================= - private XElement SaveZone() - { - string configFilePath = this.ConfigFilePath; - XDocument doc = XDocument.Load(configFilePath); - XElement zoneKeyNode = doc.XPathSelectElement("//AvailabilityZone[@id='" + _Zone + "']"); - XElement defaultZoneNode = doc.XPathSelectElement("//AvailabilityZone[@isDefault='True']"); - - defaultZoneNode.SetAttributeValue("isDefault", "False"); - zoneKeyNode.SetAttributeValue("isDefault", "True"); - doc.Save(configFilePath); - return zoneKeyNode; - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - private void WriteServices(string availabilityZone) - { - this.WriteHeader("This Availability Zone has the following services available."); - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - WriteObject(this.Context.ServiceCatalog.GetServicesInAvailabilityZone(availabilityZone)); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void WriteHeader(string message) - { - // Write out the commands header information first.. - - WriteObject(""); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteObject("==================================================================="); - Console.ForegroundColor = ConsoleColor.Yellow; - WriteObject(message); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteObject("==================================================================="); - Console.ForegroundColor = ConsoleColor.Green; - WriteObject(" "); - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Common/SetZoneColorCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Common/SetZoneColorCmdlet.cs deleted file mode 100644 index d46e22a..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Common/SetZoneColorCmdlet.cs +++ /dev/null @@ -1,85 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using Openstack.Client.Powershell.Cmdlets.Common; -using System.Management.Automation; -using System.Xml.Linq; -using System.Xml.XPath; -using System.Collections.Generic; - -namespace Openstack.Client.Powershell.Cmdlets.Common -{ - [Cmdlet("Set", "ZoneColor", SupportsShouldProcess = true)] - public class SetZoneColorCmdlet : BasePSCmdlet - { - private string _zone; - private string _color; - -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "SetZoneColor", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Valid values include")] - [Alias("c")] - [ValidateNotNullOrEmpty] - [ValidateSet("Black", "Blue", "Cyan", "DarkBlue", "DarkCyan", "DarkGray", "DarkGreen", "DarkMagenta", "DarkRed", "DarkYellow", "Gray", "Green", "Magenta", "Red", "White", "Yellow")] - public string Color - { - get { return _color; } - set { _color = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "SetZoneColor", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Valid values include")] - [Alias("z")] - [ValidateNotNullOrEmpty] - [ValidateSet("1", "2", "3", "4")] - public string Zone - { - get { return _zone; } - set { _zone = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - string configFilePath = this.ConfigFilePath; - XDocument doc = XDocument.Load(configFilePath); - XElement zoneKeyNode = doc.XPathSelectElement("//AvailabilityZone[@id='" + _zone + "']"); - - zoneKeyNode.SetAttributeValue("shellForegroundColor", _color); - doc.Save(configFilePath); - - Console.WriteLine(""); - Console.Write(zoneKeyNode.Attribute("name").Value + " now assigned to "); - - ConsoleColor currentColor = Console.ForegroundColor; - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), zoneKeyNode.Attribute("shellForegroundColor").Value); - - Console.Write(_color + "."); - Console.ForegroundColor = currentColor; - Console.WriteLine(""); - Console.WriteLine(""); - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Compute/Security/GetLimitsCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Compute/Security/GetLimitsCmdlet.cs deleted file mode 100644 index db7e3d4..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Compute/Security/GetLimitsCmdlet.cs +++ /dev/null @@ -1,59 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Networking; -using System; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.DataAccess.Security; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.DataAccess.Compute; - - -namespace Openstack.Client.Powershell.Cmdlets.Compute.Security -{ - [Cmdlet("Get", "Limits", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class GetLimitsCmdlet : BasePSCmdlet - { - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - Limits limits = this.RepositoryFactory.CreateServerRepository().GetLimits(); - Console.WriteLine(""); - Console.WriteLine("The following Limits are in place for this account."); - Console.WriteLine(""); - Console.WriteLine("Limit Category : Absolute"); - Console.WriteLine("-------------------------------------------------"); - Console.WriteLine("Max Server Metadata Elements : " + limits.limits.AbsoluteLimits.maxServerMeta); - Console.WriteLine("Max Personality : " + limits.limits.AbsoluteLimits.maxPersonality); - Console.WriteLine("Max Image Metadata Elements : " + limits.limits.AbsoluteLimits.maxImageMeta); - Console.WriteLine("Max Personality Size : " + limits.limits.AbsoluteLimits.maxPersonalitySize); - Console.WriteLine("Max Security Group Rules : " + limits.limits.AbsoluteLimits.maxSecurityGroupRules); - Console.WriteLine("Max Security Groups : " + limits.limits.AbsoluteLimits.maxSecurityGroups); - Console.WriteLine("Max Total Instances : " + limits.limits.AbsoluteLimits.maxTotalInstances); - Console.WriteLine("Max Total RAM Size : " + limits.limits.AbsoluteLimits.maxTotalRAMSize); - Console.WriteLine(""); - } - #endregion - } -} - diff --git a/Openstack.Client.Powershell/Cmdlets/Compute/Security/GetPasswordCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Compute/Security/GetPasswordCmdlet.cs deleted file mode 100644 index 2c7a3c1..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Compute/Security/GetPasswordCmdlet.cs +++ /dev/null @@ -1,129 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Compute; -using System.Linq; -using Openstack.Objects.Domain.Compute.Servers; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Objects.DataAccess.Security; -using Openstack.Objects.DataAccess; -using Openstack.Objects.Domain.Compute.Servers.Actions; -using System; -using Openstack.Objects.DataAccess.Compute; -using Openstack.Client.Powershell.Providers.Compute; - -namespace Openstack.Client.Powershell.Cmdlets.Compute.Server -{ - [Cmdlet(VerbsCommon.Get, "Password", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class GetPasswordCmdlet : BasePSCmdlet - { - private string _administratorPassword; - private string _serverId; - private string _keyName; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "GetPassword", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("k")] - [ValidateNotNullOrEmpty] - public string KeyName - { - get { return _keyName; } - set { _keyName = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "GetPassword", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("s")] - [ValidateNotNullOrEmpty] - public string ServerId - { - get { return _serverId; } - set { _serverId = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private string GetServerId() - { - BaseUIContainer currentContainer = this.SessionState.PSVariable.Get("CurrentContainer").Value as BaseUIContainer; - - if (currentContainer.Name == "Metadata") - { - ServerUIContainer serverContainer = currentContainer.Parent as ServerUIContainer; - if (serverContainer != null) - return serverContainer.Entity.Id; - } - else - { - return currentContainer.Entity.Id; - } - return null; - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - if (this.ServerId == null) - this.ServerId = this.GetServerId(); - - IServerRepository repository = this.RepositoryFactory.CreateServerRepository(); - GetServerLogAction action = new GetServerLogAction(); - action.ServerId = this.ServerId; - Log log = repository.GetServerLog(action); - - if (log != null && log.Content.Length > 14) - { - Console.WriteLine(""); - Console.WriteLine("Log detected!"); - string pw = log.ExtractAdminPassword(this.Settings.KeyStoragePath + @"\OS\" + _keyName + ".pem"); - Console.WriteLine("Administrator Password : " + pw); - Console.WriteLine(""); - - if (this.Settings.EnableCredentialTracking == true) - { - CredentialListManager manager = new CredentialListManager(this.Settings); - manager.SetPassword(this.ServerId, pw); - } - } - else - { - Console.WriteLine(""); - Console.WriteLine("Unfortunately we couldn't retrieve the Instance Log. If this situation persist, we recommend that you delete and recreate the instance."); - Console.WriteLine(""); - } - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Compute/Security/NewKeyPairCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Compute/Security/NewKeyPairCmdlet.cs deleted file mode 100644 index d42d3d7..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Compute/Security/NewKeyPairCmdlet.cs +++ /dev/null @@ -1,145 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Compute; -using System.Linq; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Security; -using System; -using System.IO; -using System.Text; -using System.Diagnostics; -using System.Threading; -using Openstack.Objects.Domain.Server; -using Openstack.Client.Powershell.Providers.Compute; - -namespace Openstack.Client.Powershell.Cmdlets.Compute.Network -{ - [Cmdlet(VerbsCommon.New, "KeyPair", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class NewKeyPairCmdlet : BasePSCmdlet - { - private string _name; - private string _filename = null; - private SwitchParameter _copyToClipboard = false; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - //[Parameter(Position = 2, ParameterSetName = "NewKeypair", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "a")] - //[Alias("c")] - //public SwitchParameter CopyToClipboard - //{ - // get { return _copyToClipboard; } - // set { _copyToClipboard = value; } - //} -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "NewKeypair", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "a")] - [Alias("n")] - public string Name - { - get { return _name; } - set { _name = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void StoreKey(string privateKey) - { - - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void ExportKey(string privateKey, string filename) - { - // Save the key locally first.. - - StringBuilder builder = new StringBuilder(); - builder.AppendLine(privateKey); - - using (StreamWriter outfile = new StreamWriter(this.Settings.KeyStoragePath + @"\OS\" + filename, false)) - { - outfile.Write(builder.ToString()); - } - - // Now export with PuttyGen - - //Process.Start(this.Settings.PuttuGenPath, this.Settings.KeyStoragePath + @"\TempKey.key -O private -o " + this.Settings.KeyStoragePath + "testKey.ppk" + "-q"); - //int y = 9; - - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - NewKeyPair nkp = new NewKeyPair(); - nkp.Name = this.Name; - KeyPair keypair = this.RepositoryFactory.CreateKeyPairRepository().SaveKeyPair(nkp); - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine("New keypair created."); - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - Console.WriteLine(""); - Console.WriteLine("User Id : " + keypair.UserId); - Console.WriteLine("Name : " + keypair.Name); - Console.WriteLine("Private Key : "); - Console.WriteLine(""); - Console.WriteLine(keypair.PrivateKey); - Console.WriteLine(""); - Console.WriteLine("Public Key : "); - Console.WriteLine(""); - Console.WriteLine(keypair.PublicKey); - Console.WriteLine(""); - Console.WriteLine("Fingerprint : " + keypair.Fingerprint); - Console.WriteLine(""); - - this.ExportKey(keypair.PrivateKey, keypair.Name + ".pem"); - - if (_copyToClipboard) - { - OutClipboard.SetText(keypair.PrivateKey); - } - - Console.WriteLine("Exporting Private Key."); - Console.WriteLine("Storing Key."); - Console.WriteLine("Key Generation and storage complete."); - Console.WriteLine(""); - this.UpdateCache(); - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Compute/Security/RemoveKeyPairCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Compute/Security/RemoveKeyPairCmdlet.cs deleted file mode 100644 index f32d508..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Compute/Security/RemoveKeyPairCmdlet.cs +++ /dev/null @@ -1,72 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using System; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Client.Powershell.Providers.Compute; - -namespace Openstack.Client.Powershell.Cmdlets.Compute.Network -{ - [Cmdlet(VerbsCommon.Remove, "KeyPair", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class RemoveKeyPairCmdlet : BasePSCmdlet - { - private string _name; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "RemoveKeyPair", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "a")] - [Alias("n")] - public string Name - { - get { return _name; } - set { _name = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - try - { - this.RepositoryFactory.CreateKeyPairRepository().DeleteKeyPair(this.Name); - Console.WriteLine(""); - Console.WriteLine("Keypair " + this.Name + " removed."); - Console.WriteLine(""); - this.UpdateCache(); - } - catch (InvalidOperationException) - { - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.Red; - Console.WriteLine("Error : Keypair " + this.Name + " not found."); - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.Green; - } - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Compute/Security/ResetPasswordCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Compute/Security/ResetPasswordCmdlet.cs deleted file mode 100644 index 8cc25ab..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Compute/Security/ResetPasswordCmdlet.cs +++ /dev/null @@ -1,159 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain.Compute.Servers; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Objects.DataAccess.Security; -using System; -using Openstack.Client.Powershell.Providers.Compute; - -namespace Openstack.Client.Powershell.Cmdlets.Compute.Server -{ - [Cmdlet(VerbsCommon.Reset, "Password", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class ResetPasswordCmdlet : BasePSCmdlet - { - private string _administratorPassword; - private string _serverId; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "ResetPassword", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("id")] - [ValidateNotNullOrEmpty] - public string ServerId - { - get { return _serverId; } - set { _serverId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "ResetPassword", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("p")] - [ValidateNotNullOrEmpty] - public string AdministratorPassword - { - get { return _administratorPassword; } - set { _administratorPassword = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void ChangeWindowsImagePW() - { - CredentialListManager manager = new CredentialListManager(this.Settings); - if (this.Settings.EnableCredentialTracking == true) - { - manager.SetPassword(this.ServerId, this.AdministratorPassword); - Console.WriteLine(""); - Console.WriteLine("Password Updated."); - Console.WriteLine(""); - } - else - { - Console.WriteLine(""); - Console.WriteLine("You're attempting to update the password for a Windows Image but EnableCredentialTracking is currently turned off. To turn this on please use the Get-config and Set-config cmdlets. Operation failed."); - Console.WriteLine(""); - } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void ChangeNonWindowsImagePW() - { - ChangePasswordAction action = new ChangePasswordAction(); - action.AdministratorPassword = this.AdministratorPassword; - action.ServerId = this.ServerId; - - this.RepositoryFactory.CreateServerRepository().ChangePassword(action); - Console.WriteLine(""); - Console.WriteLine("Password Changed."); - Console.WriteLine(""); - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private string GetServerId() - { - BaseUIContainer currentContainer = this.SessionState.PSVariable.Get("CurrentContainer").Value as BaseUIContainer; - - if (currentContainer.Name == "Metadata") - { - ServerUIContainer serverContainer = currentContainer.Parent as ServerUIContainer; - if (serverContainer != null) - return serverContainer.Entity.Id; - } - else - { - return currentContainer.Entity.Id; - } - return null; - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private bool IsWindowsImage(string imageId) - { - Image image = this.RepositoryFactory.CreateImageRepository().GetImage(imageId); - return image.IsWindowsImage; - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - if (this.ServerId == null) - this.ServerId = this.GetServerId(); - - Openstack.Objects.Domain.Compute.Server server = this.RepositoryFactory.CreateServerRepository().GetServer(this.ServerId); - - if (this.IsWindowsImage(server.Image.Id)) { - ChangeWindowsImagePW(); - } - else - { - Console.WriteLine(""); - Console.WriteLine("Invalid Server : The Server you supplied is not a based on a Windows image. We currently only support key based authentication for non-Windows images."); - Console.WriteLine(""); - } - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Compute/Server/ConnectServerCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Compute/Server/ConnectServerCmdlet.cs deleted file mode 100644 index 423762c..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Compute/Server/ConnectServerCmdlet.cs +++ /dev/null @@ -1,316 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.DataAccess.Compute; -using Openstack.Objects.DataAccess.Security; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Objects.Domain.Compute.Servers.Actions; -using Openstack.Objects.Domain.Compute.Servers; -using System; -using System.IO; -using System.Xml.Linq; -using System.Xml.XPath; -using Openstack.Client.Powershell.Providers.Compute; - -namespace Openstack.Client.Powershell.Cmdlets.Compute.Server -{ - [Cmdlet("Connect", "Server", SupportsShouldProcess = true)] - public class ConnectServerCmdletd : BasePSCmdlet - { - private string _serverId; - private string _keypairName = null; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "ConnectServerPS", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("s")] - public string ServerId - { - get - { - if (_serverId != null) - return _serverId; - else - { - BaseUIContainer currentContainer = this.SessionState.PSVariable.Get("CurrentContainer").Value as BaseUIContainer; - ServerUIContainer serverContainer = currentContainer as ServerUIContainer; - - if (serverContainer != null) { - return serverContainer.Entity.Id; - } - } - return null; - - } - set { _serverId = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private bool IsWindowsImage(string imageId) - { - Image image = this.RepositoryFactory.CreateImageRepository().GetImage(imageId); - return image.IsWindowsImage; - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private string GetAdminPassword(string keyname) - { - GetServerLogAction action = new GetServerLogAction(); - action.ServerId = this.ServerId; - Log log = this.RepositoryFactory.CreateServerRepository().GetServerLog(action); - - if (log != null) - { - Console.WriteLine(""); - string pw = log.ExtractAdminPassword(this.Settings.KeyStoragePath + keyname + ".pem"); - Console.WriteLine("Administrator Password : " + pw); - return pw; - } - else - return null; - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void ShowCredentialsNotFoundMsg() - { - Console.WriteLine(""); - Console.WriteLine("Credentials not found. You'll have to manually enter your Administrator credentials for this instance."); - Console.WriteLine("If you want to continue to use Automatic Credential Tracking for this instance make sure that you update"); - Console.WriteLine("our records with the new password. To do this, use the Reset-Password cmdlet."); - Console.WriteLine(""); - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private void WriteSection(string headerText) - { - ConsoleColor oldColor = Console.ForegroundColor; - Console.WriteLine(" "); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("=============================================================================================================================================="); - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine(headerText); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("=============================================================================================================================================="); - Console.ForegroundColor = oldColor; - } -//========================================================================================= -/// -/// -/// -//===================================================================================K===== - private void ShowKeyBasedLoginInstructions(string keyname) - { - if (keyname == null) keyname = "YourKeyfile"; - - this.WriteSection("Unable to find a suitable Putty key file!"); - Console.WriteLine("1. Make sure that you have downloaded the latest version of Putty and PuttyGen for Windows."); - Console.WriteLine("2. Tell us where Putty.exe exist by setting the Config file entry SSHClientPath (use Set-Config)"); - Console.WriteLine("3. Tell PuttyGen to Load an existing key file. This file will be located at " + this.Settings.KeyStoragePath + @"\OS\" + keyname + ".pem"); - Console.WriteLine("4. Convert the .pem file to the .ppk format that Putty.exe understands by clicking the Save Private Key button."); - Console.WriteLine("5. Save the .ppk file as " + keyname + ".ppk"); - Console.WriteLine("6. Launch the SSH session with the Connect-Server cmdlet"); - Console.WriteLine("7. HINT : If you use the same keypair name for each Server you create you can skip steps 1-5 after the steps have been completed once."); - Console.WriteLine(""); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private bool LaunchPasswordBasedSSHSession(Openstack.Objects.Domain.Compute.Server server) - { - CredentialListManager manager = new CredentialListManager(this.Settings); - SSHClient sshClient = new SSHClient(this.Settings); - sshClient.Username = "ubuntu"; - sshClient.Address = server.Addresses.Private[1].Addr; - sshClient.Password = manager.GetPassword(server.Id); - - if (sshClient.Password == null) { - return false; - } - else { - sshClient.LaunchClient(); - return true; - } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private bool IsSSHClientConfigured() - { - if (this.Settings.SSHClientPath == string.Empty) - return false; - else - return File.Exists(this.Settings.SSHClientPath); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private bool DoesPPKExist(string keyName) - { - return File.Exists(this.Settings.KeyStoragePath + @"\OS\" + keyName + ".ppk"); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void SaveSSHClientLocation(string path) - { - string configFilePath = this.ConfigFilePath; - XDocument doc = XDocument.Load(configFilePath); - XElement clientPathNode = doc.XPathSelectElement("//add[@key='SSHClientPath']"); - - clientPathNode.SetAttributeValue("value", path); - doc.Save(configFilePath); - this.Settings.SSHClientPath = path; - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void ConfigureSSHClient() - { - Console.WriteLine(""); - Console.WriteLine("You're trying to establish a remote session with a non-Windows based server. This requires a fully qualified path to the SSH client (putty.exe)"); - Console.Write("SSH Client Path : "); - string path = Console.ReadLine(); - - if (File.Exists(path)) - { - Console.WriteLine(""); - Console.WriteLine("Putty.exe found! Saving location for future sessions.."); - Console.WriteLine(""); - this.SaveSSHClientLocation(path); - } - else - { - Console.WriteLine(""); - Console.WriteLine("Putty.exe not found! Invalid path supplied."); - Console.WriteLine(""); - } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void LaunchSSHSession(Openstack.Objects.Domain.Compute.Server server) - { - if (!IsSSHClientConfigured()) { - this.ConfigureSSHClient(); - } - - if (server.KeyName != null && this.DoesPPKExist(server.KeyName)) - { - SSHClient sshClient = new SSHClient(this.Settings); - sshClient.Username = "ubuntu"; - sshClient.KeypairName = server.KeyName; - sshClient.Address = server.Addresses.Private[1].Addr; - - sshClient.LaunchClient(); - } - else - { - this.ShowKeyBasedLoginInstructions(server.KeyName); - } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void LaunchWindowsSession(Openstack.Objects.Domain.Compute.Server server) - { - CredentialListManager manager = new CredentialListManager(this.Settings); - RDPClient client = new RDPClient(); - client.Address = server.Addresses.Private[1].Addr; - client.Username = "Administrator"; - - if (this.Settings.EnableCredentialTracking == true) - { - client.Password = manager.GetPassword(server.Id); - if (client.Password == null) - { - this.ShowCredentialsNotFoundMsg(); - return; - } - } - client.LaunchClient(); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - string id = this.TranslateQuickPickNumber(this.ServerId); - if (id != null) - { - Openstack.Objects.Domain.Compute.Server server = this.RepositoryFactory.CreateServerRepository().GetServer(id); - if (server != null) - { - if (IsWindowsImage(server.Image.Id)) - { - this.LaunchWindowsSession(server); - } - else - { - this.LaunchSSHSession(server); - } - } - else - { - Console.WriteLine(""); - Console.WriteLine("Server not found."); - Console.WriteLine(""); - } - } - } - #endregion - } -} - diff --git a/Openstack.Client.Powershell/Cmdlets/Compute/Server/NewImageCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Compute/Server/NewImageCmdlet.cs deleted file mode 100644 index b86378e..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Compute/Server/NewImageCmdlet.cs +++ /dev/null @@ -1,176 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Compute; -using System.Linq; -using Openstack.Objects.Domain.Compute.Servers; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Client.Powershell.Providers.Compute; - -namespace Openstack.Client.Powershell.Cmdlets.Compute.Server -{ - [Cmdlet(VerbsCommon.New, "Image", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class NewImageCmdlet : BasePSCmdlet - { - private string _name; - private string[] _metadata; - private string _serverId; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, Mandatory = false, ParameterSetName = "NewImage", ValueFromPipelineByPropertyName = true, HelpMessage = "cfgn")] - [Alias("s")] - [ValidateNotNullOrEmpty] - public string ServerId - { - get { return _serverId; } - set { _serverId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "NewImage", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Server.")] - [Alias("n")] - public string Name - { - get { return _name; } - set { _name = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, Mandatory = false, ParameterSetName = "NewImage", ValueFromPipelineByPropertyName = true, HelpMessage = "Valid values include")] - [Alias("md")] - [ValidateNotNullOrEmpty] - public string[] MetaData - { - get { return _metadata; } - set { _metadata = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - public MetaData AddEntries(string[] keyValuePairs) - { - MetaData metadata = new MetaData(); - - if (keyValuePairs != null && keyValuePairs.Count() > 0) - { - foreach (string kv in keyValuePairs) - { - char[] seperator = { '|' }; - string[] temp = kv.Split(seperator); - MetaDataElement element = new MetaDataElement(); - element.Key = temp[0]; - element.Value = temp[1]; - - metadata.Add(temp[0], temp[1]); - } - return metadata; - } - return null; - } -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - public MetaData ReformatMetadata(string[] keyValuePairs) - { - MetaData metadata = new MetaData(); - - if (keyValuePairs != null && keyValuePairs.Count() > 0) - { - foreach (string kv in keyValuePairs) - { - char[] seperator = { '|' }; - string[] temp = kv.Split(seperator); - MetaDataElement element = new MetaDataElement(); - element.Key = temp[0]; - element.Value = temp[1]; - - metadata.Add(temp[0], temp[1]); - } - return metadata; - } - return null; - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - MetaData md = null; - md = this.ReformatMetadata(this.MetaData); - NewImage image = new NewImage(); - image.MetaData = md; - image.Name = this.Name; - - if (this.ServerId != null) - { - image.ServerId = this.ServerId; - this.RepositoryFactory.CreateImageRepository().SaveImage(image); - this.UpdateCache(); - } - else - { - BaseUIContainer currentContainer = this.SessionState.PSVariable.Get("CurrentContainer").Value as BaseUIContainer; - - if (currentContainer.Name == "Metadata") - { - ServerUIContainer serverContainer = currentContainer.Parent as ServerUIContainer; - - if (serverContainer != null) - { - image.ServerId = serverContainer.Entity.Id; - this.RepositoryFactory.CreateImageRepository().SaveImage(image); - this.UpdateCache(); - } - } - else { - - image.ServerId = currentContainer.Entity.Id; - this.RepositoryFactory.CreateImageRepository().SaveImage(image); - this.UpdateCache(); - } - } - } - #endregion - } -} - - diff --git a/Openstack.Client.Powershell/Cmdlets/Compute/Server/NewServerCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Compute/Server/NewServerCmdlet.cs deleted file mode 100644 index e4402ed..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Compute/Server/NewServerCmdlet.cs +++ /dev/null @@ -1,323 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Compute; -using System.Linq; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Security; -using System.Collections.Generic; -using System; -using Openstack.Objects.DataAccess.Compute; -using System.Threading; - -namespace Openstack.Client.Powershell.Cmdlets.Compute.Server -{ - [Cmdlet(VerbsCommon.New, "Server", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class NewServerCmdlet : BasePSCmdlet - { - private string _name; - private string _imageId; - private string _flavorId; - private string _password; - private string _accessIPv4; - private string _accessIPv6; - private string _keyName; - private string[] _metadata; - private string[] _securityGroups; - private bool _useWizard = false; - private string[] _networksIds; - private string _availabilityZone; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "NewServerPS", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Server.")] - [Alias("n")] - public string Name - { - get { return _name; } - set { _name = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "NewServerPS", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "A valid reference to an Image.")] - [Alias("i")] - [ValidateNotNullOrEmpty] - public string ImageRef - { - get { return _imageId; } - set { _imageId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 2, ParameterSetName = "NewServerPS", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "A reference to a valid Flavor.Image")] - [Alias("f")] - [ValidateNotNullOrEmpty] - public string FlavorRef - { - get { return _flavorId; } - set { _flavorId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 3, ParameterSetName = "NewServerPS", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "ipv4 address for remote access.")] - [Alias("ip4")] - public string AccessIPv4 - { - get { return _accessIPv4; } - set { _accessIPv4 = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 4, ParameterSetName = "NewServerPS", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "ipv6 address for remote access.")] - [Alias("ip6")] - public string AccessIPv6 - { - get { return _accessIPv6; } - set { _accessIPv6 = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 5, Mandatory = false, ParameterSetName = "NewServerPS", ValueFromPipelineByPropertyName = true, HelpMessage = "Valid values include")] - [Alias("md")] - [ValidateNotNullOrEmpty] - public string[] MetaData - { - get { return _metadata; } - set { _metadata = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 6, ParameterSetName = "NewServerPS", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("k")] - [ValidateNotNullOrEmpty] - public string KeyName - { - get { return _keyName; } - set { _keyName = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 7, Mandatory = false, ParameterSetName = "NewServerPS", ValueFromPipelineByPropertyName = true, HelpMessage = "Valid values include")] - [Alias("sg")] - [ValidateNotNullOrEmpty] - public string[] SecurityGroups - { - get { return _securityGroups; } - set { _securityGroups = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 8, Mandatory = true, ParameterSetName = "NewServerPS", ValueFromPipelineByPropertyName = true, HelpMessage = "Valid values include")] - [Alias("nid")] - [ValidateNotNullOrEmpty] - public string[] NetworksIds - { - get { return _networksIds; } - set { _networksIds = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 9, ParameterSetName = "NewServerPS", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Server.")] - [Alias("az")] - public string AvailabilityZone - { - get { return _availabilityZone; } - set { _availabilityZone = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - public MetaData AddEntries(string[] keyValuePairs) - { - MetaData metadata = new MetaData(); - - if (keyValuePairs != null && keyValuePairs.Count() > 0) - { - foreach (string kv in keyValuePairs) - { - char[] seperator = { '|' }; - string[] temp = kv.Split(seperator); - MetaDataElement element = new MetaDataElement(); - element.Key = temp[0]; - element.Value = temp[1]; - - metadata.Add(temp[0], temp[1]); - } - return metadata; - } - return null; - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private List GetSecurityGroups() - { - List assignments = new List(); - - if (_securityGroups != null) - { - foreach (string sg in _securityGroups) - { - assignments.Add(new SecurityGroupAssignment(sg)); - } - } - - return assignments; - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private bool IsWindowsImage(string imageId) - { - Image image = this.RepositoryFactory.CreateImageRepository().GetImage(imageId); - return image.IsWindowsImage; - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private List GetNetworkIDs() - { - if (this.NetworksIds != null) - { - List ids = new List(); - foreach (string id in this.NetworksIds) - { - NetworkId uuid = new NetworkId(id); - ids.Add(uuid); - } - return ids; - } - else - { - return null; - } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void SaveServer() - { - NewServer server = new NewServer(); - server.Name = this.Name; - server.ImageRef = this.ImageRef; - server.FlavorRef = this.FlavorRef; - server.AccessIPv6 = this.AccessIPv6; - server.AccessIPv4 = this.AccessIPv4; - server.MetaData = this.AddEntries(this.MetaData); - server.KeyName = this.KeyName; - server.SecurityGroups = this.GetSecurityGroups(); - server.Networks = this.GetNetworkIDs(); - server.AvailabilityZone = this.AvailabilityZone; - - if (IsWindowsImage(this.ImageRef)) - { - WindowsInstanceBuilder builder = new WindowsInstanceBuilder(this.RepositoryFactory, this.Settings); - builder.Changed += new Openstack.Objects.DataAccess.Compute.WindowsInstanceBuilder.CreateInstanceEventHandler(BuilderEvent); - builder.CreateInstance(server); - builder.Changed -= new Openstack.Objects.DataAccess.Compute.WindowsInstanceBuilder.CreateInstanceEventHandler(BuilderEvent); - this.UpdateCache(); - } - else - { - NonWindowsInstanceBuilder nonWIBuilder = new NonWindowsInstanceBuilder(this.RepositoryFactory, this.Settings); - nonWIBuilder.Changed += new Openstack.Objects.DataAccess.Compute.NonWindowsInstanceBuilder.CreateInstanceEventHandler(BuilderEvent); - nonWIBuilder.CreateInstance(server, _keyName); - nonWIBuilder.Changed -= new Openstack.Objects.DataAccess.Compute.NonWindowsInstanceBuilder.CreateInstanceEventHandler(BuilderEvent); - this.UpdateCache(); - } - } -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - private void BuilderEvent(object sender, CreateInstanceEventArgs e) - { - Console.WriteLine(e.Message); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private NewServer ShowNewServerWizard() - { - return null; - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - this.SaveServer(); - } - #endregion - } -} - diff --git a/Openstack.Client.Powershell/Cmdlets/Compute/Server/PingServerCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Compute/Server/PingServerCmdlet.cs deleted file mode 100644 index 279c773..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Compute/Server/PingServerCmdlet.cs +++ /dev/null @@ -1,180 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; -using System; -using System.Threading; -using System.Net.NetworkInformation; -using System.Text; -using System.Collections.Generic; -using Openstack.Objects.Domain.Networking; -using Openstack.Objects.Domain.Compute; - -namespace Openstack.Client.Powershell.Cmdlets.Compute.Server -{ - [Cmdlet("Ping", "Server", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class PingServerCmdletd : BasePSCmdlet - { - private string _serverId; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "PingwServerPS", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("s")] - public string ServerId - { - get { return _serverId; } - set { _serverId = value; } - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private void PingServer(string address) - { - Console.WriteLine(""); - Console.WriteLine("Pinging Server : " + address); - AutoResetEvent waiter = new AutoResetEvent(false); - - Ping pingSender = new Ping(); - - // When the PingCompleted event is raised, - // the PingCompletedCallback method is called. - pingSender.PingCompleted += new PingCompletedEventHandler(PingCompletedCallback); - - // Create a buffer of 32 bytes of data to be transmitted. - string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; - byte[] buffer = Encoding.ASCII.GetBytes(data); - - // Wait 12 seconds for a reply. - int timeout = 12000; - - // Set options for transmission: - // The data can go through 64 gateways or routers - // before it is destroyed, and the data packet - // cannot be fragmented. - PingOptions options = new PingOptions(64, true); - - Console.WriteLine("Time to live : {0}", options.Ttl); - Console.WriteLine("Don't fragment : {0}", options.DontFragment); - - // Send the ping asynchronously. - // Use the waiter as the user token. - // When the callback completes, it can wake up this thread. - pingSender.SendAsync(address, timeout, buffer, options, waiter); - - // Prevent this example application from ending. - // A real application should do something useful - // when possible. - waiter.WaitOne(); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private IList GetServerIPAddresses(string serverId) - { - Openstack.Objects.Domain.Compute.Server server = this.RepositoryFactory.CreateServerRepository().GetServer(serverId); - return server.Addresses.Private; - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - IList addresses = this.GetServerIPAddresses(this.ServerId); - Console.WriteLine(""); - Console.WriteLine(addresses.Count + " assigned IP addresses found. Ping results are as follows."); - Console.WriteLine(""); - - foreach (IPAddress address in addresses) - { - this.PingServer(address.Addr); - Console.WriteLine(""); - } - Console.WriteLine(""); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private static void PingCompletedCallback(object sender, PingCompletedEventArgs e) - { - // If the operation was canceled, display a message to the user. - if (e.Cancelled) - { - Console.WriteLine("Ping canceled."); - - // Let the main thread resume. - // UserToken is the AutoResetEvent object that the main thread - // is waiting for. - ((AutoResetEvent)e.UserState).Set(); - } - - // If an error occurred, display the exception to the user. - if (e.Error != null) - { - Console.WriteLine("Ping failed:"); - Console.WriteLine(e.Error.ToString()); - - // Let the main thread resume. - ((AutoResetEvent)e.UserState).Set(); - } - - PingReply reply = e.Reply; - - DisplayReply(reply); - - // Let the main thread resume. - ((AutoResetEvent)e.UserState).Set(); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - public static void DisplayReply(PingReply reply) - { - if (reply == null) - return; - - Console.WriteLine("ping status : {0}", reply.Status); - if (reply.Status == IPStatus.Success) - { - Console.WriteLine("Address : {0}", reply.Address.ToString()); - Console.WriteLine("RoundTrip time : {0}", reply.RoundtripTime); - Console.WriteLine("Time to live : {0}", reply.Options.Ttl); - Console.WriteLine("Don't fragment : {0}", reply.Options.DontFragment); - Console.WriteLine("Buffer size : {0}", reply.Buffer.Length); - } - } - - #endregion - } -} - diff --git a/Openstack.Client.Powershell/Cmdlets/Compute/Server/RebootServerCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Compute/Server/RebootServerCmdlet.cs deleted file mode 100644 index ab9e9a3..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Compute/Server/RebootServerCmdlet.cs +++ /dev/null @@ -1,112 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Compute.Servers; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Objects; -using Openstack.Client.Powershell.Providers.Compute; -using System; - -namespace Openstack.Client.Powershell.Cmdlets.Compute.Server -{ - [Cmdlet("Reboot", "Server", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class RebootServerCmdlet : BasePSCmdlet - { - private ServerRebootType _type = ServerRebootType.SOFT; - private string _serverId; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "RebootServer", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("id")] - [ValidateNotNullOrEmpty] - public string ServerId - { - get { return _serverId; } - set { _serverId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "RebootServer", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = " ")] - [Alias("t")] - [ValidateNotNullOrEmpty] - [ValidateSet("SOFT", "HARD")] - public ServerRebootType Type - { - get { return _type; } - set { _type = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - string id = this.TranslateQuickPickNumber(this.ServerId); - - RebootAction action = new RebootAction(); - action.RebootType = this.Type; - - if (this.ServerId != null) - { - action.ServerId = id; - Console.WriteLine(""); - Console.WriteLine("Rebooting Server " + id); - Console.WriteLine(""); - this.RepositoryFactory.CreateServerRepository().Reboot(action); - } - else - { - BaseUIContainer currentContainer = this.SessionState.PSVariable.Get("CurrentContainer").Value as BaseUIContainer; - - if (currentContainer.Name == "Metadata") - { - ServerUIContainer serverContainer = currentContainer.Parent as ServerUIContainer; - - if (serverContainer != null) - { - action.ServerId = serverContainer.Entity.Id; - this.RepositoryFactory.CreateServerRepository().Reboot(action); - } - } - else - { - ServerUIContainer serverContainer = currentContainer as ServerUIContainer; - if (serverContainer != null) - { - action.ServerId = serverContainer.Entity.Id; - this.RepositoryFactory.CreateServerRepository().Reboot(action); - this.UpdateCache(); - } - } - } - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Compute/Server/RemoveMetadataCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Compute/Server/RemoveMetadataCmdlet.cs deleted file mode 100644 index ac75c80..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Compute/Server/RemoveMetadataCmdlet.cs +++ /dev/null @@ -1,117 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Compute; -using System.Linq; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Client.Powershell.Providers.Common; -using System.Collections; -using System.Collections.Generic; -using Openstack.Client.Powershell.Providers.Compute; - -namespace Openstack.Client.Powershell.Cmdlets.Compute.Server -{ - [Cmdlet(VerbsCommon.Remove, "Metadata", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class RemoveMetadataCmdletd : BasePSCmdlet - { - private string _key; - private string _serverId; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, Mandatory = false, ParameterSetName = "RemoveMetadata", ValueFromPipelineByPropertyName = true, HelpMessage = "cfgn")] - [Alias("id")] - [ValidateNotNullOrEmpty] - public string ServerId - { - get { return _serverId; } - set { _serverId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, Mandatory = true, ParameterSetName = "RemoveMetadata", ValueFromPipelineByPropertyName = true, HelpMessage = "sdfgh")] - [Alias("k")] - [ValidateNotNullOrEmpty] - public string Key - { - get { return _key; } - set { _key = value; } - } - #endregion -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private void RemoveElement(string key) - { - IList elements = ((CommonDriveInfo)this.Drive).CurrentContainer.Entities; - MetaDataElement mdElement = null; - - foreach (MetaDataElement element in elements) - { - if (element.Key == this.Key) - { - mdElement = element; - } - } - - elements.Remove(mdElement); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - if (this.ServerId != null) - { - this.RepositoryFactory.CreateServerRepository().DeleteMetadata(this.ServerId, this.Key); - this.RemoveElement(this.Key); - } - else - { - BaseUIContainer currentContainer = this.SessionState.PSVariable.Get("CurrentContainer").Value as BaseUIContainer; - - if (currentContainer.Name == "Metadata") - { - ServerUIContainer serverContainer = currentContainer.Parent as ServerUIContainer; - - if (serverContainer != null) { - this.RepositoryFactory.CreateServerRepository().DeleteMetadata(serverContainer.Entity.Id, this.Key); - this.RemoveElement(this.Key); - } - } - else { - this.RepositoryFactory.CreateServerRepository().DeleteMetadata(currentContainer.Entity.Id, this.Key); - this.RemoveElement(this.Key); - } - } - } - } - - } \ No newline at end of file diff --git a/Openstack.Client.Powershell/Cmdlets/Compute/Server/RemoveServerCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Compute/Server/RemoveServerCmdlet.cs deleted file mode 100644 index de8a15a..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Compute/Server/RemoveServerCmdlet.cs +++ /dev/null @@ -1,120 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Compute; -using System.Linq; -using Openstack.Objects.Domain.Compute.Servers; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; -using System.Collections; -using System.Threading; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Management.Automation.Host; -using System; -using Openstack.Client.Powershell.Providers.Compute; - -namespace Openstack.Client.Powershell.Cmdlets.Compute.Server -{ - [Cmdlet(VerbsCommon.Remove, "Server", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class RemoveServerCmdlet : BasePSCmdlet - { - private string _serverId; - private SwitchParameter _force = false; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "RemoveServer", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("all")] - public SwitchParameter RemoveAll - { - get { return _force; } - set { _force = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "RemoveServer", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("id")] - [ValidateNotNullOrEmpty] - public string ServerId - { - get { return _serverId; } - set { _serverId = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void RemoveAllServers() - { - List servers = this.RepositoryFactory.CreateServerRepository().GetServers(); - Console.WriteLine(""); - - foreach(Openstack.Objects.Domain.Compute.Server server in servers) - { - if (server.Name != "RGWinLarge") - { - Console.WriteLine("Removing Server : " + server.Name); - this.RepositoryFactory.CreateServerRepository().DeleteServer(server.Id); - } - } - Console.WriteLine(""); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - string id = this.TranslateQuickPickNumber(this.ServerId); - - if (_force) - { - Collection choices = new Collection(); - choices.Add(new ChoiceDescription("Y", "Yes")); - choices.Add(new ChoiceDescription("N", "No")); - - Console.WriteLine(""); - if (this.Host.UI.PromptForChoice("Confirm Action", "You are about to remove all active Server instances. Are you sure about this?", choices, 0) == 0) - this.RemoveAllServers(); - } - else - { - if (this.ServerId != null) - { - this.RepositoryFactory.CreateServerRepository().DeleteServer(id); - this.UpdateCache(); - } - } - - } - #endregion - } -} - diff --git a/Openstack.Client.Powershell/Cmdlets/Compute/Server/UpdateServerCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Compute/Server/UpdateServerCmdlet.cs deleted file mode 100644 index df17efa..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Compute/Server/UpdateServerCmdlet.cs +++ /dev/null @@ -1,96 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Compute; -using System.Linq; -using Openstack.Objects.Domain.Compute.Servers; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Client.Powershell.Providers.Compute; - -namespace Openstack.Client.Powershell.Cmdlets.Compute.Server -{ - [Cmdlet("Update", "Server", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class UpdateServerCmdlet : BasePSCmdlet - { - private string _serverId; - private string _name; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "UpdateServer", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("n")] - [ValidateNotNullOrEmpty] - public string Name - { - get { return _name; } - set { _name = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "UpdateServer", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("id")] - [ValidateNotNullOrEmpty] - public string ServerId - { - get { return _serverId; } - set { _serverId = value; } - } - - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void UpdateName(string name) - { - BaseUIContainer server = ((CommonDriveInfo)this.Drive).CurrentContainer; - server.Name = name; - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - Openstack.Objects.Domain.Compute.Server server = new Openstack.Objects.Domain.Compute.Server(); - if (this.ServerId != null) - { - server.Id = this.ServerId; - server.Name = this.Name; - - this.RepositoryFactory.CreateServerRepository().UpdateServer(server); - this.UpdateName(this.Name); - this.UpdateCache(); - } - } - #endregion - } -} - - diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/AssignIPCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/AssignIPCmdlet.cs deleted file mode 100644 index 9c5e347..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/AssignIPCmdlet.cs +++ /dev/null @@ -1,93 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Networking; -using System; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Objects.DataAccess.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet("Assign", "IP", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class AssignIPCmdlet : BasePSCmdlet - { - private string _serverId; - private string _ip; - - #region Properties -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "cfgn")] - [Alias("ip")] - [ValidateNotNullOrEmpty] - public string IpAddress - { - get { return _ip; } - set { _ip = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "cfgn")] - [Alias("s")] - [ValidateNotNullOrEmpty] - public string ServerId - { - get { return _serverId; } - set { _serverId = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - if (!this.ServerId.Contains(".")) - { - IFloatingIPRepository repository = new FloatingIPRepository(this.Context.GetRepositoryContext("compute")); - - AssignIPAction assignment = new AssignIPAction(); - assignment.ServerId = this.ServerId; - assignment.Ip = this.IpAddress; - - repository.AssignIP(assignment); - - Console.WriteLine(""); - Console.WriteLine("Floating IP Address " + this.IpAddress + " now assigned to Server : " + assignment.ServerId); - Console.WriteLine(""); - this.UpdateCache(); - } - else - { - InvalidOperationException ex = new InvalidOperationException("Please check the supplied parameters. IP addresses are not allowed in place of Server IDs.", null); - WriteError(new ErrorRecord(ex, "0", ErrorCategory.InvalidArgument, null)); - } - } - #endregion - } -} - diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/DeleteFloatingIPCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/DeleteFloatingIPCmdlet.cs deleted file mode 100644 index 6b0354d..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/DeleteFloatingIPCmdlet.cs +++ /dev/null @@ -1,107 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Management.Automation; -using System.Management.Automation.Host; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.DataAccess.Networking; -using Openstack.Objects.Domain; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet(VerbsCommon.Remove, "FloatingIP", SupportsShouldProcess = true)] - //[RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class DeleteFloatingIPCmdlet : BasePSCmdlet - { - private string _floatingIPId; - private SwitchParameter _force = false; - -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "DeleteFloatingIP", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("all")] - public SwitchParameter RemoveAll - { - get { return _force; } - set { _force = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "DeleteFloatingIP2", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Server.")] - [Alias("id")] - public string FloatingIP - { - get { return _floatingIPId; } - set { _floatingIPId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void RemoveAllFloatingIPs() - { - IFloatingIPRepository repository = this.RepositoryFactory.CreateFloatingIPRepository(); - Console.WriteLine(""); - - foreach (BaseEntity entity in this.CurrentContainer.Entities) - { - if (entity.Name != null) - Console.WriteLine("Removing Floating IP : " + entity.Name); - else - Console.WriteLine("Removing Floating IP : " + entity.Id); - - repository.DeleteFloatingIP(entity.Id); - } - Console.WriteLine(""); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - if (_force) - { - if (this.UserConfirmsDeleteAction("Floating IP Addresses")) - { - this.RemoveAllFloatingIPs(); - this.UpdateCache(); - } - } - else - { - string id = this.TranslateQuickPickNumber(this.FloatingIP); - this.RepositoryFactory.CreateFloatingIPRepository().DeleteFloatingIP(id); - this.UpdateCache(); - } - } - - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/DeleteNetworkCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/DeleteNetworkCmdlet.cs deleted file mode 100644 index 13d827f..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/DeleteNetworkCmdlet.cs +++ /dev/null @@ -1,143 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Management.Automation; -using System.Management.Automation.Host; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.DataAccess.Networking; -using Openstack.Objects.Domain; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet(VerbsCommon.Remove, "Network", SupportsShouldProcess = true)] - //[RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.)] - public class DeleteNetworkCmdlet : BasePSCmdlet - { - private string _networkId; - private SwitchParameter _removeAll = false; - private SwitchParameter _force = true; - -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "DeleteNetwork", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Server.")] - [Alias("id")] - public string NetworkId - { - get { return _networkId; } - set { _networkId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "DeleteNetwork2", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("all")] - public SwitchParameter RemoveAll - { - get { return _removeAll; } - set { _removeAll = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 2, ParameterSetName = "DeleteNetwork", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("f")] - public SwitchParameter Force - { - get { return _force; } - set { _force = value; } - } -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - private void BuilderEvent(object sender, CreateNetworkEventArgs e) - { - Console.WriteLine(e.Message); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void RemoveAllNetworks() - { - INetworkRepository repository = this.RepositoryFactory.CreateNetworkRepository(); - List networks = repository.GetNetworks(); - - repository.Changed += new Openstack.Objects.DataAccess.Networking.NetworkRepository.CreateNetworkEventHandler(BuilderEvent); - foreach (BaseEntity entity in this.CurrentContainer.Entities) - { - if (entity.Name != "Ext-Net") - { - Console.WriteLine(""); - Console.WriteLine("Removing Network : " + entity.Name); - Console.WriteLine(""); - repository.DeleteNetwork(entity.Id, _force); - } - } - Console.WriteLine(""); - repository.Changed -= new Openstack.Objects.DataAccess.Networking.NetworkRepository.CreateNetworkEventHandler(BuilderEvent); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - - if (_networkId == null && _removeAll == false) - { - Console.WriteLine("Error : "); - } - else - { - if (_removeAll) - { - if (this.UserConfirmsDeleteAction("Networks")) - { - this.RemoveAllNetworks(); - this.UpdateCache(); - } - } - else - { - string id = this.TranslateQuickPickNumber(this.NetworkId); - this.RepositoryFactory.CreateNetworkRepository().DeleteNetwork(id, _force); - this.UpdateCache(); - } - } - - } - - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/DeletePortCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/DeletePortCmdlet.cs deleted file mode 100644 index cfebca4..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/DeletePortCmdlet.cs +++ /dev/null @@ -1,107 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Management.Automation; -using System.Management.Automation.Host; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.DataAccess.Networking; -using Openstack.Objects.Domain; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet(VerbsCommon.Remove, "Port", SupportsShouldProcess = true)] - //[RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class DeletePortCmdlet : BasePSCmdlet - { - private string _floatingIPId; - private SwitchParameter _force = false; - -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "DeletePort", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Server.")] - [Alias("id")] - public string PortId - { - get { return _floatingIPId; } - set { _floatingIPId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "DeletePort2", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("all")] - public SwitchParameter RemoveAll - { - get { return _force; } - set { _force = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void RemoveAllPorts() - { - IPortRepository repository = this.RepositoryFactory.CreatePortRepository(); - Console.WriteLine(""); - - foreach (BaseEntity entity in this.CurrentContainer.Entities) - { - if (entity.Name != null) - Console.WriteLine("Removing Port : " + entity.Name); - else - Console.WriteLine("Removing Port : " + entity.Id); - - repository.DeletePort(entity.Id); - } - Console.WriteLine(""); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - string id = this.TranslateQuickPickNumber(this.PortId); - - if (_force) - { - if (this.UserConfirmsDeleteAction("Ports")) - { - this.RemoveAllPorts(); - this.UpdateCache(); - } - } - else - { - this.RepositoryFactory.CreatePortRepository().DeletePort(id); - this.UpdateCache(); - } - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/DeleteRouterCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/DeleteRouterCmdlet.cs deleted file mode 100644 index 474566a..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/DeleteRouterCmdlet.cs +++ /dev/null @@ -1,106 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Management.Automation; -using System.Management.Automation.Host; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.DataAccess.Networking; -using Openstack.Objects.Domain; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet(VerbsCommon.Remove, "Router", SupportsShouldProcess = true)] - //[RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class DeleteRouterCmdlet : BasePSCmdlet - { - private string _routerId; - private SwitchParameter _force = false; -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "DeleteRouter", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Server.")] - [Alias("rid")] - public string RouterId - { - get { return _routerId; } - set { _routerId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "DeleteRouter2", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("all")] - public SwitchParameter RemoveAll - { - get { return _force; } - set { _force = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void RemoveAllRouters() - { - IRouterRepository repository = this.RepositoryFactory.CreateRouterRepository(); - Console.WriteLine(""); - - foreach (BaseEntity entity in this.CurrentContainer.Entities) - { - if (entity.Name != null) - Console.WriteLine("Removing Router : " + entity.Name); - else - Console.WriteLine("Removing Router : " + entity.Id); - - repository.DeleteRouter(entity.Id); - } - Console.WriteLine(""); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - string id = this.TranslateQuickPickNumber(this.RouterId); - - if (_force) - { - if (this.UserConfirmsDeleteAction("Routers")) - { - this.RemoveAllRouters(); - this.UpdateCache(); - } - } - else - { - this.RepositoryFactory.CreateRouterRepository().DeleteRouter(id); - this.UpdateCache(); - } - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/DeleteRouterInterfaceCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/DeleteRouterInterfaceCmdlet.cs deleted file mode 100644 index 9877c6d..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/DeleteRouterInterfaceCmdlet.cs +++ /dev/null @@ -1,69 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet(VerbsCommon.Remove, "RouterInterface", SupportsShouldProcess = true)] - //[RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class DeleteRouterInterfaceCmdlet : BasePSCmdlet - { - private string _routerId; - private string _subnetId; - -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "DeleteRouterInterface", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Server.")] - [Alias("id")] - public string RouterId - { - get { return _routerId; } - set { _routerId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "DeleteRouterInterface", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Server.")] - [Alias("sid")] - public string SubnetId - { - get { return _subnetId; } - set { _subnetId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - this.RepositoryFactory.CreateRouterRepository().DeleteInterfaceByRouter(this.RouterId, this.SubnetId); - this.UpdateCache(); - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/DeleteSubnetCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/DeleteSubnetCmdlet.cs deleted file mode 100644 index 1396a6c..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/DeleteSubnetCmdlet.cs +++ /dev/null @@ -1,104 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Management.Automation; -using System.Management.Automation.Host; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.DataAccess.Networking; -using Openstack.Objects.Domain; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet(VerbsCommon.Remove, "Subnet", SupportsShouldProcess = true)] - //[RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class DeleteSubnetCmdlet : BasePSCmdlet - { - private string _subnetId; - private SwitchParameter _force = false; - -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "DeleteSubnet", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Server.")] - [Alias("id")] - public string SubnetId - { - get { return _subnetId; } - set { _subnetId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "DeleteSubnet2", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("all")] - public SwitchParameter RemoveAll - { - get { return _force; } - set { _force = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void RemoveAllSubnets() - { - ISubnetRepository repository = this.RepositoryFactory.CreateSubnetRepository(); - Console.WriteLine(""); - - foreach (BaseEntity entity in this.CurrentContainer.Entities) - { - if (entity.Name != null) - Console.WriteLine("Removing Subnet : " + entity.Name); - else - Console.WriteLine("Removing Subnet : " + entity.Id); - - repository.DeleteSubnet(entity.Id); - } - Console.WriteLine(""); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - string id = this.TranslateQuickPickNumber(this.SubnetId); - - if (_force && this.UserConfirmsDeleteAction("Subnets")) - { - this.RemoveAllSubnets(); - this.UpdateCache(); - } - else - { - this.RepositoryFactory.CreateSubnetRepository().DeleteSubnet(id); - this.UpdateCache(); - } - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/NewFloatingIPCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/NewFloatingIPCmdlet.cs deleted file mode 100644 index 462cc4a..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/NewFloatingIPCmdlet.cs +++ /dev/null @@ -1,71 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet(VerbsCommon.New, "FloatingIP", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class NewFloatingIPCmdlet : BasePSCmdlet - { - private string _networkId; - private string _portId; -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "NewFloatingIP", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Server.")] - [Alias("pid")] - public string PortId - { - get { return _portId; } - set { _portId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "NewFloatingIP", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The name of the Server.")] - [Alias("nid")] - public string NetworkId - { - get { return _networkId; } - set { _networkId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - NewFloatingIP newFloatingIP = new NewFloatingIP(); - newFloatingIP.FloatingNetworkId = this.NetworkId; - newFloatingIP.PortId = this.PortId; - - this.RepositoryFactory.CreateFloatingIPRepository().SaveFloatingIP(newFloatingIP); - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/NewNetworkCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/NewNetworkCmdlet.cs deleted file mode 100644 index da11296..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/NewNetworkCmdlet.cs +++ /dev/null @@ -1,127 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.DataAccess.Networking; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet("New", "Network", SupportsShouldProcess = true)] - public class NewNetworkCmdlet : BasePSCmdlet - { - private bool _adminStateUp = true; - private bool _force = true; - private string _name; - private string _cidr = "11.0.3.0/24"; - - #region Properties -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "NewNetwork", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("n")] - public string Name - { - get { return _name; } - set { _name = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 3, ParameterSetName = "NewNetwork", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("cidr")] - public string CidrValue - { - get { return _cidr; } - set { _cidr = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "NewNetwork", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("asu")] - [ValidateNotNullOrEmpty] - public SwitchParameter AdminStateUp - { - get { return _adminStateUp; } - set { _adminStateUp = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 2, ParameterSetName = "NewNetwork", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("f")] - [ValidateNotNullOrEmpty] - public SwitchParameter Force - { - get { return _force; } - set { _force = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - private void BuilderEvent(object sender, CreateNetworkEventArgs e) - { - Console.WriteLine("- " + e.Message); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - Console.WriteLine(""); - NewNetwork newNetwork = new NewNetwork(); - newNetwork.AdminStateUp = _adminStateUp; - newNetwork.Name = _name; - - if (this.CidrValue == null) { - newNetwork.Cidr = "11.0.3.0/24"; - } - else{ - newNetwork.Cidr = this.CidrValue; - } - - INetworkRepository repository = this.RepositoryFactory.CreateNetworkRepository(); - repository.Changed += new Openstack.Objects.DataAccess.Networking.NetworkRepository.CreateNetworkEventHandler(BuilderEvent); - repository.SaveNetwork(newNetwork, this.Force); - repository.Changed -= new Openstack.Objects.DataAccess.Networking.NetworkRepository.CreateNetworkEventHandler(BuilderEvent); - Console.WriteLine(" Network Build Complete!"); - Console.WriteLine(""); - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/NewPortCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/NewPortCmdlet.cs deleted file mode 100644 index 064cf47..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/NewPortCmdlet.cs +++ /dev/null @@ -1,104 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet("New", "Port", SupportsShouldProcess = true)] - public class NewPortCmdlet : BasePSCmdlet - { - private string _name; - private SwitchParameter _admin_state_up = true; - private string _networkId; - private string _deviceId; - - #region Properties -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "NewPort", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("n")] - public string Name - { - get { return _name; } - set { _name = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "NewPort", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("nid")] - public string NetworkId - { - get { return _networkId; } - set { _networkId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 3, ParameterSetName = "NewPort", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("asu")] - - public SwitchParameter AdminStateUp - { - get { return _admin_state_up; } - set { _admin_state_up = value; } - } -//============================================================================ -/// -/// -/// -//============================================================================ - [Parameter(Position = 2, ParameterSetName = "NewPort", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("did")] - public string DeviceId - { - get { return _deviceId; } - set { _deviceId = value; } - } - #endregion - #region Methods -//============================================================================ -/// -/// -/// -//============================================================================ - protected override void ProcessRecord() - { - NewPort newPort = new NewPort(); - newPort.AdminStateUp = this.AdminStateUp; - newPort.DeviceId = this.DeviceId; - newPort.Name = this.Name; - newPort.NetworkId = this.NetworkId; - - this.RepositoryFactory.CreatePortRepository().SavePort(newPort); - - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/NewRouterCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/NewRouterCmdlet.cs deleted file mode 100644 index cec4dc5..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/NewRouterCmdlet.cs +++ /dev/null @@ -1,93 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet("New", "Router", SupportsShouldProcess = true)] - public class NewRouterCmdlet : BasePSCmdlet - { - private bool _adminStateUp = true; - private string _name; - private string _extGatewayNetworkId; - - #region Properties -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 2, ParameterSetName = "NewRouter", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("egw")] - public string ExternalGateway - { - get { return _extGatewayNetworkId; } - set { _extGatewayNetworkId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "NewRouter", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("n")] - public string Name - { - get { return _name; } - set { _name = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "NewRouter", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("asu")] - [ValidateNotNullOrEmpty] - public SwitchParameter AdminStateUp - { - get { return _adminStateUp; } - set { _adminStateUp = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - NewRouter newRouter = new NewRouter(); - newRouter.Name = this.Name; - newRouter.AdminStateUp = this.AdminStateUp; - - if (this.ExternalGateway != null) { - newRouter.ExternalGateway.NetworkId = this.ExternalGateway; - } - - this.RepositoryFactory.CreateRouterRepository().SaveRouter(newRouter); - } - #endregion - - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/NewRouterInterfaceCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/NewRouterInterfaceCmdlet.cs deleted file mode 100644 index 844499a..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/NewRouterInterfaceCmdlet.cs +++ /dev/null @@ -1,101 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet("New", "RouterInterface", SupportsShouldProcess = true)] - public class NewRouterInterfaceCmdlet : BasePSCmdlet - { - private string _subnetId; - private string _portId; - private string _routerId; - - #region Properties -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "NewRouterInterface", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("rid")] - public string RouterId - { - get { return _routerId; } - set { _routerId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "NewRouterInterface", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("sid")] - public string SubnetId - { - get { return _subnetId; } - set { _subnetId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 2, ParameterSetName = "NewRouterInterface", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("pid")] - public string PortId - { - get { return _portId; } - set { _portId = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - NewRouterInterface newRouterInterface = new NewRouterInterface(); - newRouterInterface.PortId = this.PortId; - newRouterInterface.SubnetId = this._subnetId; - newRouterInterface.RouterId = this.RouterId; - - NewRouterInterface response = this.RepositoryFactory.CreateRouterRepository().SaveRouterInterface(newRouterInterface); - if (response.SubnetId != null) - { - Console.WriteLine(""); - Console.WriteLine("New Router Interface created for Subnet Id " + response.SubnetId); - Console.WriteLine(""); - } - else if (response.PortId != null) - { - Console.WriteLine(""); - Console.WriteLine("New Router Interface created for Port Id " + response.PortId); - Console.WriteLine(""); - } - } - #endregion - - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/NewSubnetCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/NewSubnetCmdlet.cs deleted file mode 100644 index 70d6f0f..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/NewSubnetCmdlet.cs +++ /dev/null @@ -1,136 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet("New", "Subnet", SupportsShouldProcess = true)] - public class NewSubnetCmdlet : BasePSCmdlet - { - private string _networkId; - private int _IPVersion; - private string _cidr; - private string[] _allocationPools; - - #region Properties -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "NewSubnet", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("nid")] - public string NetworkId - { - get { return _networkId; } - set { _networkId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "NewSubnet", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("ipv")] - public int IPVersion - { - get { return _IPVersion; } - set { _IPVersion = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 2, ParameterSetName = "NewSubnet", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("c")] - public string Cidr - { - get { return _cidr; } - set { _cidr = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 3, Mandatory = false, ParameterSetName = "NewSubnet", ValueFromPipelineByPropertyName = true, HelpMessage = "Valid values include")] - [Alias("a")] - [ValidateNotNullOrEmpty] - public string[] AllocationPools - { - get { return _allocationPools; } - set { _allocationPools = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - NewSubnet newSubnet = new NewSubnet(); - //newSubnet.AllocationPools = this.FormatAllocationPools(); - newSubnet.Cidr = this.Cidr; - newSubnet.IPversion = this.IPVersion; - newSubnet.NetworkId = this.NetworkId; - - Subnet subnet = this.RepositoryFactory.CreateSubnetRepository().SaveSubnet(newSubnet); - Console.WriteLine(""); - Console.WriteLine("New Subnet " + subnet.Id + " created."); - Console.WriteLine(""); - } -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - public List FormatAllocationPools() - { - if (_allocationPools != null) - { - List allocationPools = new List(); - char[] seperator = { '|' }; - - foreach (string ap in _allocationPools) - { - string[] temp = ap.Split(seperator); - AllocationPool allocationPool = new AllocationPool(); - allocationPool.Start = temp[0]; - allocationPool.End = temp[1]; - - allocationPools.Add(allocationPool); - } - return allocationPools; - } - else - { - return null; - } - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/UnAssignIPCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/UnAssignIPCmdlet.cs deleted file mode 100644 index d487204..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/UnAssignIPCmdlet.cs +++ /dev/null @@ -1,85 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Networking; -using System; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Objects.DataAccess.Networking; -using Openstack.Client.Powershell.Providers.Compute; - -namespace Openstack.Client.Powershell.Cmdlets.Compute.Security -{ - [Cmdlet("UnAssign", "IP", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class UnAssignIPCmdlet : BasePSCmdlet - { - private string _serverId; - private string _ip; - - #region Properties -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "cfgn")] - [Alias("ip")] - [ValidateNotNullOrEmpty] - public string IpAddress - { - get { return _ip; } - set { _ip = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "cfgn")] - [Alias("sid")] - [ValidateNotNullOrEmpty] - public string ServerId - { - get { return _serverId; } - set { _serverId = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - IFloatingIPRepository repository = new FloatingIPRepository(this.Context.GetRepositoryContext("compute")); - UnAssignIPAction assignment = new UnAssignIPAction(); - assignment.ServerId = this.ServerId; - assignment.Ip = this.IpAddress; - - repository.UnAssignIP(assignment); - - Console.WriteLine(""); - Console.WriteLine("Floating IP Address " + this.IpAddress + " has been disassociated with Server : " + assignment.ServerId); - Console.WriteLine(""); - this.UpdateCache(); - } - #endregion - } -} - diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/UpdateFloatingIPCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/UpdateFloatingIPCmdlet.cs deleted file mode 100644 index f9c79ba..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/UpdateFloatingIPCmdlet.cs +++ /dev/null @@ -1,70 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet("Update", "FloatingIP", SupportsShouldProcess = true)] - //[RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class UpdateFloatingIPCmdlet : BasePSCmdlet - { - private string _portId; - private string _floatingIPId; - -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "UpdateFloatingIP", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("fid")] - public string FloatingIPId - { - get { return _floatingIPId; } - set { _floatingIPId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "UpdateFloatingIP", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("pid")] - public string PortId - { - get { return _portId; } - set { _portId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - UpdateFloatingIP updateIP = new UpdateFloatingIP(); - updateIP.PortId = this.PortId; - - this.RepositoryFactory.CreateFloatingIPRepository().UpdateFloatingIP(this.FloatingIPId, updateIP); - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/UpdateNetworkCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/UpdateNetworkCmdlet.cs deleted file mode 100644 index d919366..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/UpdateNetworkCmdlet.cs +++ /dev/null @@ -1,70 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet("Update", "Network", SupportsShouldProcess = true)] - public class UpdateNetworkCmdlet : BasePSCmdlet - { - private string _name; - private string _networkId; -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "UpdateNetwork", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("id")] - public string NetworkId - { - get { return _networkId; } - set { _networkId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "UpdateNetwork", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("n")] - public string Name - { - get { return _name; } - set { _name = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - string id = this.TranslateQuickPickNumber(this.NetworkId); - UpdateNetwork updateNetwork = new UpdateNetwork(); - updateNetwork.Name = this.Name; - - this.RepositoryFactory.CreateNetworkRepository().UpdateNetwork(id, updateNetwork); - this.UpdateCache(); - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/UpdatePortCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/UpdatePortCmdlet.cs deleted file mode 100644 index e4dbd63..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/UpdatePortCmdlet.cs +++ /dev/null @@ -1,73 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet("Update", "Port", SupportsShouldProcess = true)] - public class UpdatePortCmdlet : BasePSCmdlet - { - private string _deviceId; - private string _portId; - - #region Properties -//============================================================================ -/// -/// -/// -//============================================================================ - [Parameter(Position = 0, ParameterSetName = "UpdatePort", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("id")] - public string PortId - { - get { return _portId; } - set { _portId = value; } - } -//============================================================================ -/// -/// -/// -//============================================================================ - [Parameter(Position = 1, ParameterSetName = "UpdatePort", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("did")] - public string DeviceId - { - get { return _deviceId; } - set { _deviceId = value; } - } - #endregion - #region Methods -//============================================================================ -/// -/// -/// -//============================================================================ - protected override void ProcessRecord() - { - UpdatePort updatePort = new UpdatePort(); - updatePort.DeviceId = this.DeviceId; - - this.RepositoryFactory.CreatePortRepository().UpdatePort(this.PortId, updatePort); - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/UpdateRouterCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/UpdateRouterCmdlet.cs deleted file mode 100644 index 54b6518..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/UpdateRouterCmdlet.cs +++ /dev/null @@ -1,70 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet("Update", "Router", SupportsShouldProcess = true)] - public class UpdateRouterCmdlet : BasePSCmdlet - { - private string _networkId; - private string _routerId; - -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "UpdateRouter", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("id")] - public string RouterId - { - get { return _routerId; } - set { _routerId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "UpdateRouter", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("nid")] - public string NetworkId - { - get { return _networkId; } - set { _networkId = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - string id = this.TranslateQuickPickNumber(this.RouterId); - UpdateRouter updateRouter = new UpdateRouter(); - //updateRouter.ExternalGatewayInfo.NetworkId = this.NetworkId; - - this.RepositoryFactory.CreateRouterRepository().UpdateRouter(id, updateRouter); - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/UpdateSubnetCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Networking/UpdateSubnetCmdlet.cs deleted file mode 100644 index de1399d..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/UpdateSubnetCmdlet.cs +++ /dev/null @@ -1,83 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Cmdlets.Networking -{ - [Cmdlet("Update", "Subnet", SupportsShouldProcess = true)] - public class UpdateSubnetCmdlet : BasePSCmdlet - { - private string _gatewayIP; - private string _name; - private string _subnetId; - -//============================================================================ -/// -/// -/// -//============================================================================ - [Parameter(Position = 0, ParameterSetName = "UpdateSubnet", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("id")] - public string SubnetId - { - get { return _subnetId; } - set { _subnetId = value; } - } -//============================================================================ -/// -/// -/// -//============================================================================ - [Parameter(Position = 2, ParameterSetName = "UpdateSubnet", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("egw")] - public string GatewayId - { - get { return _gatewayIP; } - set { _gatewayIP = value; } - } -//============================================================================ -/// -/// -/// -//============================================================================ - [Parameter(Position = 1, ParameterSetName = "UpdateSubnet", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "The Id of the Server.")] - [Alias("n")] - public string Name - { - get { return _name; } - set { _name = value; } - } -//============================================================================ -/// -/// -/// -//============================================================================ - protected override void ProcessRecord() - { - UpdateSubnet updateSubnet = new UpdateSubnet(); - updateSubnet.Name = this.Name; - updateSubnet.GatewayIP = this.GatewayId; - - this.RepositoryFactory.CreateSubnetRepository().UpdateSubnet(_subnetId, updateSubnet); - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/Networking/newclasses b/Openstack.Client.Powershell/Cmdlets/Networking/newclasses deleted file mode 100644 index dbafcf2..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Networking/newclasses +++ /dev/null @@ -1,31 +0,0 @@ - Volume in drive C has no label. - Volume Serial Number is EE3F-CECC - - Directory of C:\Projects\HPCloud\CLI\HPCloud.Client.Powershell\Cmdlets\Networking - -08/23/2013 02:45 PM . -08/23/2013 02:45 PM .. -07/19/2013 04:04 PM 1,386 AllocateIPCmdlet.cs -07/30/2013 08:06 PM 4,351 AssignIPCmdlet.cs -07/19/2013 04:04 PM 2,484 DeallocateIPCmdlet.cs -07/30/2013 08:06 PM 4,871 DeleteFloatingIPCmdlet.cs -08/13/2013 11:01 AM 6,478 DeleteNetworkCmdlet.cs -07/30/2013 08:06 PM 4,771 DeletePortCmdlet.cs -07/30/2013 08:06 PM 4,786 DeleteRouterCmdlet.cs -07/30/2013 08:06 PM 3,491 DeleteRouterInterfaceCmdlet.cs -07/30/2013 08:06 PM 4,745 DeleteSubnetCmdlet.cs -08/23/2013 02:45 PM 0 newclasses -07/30/2013 08:06 PM 3,607 NewFloatingIPCmdlet.cs -07/30/2013 08:06 PM 5,864 NewNetworkCmdlet.cs -07/30/2013 08:06 PM 4,717 NewPortCmdlet.cs -08/10/2013 07:02 PM 4,297 NewRouterCmdlet.cs -07/30/2013 08:06 PM 4,797 NewRouterInterfaceCmdlet.cs -07/30/2013 08:06 PM 6,609 NewSubnetCmdlet.cs -07/30/2013 08:06 PM 4,043 UnAssignIPCmdlet.cs -07/30/2013 08:06 PM 3,507 UpdateFloatingIPCmdlet.cs -07/30/2013 08:06 PM 3,486 UpdateNetworkCmdlet.cs -07/30/2013 08:06 PM 3,370 UpdatePortCmdlet.cs -07/30/2013 08:06 PM 3,512 UpdateRouterCmdlet.cs -07/30/2013 08:06 PM 3,879 UpdateSubnetCmdlet.cs - 22 File(s) 89,051 bytes - 2 Dir(s) 6,555,230,208 bytes free diff --git a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/CDN/GetCDNCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/ObjectStorage/CDN/GetCDNCmdlet.cs deleted file mode 100644 index dc9f3e9..0000000 --- a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/CDN/GetCDNCmdlet.cs +++ /dev/null @@ -1,54 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Cmdlets.Common; -using System.Management.Automation; -using Openstack.Objects.Domain; -using Openstack.Client.Powershell.Providers.Common; - -namespace Openstack.Client.Powershell.Cmdlets.Storage.CDN -{ - [Cmdlet(VerbsCommon.Get, "CDN", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.CDN)] - public class GetCDNCmdlet : BasePSCmdlet - { -//========================================================================================= -/// -/// The main driver.. -/// -//========================================================================================= - protected override void ProcessRecord() - { - List containers = this.RepositoryFactory.CreateCDNRepository().GetContainers(); - - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("=============================================================================================="); - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine("The following Storage Containers are CDN enabled"); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("=============================================================================================="); - Console.ForegroundColor = ConsoleColor.Green; - Console.WriteLine(""); - - - this.WriteObject(containers); - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/CDN/NewCDNCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/ObjectStorage/CDN/NewCDNCmdlet.cs deleted file mode 100644 index aa02390..0000000 --- a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/CDN/NewCDNCmdlet.cs +++ /dev/null @@ -1,89 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Management.Automation; -using Openstack.Objects.DataAccess; -using Openstack.Objects.Domain; -using System.IO; -using Openstack.Client.Powershell.Providers.Storage; -using System.Diagnostics; -using Openstack.Common; -using System.Diagnostics.Contracts; -using System.Collections; -using System.Linq; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; - -namespace Openstack.Client.Powershell.Cmdlets.Storage.CDN -{ - [Cmdlet(VerbsCommon.New, "CDN", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.CDN)] - public class NewCDNCmdlet : BasePSCmdlet - { - private string _containerName; -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, Mandatory = true, ParameterSetName = "EnableCDN", ValueFromPipelineByPropertyName = true, HelpMessage = "The Name of the Container to enable for CDN access.")] - [Alias("n")] - [ValidateNotNullOrEmpty] - public string ContainerName - { - get { return _containerName; } - set { _containerName = value; } - } -//========================================================================================= -/// -/// The main driver.. -/// -//========================================================================================= - protected override void ProcessRecord() - { - List containers = this.RepositoryFactory.CreateContainerRepository().GetStorageContainers(); - if (!containers.Any(c => c.Name == this.ContainerName)) - { - Console.ForegroundColor = ConsoleColor.Red; - Console.WriteLine(""); - Console.WriteLine ("Storage Container not found. Please specify an existing Storage Container name to pair with this CDN entry."); - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.Green; - } - else - { - string url = this.RepositoryFactory.CreateCDNRepository().SaveContainer(this.ContainerName); - if (url != null) - { - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("================================================================================================================"); - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine("CDN entry created successfully. The URL below can be combined with object names to serve objects through the CDN."); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("================================================================================================================"); - Console.ForegroundColor = ConsoleColor.Green; - Console.WriteLine(""); - Console.WriteLine(url); - Console.WriteLine(""); - } - } - } - } -} - - \ No newline at end of file diff --git a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/CDN/RemoveCDNCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/ObjectStorage/CDN/RemoveCDNCmdlet.cs deleted file mode 100644 index 8756128..0000000 --- a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/CDN/RemoveCDNCmdlet.cs +++ /dev/null @@ -1,62 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Management.Automation; -using Openstack.Objects.DataAccess; -using Openstack.Objects.Domain; -using System.IO; -using Openstack.Client.Powershell.Providers.Storage; -using System.Diagnostics; -using Openstack.Common; -using System.Diagnostics.Contracts; -using System.Collections; -using System.Linq; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; - -namespace Openstack.Client.Powershell.Cmdlets.Storage.CDN -{ - [Cmdlet(VerbsCommon.Remove, "CDN", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.CDN)] - public class RemoveCDNCmdlet : BasePSCmdlet - { - private string _containerName; -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Mandatory = true, ParameterSetName = "EnableCDN", ValueFromPipelineByPropertyName = true, HelpMessage = "The Name of the Container to enable for CDN access.")] - [Alias("n")] - [ValidateNotNullOrEmpty] - public string ContainerName - { - get { return _containerName; } - set { _containerName = value; } - } -//========================================================================================= -/// -/// The main driver.. -/// -//========================================================================================= - protected override void ProcessRecord() - { - this.RepositoryFactory.CreateCDNRepository().DeleteContainer(this.ContainerName); - } - } -} - diff --git a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Containers/MigrateDriveCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Containers/MigrateDriveCmdlet.cs deleted file mode 100644 index 4a3e6be..0000000 --- a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Containers/MigrateDriveCmdlet.cs +++ /dev/null @@ -1,265 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.DataAccess.Storage; -using Openstack.Migrations; -using System; -using Openstack.Client.Powershell.Providers.Storage; -using Openstack.Client.Powershell.Providers.Common; - -namespace Openstack.Client.Powershell.Cmdlets.Containers -{ - [Cmdlet("Migrate", "Drive", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.ObjectStorage)] - public class MigrateDriveCmdlet : BasePSCmdlet - { - private string _accessKeyID; - private string _secretAccessKeyID; - private long _bytesCopied = 0; - private int _filesCopied = 0; - private long _totalBytesCopied = 0; - private int _totalFilesCopied = 0; - private string[] _buckets; - private string _provider; - - #region Parameters - -//========================================================================================= -/// -/// The location of the file to set permissions on. -/// -//========================================================================================= - [Parameter(ParameterSetName = "localStore", Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = " ")] - [ValidateSet("Skydrive", "Dropbox", "S3")] - [Alias("p")] - [ValidateNotNullOrEmpty] - public string Provider - { - get { return _provider; } - set { _provider = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 3, Mandatory = false, ParameterSetName = "localStore", ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("ak")] - [ValidateNotNullOrEmpty] - public string AccessKeyId - { - get { return _accessKeyID; } - set { _accessKeyID = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 2, ParameterSetName = "localStore", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("sk")] - [ValidateNotNullOrEmpty] - public string SecretAccessKeyId - { - get { return _secretAccessKeyID; } - set { _secretAccessKeyID = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, Mandatory = false, ParameterSetName = "localStore", ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("b")] - [ValidateNotNullOrEmpty] - public string[] Buckets - { - get { return _buckets; } - set { _buckets = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void PrintTotals() - { - Console.ForegroundColor = ConsoleColor.Gray; - Console.WriteLine(""); - Console.WriteLine("--------------------------------------"); - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine("Operation Summary"); - Console.ForegroundColor = ConsoleColor.Gray; - Console.WriteLine("--------------------------------------"); - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine("Total Files Copied : " + Convert.ToString(_totalFilesCopied)); - Console.WriteLine("Total Bytes Copied : " + Convert.ToString(_totalBytesCopied)); - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.Green; - - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void MigrateS3Drive() - { - //AWSMigration migration = new AWSMigration("AKIAJ6SAONGOGCUKSONA", "0Hi00F7zlFwGi8a45qRhGfW2Btf+FAioZhfD+99K"); - AWSMigration migration = new AWSMigration(_accessKeyID, _secretAccessKeyID); - if (_buckets == null) _buckets = migration.GetBuckets(); - - migration.Changed += new Openstack.Migrations.AWSMigration.CopyOperationEventHandler(ListChanged); - migration.ContainerCreated += new Openstack.Migrations.AWSMigration.CreateContainerOperationEventHandler(OnCreateContainer); - - Console.WriteLine(""); - foreach (string bucketName in _buckets) - { - _bytesCopied = 0; - _filesCopied = 0; - - Console.ForegroundColor = ConsoleColor.Gray; - Console.WriteLine(""); - Console.WriteLine("--------------------------------------"); - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine("Processing Bucket : " + bucketName); - Console.ForegroundColor = ConsoleColor.Gray; - Console.WriteLine("--------------------------------------"); - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.Green; - migration.MigrateBucket(bucketName); - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine("Files Copied : " + Convert.ToString(_filesCopied)); - Console.WriteLine("Bytes Copied : " + Convert.ToString(_bytesCopied)); - Console.ForegroundColor = ConsoleColor.Green; - Console.WriteLine(""); - } - - this.PrintTotals(); - migration.Changed -= new Openstack.Migrations.AWSMigration.CopyOperationEventHandler(ListChanged); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void MigrateLocalDrive() - { - LocalStoreMigration migration = new LocalStoreMigration(); - - migration.Changed += new Openstack.Migrations.LocalStoreMigration.CopyOperationEventHandler(ListChanged); - Console.WriteLine(""); - - _bytesCopied = 0; - _filesCopied = 0; - - Console.ForegroundColor = ConsoleColor.Gray; - Console.WriteLine(""); - Console.WriteLine("--------------------------------------"); - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine("Migrating local " + _provider + " store."); - Console.ForegroundColor = ConsoleColor.Gray; - Console.WriteLine("--------------------------------------"); - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.Green; - - if (_provider == "Dropbox") - migration.MigrateLocalStore(StorageProvider.DropBox); - else - migration.MigrateLocalStore(StorageProvider.SkyDrive); - - this.PrintTotals(); - migration.Changed -= new Openstack.Migrations.LocalStoreMigration.CopyOperationEventHandler(ListChanged); - } -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - private void OnCreateContainer(object sender, CreateContainerOperationInfoEventArgs e) - { - PSDriveInfo psDriveInfo = new PSDriveInfo(e.ContainerName, this.Drive.Provider, "/", "", null); - OSDriveParameters driveParameters = new OSDriveParameters(); - driveParameters.Settings = this.Settings; - try - { - this.SessionState.Drive.New(new OSDriveInfo(psDriveInfo, driveParameters, this.Context), "local"); - } - catch (SessionStateException ex) { } - } -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - private void ListChanged(object sender, CopyOperationInfoEventArgs e) - { - if (e.ExceptionMessage == null) - { - if (e.Filename != null || e.Filename != string.Empty) - { - Console.WriteLine("Copying file " + e.Filename); - _bytesCopied = _bytesCopied + e.BytesCopied; - ++_filesCopied; - _totalBytesCopied = _totalBytesCopied + e.BytesCopied; - ++_totalFilesCopied; - } - } - else - { - Console.ForegroundColor = ConsoleColor.Red; - Console.WriteLine("Error : " + e.ExceptionMessage); - Console.ForegroundColor = ConsoleColor.Green; - } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - if (_provider == "S3") - { - if (_accessKeyID == null || _secretAccessKeyID == null) - { - Console.ForegroundColor = ConsoleColor.Red; - Console.WriteLine("Please supply both Secret key and Access key parameters to migrate your S3 Buckets."); - Console.ForegroundColor = ConsoleColor.Green; - this.MigrateS3Drive(); - } - else - { - this.MigrateS3Drive(); - } - } - else - { - this.MigrateLocalDrive(); - } - } - #endregion - } - } diff --git a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Containers/NewContainerCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Containers/NewContainerCmdlet.cs deleted file mode 100644 index 28d46a3..0000000 --- a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Containers/NewContainerCmdlet.cs +++ /dev/null @@ -1,306 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Objects.DataAccess; -using Openstack.Objects.Domain; -using Openstack.Client.Powershell.Providers.Storage; -using System.Collections.ObjectModel; -using System.Management.Automation.Host; -using Openstack.Client.Powershell.Cmdlets.Common; -using System; -using Openstack.Client.Powershell.Providers.Common; -using System.Collections.Generic; -using System.Linq; -using System.Net; -using System.Net.Sockets; -using System.Xml.Linq; -using System.IO; - -namespace Openstack.Client.Powershell.Cmdlets.Containers -{ - [Cmdlet(VerbsCommon.New, "Container", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.ObjectStorage)] - public class NewContainerCmdlet : BasePSCmdlet - { - private string _name; - private string _sharedContainerURL = null; - private bool _forceSave = false; - private bool _createCDN = false; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "SaveSharedStorageContainer", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("url")] - [ValidateNotNullOrEmpty] - public string SharedContainerURL - { - get { return _sharedContainerURL; } - set { _sharedContainerURL = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "SavestorageContainer", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("n")] - [ValidateNotNullOrEmpty] - public string Name - { - get { return _name; } - set { _name = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(ParameterSetName = "SavestorageContainer", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("cdn")] - [ValidateNotNullOrEmpty] - public SwitchParameter CreateCDN - { - get { return _createCDN; } - set { _createCDN = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, ParameterSetName = "SavestorageContainer", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("f")] - [ValidateNotNullOrEmpty] - public SwitchParameter Force - { - get { return _forceSave; } - set { _forceSave = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void CreateStorageContainer(StorageContainer storageContainer) - { - IContainerRepository repository = this.RepositoryFactory.CreateContainerRepository(); - bool skipAdd = false; - - // These should be transacted somehow.. - - repository.SaveContainer(storageContainer); - - Collection drives = this.SessionState.Drive.GetAllForProvider("OS-Storage"); - foreach (PSDriveInfo drive in drives) - { - if (drive.Name == storageContainer.Name) - { - skipAdd = true; - } - } - if (!skipAdd) - { - PSDriveInfo psDriveInfo = new PSDriveInfo(storageContainer.Name, this.GetStorageProvider(drives), "/", "", null); - OSDriveParameters driveParameters = new OSDriveParameters(); - driveParameters.Settings = this.Settings; - - this.SessionState.Drive.New(new OSDriveInfo(psDriveInfo, driveParameters, this.Context), "local"); - } - - this.WriteObject(" "); - this.WriteObject("Storage Container " + _name + " created successfully."); - this.WriteObject(" "); - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private bool IsDuplicateContainer(string container) - { - List containers = this.RepositoryFactory.CreateContainerRepository().GetStorageContainers(); - return containers.Where(cn => cn.Name == container).Any(); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void SaveNewContainer() - { - StorageContainer storageContainer = new StorageContainer(); - storageContainer.Name = _name; - - if (IsDuplicateContainer(this.Name)) - { - this.WriteObject(" "); - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - Console.WriteLine("Storage Container " + _name + " already exist."); - Console.WriteLine(""); - return; - } - - if (storageContainer.ValidateBasicRequirements() == false) - { - this.WriteObject(" "); - this.WriteObject("Storage Container " + _name + " has failed basic validation rules. Please ensure that the name doesn't include a forward slash, single or double quote character and is less than 255 characters in length."); - return; - } - else if (storageContainer.ValidateExtendedRequirements() == false) - { - - // Check to see if the Container already exist.. Or not maybe it does z - - if (_forceSave) - { - this.CreateStorageContainer(storageContainer); - if (_createCDN) - { - this.RepositoryFactory.CreateCDNRepository().SaveContainer(_name); - } - } - else - { - Collection choices = new Collection(); - choices.Add(new ChoiceDescription("Y", "Yes")); - choices.Add(new ChoiceDescription("N", "No")); - - if (this.Host.UI.PromptForChoice("Confirm Action", "Specified Storage Container name is not a valid virtalhost name, continue anyway?", choices, 0) == 0) - { - this.CreateStorageContainer(storageContainer); - if (_createCDN) - { - this.RepositoryFactory.CreateCDNRepository().SaveContainer(_name); - } - } - } - } - else - { - this.CreateStorageContainer(storageContainer); - if (_createCDN) - { - this.RepositoryFactory.CreateCDNRepository().SaveContainer(_name); - } - - } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void CreateSharedDrive(string drivePath) - { - string driveName = Path.GetFileName(drivePath); - Collection drives = this.SessionState.Drive.GetAllForProvider("OS-Storage"); - PSDriveInfo psDriveInfo = new PSDriveInfo(driveName, this.GetStorageProvider(drives), "/", "", null); - OSDriveParameters driveParameters = new OSDriveParameters(); - driveParameters.Settings = this.Settings; - OSDriveInfo newDrive = new OSDriveInfo(psDriveInfo, driveParameters, this.Context); - newDrive.SharePath = drivePath; - - this.SessionState.Drive.New(newDrive, "local"); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void SaveSharedContainer() - { - if (this.IsUrlValid(this.SharedContainerURL)) - { - string configFilePath = this.ConfigFilePath; - XDocument doc = XDocument.Load(configFilePath); - XElement newDrive = new XElement("SharedContainer"); - newDrive.Add(new XAttribute("url", this.SharedContainerURL)); - - doc.Element("configuration").Element("appSettings").Element("StorageManagement").Element("SharedContainers").Add(newDrive); - doc.Save(configFilePath); - this.CreateSharedDrive(this.SharedContainerURL); - } - else - { - Console.WriteLine("Invalid URL supplied"); - } - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private ProviderInfo GetStorageProvider(Collection drives) - { - foreach (PSDriveInfo drive in drives) - { - if (drive.Provider.Name == "OS-Storage") - { - return drive.Provider; - } - } - return null; - } -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - private bool IsUrlValid(string smtpHost) - { - return true; - bool br = false; - try - { - IPHostEntry ipHost = Dns.GetHostEntry(smtpHost); - br = true; - } - catch (SocketException se) - { - br = false; - } - return br; - } -//========================================================================================= -/// -/// qqqqqqqqqqq -/// -//========================================================================================= - protected override void ProcessRecord() - { - if (_sharedContainerURL != null) - { - this.SaveSharedContainer(); - } - else - { - this.SaveNewContainer(); - } - } - #endregion - } -} - diff --git a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Containers/RemoveContainerCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Containers/RemoveContainerCmdlet.cs deleted file mode 100644 index 1a2e78d..0000000 --- a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Containers/RemoveContainerCmdlet.cs +++ /dev/null @@ -1,274 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Management.Automation; -using Openstack.Objects.DataAccess; -using Openstack.Objects.Domain; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.DataAccess; -using System.Collections.ObjectModel; -using System.Management.Automation.Host; -using Openstack.Common.Properties; -using Openstack.Client.Powershell.Providers.Common; -using System.Xml.Linq; -using System.Xml.XPath; - -namespace Openstack.Client.Powershell.Cmdlets.Containers -{ - [Cmdlet(VerbsCommon.Remove, "Container", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.ObjectStorage)] - public class RemoveContainerCmdlet : BasePSCmdlet - { - private string _name; - private SwitchParameter _forceDelete = false; - private SwitchParameter _reset = false; - private bool _removeCDN = false; - - #region Properties -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(ParameterSetName = "RemoveContainer", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("cdn")] - [ValidateNotNullOrEmpty] - public SwitchParameter RemoveCDN - { - get { return _removeCDN; } - set { _removeCDN = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "RemoveContainer", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] - [Alias("n")] - [ValidateNotNullOrEmpty] - public string Name - { - get { return _name; } - set { _name = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, Mandatory = false, ParameterSetName = "RemoveContainer", ValueFromPipelineByPropertyName = true, HelpMessage = "s")] - [Alias("fd")] - [ValidateNotNullOrEmpty] - public SwitchParameter ForceDelete - { - get { return _forceDelete; } - set { _forceDelete = value; } - } - #endregion - #region Methods -//====================================================================================================================== -/// -/// -/// -/// Name of the Container to trash -//====================================================================================================================== - private bool DeleteContainerContents(StorageContainer storageContainer) - { - List containerItems = null; - IStorageObjectRepository repository = this.RepositoryFactory.CreateStorageObjectRepository(); - - try - { - containerItems = repository.GetStorageObjects(storageContainer.Name, true); - } - catch (Exception ex) - { - return false; - } - - // Define our Action delegate which will delete the element in the list.. - - if (containerItems != null) - { - Action deleteStorageObjectAction = delegate(StorageObject storageObject) - { - StoragePath targetPath = this.CreateStoragePath(storageObject.Key); - repository.DeleteStorageObject(targetPath.AbsoluteURI); - }; - - // Remove all Files contained within the storageContainer... - - if (containerItems != null) - { - containerItems.ForEach(deleteStorageObjectAction); - return true; - } - } - return true; - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void DeleteAllContainers() - { - IContainerRepository repository = this.RepositoryFactory.CreateContainerRepository(); - List containers = repository.GetStorageContainers(); - - foreach (StorageContainer container in containers) - { - try - { - // repository.DeleteContainer(container); - } - catch (Exception) { } - } - } -//====================================================================================================================== -/// -/// -/// -/// -/// -//====================================================================================================================== - private string GetContainerName(string url) - { - string[] elements = url.Split('/'); - return elements[elements.Length - 1]; - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private bool RemoveSharedContainer() - { - bool entryRemoved = false; - List results = new List(); - string configFilePath = this.ConfigFilePath; - XDocument doc = XDocument.Load(configFilePath); - IEnumerable containers = doc.XPathSelectElements("//SharedContainer"); - - foreach (XElement element in containers) - { - string sharedPath = (string)element.Attribute("url"); - if (this.GetContainerName(sharedPath) == this.Name) - { - element.Remove(); - entryRemoved = true; - } - } - doc.Save(configFilePath); - this.SessionState.Drive.Remove(this.Name, true, "local"); - if (this.Name == this.SessionState.Drive.Current.Name) - this.SessionState.InvokeCommand.InvokeScript("cd c:"); - - return entryRemoved; - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - if (RemoveSharedContainer() == true) return; - - Collection choices = new Collection(); - choices.Add(new ChoiceDescription("Y", "Yes")); - choices.Add(new ChoiceDescription("N", "No")); - - if (_forceDelete == false) - { - if (this.Host.UI.PromptForChoice("Confirm Action", "You are about to delete an entire Container. Are you sure about this?", choices, 0) == 0) - { - IContainerRepository repository = this.RepositoryFactory.CreateContainerRepository(); - StorageContainer storageContainer = new StorageContainer(); - storageContainer.Name = _name; - - try - { - repository.DeleteContainer(storageContainer); - if (_removeCDN) - { - this.RepositoryFactory.CreateCDNRepository().DeleteContainer(_name); - } - } - catch (Exception ex) - { - // The container has content and the operation is in conflict. Destroy all contents then retry (the User knows what's up). - - if (ex.Message == "Unknown Repository Error") - { - if (DeleteContainerContents(storageContainer)) - { - repository.DeleteContainer(storageContainer); - if (_removeCDN) - { - this.RepositoryFactory.CreateCDNRepository().DeleteContainer(_name); - } - } - } - } - try - { - this.SessionState.Drive.Remove(storageContainer.Name, true, "local"); - if (storageContainer.Name == this.SessionState.Drive.Current.Name) - this.SessionState.InvokeCommand.InvokeScript("cd c:"); - } - catch (DriveNotFoundException ex) { } - } - else - { - return; - } - } - else - { - IContainerRepository repository = this.RepositoryFactory.CreateContainerRepository(); - StorageContainer storageContainer = new StorageContainer(); - storageContainer.Name = _name; - - try - { - repository.DeleteContainer(storageContainer); - } - catch (Exception ex) - { - // The container has content and the operation is in conflict. Destroy all contents then retry (the User knows what's up). - - if (ex.Message == "Unknown Repository Error") - { - if (DeleteContainerContents(storageContainer)) - { - repository.DeleteContainer(storageContainer); - if (_removeCDN) - { - this.RepositoryFactory.CreateCDNRepository().DeleteContainer(_name); - } - } - } - - } - } - #endregion - } - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Containers/SetScopeCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Containers/SetScopeCmdlet.cs deleted file mode 100644 index 7ddc553..0000000 --- a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Containers/SetScopeCmdlet.cs +++ /dev/null @@ -1,191 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Management.Automation; -using Openstack.Objects.DataAccess; -using Openstack.Objects.DataAccess; -using Openstack.Objects.Domain; -using System.IO; -using Openstack.Client.Powershell.Providers.Storage; -using Openstack.Common; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Storage; -using System.Collections.Generic; - -namespace Openstack.Client.Powershell.Cmdlets.Containers -{ - [Cmdlet(VerbsCommon.Set, "Scope", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.ObjectStorage)] - public class SetScopeCmdlet : BasePSCmdlet - { - private string _containerName; - private ContainerScope _scope; - private string _permission; - private string[] _users; - - #region Parameters -//========================================================================================= -/// -/// The Container name. -/// -//========================================================================================= - [Parameter(ParameterSetName = "scp1", Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = @"The Container name.")] - [Alias("cn")] - [ValidateNotNullOrEmpty] - public string ContainerName - { - get { return _containerName; } - set { _containerName = value; } - } -//========================================================================================= -/// -/// The Container name. -/// -//========================================================================================= - [Parameter(ParameterSetName = "scp2", Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = @"The Container name.")] - [Alias("c")] - [ValidateNotNullOrEmpty] - public string Name - { - get { return _containerName; } - set { _containerName = value; } - } -//========================================================================================= -/// -/// The location of the file to set permissions on. -/// -//========================================================================================= - [Parameter(ParameterSetName = "scp2", Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "The Containers Scope.")] - [ValidateSet("Public", "Private")] - [Alias("s")] - [ValidateNotNullOrEmpty] - public ContainerScope Scope - { - get { return _scope; } - set { _scope = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(ParameterSetName = "scp1", Position = 2, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "c")] - [Alias("u")] - [ValidateNotNullOrEmpty] - public string[] Users - { - get { return _users; } - set { _users = value; } - } -//========================================================================================= -/// -/// The location of the file to set permissions on. -/// -//========================================================================================= - [Parameter(ParameterSetName = "scp1", Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "v")] - [ValidateSet("Read", "Write", "ReadWrite")] - [Alias("p")] - [ValidateNotNullOrEmpty] - public string Permission - { - get { return _permission; } - set { _permission = value; } - } - #endregion - #region Methods -//======================================================================================== -/// -/// -/// -/// -/// -//======================================================================================== - private ContainerPermissions GetPermission(string permission) - { - switch (permission) - { - case ("Read") : - return ContainerPermissions.PublicRead; - - case ("ReadWrite"): - return ContainerPermissions.PublicReadWrite; - - case ("Write"): - return ContainerPermissions.PublicWrite; - - default : - return ContainerPermissions.PublicRead; - } - } -//======================================================================================== -/// -/// -/// -/// -/// -//======================================================================================== - private List GetUsers(string[] users) - { - List userList = new List(); - foreach (string user in users) { - userList.Add("*:" + user); - } - return userList; - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void ShowUrl() - { - StoragePath path = this.CreateStoragePath(String.Empty); - path.Volume = _containerName; - string uri = path.AbsoluteURI.Remove(path.AbsoluteURI.LastIndexOf('/')); - - if (this.Settings.PasteGetURIResultsToClipboard) - OutClipboard.SetText(uri); - - WriteObject(""); - WriteObject("Shared Container located at : " + uri); - WriteObject(""); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - IContainerRepository repository = this.RepositoryFactory.CreateContainerRepository(); - - if (this.ParameterSetName == "scp2") - { - repository.SetScope(_containerName, _scope); - } - else - { - ContainerACL acl = new ContainerACL(); - acl.Permission = this.GetPermission(_permission); - acl.Users = this.GetUsers(_users); - repository.SetScope(_containerName, acl); - this.ShowUrl(); - } - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Objects/CopyItemCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Objects/CopyItemCmdlet.cs deleted file mode 100644 index 23b5dfb..0000000 --- a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Objects/CopyItemCmdlet.cs +++ /dev/null @@ -1,291 +0,0 @@ -///* ============================================================================ -//Copyright 2014 Hewlett Packard - -//Licensed under the Apache License, Version 2.0 (the "License"); -//you may not use this file except in compliance with the License. -//You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -//Unless required by applicable law or agreed to in writing, software -//distributed under the License is distributed on an "AS IS" BASIS, -//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -//See the License for the specific language governing permissions and -//limitations under the License. -//============================================================================ */ -//using System.Management.Automation; -//using OpenStack; -//using OpenStack.Client.Powershell.Providers.Storage; -//using System; -//using OpenStack.Client.Powershell.Providers.Common; -//using System.IO; -//using OpenStack.Client.Powershell.Utility; -//using OpenStack.Storage; -//using System.Net.Http; - -//namespace OpenStack.Client.Powershell.Cmdlets.Common -//{ -// [Cmdlet(VerbsCommon.Copy, "Item", SupportsShouldProcess = true)] -// //[RequiredServiceIdentifierAttribute(OpenStack.Objects.Domain.Admin.Services.ObjectStorage)] -// public class CopyItemCmdlet : BasePSCmdlet -// { -// public const string cDelimiter = "/"; -// const string cFolderMarker = "folder.txt"; -// private string _sourcePath; -// private string _targetPath; -// private SwitchParameter _recursive; -// private long _bytesCopied = 0; -// private int _filesCopied = 0; -// private long _totalBytesCopied = 0; -// private int _totalFilesCopied = 0; - -// #region Ctors -////========================================================================================= -///// -///// -///// -////========================================================================================= -// public CopyItemCmdlet() -// { } -// #endregion -// #region Parameters -////========================================================================================= -///// -///// -///// -////========================================================================================= -// [Parameter(Mandatory = false, ParameterSetName = "aa", ValueFromPipelineByPropertyName = true, HelpMessage = "oih")] -// [Alias("recurse")] -// [ValidateNotNullOrEmpty] -// public SwitchParameter Recursive -// { -// get { return _recursive; } -// set { _recursive = value; } -// } -////========================================================================================= -///// -///// The location of the file to copy. -///// -////========================================================================================= -// [Parameter(Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true, ParameterSetName = "aa", ValueFromPipeline = true, HelpMessage = "Help Text")] -// [ValidateNotNullOrEmpty] -// public string SourcePath -// { -// get { return _sourcePath; } -// set { _sourcePath = value; } -// } -////========================================================================================= -///// -///// The destination of the file to copy. -///// -////========================================================================================= -// [Parameter(Position = 2, Mandatory = false, ValueFromPipeline = true, ParameterSetName = "aa", ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] -// [ValidateNotNullOrEmpty] -// public string TargetPath -// { -// get { return _targetPath; } -// set -// { -// if (value.StartsWith(@"/") || value.StartsWith(@"\")) -// { -// _targetPath = value.Substring(1, _targetPath.Length - 1); -// } -// else -// { -// _targetPath = value; -// } -// } -// } -// #endregion -// #region Properties -////================================================================================================== -///// -///// -///// -////================================================================================================== -// private string StorageServiceURL -// { -// get -// { -// if (((ObjectStoragePSDriveInfo)this.Drive).SharePath == null) -// return this.Context.ServiceCatalog.GetPublicEndpoint("Object Storage", String.Empty); -// else -// //return ((OSDriveInfo)this.Drive).SharePath; -// return ((ObjectStoragePSDriveInfo)this.Drive).SharePath.Replace(this.Drive.Name, string.Empty); -// } -// } -// #endregion -// #region Methods -////========================================================================================= -///// -///// -///// -////========================================================================================= -// private void PrintTotals() -// { -// Console.ForegroundColor = ConsoleColor.Gray; -// Console.WriteLine(""); -// Console.WriteLine("--------------------------------------"); -// Console.ForegroundColor = ConsoleColor.Yellow; -// Console.WriteLine("Operation Summary"); -// Console.ForegroundColor = ConsoleColor.Gray; -// Console.WriteLine("--------------------------------------"); -// Console.WriteLine(""); -// Console.ForegroundColor = ConsoleColor.Yellow; -// Console.WriteLine("Total Files Copied : " + Convert.ToString(_totalFilesCopied)); -// Console.WriteLine("Total Bytes Copied : " + Convert.ToString(_totalBytesCopied)); -// Console.WriteLine(""); -// Console.ForegroundColor = ConsoleColor.Green; - -// } -////================================================================================================= -///// -///// -///// -///// -///// -////================================================================================================= -// private bool IsFolderPath(string path) -// { -// if (path.EndsWith(@"\") || path.EndsWith("/")) -// { -// return true; -// } -// else -// { -// return false; -// } -// } -////================================================================================================= -///// -///// -///// -///// -///// -///// -////================================================================================================= -// private StoragePath CreateValidTargetPath(StoragePath sourcePath, string targetPath) -// { -// if (targetPath == null && sourcePath != null) -// { -// // The user has supplied a source but no target at all (we should use the current folder) - -// return new StoragePath(this.StorageServiceURL + cDelimiter + this.Drive.Name + cDelimiter + this.Drive.CurrentLocation + cDelimiter + sourcePath.FileName); -// } -// else if (System.IO.Path.GetFileName(targetPath) == "" && this.IsFolderPath(targetPath) == true) -// { -// // The user supplied a target path but no filename (we will use the Source filename) - -// return this.CreateStoragePath(targetPath + sourcePath.FileName); -// } -// else -// { -// // The user has supplied a target path and target filename so create the StoragePath against that... - -// return this.CreateStoragePath(targetPath); -// } -// } -////========================================================================================= -///// -///// -///// -///// -///// -////========================================================================================= -// //private void ListChanged(object sender, CopyOperationInfoEventArgs e) -// //{ -// // //if (e.ExceptionMessage == null) -// // //{ -// // // if (e.Filename != null || e.Filename != string.Empty) -// // // { -// // // Console.WriteLine("Copying file " + e.Filename); -// // // _bytesCopied = _bytesCopied + e.BytesCopied; -// // // ++_filesCopied; -// // // _totalBytesCopied = _totalBytesCopied + e.BytesCopied; -// // // ++_totalFilesCopied; -// // // } -// // //} -// // //else -// // //{ -// // // Console.ForegroundColor = ConsoleColor.Red; -// // // Console.WriteLine("Error : " + e.ExceptionMessage); -// // // Console.ForegroundColor = ConsoleColor.Green; -// // //} -// //} -////================================================================================ -///// -///// -///// -///// -///// -////================================================================================ -// private FileStream GetFileStream(StoragePath path) -// { -// if (!path.Volume.EndsWith(@"\") && !path.Path.StartsWith(@"\")) -// { -// return new FileStream(path.Volume + @"\" + path.Path, FileMode.Open); -// } -// else -// { -// return new FileStream(path.Volume + path.Path, FileMode.Open); -// } -// } -////================================================================================================= -///// -///// Direct the operation based on the types of paths supplied for both target and source locations. -///// -////================================================================================================= -// private void ProcessNonQueuedCopy() -// { -// StoragePath sourcePath = this.CreateStoragePath(this.SourcePath); -// StoragePath targetPath = this.CreateValidTargetPath(sourcePath, this.TargetPath); -// IStorageServiceClient service = this.CoreClient.CreateServiceClient(); -// string containerName = Path.GetFileNameWithoutExtension(this.SourcePath); - - -// if (sourcePath.PathType == PathType.Local && targetPath.PathType == PathType.Remote) { -// service.CreateStorageObject(containerName, targetPath.ResourcePath, null, this.GetFileStream(sourcePath)); -// } - - - -// //StoragePath sourcePath = this.CreateStoragePath(this.SourcePath); -// //StoragePath targetPath = this.CreateValidTargetPath(sourcePath, this.TargetPath); -// //IStorageObjectRepository repository = this.RepositoryFactory.CreateStorageObjectRepository(); - - -// //if (sourcePath.PathType == OpenStack.Common.PathType.Local && targetPath.PathType == OpenStack.Common.PathType.Remote) -// //{ -// // long lastSegment = repository.GetLastSegmentId(targetPath); -// // if (lastSegment != 0) -// // { -// // Console.WriteLine(""); -// // Console.WriteLine(" You've already uploaded a portion of this file."); -// // Console.WriteLine(" Would you like to resume your previous upload? [Y/N]"); -// // ConsoleKeyInfo response = Console.ReadKey(); -// // if (response.Key != ConsoleKey.Y) -// // { -// // repository.DeleteStorageObject(targetPath.AbsoluteURI + @"_temp\"); -// // } -// // } -// //} - -// //((StorageObjectRepository)repository).Changed += new StorageObjectRepository.CopyOperationCompleteEventHandler(ListChanged); -// //Console.WriteLine(""); -// //repository.Copy(sourcePath.AbsoluteURI, targetPath.AbsoluteURI, true); -// //this.PrintTotals(); -// //((StorageObjectRepository)repository).Changed -= new StorageObjectRepository.CopyOperationCompleteEventHandler(ListChanged); -// } -////========================================================================================= -///// -///// The main driver.. -///// -////========================================================================================= -// protected override void ProcessRecord() -// { -// ObjectStoragePSDriveInfo drive = this.SessionState.Drive.Current as ObjectStoragePSDriveInfo; -// this.ProcessNonQueuedCopy(); -// } -// #endregion -// } -//} diff --git a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Objects/GetURICmdlet.cs b/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Objects/GetURICmdlet.cs deleted file mode 100644 index cae3ea4..0000000 --- a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Objects/GetURICmdlet.cs +++ /dev/null @@ -1,194 +0,0 @@ -///* ============================================================================ -//Copyright 2014 Hewlett Packard - -//Licensed under the Apache License, Version 2.0 (the "License"); -//you may not use this file except in compliance with the License. -//You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -//Unless required by applicable law or agreed to in writing, software -//distributed under the License is distributed on an "AS IS" BASIS, -//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -//See the License for the specific language governing permissions and -//limitations under the License. -//============================================================================ */ -//using System; -//using System.Management.Automation; -//using OpenStack.Client.Powershell.Providers.Common; -//using System.Security.Cryptography; -//using System.Text; -//using System.Web; -//using OpenStack.Objects.Domain; - -//namespace OpenStack.Client.Powershell.Cmdlets.Common -//{ -// [Cmdlet(VerbsCommon.Get, "URI", SupportsShouldProcess = true)] -// [RequiredServiceIdentifierAttribute(OpenStack.Objects.Domain.Admin.Services.ObjectStorage)] -// public class GetURICmdlet : BasePSCmdlet -// { -// private string _sourcePath; -// private int _daysValid = 0; -// private int _secondsValid = 0; - -// #region Parameters -////========================================================================================= -///// -///// The location of the file to set permissions on. -///// -////========================================================================================= -// [Parameter(Position = 0, ParameterSetName = "qA", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text is here")] -// [Alias("s")] -// [ValidateNotNullOrEmpty] -// public string SourcePath -// { -// get { return _sourcePath; } -// set { _sourcePath = value; } -// } -////========================================================================================= -///// -///// The location of the file to set permissions on. -///// -////========================================================================================= -// [Parameter(Position = 1, ParameterSetName = "qA", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text is here")] -// [Alias("dv")] -// [ValidateNotNullOrEmpty] -// public int DaysValid -// { -// get { return _daysValid; } -// set { _daysValid = value; } -// } -////========================================================================================= -///// -///// The location of the file to set permissions on. -///// -////========================================================================================= -// [Parameter(Position = 2, ParameterSetName = "qA", Mandatory = false, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text is here")] -// [Alias("sv")] -// [ValidateNotNullOrEmpty] -// public int SecondsValid -// { -// get { return _secondsValid; } -// set { _secondsValid = value; } -// } -// #endregion -// #region Methods -////========================================================================================= -///// -///// -///// -////========================================================================================= -// private string ConvertSignatureToHex(string signature) -// { -// string hexaHash = ""; -// foreach (byte b in signature) -// { -// hexaHash += String.Format("{0:x2}", b); -// } -// return hexaHash; -// } -////========================================================================================= -///// -///// -///// -////========================================================================================= -// private string GenerateTempUrl(string signatureString) -// { -// var hmac = new HMACSHA1(Encoding.UTF8.GetBytes(this.Settings.Username)); -// var hash = hmac.ComputeHash(Encoding.UTF8.GetBytes(signatureString)); -// return BitConverter.ToString(hash).Replace("-", "").ToLower(); -// } -////========================================================================================= -///// -///// -///// -///// -////========================================================================================= -// private string GetFormattedUri(StoragePath path) -// { -// string[] elements = this.CreateStoragePath(this.SourcePath).ToString().Split('/'); -// return String.Join("/", elements).Replace(elements[0] + "/" + elements[1] + "/" + elements[2], string.Empty); -// } -////========================================================================================= -///// -///// -///// -///// -////========================================================================================= -// public long GetEpochTime() -// { -// long baseTicks = 621355968000000000; -// long tickResolution = 10000000; -// long epoch = (DateTime.Now.ToUniversalTime().Ticks - baseTicks) / tickResolution; - -// return epoch; -// } -////========================================================================================= -///// -///// -///// -///// -////========================================================================================= -// private long GetExpirationInSeconds() -// { -// if (_daysValid != 0) -// { -// return GetEpochTime() + (86400 * _daysValid); -// } -// else if (_secondsValid != 0) -// { -// return GetEpochTime() + _secondsValid; -// } -// return 0; -// } - -////========================================================================================= -///// -///// -///// -////========================================================================================= -// private void GetTempUrl() -// { -// string uri = null; -// long expiration = this.GetExpirationInSeconds(); -// string totalSeconds = Convert.ToString(expiration); -// StoragePath fullPath = this.CreateStoragePath(this.SourcePath); -// uri = this.GetFormattedUri(fullPath); -// string signedString = this.GenerateTempUrl("GET" + "\n" + totalSeconds + "\n" + uri); -// string signature = HttpUtility.UrlEncode(this.Settings.DefaultTenantId + ":" + this.Settings.Username + ":" + signedString); -// string tempUrl = fullPath.BasePath + "?temp_url_sig=" + signature + "&temp_url_expires=" + totalSeconds; - -// WriteObject(""); -// WriteObject("Object located at : " + tempUrl); -// WriteObject("Url Expiration Date : " + DateTime.Now.AddDays(_daysValid).ToShortDateString() + ". [" + _daysValid + @" day(s) \ " + expiration + " seconds.]"); -// WriteObject(""); - -// if (this.Settings.PasteGetURIResultsToClipboard) -// OutClipboard.SetText(tempUrl); -// } -////========================================================================================= -///// -///// 1347472640 -///// -////========================================================================================= -// protected override void ProcessRecord() -// { -// if (_daysValid != 0 || _secondsValid != 0) -// { -// this.GetTempUrl(); -// } -// else -// { -// string uri = this.CreateStoragePath(this.SourcePath).ToString(); - -// if (this.Settings.PasteGetURIResultsToClipboard) -// OutClipboard.SetText(uri); - -// WriteObject(""); -// WriteObject("Object located at : " + uri); -// WriteObject(""); -// } -// } -// #endregion -// } -//} diff --git a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Objects/RemoveItemCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Objects/RemoveItemCmdlet.cs deleted file mode 100644 index 7149233..0000000 --- a/Openstack.Client.Powershell/Cmdlets/ObjectStorage/Objects/RemoveItemCmdlet.cs +++ /dev/null @@ -1,133 +0,0 @@ -///* ============================================================================ -//Copyright 2014 Hewlett Packard - -//Licensed under the Apache License, Version 2.0 (the "License"); -//you may not use this file except in compliance with the License. -//You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -//Unless required by applicable law or agreed to in writing, software -//distributed under the License is distributed on an "AS IS" BASIS, -//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -//See the License for the specific language governing permissions and -//limitations under the License. -//============================================================================ */ -//using System; -//using System.Management.Automation; -//using OpenStack.Objects.DataAccess; -//using OpenStack.Objects.Domain; -//using OpenStack.Client.Powershell.Providers.Storage; -//using OpenStack.Common; -//using System.Management.Automation.Host; -//using System.Collections.ObjectModel; -//using System.Diagnostics.Contracts; -//using OpenStack.Client.Powershell.Providers.Common; - -//namespace OpenStack.Client.Powershell.Cmdlets.Common -//{ -// [Cmdlet(VerbsCommon.Remove, "Item", SupportsShouldProcess = true)] -// [RequiredServiceIdentifierAttribute(OpenStack.Objects.Domain.Admin.Services.ObjectStorage)] -// public class RemoveItemCmdlet : BasePSCmdlet -// { -// public const string cDelimiter = "/"; -// private string _targetPath; - -// #region Parameters -////========================================================================================= -///// -///// -///// -////========================================================================================= -// [Parameter(Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "Help Text")] -// [ValidateNotNullOrEmpty] -// [Alias("t")] -// public string TargetPath -// { -// get { return _targetPath; } -// set { _targetPath = value; } -// } -// #endregion -// #region Methods -////========================================================================================= -///// -///// -///// -////========================================================================================= -// private void DeleteFolder(StoragePath targetPath, bool recurse) -// { -// Contract.Requires(targetPath.IsFolderPathOnly); - -// string confirmationMsg; -// IStorageObjectRepository repository = null; -// OSDriveInfo kvsDrive = null; -// Collection choices; - -// #if (DEBUG) - -// // We can't prompt for confirmation as this jacks up the unit test.. - -// repository = this.RepositoryFactory.CreateStorageObjectRepository(); -// repository.DeleteFolder(targetPath.AbsoluteURI + "/"); -// kvsDrive = (OSDriveInfo)this.SessionState.Drive.Current; - -// if (kvsDrive.PathCache.Exists(p => p == targetPath.Path)) -// { -// kvsDrive.PathCache.Remove(targetPath.Path); -// } -// return; - -// #endif - -// choices = new Collection(); -// choices.Add(new ChoiceDescription("Y", "Yes")); -// choices.Add(new ChoiceDescription("N", "No")); - -// if (recurse) confirmationMsg = "You are about to delete an entire folder and all of its decendant folders. Are you sure about this?"; -// else confirmationMsg = "You are about to delete a folder and its Storage Objects Are you sure about this?"; - -// if (this.Host.UI.PromptForChoice("Confirmation Required." , confirmationMsg, choices, 0) == 0) -// { -// repository = this.RepositoryFactory.CreateStorageObjectRepository(); -// repository.DeleteFolder(targetPath.AbsoluteURI); - -// kvsDrive = (OSDriveInfo)this.SessionState.Drive.Current; - -// if (kvsDrive.PathCache.Exists(p => p == targetPath.Path)) -// { -// kvsDrive.PathCache.Remove(targetPath.Path); -// } -// } -// } -////========================================================================================= -///// -///// -///// -////========================================================================================= -// protected override void ProcessRecord() -// { -// Contract.Requires(this.Drive != null); -// StoragePath targetPath = this.CreateStoragePath(this.TargetPath); - -// if (targetPath.IsFolderPathOnly) -// { -// this.DeleteFolder(targetPath, true); -// } -// else -// { -// try -// { -// this.RepositoryFactory.CreateStorageObjectRepository().DeleteStorageObject(targetPath.AbsoluteURI); -// } -// catch (Exception ex) -// { -// Console.WriteLine(""); -// Console.WriteLine(ex.Message); -// Console.WriteLine(""); -// } -// } -// } -// } -// #endregion -// } - diff --git a/Openstack.Client.Powershell/Cmdlets/Security/AddRuleCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Security/AddRuleCmdlet.cs deleted file mode 100644 index 0da434e..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Security/AddRuleCmdlet.cs +++ /dev/null @@ -1,176 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Compute; -using System.Linq; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Client.Powershell.Providers.Common; -using System.Collections; -using Openstack.Objects.Domain.Security; - -namespace Openstack.Client.Powershell.Cmdlets.Security -{ - [Cmdlet(VerbsCommon.Add, "Rule", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class AddRuleCmdlet : BasePSCmdlet - { - private string _direction; - private string _etherType; - private string _portRangeMax; - private string _portRangeMin; - private string _protocol; - private string _remoteGroupId; - private string _remoteIPPrefix; - private string _securityGroupId; - - #region Parameters -//========================================================================================= -/// -/// -//add-rule -ipr "iprTest" -IP "100.0.0.0" -tp "80" -fp "81" -sg "2302" -/// -//========================================================================================= - [Parameter(Position = 5, Mandatory = true, ParameterSetName = "AddRule", ValueFromPipelineByPropertyName = true, HelpMessage = "cfgn")] - [Alias("d")] - [ValidateNotNullOrEmpty] - public string Direction - { - get { return _direction; } - set { _direction = value; } - } -//========================================================================================= -/// -/// -// add-rule -ipr "iprTest" -IP "tcp" -tp "81" -fp "80" -/// -//========================================================================================= - [Parameter(Position = 4, Mandatory = false, ParameterSetName = "AddRule", ValueFromPipelineByPropertyName = true, HelpMessage = "cfgn")] - [Alias("et")] - [ValidateNotNullOrEmpty] - public string EtherType - { - get { return _etherType; } - set { _etherType = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 2, Mandatory = true, ParameterSetName = "AddRule", ValueFromPipelineByPropertyName = true, HelpMessage = "cfgn")] - [Alias("max")] - [ValidateNotNullOrEmpty] - public string PortRangeMax - { - get { return _portRangeMax; } - set { _portRangeMax = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, Mandatory = true, ParameterSetName = "AddRule", ValueFromPipelineByPropertyName = true, HelpMessage = "cfgn")] - [Alias("min")] - [ValidateNotNullOrEmpty] - public string PortRangeMin - { - get { return _portRangeMin; } - set { _portRangeMin = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 3, Mandatory = true, ParameterSetName = "AddRule", ValueFromPipelineByPropertyName = true, HelpMessage = "cfgn")] - [Alias("p")] - [ValidateNotNullOrEmpty] - public string Protocol - { - get { return _protocol; } - set { _protocol = value; } - } -//========================================================================================= -/// -/// -//add-rule -ipr "iprTest" -IP "100.0.0.0" -tp "80" -fp "81" -sg "2302" -/// -//========================================================================================= - [Parameter(Position = 5, Mandatory = true, ParameterSetName = "AddRule", ValueFromPipelineByPropertyName = true, HelpMessage = "cfgn")] - [Alias("sid")] - [ValidateNotNullOrEmpty] - public string SecurityGroupId - { - get { return _securityGroupId; } - set { _securityGroupId = value; } - } -//========================================================================================= -/// -/// -//add-rule -ipr "iprTest" -IP "100.0.0.0" -tp "80" -fp "81" -sg "2302" -/// -//========================================================================================= - [Parameter(Position = 5, Mandatory = false, ParameterSetName = "AddRule", ValueFromPipelineByPropertyName = true, HelpMessage = "cfgn")] - [Alias("rgid")] - [ValidateNotNullOrEmpty] - public string RemoteGroupId - { - get { return _remoteGroupId; } - set { _remoteGroupId = value; } - } -//========================================================================================= -/// -/// -//add-rule -ipr "iprTest" -IP "100.0.0.0" -tp "80" -fp "81" -sg "2302" -/// -//========================================================================================= - [Parameter(Position = 5, Mandatory = false, ParameterSetName = "AddRule", ValueFromPipelineByPropertyName = true, HelpMessage = "cfgn")] - [Alias("ripp")] - [ValidateNotNullOrEmpty] - public string RemoteIPPrefix - { - get { return _remoteIPPrefix; } - set { _remoteIPPrefix = value; } - } - - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - NewSecurityGroupRule rule = new NewSecurityGroupRule(); - rule.PortRangeMin = this.PortRangeMin; - rule.PortRangeMax = this.PortRangeMax; - rule.Protocol = this.Protocol; - rule.SecurityGroupId = this.SecurityGroupId; - rule.RemoteGroupId = this.RemoteGroupId; - rule.RemoteIPPrefix = this.RemoteIPPrefix; - rule.EtherType = this.EtherType; - rule.Direction = this.Direction; - - SecurityGroupRule result = this.RepositoryFactory.CreateSecurityRepository().SaveSecurityRule(rule); - this.UpdateCache(); - } - #endregion - } -} - diff --git a/Openstack.Client.Powershell/Cmdlets/Security/NewSecurityGroupCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Security/NewSecurityGroupCmdlet.cs deleted file mode 100644 index 239c8a1..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Security/NewSecurityGroupCmdlet.cs +++ /dev/null @@ -1,80 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Security; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; - -namespace Openstack.Client.Powershell.Cmdlets.Security -{ - [Cmdlet(VerbsCommon.New, "SecurityGroup", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class NewSecurityGroupCmdlet : BasePSCmdlet - { - private string _name; - private string _description; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, Mandatory = true, ParameterSetName = "NewSecurityGroup", ValueFromPipelineByPropertyName = true, HelpMessage = "ww")] - [Alias("d")] - [ValidateNotNullOrEmpty] - public string Description - { - get { return _description; } - set { _description = value; } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 0, ParameterSetName = "NewSecurityGroup", Mandatory = true, ValueFromPipelineByPropertyName = true, HelpMessage = "www")] - [Alias("n")] - public string Name - { - get { return _name; } - set { _name = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - NewSecurityGroup newGroup = new NewSecurityGroup(); - newGroup.Description = this.Description; - newGroup.Name = this.Name; - - SecurityGroup securityGroup = this.RepositoryFactory.CreateSecurityRepository().SaveSecurityGroup(newGroup); - this.UpdateCache(); - } - #endregion - } - -} diff --git a/Openstack.Client.Powershell/Cmdlets/Security/RemoveRuleCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Security/RemoveRuleCmdlet.cs deleted file mode 100644 index 6812352..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Security/RemoveRuleCmdlet.cs +++ /dev/null @@ -1,62 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Compute; -using System.Linq; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Client.Powershell.Providers.Common; -using System.Collections; -using Openstack.Objects.Domain.Security; - -namespace Openstack.Client.Powershell.Cmdlets.Security -{ - [Cmdlet(VerbsCommon.Remove, "Rule", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class RemoveRuleCmdlet : BasePSCmdlet - { - private string _securityGroupRuleId; - - #region Parameters -//========================================================================================= -/// -/// -//========================================================================================= - [Parameter(Position = 1, Mandatory = true, ParameterSetName = "RemoveRule", ValueFromPipelineByPropertyName = true, HelpMessage = "cfgn")] - [Alias("id")] - [ValidateNotNullOrEmpty] - public string SecurityGroupRuleId - { - get { return _securityGroupRuleId; } - set { _securityGroupRuleId = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - this.RepositoryFactory.CreateSecurityRepository().DeleteSecurityRule(this.SecurityGroupRuleId); - this.UpdateCache(); - } - #endregion - } -} - - diff --git a/Openstack.Client.Powershell/Cmdlets/Security/RemoveSecurityGroupCmdlet.cs b/Openstack.Client.Powershell/Cmdlets/Security/RemoveSecurityGroupCmdlet.cs deleted file mode 100644 index 952ac85..0000000 --- a/Openstack.Client.Powershell/Cmdlets/Security/RemoveSecurityGroupCmdlet.cs +++ /dev/null @@ -1,76 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Management.Automation; -using Openstack.Client.Powershell.Cmdlets.Common; -using Openstack.Objects.Domain.Security; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Objects.DataAccess; -using Openstack.Objects.DataAccess.Security; - -namespace Openstack.Client.Powershell.Cmdlets.Security -{ - [Cmdlet(VerbsCommon.Remove, "SecurityGroup", SupportsShouldProcess = true)] - [RequiredServiceIdentifierAttribute(Openstack.Objects.Domain.Admin.Services.Compute)] - public class RemoveSecurityGroupCmdlet : BasePSCmdlet - { - private string _securityGroupId; - - #region Parameters -//========================================================================================= -/// -/// -/// -//========================================================================================= - [Parameter(Position = 1, Mandatory = true, ParameterSetName = "RemoveSecurityGroup", ValueFromPipelineByPropertyName = true, HelpMessage = "ww")] - [Alias("id")] - [ValidateNotNullOrEmpty] - public string SecurityGroupId - { - get { return _securityGroupId; } - set { _securityGroupId = value; } - } - #endregion - #region Methods -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected override void ProcessRecord() - { - string id = this.TranslateQuickPickNumber(this.SecurityGroupId); - ISecurityRepository repository = this.RepositoryFactory.CreateSecurityRepository(); - - SecurityGroup group = repository.GetSecurityGroup(id); - - if (group.Name != "default") - { - repository.DeleteSecurityGroup(id); - this.UpdateCache(); - } - else - { - Console.WriteLine(""); - Console.WriteLine("Invalid SecurityGroupId : Unable to delete the Default Security Group."); - Console.WriteLine(""); - } - } - #endregion - } - -} diff --git a/Openstack.Client.Powershell/Dependencies/Microsoft.Http.Extensions.dll b/Openstack.Client.Powershell/Dependencies/Microsoft.Http.Extensions.dll deleted file mode 100644 index 265a4b554af52433cff3a4034a8afa2516dde11a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28536 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 D_iAJ$ diff --git a/Openstack.Client.Powershell/Dependencies/Microsoft.Http.dll b/Openstack.Client.Powershell/Dependencies/Microsoft.Http.dll deleted file mode 100644 index fd6942b080d4fe1cc83348ba6b3d6d91c01cfad9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119648 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

    HiT zxh=eXf;jkUoJ06MNx1!Qxh-*BL^zQWN~h~Mmj74s$QZSRTA$)E z-A+HXDZH;3*fBl-jhs>&)gc!lUyDKXQE~Sv$5_g43be++yDbxy%H}dWu zX19goX?2fuKSEZ5+OHJatxH4qX&VQSoK|o)YKiW9AB8VV=z16~d5%LnzC_|(Or29j zW4b-l&~tz{IAq=W-sRA~V0>&sXTQ4K^b9JLPJ6u>T6j0(S#oc#sLSDhGpqUi`q>xhQDP{kO7}Lp zgzpI}?Niu>|6uX<)x= zfOgOJ-?()-P~En8_soUΞ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 diff --git a/Openstack.Client.Powershell/Dependencies/Microsoft.QueryComposition.dll b/Openstack.Client.Powershell/Dependencies/Microsoft.QueryComposition.dll deleted file mode 100644 index d86913b067364b706c38d5fab2fb514a9a87d6b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197472 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 CP8ig=MvQRKbD}j|A_>({ePbz2Yx0& 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 lb#P9E7)NoF^+{SqA~a;Xz4}1 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 b?^aH8zxgM06#!l_FY@M)|Ihv3!@$1*Rq07? diff --git a/Openstack.Client.Powershell/Deployment/ApacheLicense.rtf b/Openstack.Client.Powershell/Deployment/ApacheLicense.rtf deleted file mode 100644 index 9114d6b..0000000 --- a/Openstack.Client.Powershell/Deployment/ApacheLicense.rtf +++ /dev/null @@ -1,170 +0,0 @@ -{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31506\stshfloch31506\stshfhich31506\stshfbi31507\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f39\fbidi \fmodern\fcharset0\fprq1{\*\panose 020b0609020204030204}Consolas;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;} -{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;} -{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f40\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f41\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\f43\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f44\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f45\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f46\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\f47\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f48\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f40\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f41\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\f43\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f44\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f45\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f46\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\f47\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f48\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f410\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f411\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;} -{\f413\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f414\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f417\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f418\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);} -{\f430\fbidi \fmodern\fcharset238\fprq1 Consolas CE;}{\f431\fbidi \fmodern\fcharset204\fprq1 Consolas Cyr;}{\f433\fbidi \fmodern\fcharset161\fprq1 Consolas Greek;}{\f434\fbidi \fmodern\fcharset162\fprq1 Consolas Tur;} -{\f437\fbidi \fmodern\fcharset186\fprq1 Consolas Baltic;}{\f438\fbidi \fmodern\fcharset163\fprq1 Consolas (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} -{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;} -{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} -{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} -{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;} -{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;} -{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0; -\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp \f31506\fs22 }{\*\defpap -\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 -\af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* -\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1 -\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{ -\s15\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs21\alang1025 \ltrch\fcs0 \f39\fs21\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext15 \slink16 \sunhideused Plain Text;} -{\*\cs16 \additive \rtlch\fcs1 \af0\afs21 \ltrch\fcs0 \f39\fs21 \sbasedon10 \slink15 \slocked Plain Text Char;}}{\*\rsidtbl \rsid8006177\rsid10242273\rsid13443570}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1 -\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author tplummer}{\operator tplummer}{\creatim\yr2012\mo9\dy6\hr10\min42}{\revtim\yr2012\mo9\dy6\hr10\min42}{\version2}{\edmins1}{\nofpages1}{\nofwords86}{\nofchars494}{\nofcharsws579}{\vern49273}} -{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1501\margr1502\margt1440\margb1440\gutter0\ltrsect -\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen -\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1501\dgvorigin1440\dghshow1\dgvshow1 -\jexpand\viewkind1\viewscale210\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct -\asianbrkrule\rsidroot13443570\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0 -{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sectrsid1316550\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2 -\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6 -\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang -{\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8006177 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 -\f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid8006177 Copyright }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid8006177 2012 Hewlett-Packard}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid8006177 -\par Licensed under the Apache License, Version 2.0 (the "License"); -\par you may not use this file except in compliance with the License. -\par You may obtain a copy of the License at -\par http://www.apache.org/licenses/LICENSE-2.0 -\par Unless required by applicable law or agreed to in writing, software -\par distributed under the License is distributed on an "AS IS" BASIS, -\par WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -\par See the License for the specific language governing permissions and -\par limitations under the License.}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid10242273\charrsid8006177 -\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a -9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad -5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 -b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 -0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 -a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f -c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 -0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 -a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 -6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b -4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b -4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210030dd4329a8060000a41b0000160000007468656d652f7468656d652f -7468656d65312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87 -615b8116d8a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad -79482a9c0498f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b -5d8a314d3c94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab -999fb7b4717509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9 -699640f6719e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd586 -8b37a088d1e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d6 -0cf03ac1a5193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f -9e7ef3f2d117d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be -15c308d3f28acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a9979 -3849c26ae66252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d -32a423279a668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2a -f074481847bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86 -e877f0034e16bafb0e258ebb4faf06b769e888340b103d331115bebc4eb813bf83291b63624a0d1475a756c734f9bbc2cd28546ecbe1e20a3794ca175f3fae90 -fb6d2dd99bb07b55e5ccf68942bd0877b23c77b908e8db5f9db7f024d9239010f35bd4bbe2fcae387bfff9e2bc289f2fbe24cfaa301468dd8bd846dbb4ddf1c2 -ae7b4c191ba8292337a469bc25ec3d411f06f53a73e224c5292c8de0516732307070a1c0660d125c7d44553488700a4d7bddd3444299910e254ab984c3a219ae -a4adf1d0f82b7bd46cea4388ad1c12ab5d1ed8e1153d9c9f350a3246aad01c6873462b9ac05999ad5cc988826eafc3acae853a33b7ba11cd1445875ba1b236b1 -399483c90bd560b0b0263435085a21b0f22a9cf9356b38ec6046026d77eba3dc2dc60b17e92219e180643ed27acffba86e9c94c7ca9c225a0f1b0cfae0788ad5 -4adc5a9aec1b703b8b93caec1a0bd8e5de7b132fe5113cf312503b998e2c2927274bd051db6b35979b1ef271daf6c6704e86c73805af4bdd476216c26593af84 -0dfb5393d964f9cc9bad5c313709ea70f561ed3ea7b053075221d51696910d0d339585004b34272bff7213cc7a510a5454a3b349b1b206c1f0af490176745d4b -c663e2abb2b34b23da76f6352ba57ca2881844c1111ab189d8c7e07e1daaa04f40255c77988aa05fe06e4e5bdb4cb9c5394bbaf28d98c1d971ccd20867e556a7 -689ec9166e0a522183792b8907ba55ca6e943bbf2a26e52f48957218ffcf54d1fb09dc3eac04da033e5c0d0b8c74a6b43d2e54c4a10aa511f5fb021a07533b20 -5ae07e17a621a8e082dafc17e450ffb739676998b48643a4daa7211214f623150942f6a02c99e83b85583ddbbb2c4996113211551257a656ec1139246ca86be0 -aadedb3d1441a89b6a929501833b197fee7b9641a3503739e57c732a59b1f7da1cf8a73b1f9bcca0945b874d4393dbbf10b1680f66bbaa5d6f96e77b6f59113d -316bb31a795600b3d256d0cad2fe354538e7566b2bd69cc6cbcd5c38f0e2bcc63058344429dc2121fd07f63f2a7c66bf76e80d75c8f7a1b622f878a18941d840 -545fb28d07d205d20e8ea071b283369834296bdaac75d256cb37eb0bee740bbe278cad253b8bbfcf69eca23973d939b97891c6ce2cecd8da8e2d343578f6648a -c2d0383fc818c798cf64e52f597c740f1cbd05df0c264c49134cf09d4a60e8a107260f20f92d47b374e32f000000ffff0300504b030414000600080000002100 -0dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f7 -8277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89 -d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd500 -1996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0f -bfff0000001c0200001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6 -a7e7c0000000360100000b00000000000000000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a -0000001c00000000000000000000000000190200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d00140006000800000021 -0030dd4329a8060000a41b00001600000000000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d001400060008 -00000021000dd1909fb60000001b0100002700000000000000000000000000b20900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000ad0a00000000} -{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d -617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 -6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 -656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} -{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal; -\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4; -\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9; -\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7; -\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font; -\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision; -\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6; -\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6; -\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis; -\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference; -\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000 -4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000 -d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e500000000000000000000000090e7 -0a31468ccd01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/Openstack.Client.Powershell/Deployment/DevProfile.ps1 b/Openstack.Client.Powershell/Deployment/DevProfile.ps1 deleted file mode 100644 index a53dc65..0000000 --- a/Openstack.Client.Powershell/Deployment/DevProfile.ps1 +++ /dev/null @@ -1,75 +0,0 @@ -# --------------------------------------------------------------- -# Set up the default windows size and color.... -# --------------------------------------------------------------- -#$DebugPreference=$VerbosePreference="Continue" -#$DebugPreference = "Continue" -$a = (Get-Host).UI.RawUI -$b = $a.WindowSize -$b.Width = 109 -$b.Height = 61 -$a.WindowSize = $b -cls -# ----------------------------------------------------------------- -# Register known providers, write out welcome and status messages.. -# ----------------------------------------------------------------- -$a.BackgroundColor = "black" -Echo '' -$a.ForegroundColor = "gray" -Echo '========================================================================================' -$a.ForegroundColor = "yellow" -Echo 'Welcome to the OpenStack Powershell Environment.11' -$a.ForegroundColor = "gray" -Echo '========================================================================================' -Echo '' -$a.ForegroundColor = "green" -echo ' ==> Registering Providers...' - -#Save the current value in the $p variable. -$p = [Environment]::GetEnvironmentVariable("PSModulePath") - -#Add the new path to the $p variable. Begin with a semi-colon separator. -$p += ";C:\Users\tplummer\Documents\WindowsPowerShell\Modules\OpenStack\" - -#Add the paths in $p to the PSModulePath value. -[Environment]::SetEnvironmentVariable("PSModulePath",$p) - -import-module Openstack-Core -DisableNameChecking - -cd Builds: - -# --------------------------------------------------------------- -# Let the User know what's going on.. -# --------------------------------------------------------------- - -echo ' ==> Applying Command Aliases...' -echo ' ==> Registering Views...' -echo '' - -# ----------------------------------------------------------------------------------------------------------------------------------------------------------- -# Issue any startup commands you would like to execute after everything loads. -# ----------------------------------------------------------------------------------------------------------------------------------------------------------- -#cd BlockStorage -#cd Volumes -#ls - -# --------------------------------------------------------------- -# Reset Shell to default colors.. -# --------------------------------------------------------------- -#$a.ForegroundColor = "yellow" -echo 'Ready..' -#$a.ForegroundColor = "green" -echo '' - - - - - - - - - - - - - - diff --git a/Openstack.Client.Powershell/Deployment/Examples/Aliases.txt b/Openstack.Client.Powershell/Deployment/Examples/Aliases.txt deleted file mode 100644 index 87e8b520018fd40bc5ba5abdc3f6e40dda37b946..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmezWPl+L&p_D<1K?jK48B!Ta7<3sz8H$0dA|MG7hmd{@`3!kLaU}*`1}-3(4pa-0 ZQGn|U0m|kvBm!{>RIdV11wx+=0{}Pf5qAIp diff --git a/Openstack.Client.Powershell/Deployment/Examples/ApacheLicense.txt b/Openstack.Client.Powershell/Deployment/Examples/ApacheLicense.txt deleted file mode 100644 index 62a1964..0000000 --- a/Openstack.Client.Powershell/Deployment/Examples/ApacheLicense.txt +++ /dev/null @@ -1,15 +0,0 @@ - Copyright 2012 Hewlett-Packard - - The Migrate-Drive cmdlet is licensed under the following agreement - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/Openstack.Client.Powershell/Deployment/Examples/CredentialList.xml b/Openstack.Client.Powershell/Deployment/Examples/CredentialList.xml deleted file mode 100644 index 778162c..0000000 --- a/Openstack.Client.Powershell/Deployment/Examples/CredentialList.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/Openstack.Client.Powershell/Deployment/Examples/DevProfile.ps1.example b/Openstack.Client.Powershell/Deployment/Examples/DevProfile.ps1.example deleted file mode 100644 index dde1b36..0000000 --- a/Openstack.Client.Powershell/Deployment/Examples/DevProfile.ps1.example +++ /dev/null @@ -1,73 +0,0 @@ -# --------------------------------------------------------------- -# Set up the default windows size and color.... -# --------------------------------------------------------------- - #$DebugPreference=$VerbosePreference="Continue" - #$DebugPreference = "Continue" - $a = (Get-Host).UI.RawUI - $b = $a.WindowSize - $b.Width = 109 - $b.Height = 61 - $a.WindowSize = $b - cls -# ----------------------------------------------------------------- -# Register known providers, write out welcome and status messages.. -# ----------------------------------------------------------------- - $a.BackgroundColor = "black" - Echo '' - $a.ForegroundColor = "gray" - Echo '========================================================================================' - $a.ForegroundColor = "yellow" - Echo 'Welcome to the OpenStack Powershell Environment.' - $a.ForegroundColor = "gray" - Echo '========================================================================================' - Echo '' - $a.ForegroundColor = "green" - echo ' ==> Registering Providers...' - -# ----------------------------------------------------------------------------------------------------------------------------------------------------------- -# ACTION REQUIRED! ==> Substitute the example CD commands path below to match your setup. This should be the final output of the Solution as dictated by the -# $(TargetDir) macro in the Post-Build Script. -# ----------------------------------------------------------------------------------------------------------------------------------------------------------- - - # cd 'Your Target Directory Here!'... - - import-module .\CLIManifest.psd1 -DisableNameChecking - cd OpenStack: - -# --------------------------------------------------------------- -# Let the User know what's going on.. -# --------------------------------------------------------------- - - echo ' ==> Applying Command Aliases...' - echo ' ==> Registering Views...' - echo '' - -# ----------------------------------------------------------------------------------------------------------------------------------------------------------- -# Issue any startup commands you would like to execute after everything loads. -# ----------------------------------------------------------------------------------------------------------------------------------------------------------- - #cd BlockStorage - #cd Volumes - #ls - -# --------------------------------------------------------------- -# Reset Shell to default colors.. -# --------------------------------------------------------------- - #$a.ForegroundColor = "yellow" - echo 'Ready..' - #$a.ForegroundColor = "green" - echo '' - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Openstack.Client.Powershell/Deployment/Examples/Openstack.config.example b/Openstack.Client.Powershell/Deployment/Examples/Openstack.config.example deleted file mode 100644 index 8445b81..0000000 --- a/Openstack.Client.Powershell/Deployment/Examples/Openstack.config.example +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Openstack.Client.Powershell/Deployment/Examples/PostBuild.bat b/Openstack.Client.Powershell/Deployment/Examples/PostBuild.bat deleted file mode 100644 index bd0ccb9..0000000 --- a/Openstack.Client.Powershell/Deployment/Examples/PostBuild.bat +++ /dev/null @@ -1,13 +0,0 @@ -echo set DocPath=C:\Users\Travis\Documents - -echo md %DocPath%\WindowsPowershell\ - echo md %DocPath%\OS\ - echo md %DocPath%\OS\ - - echo copy ..\..\.\Deployment\DevProfile.ps1 C:\Users\tplummer\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 - echo copy ..\..\.\Deployment\OpenStack.config C:\Users\tplummer\Documents\OS\OpenStack.config - echo copy ..\..\.\Deployment\OpenStack.Client.Powershell.dll-Help.xml %DocPath%\OS\OpenStack.Client.Powershell.dll-Help.xml - echo copy ..\..\.\Deployment\OpenstackShell.format.ps1xml C:\Users\tplummer\Source\Repos\OpenStack-NewCLI\OpenStack.Client.Powershell\bin\Release\OpenstackShell.format.ps1xml - - - diff --git a/Openstack.Client.Powershell/Deployment/Examples/PostBuild.example b/Openstack.Client.Powershell/Deployment/Examples/PostBuild.example deleted file mode 100644 index 2375b08..0000000 --- a/Openstack.Client.Powershell/Deployment/Examples/PostBuild.example +++ /dev/null @@ -1,13 +0,0 @@ - -===================================================================================================================== -ACTION REQUIRED : Change the DocPath Variable below to reflect your Personal Documents Folder.. -===================================================================================================================== -set DocPath=C:\Users\Travis\Documents - -md %DocPath%\WindowsPowershell\ -md %DocPath%\OS\ -md %DocPath%\OS\ - -copy ..\..\.\Deployment\DevProfile.ps1 %DocPath%\WindowsPowershell\Microsoft.PowerShell_profile.ps1 -copy ..\..\.\Deployment\OpenStack.config %DocPath%\OS\OpenStack.config -copy ..\..\.\Deployment\OpenStack.Client.Powershell.dll-Help.xml %DocPath%\OS\OpenStack.Client.Powershell.dll-Help.xml diff --git a/Openstack.Client.Powershell/Deployment/Examples/ReleaseManifest.xml b/Openstack.Client.Powershell/Deployment/Examples/ReleaseManifest.xml deleted file mode 100644 index 5a1ee8b..0000000 --- a/Openstack.Client.Powershell/Deployment/Examples/ReleaseManifest.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - New Features - * Easier Zone management with Set-Zone and Get-Zones - - - - - - New Features - * Easier Zone management with Set-Zone and Get-Zones - - - - - - New Features - * Easier Zone management with Set-Zone and Get-Zones - - - - - - New Features - * Support for listing, adding, attaching, detaching and removing block volumes - * Support for creating and removing block storage snapshots - - - - - - New Features - * Migrate-Drive support for migrating full data sets from external sources - - - - - - New Features - * Full access to the OpenStack compute infrastructure - * CDN support - - - - diff --git a/Openstack.Client.Powershell/Deployment/Examples/ReleaseNotes.xml b/Openstack.Client.Powershell/Deployment/Examples/ReleaseNotes.xml deleted file mode 100644 index b6571b6..0000000 --- a/Openstack.Client.Powershell/Deployment/Examples/ReleaseNotes.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - New Features - * Easier Zone management with Set-Zone and Get-Zones - - - - - - New Features - * Easier Zone management with Set-Zone and Get-Zones - - - - - - New Features - * Easier Zone management with Set-Zone and Get-Zones - - - - - - New Features - * Support for listing, adding, attaching, detaching and removing block volumes - * Support for creating and removing block storage snapshots - - - - - - New Features - * Migrate-Drive support for migrating full data sets from external sources - - - - - - New Features - * Full access to the OpenStack compute infrastructure - * CDN support - - - - diff --git a/Openstack.Client.Powershell/Deployment/Examples/readme.txt b/Openstack.Client.Powershell/Deployment/Examples/readme.txt deleted file mode 100644 index 0f3b03e..0000000 --- a/Openstack.Client.Powershell/Deployment/Examples/readme.txt +++ /dev/null @@ -1,126 +0,0 @@ -OpenStack Powershell CLI - Getting Set up to Contribute - -I - Pre-requisits - - Before we get started we need to make sure that our Development environment reflects what a machine looks like when we install the CLI. The following steps should get the job done. - - A. Set the Required Execution Policy - - To use the OpenStack CLI Software for Windows PowerShell, you must make sure that your Powershell environment is capable of executing 3rd party modules. - Note: If you are performing a re-installation of the software package, you can skip this step. This step is applicable only for a fresh installation. - Open a PowerShell window as the administrator and issue the command set-executionpolicy -ExecutionPolicy Unrestricted: - - ------------------------------------------------------------------------------------------------------------------- - PS C:\Projects\Outgoing\OS> set-executionpolicy -ExecutionPolicy Unrestricted - - Execution policy change - - The execution policy helps protect you from scripts that you do not trust. Changing the execution policy - might expose you to the security risks described in the about_Execution_Policies help topic. Do you want to - change the execution policy? - [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y - PS C:\Projects\Outgoing\OS> - ------------------------------------------------------------------------------------------------------------------- - Close the Powershell window and reopen as administrator for the policy changes to take effect. - - B. A Quick Setting in Visual Studio - - After Cloning the repo and loading the solution within Visual Studio, ensure that the "Enable Nuget Package Restore" option has been turned - on at the Solution level. This will retreive all of the neccessary external dependencies for the Solution to build properly. - -C. - Supplying your Credentials - -Our next step is to make sure that we supply the proper credentials when logging on to the system. If you ran the CLI after your initial -install, you'll have noticed that you were prompted for this information. The result is stored in the OpenStack.config file located within the Users Personal Data Folder -under the OS directory. With each Build we must update that file with the version in our solution. This is so that when new config file changes are introduced, you -have the CLI picking them up at runtime from the expected location (instead of residing in just your project directory). Complete these steps to supply this information. - -1. Navigate to the OpenStack.Client.Powershell project and look into the Deployment folder. -2. Within that folder you will see a file called OpenStack.config.example -3. Copy the example file into the same folder but remove the .example on the filename. -4. Open up the OpenStack.config file that you just created. -5. Find the config section entitled "IdentityServices". -6. Within this section supply values for Username, Password, and Default Tenenat Id. All of this can be found within your account information on you providers portal. - -Each time that we build, this OpenStack.config file will be moved to the correct runtime location via Post-Build Scripts outlined in the next section. - -D. - Edit Post Build Scripts - -Within the OpenStack.Client.Powershell projects Post-Build Event you'll notice that we call a PostBuild.bat file. This -batch file will move important run-time files required by the CLI to their proper locations if you decide to edit them. -Without this, all changes to important files (like OpenStack.config) would go unnoticed because they would sit in our project -folders on disk (rather than the location the CLI expects). To create tis batch file, follow these steps. - -1. Navigate to the OpenStack.Client.Powershell project and look into the Deployment folder. -2. Within that folder you will see a file called PostBuild.example -3. Open up that file and copy the contents to the clipboard. -4. Within that same folder create a file called PostBuild.bat -5. Paste the script on the clipboard into that file. -6. Notice the Action Required section of the file. Modify the path you see there to reflect your development machine. -7. Save your Project and do a test build (Rebuild All). The Output Window will show any Echo results from the script and show any script errors that may break the build. - -E. - Modifying you Developer Profile - - When the Powershell runtime starts it looks for a file called Microsoft.PowerShell_profile.ps1. This script gets executed right after -Powershell loads. Here we can set up the look of the environment, issue some default commands (useful for testing!) -and loading Powershell Modules. The Powershell module is where all of our CLI code resides and must get loaded by this script. -The only problem here is that the path to that module is specific to your machine. To address this follow these steps - - 1. Open up the DevProfile.ps1.example file within the Solutions [OpenStack.Client.Powershell]\Deployment folder. - 2. Copy the contents of this file into a new text file called DevProfile.ps1 - 3. Search this document for "ACTION REQUIRED" and follow the instructions given. - -II - Debugging - -Debugging the CLI is a bit more challenging than with say a normal executable. In this case the entry point or main process is the Powershell runtime itself. -This requires us to load our work into that environment and attach the VS debugger to the Powershell host at runtime. Follow these steps to get the debugger running. - - 1. Set your breakpoint. - 2. Compile the Solution. - 3. Load Powershell. With everything in place this should automatically Import the module you just compiled. - 3. From within VS select Debug\Attach To Process - 4. Attach to the Powershell.exe process. - 5. Issue a command in the CLI that triggers your breakpoint. - -A. Debugging Provider Code - -When Powershell modules get Imported, any providers found in that Module will be executed first. This leaves us with a problem in that -any code that we need to debug in the provider during startup needs to be paused until we have time to actually set a break point properly. -To do this complete the following actions. - - 1. Set you breakpoint in the providers InitializeDefaultDrives() method. This is the first stage in the Providers Life-Cycle. - 2. Open the DevProfile.ps1 file. - 3. Comment out the Import-Module statement (Copy it to the clipboard for your convience). - 2. Compile the Solution. - 3. Load Powershell. - 3. From within VS select Debug\Attach To Process - 4. Attach to the Powershell.exe process. - 5. From the command line paste the Import-Module statement into the CLI. This will trigger the breakpoint that you set in step 1. - -B. Getting to the Action - A Quick Tip - -Sometimes we're trying to debug something in the CLI and we need to get to a certain location quickly. For example if you are testing the -list view for Servers and your sick of typing this after you restart each time - - cd\ - cd Servers - ls - cd 1 - ls - -Just remember that this can be placed in your Devprofile.ps1 file and Powershell will issue those commands for you. This makes debugging a specific -section of the CLI much easier.. - -III. Testing - - Object Storage Integration Test Notes - - These unit test require a particular directory structure to be present on your machine to complete the test cases where we copy files and or folders to the server. - Make sure that you have something like the following on your machine. - - Folder1 (contains files) - -> Folder2 (contains files) - -> Folder3 (contains NO files) - - Note : Go to the Testing section in the OpenStack.config file. Make sure that LocalTestDirectory - element points to the root of the test folder hierarchy (Folder1 in the example above). \ No newline at end of file diff --git a/Openstack.Client.Powershell/Deployment/License.rtf b/Openstack.Client.Powershell/Deployment/License.rtf deleted file mode 100644 index b51380c..0000000 --- a/Openstack.Client.Powershell/Deployment/License.rtf +++ /dev/null @@ -1,217 +0,0 @@ -{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31506\stshfloch31506\stshfhich31506\stshfbi31507\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;} -{\f34\fbidi \froman\fcharset1\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;} -{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} -{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;} -{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f40\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f41\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\f43\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f44\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f45\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f46\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\f47\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f48\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f60\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}{\f61\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;} -{\f63\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f64\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f65\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f66\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);} -{\f67\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f68\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f410\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f411\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;} -{\f413\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f414\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f417\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f418\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);} -{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} -{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;}{\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;} -{\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;}{\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;}{\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;} -{\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} -{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} -{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} -{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} -{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} -{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;} -{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;} -{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} -{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}} -{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0; -\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp \f31506\fs22 }{\*\defpap \ql \li0\ri0\sa160\sl259\slmult1 -\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 -\ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* -\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1 -\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}}{\*\pgptbl {\pgp -\ipgp5\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp2\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp3\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp4\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid11606679\rsid12599557\rsid15035048}{\mmathPr\mmathFont34\mbrkBin0 -\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Travis Plummer}{\operator Travis Plummer}{\creatim\yr2014\mo2\dy11\hr13\min24}{\revtim\yr2014\mo2\dy11\hr13\min25}{\version1}{\edmins1} -{\nofpages1}{\nofwords82}{\nofchars469}{\nofcharsws550}{\vern57435}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect -\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen -\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1440\dgvorigin1440\dghshow1\dgvshow1 -\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct -\asianbrkrule\rsidroot11606679\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0 -{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang -{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang -{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}} -\pard\plain \ltrpar\ql \li0\ri0\widctlpar\tx916\tx1832\tx2748\tx3664\tx4580\tx5496\tx6412\tx7328\tx8244\tx9160\tx10076\tx10992\tx11908\tx12824\tx13740\tx14656\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid11606679 \rtlch\fcs1 -\af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\lang9\langfe1033\langnp9\insrsid11606679\charrsid11606679 Copyright }{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 -\f2\fs20\lang9\langfe1033\langnp9\insrsid11606679 2014 Openstack}{\rtlch\fcs1 \af2\afs20 \ltrch\fcs0 \f2\fs20\lang9\langfe1033\langnp9\insrsid11606679\charrsid11606679 -\par -\par Licensed under the Apache License, Version 2.0 (the "License"); -\par you may not use this file except in compliance with the License. -\par You may obtain a copy of the License at -\par -\par http://www.apache.org/licenses/LICENSE-2.0 -\par -\par Unless required by applicable law or agreed to in writing, software -\par distributed under the License is distributed on an "AS IS" BASIS, -\par WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -\par See the License for the specific language governing permissions and -\par limitations under the License. -\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \insrsid12599557 -\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a -9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad -5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 -b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 -0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 -a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f -c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 -0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 -a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 -6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b -4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b -4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100aa5225dfc60600008b1a0000160000007468656d652f7468656d652f -7468656d65312e786d6cec595d8bdb46147d2ff43f08bd3bfe92fcb1c41b6cd9ceb6d94d42eca4e4716c8fadc98e344633de8d0981923c160aa569e943037deb -43691b48a02fe9afd936a54d217fa17746b63c638fbb9b2585a5640d8b343af7ce997bafce1d4997afdc8fa87384134e58dc708b970aae83e3211b9178d2706f -f7bbb99aeb7081e211a22cc60d778eb97b65f7c30f2ea31d11e2083b601ff31dd4704321a63bf93c1fc230e297d814c7706dcc920809384d26f951828ec16f44 -f3a542a1928f10895d274611b8bd311e932176fad2a5bbbb74dea1701a0b2e078634e949d7d8b050d8d1615122f89c0734718e106db830cf881df7f17de13a14 -7101171a6e41fdb9f9ddcb79b4b330a2628bad66d7557f0bbb85c1e8b0a4e64c26836c52cff3bd4a33f3af00546ce23ad54ea553c9fc29001a0e61a52917dda7 -dfaab7dafe02ab81d2438bef76b55d2e1a78cd7f798373d3973f03af40a97f6f03dfed06104503af4029dedfc07b5eb51478065e81527c65035f2d34db5ed5c0 -2b5048497cb8812ef89572b05c6d061933ba6785d77daf5b2d2d9caf50500d5975c929c62c16db6a2d42f758d2058004522448ec88f9148fd110aa3840940c12 -e2ec93490885374531e3305c2815ba8532fc973f4f1da988a01d8c346bc90b98f08d21c9c7e1c3844c45c3fd18bcba1ae4cdcb1fdfbc7cee9c3c7a71f2e89793 -c78f4f1efd9c3a32acf6503cd1ad5e7fffc5df4f3f75fe7afeddeb275fd9f15cc7fffed367bffdfaa51d082b5d85e0d5d7cffe78f1ecd5379ffff9c3130bbc99 -a0810eef930873e73a3e766eb10816a6426032c783e4ed2cfa2122ba45339e701423398bc57f478406fafa1c5164c1b5b019c13b09488c0d787576cf20dc0b93 -9920168fd7c2c8001e30465b2cb146e19a9c4b0b737f164fec9327331d770ba123dbdc018a8dfc766653d05662731984d8a07993a258a0098eb170e4357688b1 -6575770931e27a408609e36c2c9cbbc46921620d499f0c8c6a5a19ed9108f232b711847c1bb139b8e3b418b5adba8d8f4c24dc15885ac8f73135c27815cd048a -6c2efb28a27ac0f791086d247bf364a8e33a5c40a6279832a733c29cdb6c6e24b05e2de9d7405eec693fa0f3c84426821cda7cee23c674649b1d06218aa6366c -8fc4a18efd881f428922e7261336f80133ef10790e7940f1d674df21d848f7e96a701b9455a7b42a107965965872791533a37e7b733a4658490d08bfa1e71189 -4f15f73559f7ff5b5907217df5ed53cbaa2eaaa0371362bda3f6d6647c1b6e5dbc03968cc8c5d7ee369ac53731dc2e9b0decbd74bf976ef77f2fdddbeee7772f -d82b8d06f9965bc574abae36eed1d67dfb9850da13738af7b9daba73e84ca32e0c4a3bf5cc8ab3e7b8690887f24e86090cdc2441cac64998f88488b017a229ec -ef8bae7432e10bd713ee4c19876dbf1ab6fa96783a8b0ed8287d5c2d16e5a3692a1e1c89d578c1cfc6e15143a4e84a75f50896b9576c27ea51794940dabe0d09 -6d329344d942a2ba1c9441520fe610340b09b5b277c2a26e615193ee97a9da6001d4b2acc0d6c9810d57c3f53d30012378a242148f649ed2542fb3ab92f92e33 -bd2d984605c03e625901ab4cd725d7adcb93ab4b4bed0c99364868e566925091513d8c87688417d52947cf42e36d735d5fa5d4a02743a1e683d25ad1a8d6fe8d -c579730d76ebda40635d2968ec1c37dc4ad9879219a269c31dc3633f1c4653a81d2eb7bc884ee0ddd95024e90d7f1e6599265cb4110fd3802bd149d520220227 -0e2551c395cbcfd24063a5218a5bb104827061c9d541562e1a3948ba99643c1ee3a1d0d3ae8dc848a7a7a0f0a95658af2af3f383a5259b41ba7be1e8d819d059 -720b4189f9d5a20ce0887078fb534ca33922f03a3313b255fdad35a685eceaef13550da5e3884e43b4e828ba98a77025e5191d7596c5403b5bac1902aa8564d1 -080713d960f5a01add34eb1a2987ad5df7742319394d34573dd35015d935ed2a66ccb06c036bb13c5f93d7582d430c9aa677f854bad725b7bed4bab57d42d625 -20e059fc2c5df70c0d41a3b69acca026196fcab0d4ecc5a8d93b960b3c85da599a84a6fa95a5dbb5b8653dc23a1d0c9eabf383dd7ad5c2d078b9af549156df3d -f44f136c700fc4a30d2f81675470954af8f09020d810f5d49e24950db845ee8bc5ad0147ce2c210df741c16f7a41c90f72859adfc97965af90abf9cd72aee9fb -e562c72f16daadd243682c228c8a7efacda50bafa2e87cf1e5458d6f7c7d89966fdb2e0d599467eaeb4a5e11575f5f8aa5ed5f5f1c02a2f3a052ead6cbf55625 -572f37bb39afddaae5ea41a5956b57826abbdb0efc5abdfbd0758e14d86b9603afd2a9e52ac520c8799582a45fabe7aa5ea9d4f4aacd5ac76b3e5c6c6360e5a9 -7c2c6201e155bc76ff010000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f -7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be -9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980 -ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5b -babac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c0200001300000000000000000000000000000000005b436f6e74656e -745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000000000000000300100005f72656c732f -2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c00000000000000000000000000190200007468656d652f7468656d652f74 -68656d654d616e616765722e786d6c504b01022d0014000600080000002100aa5225dfc60600008b1a00001600000000000000000000000000d6020000746865 -6d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b0100002700000000000000000000000000d00900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000cb0a00000000} -{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d -617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 -6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 -656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} -{\*\latentstyles\lsdstimax371\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6; -\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature;\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong; -\lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Table;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 1; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 2; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 2; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 3; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 2; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 6; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 2; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 6; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 2; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Contemporary;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Elegant;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Professional; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Subtle 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Subtle 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 2; -\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Theme;\lsdsemihidden1 \lsdlocked0 Placeholder Text; -\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid;\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2; -\lsdpriority65 \lsdlocked0 Medium List 1;\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2;\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List; -\lsdpriority71 \lsdlocked0 Colorful Shading;\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1;\lsdpriority61 \lsdlocked0 Light List Accent 1; -\lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdsemihidden1 \lsdlocked0 Revision; -\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1; -\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\lsdpriority72 \lsdlocked0 Colorful List Accent 1; -\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2; -\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2; -\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2; -\lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3; -\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3; -\lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4; -\lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdpriority62 \lsdlocked0 Light Grid Accent 4;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4; -\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4; -\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5; -\lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5; -\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6; -\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6; -\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6; -\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis; -\lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography; -\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4; -\lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4; -\lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1; -\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1; -\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2; -\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2; -\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3; -\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4; -\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4; -\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5; -\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5; -\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6; -\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6; -\lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark; -\lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1; -\lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1; -\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2; -\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3; -\lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3; -\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4; -\lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4; -\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5; -\lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5; -\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6; -\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;}}{\*\datastore 010500000200000018000000 -4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000 -d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e500000000000000000000000000c4 -b60a5f27cf01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/Openstack.Client.Powershell/Deployment/Microsoft.PowerShell_profile.ps1 b/Openstack.Client.Powershell/Deployment/Microsoft.PowerShell_profile.ps1 deleted file mode 100644 index 2e4ac18..0000000 --- a/Openstack.Client.Powershell/Deployment/Microsoft.PowerShell_profile.ps1 +++ /dev/null @@ -1,81 +0,0 @@ -# --------------------------------------------------------------- -# Set up support methods first.. -# --------------------------------------------------------------- - - function is64bit() { - return ([IntPtr]::Size -eq 8) - } - - function get-programfilesdir() { - if (is64bit -eq $true) { - (Get-Item "Env:ProgramFiles(x86)").Value - } - else { - (Get-Item "Env:ProgramFiles").Value - } - } -# --------------------------------------------------------------- -# Set up the default windows size and color.... -# --------------------------------------------------------------- - - #$DebugPreference=$VerbosePreference="Continue" - #$DebugPreference = "Continue" - $a = (Get-Host).UI.RawUI - $b = $a.WindowSize - $b.Width = 109 - $b.Height = 61 - $a.WindowSize = $b - $a.BackgroundColor = "black" - $a.ForegroundColor = "green" - - cls -# --------------------------------------------------------------- -# Register known providers, write out welcome and status messages.. -# ----------------------------------------------------------------- - - $a.BackgroundColor = "black" - Echo '' - $a.ForegroundColor = "gray" - Echo '========================================================================================' - $a.ForegroundColor = "yellow" - Echo 'Welcome to the OpenStack Powershell Environment.' - $a.ForegroundColor = "gray" - Echo '========================================================================================' - Echo '' - $a.ForegroundColor = "green" - echo ' ==> Registering Providers...' - - $tempvar = get-programfilesdir - $tempvar = $tempvar + "\OpenStack\OpenStack-Powershell" - cd $tempvar - import-module .\CLIManifest.psd1 -DisableNameChecking - - echo ' ==> Applying Command Aliases...' - echo ' ==> Registering Views...' - echo '' - -# --------------------------------------------------------------- -# Reset Shell to default colors.. -# --------------------------------------------------------------- - - $a.ForegroundColor = "yellow" - echo 'Ready..' - $a.ForegroundColor = "green" - echo '' - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Openstack.Client.Powershell/Deployment/Openstack-Core.psd1 b/Openstack.Client.Powershell/Deployment/Openstack-Core.psd1 deleted file mode 100644 index 913b84d..0000000 --- a/Openstack.Client.Powershell/Deployment/Openstack-Core.psd1 +++ /dev/null @@ -1,21 +0,0 @@ -@{ -ModuleToProcess = 'OpenStack.Client.Powershell.dll' -GUID="{847a28a4-6407-4aa6-8070-a4a51396db70}" -Author="Travis Plummer" -CompanyName="Hewlett-Packard Corporation" -Copyright="© Hewlett-Packard. All rights reserved." -ModuleVersion="1.0.0.0" -PowerShellVersion="2.0" -CLRVersion="4.0.30319" -FormatsToProcess="OpenStack.format.ps1xml" -FileList='OpenStack.config' -RequiredAssemblies = 'OpenStack.dll' - -} - - - - - - - diff --git a/Openstack.Client.Powershell/Deployment/Openstack.Client.Powershell.dll-Help.xml b/Openstack.Client.Powershell/Deployment/Openstack.Client.Powershell.dll-Help.xml deleted file mode 100644 index 63de2eb..0000000 --- a/Openstack.Client.Powershell/Deployment/Openstack.Client.Powershell.dll-Help.xml +++ /dev/null @@ -1,9685 +0,0 @@ - - - - - - - - - - - - - - - Copy-Id - - - This Cmdlet will copy a records Id column to the clipboard given a QuickPick Number. - - - - - Copy - Id - - - - - This Cmdlet will copy a records Id column to the clipboard given a QuickPick Number. - - - - - - - - - - - - - qp - - - The QuickPick Number of the row - - - string - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # copy-id 2 - - - Description - ----------- - - This command will copy the Id of the record represented by QuickPickNumber 2 - - - - - - - - - - - - - - - - - - - - - - - - Get-Config - - - This Cmdlet will print out what config file entries the current session is running under. - - - - - Get - Config - - - - - This Cmdlet will print out what config file entries the current session is running under. - - - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - PS yourstorageContainer:\> - - - # Get-Config - - - Description - ----------- - - Prints out settings for the current session. - - - - - - - - - - - - - - - - - - - - - - - Map-Drive - - - This Cmdlet will map a Container that someone else owns to your list of available drives. - - - - - Map - Drive - - - - - This Cmdlet will map a Container that someone else owns to your list of available drives. - - - - - - - - - s - - - The full Container path - - - string - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - PS yourContainer:\> - - - # map-drive https://objects.werr.net:443/v1/9153476658759/rgtest2 - - - Description - ----------- - - Maps the rgtest2 Container to the list of available drives for the user. - - - - - - - - - - - - - - - - - - - - - - - Remove-Drive - - - This Cmdlet will remove an existing mapped drive. - - - - - Map - Drive - - - - - This Cmdlet will remove an existing mapped drive. - - - - - - - - - s - - - The Container name - - - string - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - PS yourContainer:\> - - - # remove-drive rgtest - - - Description - ----------- - - removes the rgtest2 Container from the list of available drives. - - - - - - - - - - - - - - - - - - - - - - - Migrate-Drive - - - This Cmdlet is used migrate existing stores of data from external sources like S3, Dropbox and Skydrive to a target Container within OpenStack Object Storage. - - - - - Set - Config - - - - - This Cmdlet is used migrate existing stores of data from external sources like S3, Dropbox and Skydrive to a target Container within OpenStack Object Storage. - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - PS yourContainer:\> - - - # Migrate-Drive -p "S3" -sk "aa78676dhhh100" -ak "jhjhgu64332" -b "testb1", "testb2" - - - Description - ----------- - - Copies the testb1 and testb2 S3 Buckets to OpenStack Object Storage Containers of the same name. -sk = SecretKey -ak = AccessKey - - - - - - - - - - - - - - - - EXAMPLE 2 - - - PS yourContainer:\> - - - # Migrate-Drive -p "S3" -sk "aa78676dhhh100" -ak "jhjhgu64332" - - - Description - ----------- - - This example omits the Buckets (-b) parameter which forces the cmdlet to migrate all S3 Buckets to OpenStack Object Storage Containers of the same name. - - - - - - - - - - - - - - - - EXAMPLE 3 - - - PS yourContainer:\> - - - # Migrate-Drive -p "Skydrive" - - - Description - ----------- - - Migrates the local Skydrive store over to a Container called "Skydrive" - - - - - - - - - - - - - - - - EXAMPLE 4 - - - PS yourContainer:\> - - - # Migrate-Drive -p "Dropbox" - - - Description - ----------- - - Migrates the local Dropbox store over to a Container called "Dropbox" - - - - - - - - - - - - - - - - - - - - - - - - Set-Config - - - This Cmdlet is used to change specific settings on a per session basis. In addition to this, all settings may be changed at once by supplying the path to a completely different config file. - - - - - Set - Config - - - - - This Cmdlet is used to change specific settings on a per session basis. In addition to this, all settings may be changed at once by supplying the path to a completely different config file. - - - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - PS yourContainer:\> - - - # Set-Config -k "HttpTimeOut" -v "100" - - - Description - ----------- - - Changes the HttpTimeout setting to 100 miliseconds - - - - - - - - - - - - - - - - EXAMPLE 2 - - - PS yourContainer:\> - - - # Set-Config -s "c:\testconfig.config" - - - Description - ----------- - - Replaces all current session settings with those defined within the testconfig.config file. - - - - - - - - - - - - - - - - EXAMPLE 3 - - - PS yourContainer:\> - - - # Set-Config -resercfg" - - - Description - ----------- - - Resets the current session settings to those defined within the default config file (OpenStack.config) - - - - - - - - - - - - - - - - - - - - - - - - Get-Uri - - - This cmdlet will print out the fully qualified URI of the resource that you supply with optional parameters which constrain the URIs validity to a timepsan.. - - - - - Get - URI - - - - - When you issue this command the URI is also pasted to the Windows clipboard for your convenience. If you want to disable this behavior simply set the OpenStack.config option entitled PasteGetURIResultsToClipboard to false. - - - - - - - - - s - - - The Source Path to the StorageObject. - - - string - - - dv - - - The number of days the URI is considered valid (optional) - - - string - - - sv - - - The number of seconds the URI is considered valid (optional) - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - PS yourContainer:\> - - - # get-uri anothertest.txt - - - Description - ----------- - - This prints out the fully qualified URI for the anothertest.txt file. - - - - - - - - - - - - - - - - - - - - - - - - Get-Notes - - - - This cmdlet will pull a list of release notes from the server. You can also filter the notes to a specific version. - - - - - - Get - Notes - - - - - - - - - - - - - - all - - - Prints all release notes - - - - - string - - - v - - - Prints release notes for a specific version - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Get-Notes -all - - - Description - ----------- - - Prints the entire set of release notes from all releases. - - - - - - - - - - - - - - - - EXAMPLE 2 - - - - - - # Get-Notes -v "2.0.0.0" - - - Description - ----------- - - Prints out the release notes for the 2.0.0.0 release only. - - - - - - - - - - - - - - - - - - - - - - - - Get-Catalog - - - - This cmdlet will show the current Users service catalog that was retrieved when logging in. This catalog represents every service the user has authorization to use. - - - - - - Get - Catalog - - - - - - - - - - - - - - v - - - Verbose mode displays detailed information about each service that's available. - - - - - string - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Get-Catalog - - - Description - ----------- - - Shows a simple listing of available services. - - - - - - - - - - - - - - - - EXAMPLE 2 - - - - - - # Get-Catalog -v - - - Description - ----------- - - Shows a more detailed list of services with additional technical information. - - - - - - - - - - - - - - - - - - - - - - - - Get-Version - - - - Shows the products version number. - - - - - - Get - Version - - - - - - - - - - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Get-Version - - - Description - ----------- - - Shows the products current version. - - - - - - - - - - - - - - - - - - - - - - - - - - Remove-FloatingIP - - - This Cmdlet will completely remove an existing Floating IP address. - - - - - Remove - FloatingIP - - - - - This Cmdlet will completely remove an existing Floating IP address. - - - - - - - - - - - - - id - - - The identifier for the Floating IP address. - - - string - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # remove-floatingIP 4ee64397-1253-473c-a81d-bc23dceeef31 - - - Description - ----------- - - This command will delete the floatingIP with the id of 4ee64397-1253-473c-a81d-bc23dceeef31 - - - - - - - - - - - - - - - - - - - - - - Remove-Network - - - This Cmdlet will completely remove an existing Network. - - - - - Remove - Network - - - - - This Cmdlet will completely remove an existing Network. - - - - - - - - - - - - - id - - - The identifier of the Network - - - string - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # remove-network -id 12857174-99cf-40e9-999e-fb0fa2e84898 - - - Description - ----------- - - This command will delete the Network with the id of 12857174-99cf-40e9-999e-fb0fa2e84898 - - - - - - - - - - - - - - - - - - - - - - Remove-Port - - - This Cmdlet will completely remove an existing Port. - - - - - Remove - Port - - - - - This Cmdlet will completely remove an existing Port. - - - - - - - - - - - - - id - - - The identifier of the Port - - - string - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # remove-port -id 12857174-99cf-40e9-999e-fb0fa2e84898 - - - Description - ----------- - - This command will delete the Port with the id of 12857174-99cf-40e9-999e-fb0fa2e84898 - - - - - - - - - - - - - - - - - - - - - - Remove-Router - - - This Cmdlet will completely remove an existing Router. - - - - - Remove - Port - - - - - This Cmdlet will completely remove an existing Router. - - - - - - - - - - - - - id - - - The identifier of the Router - - - string - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # remove-router 12857174-99cf-40e9-999e-fb0fa2e84898 - - - Description - ----------- - - This command will delete the Router with the id of 12857174-99cf-40e9-999e-fb0fa2e84898 - - - - - - - - - - - - - - - - - - - - - - Remove-RouterInterface - - - TThis Cmdlet will completely remove an existing relation between a Subnet and Router. - - - - - Remove - Port - - - - - This Cmdlet will completely remove an existing relation between a Subnet and Router. - - - - - - - - - - - - - id - - - The identifier of the Router - - - string - - - - sid - - - The identifier of the Subnet. - - - string - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # remove-routerinterface -id 12857174-99cf-40e9-999e-fb0fa2e84898 -sid bd1c30f7-71f1-455e-b91e-8d03da7f5224 - - - Description - ----------- - - This command will remove the association between Router 12857174-99cf-40e9-999e-fb0fa2e84898 and Subnet bd1c30f7-71f1-455e-b91e-8d03da7f5224 - - - - - - - - - - - - - - - - - - - - - - Remove-Subnet - - - This Cmdlet will completely remove an existing Subnet. - - - - - Remove - Subnet - - - - - This Cmdlet will completely remove an existing Subnet. - - - - - - - - - - - - - id - - - The identifier of the Subnet - - - string - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # remove-Subnet 12857174-99cf-40e9-999e-fb0fa2e84898 - - - Description - ----------- - - This command will delete the Subnet with the id of 12857174-99cf-40e9-999e-fb0fa2e84898 - - - - - - - - - - - - - - - - - - - - - - New-FloatingIP - - - This Cmdlet will create a new FloatingIP. - - - - - New - FloatingIP - - - - - This Cmdlet will create a new FloatingIP. - - - - - - - - - - - - - pid - - - The identifier of the Port required to create the FloatingIP - - - string - - - - nid - - - The identifier of the Network required to create the FloatingIP - - - string - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # new-FloatingIP -pid 12857174-99cf-40e9-999e-fb0fa2e84898 -nid bd1c30f7-71f1-455e-b91e-8d03da7f5224 - - - Description - ----------- - - This command will create a new Floating IP address for Network 12857174-99cf-40e9-999e-fb0fa2e84898 and Port bd1c30f7-71f1-455e-b91e-8d03da7f5224 - - - - - - - - - - - - - - - - - - - - - - New-Network - - - This Cmdlet will create a new Network. - - - - - New - Network - - - - - This Cmdlet will create a new Network. - - - - - - - - - - - - - n - - - The name of the new Network - - - string - - - - asu - - - Determines if the AdminStateUp flag is true or false. - - - string - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # new-network "testNet1" -asu - - - Description - ----------- - - This command will create a new network called testNet1 with its AdminStateUp set to true. - - - - - - - - - - - - - - - - - - - - - - New-Port - - - This Cmdlet will create a new Port. - - - - - New - Port - - - - - This Cmdlet will create a new Port. - - - - - - - - - - - - - n - - - The name of the new Port - - - string - - - - asu - - - Determines if the AdminStateUp flag is true or false. - - - string - - - - nid - - - The id of the Network where the Port will exist. - - - string - - - - did - - - The Ports DeviceId - - - string - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # new-port "testPort1" -nid bd1c30f7-71f1-455e-b91e-8d03da7f5224 -asu -did "sdf\etc" - - - Description - ----------- - - This command will create a new Port called testNet1 on Network bd1c30f7-71f1-455e-b91e-8d03da7f5224 with its AdminStateUp set to true and a Device = sdf/etc. - - - - - - - - - - - - - - - - - - - - - - New-Router - - - This Cmdlet will create a new Router. - - - - - New - Router - - - - - This Cmdlet will create a new Router. - - - - - - - - - - - - - n - - - The name of the new Router - - - string - - - - asu - - - Determines if the AdminStateUp flag is true or false. - - - string - - - - egw - - - The id of the External Gateway Network Id. - - - string - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # new-router "testRouter1" -asu -egw bd1c30f7-71f1-455e-b91e-8d03da7f5224 - - - Description - ----------- - - This command will create a new Router called testRouter1 on External Network bd1c30f7-71f1-455e-b91e-8d03da7f5224 with its AdminStateUp set to true. - - - - - - - - - - - - - - - - - - - - - - New-RouterInterface - - - This Cmdlet will create a new Router. - - - - - New - RouterInterface - - - - - This Cmdlet will create a new RouterInterface. - - - - - - - - - - - - - rid - - - The Router Id - - - string - - - - sid - - - The Subnet Id - - - string - - - - pid - - - The Port Id - - - string - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # new-routerinterface -rid bd1c30f7-71f1-455e-b91e-8d03da7f5224 -pid c9e32588-5b69-4100-a1a6-fa49094ec0a8 -sid 7yuu9886-5b69-4100-a1a6-fa49094ec0a8 - - - Description - ----------- - - This command will create a new Relationship between Router (bd1c30f7-71f1-455e-b91e-8d03da7f5224), Port (c9e32588-5b69-4100-a1a6-fa49094ec0a8) and Subnet (7yuu9886-5b69-4100-a1a6-fa49094ec0a8) - - - - - - - - - - - - - - - - - - - - - - New-Subnet - - - This Cmdlet will create a new Subnet. - - - - - New - Subnet - - - - - This Cmdlet will create a new Subnet. - - - - - - - - - - - - - nid - - - The id of the Network Id. - - - string - - - - ipv - - - Sets the IP Version - - - string - - - - c - - - The CIDR value - - - string - - - a - - - A comma seperated list of Allocation Pools. - - - string - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # new-subnet -nid bd1c30f7-71f1-455e-b91e-8d03da7f5224 -ipv 4 -c "10.0.6.0/24" -a "10.0.6.20", "10.0.6.22" , "10.0.6.26", "10.0.6.29" - - - Description - ----------- - - This command will create a new Subnet. - - - - - - - - - - - - - - - - - - - - - - Update-FloatingIP - - - This Cmdlet will update an existing FloatingIP. - - - - - Update - FloatingIP - - - - - This Cmdlet will update an existing FloatingIP. - - - - - - - - - - - - - id - - - The identifier of the Floating IP - - - string - - - - pid - - - The identifier of the Port Id - - - string - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # update-FLoatingIP -fid 12857174-99cf-40e9-999e-fb0fa2e84898 -pid c9e32588-5b69-4100-a1a6-fa49094ec0a8 - - - Description - ----------- - - This command will reassign the Floating IP (12857174-99cf-40e9-999e-fb0fa2e84898) to the new Port (c9e32588-5b69-4100-a1a6-fa49094ec0a8) - - - - - - - - - - - - - - - - - - - - - - Update-Network - - - This Cmdlet will update an existing Network. - - - - - Update - Network - - - - - This Cmdlet will update an existing Network. - - - - - - - - - - - - - id - - - The identifier of the Network IP - - - string - - - - n - - - The Networks name - - - string - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # update-Network -id 12857174-99cf-40e9-999e-fb0fa2e84898 -n "NewNameTest" - - - Description - ----------- - - This command will change the Network(12857174-99cf-40e9-999e-fb0fa2e84898) name to NewNameTest. - - - - - - - - - - - - - - - - - - - - - - Update-Port - - - This Cmdlet will update an existing Port. - - - - - Update - Port - - - - - This Cmdlet will update an existing Port. - - - - - - - - - - - - - id - - - The identifier of the Port IP - - - string - - - - did - - - The Device Id - - - string - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # update-Port -id 12857174-99cf-40e9-999e-fb0fa2e84898 -did "984456484-76cf-431t-66f-uyt5674567543" - - - Description - ----------- - - This command will change the Port(12857174-99cf-40e9-999e-fb0fa2e84898) device to the devie with Id = 984456484-76cf-431t-66f-uyt5674567543 - - - - - - - - - - - - - - - - - - - - - - Update-Router - - - This Cmdlet will update an existing Router. - - - - - Update - Router - - - - - This Cmdlet will update an existing Router. - - - - - - - - - - - - - id - - - The identifier of the Router - - - string - - - - nid - - - The identifier of the Network - - - string - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # update-Router -id 12857174-99cf-40e9-999e-fb0fa2e84898 -nid c9e32588-5b69-4100-a1a6-fa49094ec0a8 - - - Description - ----------- - - This command will reassign the Router(12857174-99cf-40e9-999e-fb0fa2e84898) to Network (c9e32588-5b69-4100-a1a6-fa49094ec0a8) - - - - - - - - - - - - - - - - - - - - - - Update-Subnet - - - This Cmdlet will update an existing Subnet. - - - - - Update - Subnet - - - - - This Cmdlet will update an existing Subnet. - - - - - - - - - - - - - id - - - The identifier of the Subnet - - - string - - - - egw - - - The identifier of the External Network Gateway - - - string - - - - n - - - The new name of the Subnet - - - string - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # update-Subnet -id 12857174-99cf-40e9-999e-fb0fa2e84898 -egw c9e32588-5b69-4100-a1a6-fa49094ec0a8 -n "NewSubnetName" - - - Description - ----------- - - This command will reassign the Subnet(12857174-99cf-40e9-999e-fb0fa2e84898) to External Network (c9e32588-5b69-4100-a1a6-fa49094ec0a8) with the new name of "NewSubnetName" - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get-Metadata - - - This Cmdlet will list out the Metadata entries assigned to the supplied resource. You can currently list metadata assigned to Servers, Storage Objects , Containers and CDN Containers. - - - - - Get - Metadata - - - - - Many resources can have zero to many custom meta-data entries assigned to them. This is essentially a list of Key Value Pairs attached to the resource that you may use for whatever you would like. - - - - - - - - - - - - - sp - - - The path to the remote Storage Object. Paths may be expressed as fully qualified or relative to the current location in the store. - - - string - - - - cn - - - The Container Name. - - - string - - - - cdn - - - The CDN Container Name. - - - string - - - - sid - - - The Server ID. - - - string - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - PS yourContainer:\> - - - # Get-metadata test.txt - - - Description - ----------- - - This command will print out a list of name value pairs assigned to the. For details on how to add meta-data elements see the Set-Metadata Cmdlet. - - - - - - - - - - - - - - - - EXAMPLE 2 - - - - - - # Get-metadata -sid 23465 - - - Description - ----------- - - This command will print out all Metadata entries for the Server with an ID = 23465. - - - - - - - - - - - - - - - - EXAMPLE 3 - - - - - - # Get-metadata -cn "Marketing" - - - Description - ----------- - - This command will print out all Metadata entries for the Marketing Container. - - - - - - - - - - - - - - - - EXAMPLE 4 - - - - - - # Get-metadata -cdn "Marketing" - - - Description - ----------- - - This command will print out all Metadata entries for the Marketing CDN Container. - - - - - - - - - - - - - - - - - - - - - - - - Set-Metadata - - - This Cmdlet can be used to add meta-data elements to an existing resource. - - - - - Set - Metadata - - - - - Resources can have zero to many custom meta-data entries assigned to them. This is essentially a list of Key Value Pairs attached to the object that you may use for whatever you would like. - - - - - - Set-Metadata [-sp] [-sid] [-cdn] -md - - - - - - - sp - - - The path to a remote Storage Object. Paths may be expressed as fully qualified or relative to the current location in the store. - - - string - - - md - - - This is a comma delimited set of Name Value Pairs enclosed in quotes. the Key and Values are delimited by the pipe symbol." - - - string - - - - sid - - - The Server Id - - - string - - - - cdn - - - The CDN Container name. - - - string - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - PS yourContainer:\> - - - # Set-metadata test.txt -md "Author|Tom", "Editor|Sam" - - - Description - ----------- - - This example shows us adding two seperate KVPs to the test.txt file. - - - - - - - - - - - - - - - - EXAMPLE 2 - - - - - - # Set-metadata -sid 1345 -md "Author|Tom", "Editor|Sam" - - - Description - ----------- - - This example applies the Key Value Pair (-md argument) to the Server with an Id = 1345. - - - - - - - - - - - - - - - - EXAMPLE 3 - - - - - - # Set-metadata -cdn "Marketing" -md "Author|Tom", "Editor|Sam" - - - Description - ----------- - - This example applies the Key Value Pair (-md argument) to the CDN Container called Marketing. - - - - - - - - - - - - - - - - - - - - - - - - Get-URI - - - This Cmdlet will show the fully qualified URI of an object in storage. - - - - - Get - Metadata - - - - - - - - - - - s - - - - - - - s - - - The path to the remote Storage Object. Paths may be expressed as fully qualified or relative to the current location in the store. - - - string - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - PS yourContainer:\> - - - # Get-URI test.xml - - - Description - ----------- - - This example shows the fully qualifed URI for the test.xml file located in the current directory. - - - - - - - - - - - - - - - - - - - - - - - Remove-Item - - - This Cmdlet remove an object in storage. - - - - - Remove - Item - - - - - - - - - - - s - - - - - - - t - - - The path to the remote Storage Object. Paths may be expressed as fully qualified or relative to the current location in the store. - - - string - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - PS yourContainer:\> - - - # Remove-Item test.xml - - - Description - ----------- - - This example the test.xml file located in the current directory. - - - - - - - - - - - - - - - - - - - - - - - - - - - Set-Scope - - - This sets a Containers scope to public. - - - - - Get - Metadata - - - - - To allow users other than the owner of a Container to access resources you need to set the Containers scope to Public with this cmdlet. - - - - - - SourcePath - - - - - - - Name - - - The Containers name. - - - string - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - PS yourContainer:\> - - - #set-scope testContainer -s public - - - Description - ----------- - - This example shows us changing the testContainers scope to public. - - - - - - - - - - - - - - - - - - - - - - - Remove-Container - - - Removes the specified Container from the system optionally forcing the operation to complete without confirmation. - - - - - Remove - Container - - - - - - - - - - - - - - Name - - - The name of the Container to remove. - - - string - - - - ForceDelete - - - This switch forces the Container to be removed without any confirmation prompt. - - - string - - - cdn - - - Removes any associated CDN entry when the Container is removed. - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - PS yourContainer:\> - - - # remove-container testContainer - - - Description - ----------- - - Removes testContainer from the system but prompts the user for confirmation before continuing. - - - - - - - - - - - - - - - - EXAMPLE 2 - - - PS yourContainer:\> - - - # remove-container testContainer -fd - - - Description - ----------- - - Forces the system to delete the specified Container without confirmation from the user. - - - - - - - - - - - - - - - - - - - - - - - - New-Container - - - This Cmdlet create a new storage Container. - - - - - New - Container - - - - - You must be a registered user of the OpenStack Cloud Services platform in order to perform this operation because it requires a valid access key id to authenticate the request. Therefore anonymous requests can not create Containers. When you create a Container, you become the Container owner. - - - - - - Name - - - - - - Name - - - The name of the Container to create. - - - - - string - - - Url - - - The url to a Shared Container. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - PS yourContainer:\> - - - # New-Container marketing - - - Description - ----------- - - This command will create a new Container named marketing. - - - - - - - - - - - - - - - EXAMPLE 2 - - - PS yourContainer:\> - - - # New-Container https://region-a.geo-1.objects.Openstacksvc.com/v1/AUTH_2485a207-71a4-4429-9e24-f7bf49e207fc/testcon - - - Description - ----------- - - This command will allow use of the Shared Container named testcon. - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-Volume - - - This Cmdlet creates a new Block Storage Volume. - - - - - New - Volume - - - - - - - - - - - New-Volume - - - - - - svid - - - The Source Volume Id to derive this volume from. The Source Volume Id must reside in the same AZ as the one you are creating. - - - - - string - - - az - - - The target Availability Zone to create the Volume in. - - - - - string - - - Name - - - The name of the Volume to create. - - - - - string - - - Description - - - A quick description of the Volumes purpose. - - - - - string - - - Size - - - The size (in Gb) of the Volume. - - - - - string - - - Metadata - - - Additional Metadata associated with the Volume. This will be a comma delimited set of name value pairs which are themselves pipe delimited. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # New-Volume "TestVolume" "This is a simple Volume test" 20 - - - Description - ----------- - - This command will create a new 20 gig Volume. - - - - - - - - - - - - - - - EXAMPLE 2 - - - - - - # New-Volume "TestVolume" "This is a simple Volume test" 20 "test|data", "another|test" - - - Description - ----------- - - This command will create a new 20 gig Volume with additional metadata - - - - - - - - - - - - - - - - - - - - - - - - Remove-Volume - - - This Cmdlet deletes an existing Block Storage Volume. - - - - - Remove - Volume - - - - - - - - - - - Remove-Volume - - - - - - VolumeId - - - The Volumes unique identifier. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Remove-Volume 12857174-99cf-40e9-999e-fb0fa2e84898 - - - Description - ----------- - - This command will remove a existing Volume with an Id = 12857174-99cf-40e9-999e-fb0fa2e84898. - - - - - - - - - - - - - - - - - - - - - - - - - Attach-Volume - - - This Cmdlet associates a Volume with an existing Server. - - - - - Attach - Volume - - - - - - - - - - - Attach-Volume - - - - - - id - - - The id of the target Server. - - - - - string - - - VolumeId - - - The Volumes unique identifier. - - - - - string - - - Device - - - The associations Device name. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Attach-Volume -s 12857174-99cf-40e9-999e-fb0fa2e84898 -v 7da74520-9d5e-427b-a508-213c84e69616 "/dev/vdp" - - - Description - ----------- - - This command will associate Volume 7da74520-9d5e-427b-a508-213c84e69616 to Server 12857174-99cf-40e9-999e-fb0fa2e84898 with an assigned device name of /dev/vdX. - - - - - - - - - - - - - - - - - - - - - - - Detach-Volume - - - This Cmdlet disassociates a Volume with an existing Server. - - - - - Detach - Volume - - - - - - - - - - - Detach-Volume - - - - - - Id - - - The id of the target Server. - - - - - string - - - VolumeId - - - The Volumes unique identifier. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Detach-Volume -v 7da74520-9d5e-427b-a508-213c84e69616 -s 4ee64397-1253-473c-a81d-bc23dceeef31 - - - Description - ----------- - - This command will disassociate Volume a508 from Server 4ee64397-1253-473c-a81d-bc23dceeef31. - - - - - - - - - - - - - - - - - - - - - - - New-Snapshot - - - This Cmdlet creates a new Block Storage Snapshot. - - - - - New - Snapshot - - - - - - - - - - - New-Snapshot - - - - - - Name - - - The name of the Snapshot to create. - - - - - string - - - Description - - - A quick description of the Snapshots contents. - - - - - string - - - VolumeId - - - The Id of the Volume that we're taking the snapshot of. - - - - - string - - - Force - - - Force - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # New-Snapshot -n "TestSnapshot" -d "This is a simple Snapshot test" -v 4ee64397-1253-473c-a81d-bc23dceeef31 - - - Description - ----------- - - This command will create a new snapshot of Volume 4ee64397-1253-473c-a81d-bc23dceeef31 - - - - - - - - - - - - - - - - - - - - - - - Remove-Snapshot - - - This Cmdlet deletes an existing Block Storage Snapshot. - - - - - Remove - Snapshot - - - - - - - - - - - Remove-Snapshot - - - - - - SnapshotId - - - The Snapshots unique identifier. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Remove-Snapshot -s 4ee64397-1253-473c-a81d-bc23dceeef31 - - - Description - ----------- - - This command will remove a existing Snapshot with an Id = 4ee64397-1253-473c-a81d-bc23dceeef31. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - New-Keypair - - - This Cmdlet creates a new keypair for the user. - - - - - New - Keypair - - - - - - - - - - - New-Keypair - - - - - - Name - - - The name of the Keypair to create. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # New-Keypair "TestKey" - - - Description - ----------- - - This command will create a new Keypair named TestKey. - - - - - - - - - - - - - - - - - - - - - - - - Remove-Keypair - - - This Cmdlet deletes a previously created keypair for the user. - - - - - Remove - Keypair - - - - - - - - - - - Remove-Keypair - - - - - - Name - - - The name of the Keypair to delete. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Remove-Keypair "TestKey" - - - Description - ----------- - - This command will delete an existing Keypair named TestKey. - - - - - - - - - - - - - - - - - - - - - - - - Disassociate-IP - - - This Cmdlet releases a previously allocated IP address. - - - - - Disassociate - IP - - - - - - - - - - - Disassociate-IP - - - - - - ip - - - The IP address to release. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Disassociate-IP 4ee64397-1253-473c-a81d-bc23dceeef31 - - - Description - ----------- - - This command will release a previously allocated IP address. - - - - - - - - - - - - - - - - - - - - - - - - UnAssign-IP - - - This Cmdlet assigns an existing IP address to an existing Server. - - - - - UnAssign - IP - - - - - - - - - - - UnAssign-IP - - - - - - ip - - - The IP address to disassociate. - - - - - string - - - sid - - - The Server Id that will be disassociated from the supplied IP address. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - #Unassign-IP "192.168.110.45" -s 4ee64397-1253-473c-a81d-bc23dceeef31 - - - Description - ----------- - - This command will remove the supplied IP address from server 4ee64397-1253-473c-a81d-bc23dceeef31 - - - - - - - - - - - - - - - - - - - - - - - - Assign-IP - - - This Cmdlet assigns an existing IP address to an existing Server. - - - - - Assign - IP - - - - - - - - - - - Assign-IP - - - - - - ip - - - The IP address to assign. - - - - - string - - - sid - - - The Server Id that will be assigned to. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - #Assign-IP "192.168.110.45" -s 4ee64397-1253-473c-a81d-bc23dceeef31 - - - Description - ----------- - - This command will assign the supplied IP address to server 4ee64397-1253-473c-a81d-bc23dceeef31 - - - - - - - - - - - - - - - - - - - - - - - - New-CDN - - - This Cmdlet will create a new CDN entry for the specified Container. - - - - - New - CDN - - - - - - - - - - - New-CDN - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # New-CDN -n "TestContainer" - - - Description - ----------- - - Associates a new CDN entry for the existing Container called TestContainer. - - - - - - - - - - - - - - - - - - - - - - - - Remove-CDN - - - This Cmdlet will remove a CDN entry for the specified Container. - - - - - Remove - CDN - - - - - - - - - - - Remove-CDN - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Remove-CDN -n "TestContainer" - - - Description - ----------- - - Disassociates the CDN entry for existing container TestContainer. - - - - - - - - - - - - - - - - - - - - - - - - List-CDN - - - This Cmdlet will list out all Containers that have associated CDN entries. - - - - - List - CDN - - - - - - - - - - - List-CDN - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # List-CDN - - - Description - ----------- - - This cmdlet will list out all Containers with associated CDN entries. - - - - - - - - - - - - - - - - - - - - - - - - Set-Zone - - - This Cmdlet will force subsequent cmdlets to utilize the Availability Zone supplied. - - - - - Set - Zone - - - - - - - - - - - Set-Zone - - - - - - z - - - The Availability ZoneID to be set. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Set-Zone 1 - - - Description - ----------- - - This command will cause all susequent Compute related IO to be directed to the AZ-2 Zone which has the Id of 1. The Id's for each Zone can be found by issueing the Get-Zones cmdlet. - - - - - - - - - - - - - - - - - - - - - - - - Set-ZoneColor - - - This command will set all output to a specific color when the User selects the Zone via Set-Zone. - - - - - Set - ZoneColor - - - - - - - - - - - Set-ZoneColor - - - - - - z - - - The Availability ZoneID to be set. - - - - - string - - - c - - - The color for the zones output. Valid values are "Black", "Blue", "Cyan", "DarkBlue", "DarkCyan", "DarkGray", "DarkGreen", "DarkMagenta", "DarkRed", "DarkYellow", "Gray", "Green", "Magenta", "Red", "White", and "Yellow". - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Set-ZoneColor -z 1 -c Green - - - Description - ----------- - - This command will set all output to Green when the User selects the Zone via Set-Zone. - - - - - - - - - - - - - - - - - - - - - - - - Get-Zone - - - This Cmdlet will current Availability Zone being used. - - - - - Get - Zone - - - - - - - - - - - Get-Zone - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Get-Zone - - - Description - ----------- - - This command will simply show the current Availability Zone in use. - - - - - - - - - - - - - - - - - - - - - - - - Associate-IP - - - This Cmdlet will request a new Floating IP address from the server. - - - - - Associate - IP - - - - - - - - - - - Associate-IP - - - - - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Associate-IP - - - Description - ----------- - - Request a new Floating IP address from the server. - - - - - - - - - - - - - - - - - - - - - - - - Add-Rule - - - This Cmdlet creates a new Security Group Rule and assigns it to an existing Security Group - - - - - Add - Rule - - - - - - - - - - - Add-Rule - - - - - - d - - - Ingress or egress: The direction in which the security group rule is applied. For a compute instance, an ‘ingress’ security group rule matches traffic that is incoming (ingress) for that instance. An ‘egress’ rule is applied to traffic leaving the instance. - - - - - string - - - max - - - The maximum port number in the range that is matched by the security group rule. The port_range_min attribute constrains the port_range_max attribute. If the protocol is ICMP, this value must be an ICMP type. - - - - - string - - - min - - - The minimum port number in the range that is matched by the security group rule. If the protocol is TCP or UDP, this value must be less than or equal to the value of the port_range_max attribute. If the protocol is ICMP, this value must be an ICMP type. - - - - - string - - - p - - - The protocol that is matched by the security group rule. Valid values are null, tcp, udp, and icmp. - - - - - string - - - rgid - - - The remote group ID to be associated with this security group rule. - - - - - string - - - ripp - - - The remote IP prefix to be associated with this security group rule. - - - - - string - - - sgid - - - The Security GroupId used to apply this rule. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Add-Rule -min "80" -max "85" -d "ingress" -et -p icmp IPv4 -sgid 2076db17-a522-4506-91de-c6dd8e837028 - - - Description - ----------- - - This will create a new Security Group Rule affecting the tcp protocol from port 80 to 85 and assign it to SecurityGroup 2076db17-a522-4506-91de-c6dd8e837028. - - - - - - - - - - - - - - - - - - - - - - - - Remove-Rule - - - This Cmdlet will delete an existing Security Group Rule. - - - - - Remove - Rule - - - - - - - - - - - Remove-Rule - - - - - - id - - - The Security GroupRuleId used to remove the rule. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Remove-Rule -id 4ee64397-1253-473c-a81d-bc23dceeef31 - - - Description - ----------- - - Remove the SecurityGroupRule with an Id of 4ee64397-1253-473c-a81d-bc23dceeef31. - - - - - - - - - - - - - - - - - - - - - - - - New-SecurityGroup - - - This Cmdlet creates a new Security Group. - - - - - New - SecurityGroup - - - - - - - - - - - New-SecurityGroup - - - - - - n - - - The name of the new Security Group. - - - - - string - - - d - - - A brief description of the groups purpose. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # New-SecurityGroup -n "TestGroup" -d "SomeDescription" - - - Description - ----------- - - This command will create a simple test Security Group. - - - - - - - - - - - - - - - - - - - - - - - - Remove-SecurityGroup - - - This Cmdlet will delete an existing Security Group. - - - - - Remove - SecurityGroup - - - - - - - - - - - Remove-SecurityGroup - - - - - - id - - - The identifier used to remove the Security Group. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Remove-SecurityGroup -id 4ee64397-1253-473c-a81d-bc23dceeef31 - - - Description - ----------- - - Remove the Security Group with an Id of 4ee64397-1253-473c-a81d-bc23dceeef31. - - - - - - - - - - - - - - - - - - - - - - - - Add-Metadata - - - This Cmdlet associates a set of key value pairs with a Server. - - - - - Add - Metadata - - - - - - - - - - - Add-Metadata - - - - - - md - - - A pipe delimited set of Name Value Pairs seperated by commas. "Namevalue1 | value1" , "NameValue2 | value2", "NameValue3 | value3" etc.. - - - - - string - - - s - - - The identifier (ServerId) used to associate this metadata with. If your currently viewing a Servers details this parameter may be ommited as it's supplied for you. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Add-Metadata -md "Namevalue1 | value1" , "NameValue2 | value2", "NameValue3 | value3" -s 4ee64397-1253-473c-a81d-bc23dceeef31 - - - Description - ----------- - - This command will add threee Name Value Pairs to Server 4ee64397-1253-473c-a81d-bc23dceeef31. - - - - - - - - - - - - - - - - - - - - - - - - New-Server - - - This Cmdlet creates a new Server. - - - - - New - Server - - - - - - - - - - - New-Server - - - - - - nid - - - A Comma seperated list of targeted network Ids. - - - - - string - - - az - - - Ther Servers Availability Zone - - - - - string - - - - n - - - The Servers name. - - - - - string - - - i - - - The identifier (ImageRefId) used to define this Server. - - - - - string - - - k - - - The name of a keypair to assign to the newly created Server. - - - - - string - - - sg - - - A comma delimited set of quoted SecurityGroup names that are to be applied to the newly created Server. - - - - - string - - - f - - - The identifier (FlavorRefId) used to define this Server. - - - - - string - - - p - - - A password may be specified when creating the server via this optional parameter. If a password is not specified, a randomly generated password will be assigned and returned in the response. - - - - - string - - - ip4 - - - ip4 based access address. - - - - - string - - - ip6 - - - ip6 based access address. - - - - - string - - - md - - - A pipe delimited set of Name Value Pairs seperated by commas. "Namevalue1 | value1" , "NameValue2 | value2", "NameValue3 | value3" etc.. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # New-Server -n "TestServer" -p "gooblygook" -i "2111" -f "100" -md "Namevalue1 | value1" , "NameValue2 | value2", "NameValue3 | value3" -s 4ee64397-1253-473c-a81d-bc23dceeef31 - - - Description - ----------- - - This command will create a new server with some metadata. - - - - - - - - - - - - - - - EXAMPLE 2 - - - - - - # New-Server -n "TestServer" -p "gooblygook" -i "2111" -f "100" -s "2133" -k "testkey" - - - Description - ----------- - - This command will create a new server using the testkey keypair name. - - - - - - - - - - - - - - - - - - - - - - - - Reboot-Server - - - This cmdlet allows for either a soft or hard reboot of a server. With a soft reboot, the operating system is signaled to restart, which allows for a graceful shutdown of all processes. A hard reboot is the equivalent of power cycling the server. - - - - - Reboot - Server - - - - - - - - - - - Reboot-Server - - - - - - id - - - The Servers identifier. - - - - - string - - - - - - - - - - - - t - - - - - - With a soft reboot (SOFT), the operating system is signaled to restart, which allows for a graceful shutdown of all processes. A hard reboot (HARD) is the equivalent of power cycling the server. - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Reboot-Server -s 4ee64397-1253-473c-a81d-bc23dceeef31 -t "SOFT" - - - Description - ----------- - Perform a soft reboot on the specified server - - - - - - - - - - - - - - - - - - - - - - - - Remove-Server - - - This cmdlet deletes an existing Server. - - - - - Remove - Server - - - - - - - - - - - Remove-Server - - - - - - id - - - The Servers identifier. - - - - - string - - - - - - - - - - - - t - - - - - - Deletes an existing Server. - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Remove-Server -s 4ee64397-1253-473c-a81d-bc23dceeef31 - - - Description - ----------- - - Deletes the server with the identifier 4ee64397-1253-473c-a81d-bc23dceeef31. - - - - - - - - - - - - - - - - - - - - - - - - Reset-Password - - - This cmdlet resets the administrators password for the given Server. - - - - - Reset - Password - - - - - - - - - - - Reset-Password - - - - - - id - - - The Servers identifier. - - - - - string - - - - - - - - - - - - p - - - - - - The password which must meet the complexity requirements set by your OpenStack Compute provider. - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Reset-Password -id 4ee64397-1253-473c-a81d-bc23dceeef31 -p "testpassword08" - - - Description - ----------- - - Resets the Admin password on Server 4ee64397-1253-473c-a81d-bc23dceeef31. - - - - - - - - - - - - - - - - - - - - - - - - Update-Server - - - This cmdlet allows you to change the Servers name property. - - - - - Update - Server - - - - - - - - - - - Update-Server - - - - - - id - - - The Servers identifier. - - - - - string - - - - - - - - - - - - n - - - - - - The new Server name. - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # Update-Server -id 4ee64397-1253-473c-a81d-bc23dceeef31 -n "NewName" - - - Description - ----------- - - Updates Server 4ee64397-1253-473c-a81d-bc23dceeef31 to the new name of NewName. - - - - - - - - - - - - - - - - - - - - - - - - New-Image - - - This Cmdlet crfeates a new Image based on an existing Server. - - - - - New - Image - - - - - - - - - - - New-Image - - - - - - md - - - A pipe delimited set of Name Value Pairs seperated by commas. "Namevalue1 | value1" , "NameValue2 | value2", "NameValue3 | value3" etc.. - - - - - string - - - s - - - The identifier (ServerId) to base the Image on. - - - - string - - - n - - - The name of the new Image. - - - - - string - - - - - - - - - - - - None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXAMPLE 1 - - - - - - # New-Image -md "Namevalue1 | value1" , "NameValue2 | value2", "NameValue3 | value3" -s 4ee64397-1253-473c-a81d-bc23dceeef31 -n "TestImage" - - - Description - ----------- - - This command will add three Name Value Pairs to the image for Server 4ee64397-1253-473c-a81d-bc23dceeef31. - - - - - - - - - - - - - - - - - - - diff --git a/Openstack.Client.Powershell/Deployment/Openstack.config b/Openstack.Client.Powershell/Deployment/Openstack.config deleted file mode 100644 index 450e24f..0000000 --- a/Openstack.Client.Powershell/Deployment/Openstack.config +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Openstack.Client.Powershell/Deployment/Openstack.format.ps1xml b/Openstack.Client.Powershell/Deployment/Openstack.format.ps1xml deleted file mode 100644 index 024a2ff..0000000 --- a/Openstack.Client.Powershell/Deployment/Openstack.format.ps1xml +++ /dev/null @@ -1,1729 +0,0 @@ - - - - - - - service - - OpenStack.Objects.Domain.Admin.Zone - - - - - - - 8 - left - - - - 20 - left - - - - 23 - left - - - - 10 - left - - - - - - - - Id - - - Name - - - ShellForegroundColor - - - IsDefault - - - - - - - - - service - - OpenStack.Objects.Domain.BlockStorage.Snapshot - - - - - - - 3 - left - - - - 40 - left - - - - 20 - left - - - - 40 - left - - - - 22 - left - - - - 18 - left - - - - 7 - left - - - - 40 - left - - - - - - - QuickPickNumber - - - Id - - - DisplayName - - - Description - - - CreationDate - - - Status - - - Size - - - VolumeId - - - - - - - - - - - service - - OpenStack.Objects.Domain.BlockStorage.VolumeBackup - - - - - - 3 - left - - - - 45 - left - - - - 20 - left - - - - 20 - left - - - - 8 - left - - - - 10 - left - - - - 10 - left - - - - 28 - left - - - - 18 - left - - - - 42 - left - - - - - - - QuickPickNumber - - - Id - - - Name - - - Container - - - Size - - - Status - - - AvailabilityZone - - - CreatedDate - - - ObjectCount - - - VolumeId - - - - - - - - - - service - - OpenStack.Objects.Domain.BlockStorage.Volume - - - - - - 3 - left - - - - 45 - left - - - - 20 - left - - - - 30 - left - - - - 6 - left - - - - 8 - left - - - - 8 - left - - - - 22 - left - - - - 10 - left - - - - 10 - left - - - - 10 - left - - - - 30 - left - - - - 40 - left - - - - - - - QuickPickNumber - - - Id - - - Name - - - Description - - - VolumeType - - - Size - - - IsBootable - - - CreationDate - - - Status - - - AvailabilityZone - - - Device - - - AttachedTo - - - SourceVolid - - - - - - - - - KeyPair - - OpenStack.Objects.Domain.Server.KeyPair - - - - - - - 40 - left - - - - - 50 - left - - - - - 330 - left - - - - - - - - - - Name - - - - Fingerprint - - - - PublicKey - - - - - - - - - - - - - Port - - OpenStack.Objects.Domain.Networking.Port - - - - - - - - 3 - left - - - - - 40 - left - - - - - 13 - left - - - - - 6 - left - - - - 16 - left - - - - 25 - left - - - - 40 - left - - - - 40 - left - - - - 21 - left - - - - 16 - left - - - - - - - - - QuickPickNumber - - - Id - - - Name - - - Status - - - AdminStateUp - - - MacAddress - - - DeviceOwner - - - DeviceId - - - PortSecurityEnabled - - - BindingType - - - - - - - - - - Subnet - - OpenStack.Objects.Domain.Networking.Subnet - - - - - - - 3 - left - - - - - 40 - left - - - - - 34 - left - - - - - 7 - left - - - - 24 - left - - - - 11 - left - - - - 24 - left - - - - - - - QuickPickNumber - - - Id - - - Name - - - EnableDHCP - - - Cidr - - - IPVersion - - - GatewayIP - - - - - - - - - service - - OpenStack.Client.Powershell.Utility.ServiceProvider - - - - - - 15 - left - - - - 80 - left - - - - 7 - left - - - - 30 - left - - - - - - - Name - - - AuthenticationServiceURI - - - IsDefault - - - - DefaultTenantId - - - - - - - - - service - - OpenStack.Objects.Domain.Networking.FloatingIP - - - - - - - 3 - left - - - - - 42 - left - - - - - 20 - left - - - - - 42 - left - - - - - 15 - left - - - - - 15 - left - - - - - 15 - left - - - - - - - - - - QuickPickNumber - - - - Id - - - - FloatingIPAddress - - - - FloatingNetworkId - - - - FixedIPAddress - - - - PortId - - - - RouterId - - - - - - - - - - StorageContainer - - OpenStack.Objects.Domain.StorageContainer - - - - - - 40 - left - - - - - - - Name - - - - - - - - - Network - - OpenStack.Objects.Domain.Networking.Network - - - - - - - - 3 - left - - - - - 40 - left - - - - - 13 - left - - - - - 6 - left - - - - - 6 - left - - - - - 6 - left - - - - - - - - - - QuickPickNumber - - - - Id - - - - Name - - - - IsExternal - - - - Shared - - - - PortSecurityEnabled - - - - - - - - - - service - - OpenStack.Objects.Domain.Admin.Service - - - - - - - 20 - left - - - - - 27 - left - - - - - - - - - - Type - - - - Name - - - - - - - - - - process4 - - OpenStack.Client.Powershell.Providers.ObjectStorage.StorageItemViewModel - - - - - - 47 - left - - - - 13 - left - - - - 25 - left - - - - 40 - left - - - - - - - Name - - - Size - - - LastModifiedDate - - - Type - - - - - - - - - - process4 - - OpenStack.Storage.StorageObject - - - - - - 47 - left - - - - 13 - left - - - - 25 - left - - - - 40 - left - - - - - - - Name - - - Length - - - LastModified - - - ContentType - - - - - - - - - process5 - - OpenStack.Storage.StorageFolder - - - - - - 47 - left - - - - - 40 - left - - - - - - - Name - - - - ContentType - - - - - - - - - Router - - OpenStack.Objects.Domain.Networking.Router - - - - - - - 3 - left - - - - - 40 - left - - - - 47 - left - - - - - 13 - left - - - - - 14 - left - - - - - - - - - - - QuickPickNumber - - - - Id - - - Name - - - - Status - - - AdminStateUp - - - - - - - - - - - process - - OpenStack.Client.Powershell.Providers.Common.BaseUIContainer - - - - - - - 15 - left - - - - - 100 - left - - - - - 13 - left - - - - - 40 - left - - - - - - - - - Name - - - - Description - - - ObjectType - - - Path - - - - - - - - - process - - OpenStack.Administration.Domain.User - - - - - - - 15 - left - - - - - 20 - left - - - - - 20 - left - - - - - - - - - AccountId - - - - Username - - - Name - - - - - - - - - - process - - OpenStack.Objects.Domain.Compute.Account - - - - - - - 15 - left - - - - - 20 - left - - - - - - - - - - Id - - - Name - - - - - - - - - - process - - OpenStack.Administration.Domain.Group - - - - - - - 40 - left - - - - - 26 - left - - - - - 50 - left - - - - - - - - - GroupId - - - - Name - - - Description - - - - - - - - - - process - - OpenStack.Objects.Domain.Compute.Server - - - - - - - - 3 - left - - - - - 40 - left - - - - - 40 - left - - - - - - 30 - left - - - - 25 - left - - - - 10 - left - - - - 15 - left - - - - - 100 - left - - - - - - - - QuickPickNumber - - - Id - - - - Name - - - CreationDate - - - LastUpdatedDate - - - KeyName - - - Status - - - DisplayIPAddresses - - - - - - - - - - - process - - OpenStack.Objects.Domain.Compute.Image - - - - - - - - 3 - left - - - - - 40 - left - - - - - 70 - left - - - - - 25 - left - - - - - 25 - left - - - - - 15 - left - - - - - - - - - QuickPickNumber - - - - Id - - - - Name - - - - LastModified - - - - CreatedDate - - - - Status - - - - - - - - - - - process - - System.Collections.DictionaryEntry - - - - - - - 30 - left - - - - - 320 - left - - - - - - - - - - - Key - - - - Value - - - - - - - - - - - process - - OpenStack.Objects.Domain.Security.SecurityGroup - - - - - - - 3 - left - - - - - 40 - left - - - - - 40 - left - - - - - 90 - left - - - - - 15 - left - - - - - - - - - QuickPickNumber - - - - Id - - - - Name - - - - Description - - - - TenantId - - - - - - - - - - - process - - OpenStack.Objects.Domain.Compute.MetaDataElement - - - - - - - 20 - left - - - - - 20 - left - - - - - - - - - - - Key - - - - Value - - - - - - - - - - - - flavor - - OpenStack.Objects.Domain.Compute.Flavor - - - - - - - 8 - left - - - - - 26 - left - - - - - 5 - left - - - - - 10 - left - - - - - - 11 - left - - - - - 11 - left - - - - - 5 - left - - - - - 5 - left - - - - - - - - - - - - - - Id - - - - Name - - - Disk - - - Ram - - - - RxtxCap - - - - RxtxQuota - - - - Swap - - - - Vcpus - - - - - - - - - - diff --git a/Openstack.Client.Powershell/Deployment/openstack-cli-powershell.2.0.0.nupkg b/Openstack.Client.Powershell/Deployment/openstack-cli-powershell.2.0.0.nupkg deleted file mode 100644 index 2233e2a57c3a9eb2111e2f2846d261a7bcd6ccef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4145 zcmb_f3piAH8y}R2C@G|Jn%#84j2Yyv5+V1?Ae-tq=ZqQVX3oL5*XP6Ll8yS3BC-@k zx~=3R$!3*GsI5p^%c7*++)C;@GvxNg?)N=A=Q-zj&Ybu1d;jNs|L6B}vXz*(kRbdG z_%~Rb>Pr4FDn=j(PZ`2W!X7@tLdhiI6*#3#Sf8aRGM#zpE4yy8S-@riK?omZayh0% z3Q3y?ARLGbGdaGd#6XO$WkB3)X5xadKn%A)8B87u;4U20l*qs^o)MXhLJWirq9iU4 z;owi`Ts|Ab@LRqwnFm7tpf5tEYHM#I<7g&h5U0lk+(LNBe???7AwC!7(lHXmWse8L zapB=8+GK5gG8^PD=?IDu0XLBEi(sZivJeD{;c2xX7E_DI4aO^DAS@P%6NvHMN`_32by7}7I<^&vwYa1#}w`e;M?1|%NJh9TZ~eRK)}>r&~U z4i!dp5tu5fk38)qnmOSeq(~4aNQpYAM!}|~5$~RI2?9Y4@1Q?f$GN(y+|{1jtSwtE z|2PWZCm)$-EF0b9vpzn1%OgquvJAar2d~tgTGtTpwr|~9{?R)@EjEDK=GAJJ5u*)Z z276(v7k(Ft+!J2D?^QKb9%+2FL}A6S--83PYKMKALGIO_jHK$O9Z0^%Z=OnnewVz? zKkO-A_?0~4tP*E=zVg1;&UR4siF0sSUY?kQ?GA6RzJE#BAJ`Vx>VKqC!Cmn1xF4dHGbEeR3M{VKi}1b{~h+r^Y>cyl#Y8s2D%&k1Z+jZOgf0@U8UnmyZP73qQsm z{UG^dyS}x1dp^3TZiL#}SpBB%fS%M=u6dAc9I5K2=CZv8SFN*a09p3;W>%H2X(rZT z_W6qhO2rL57x!dW+N{A5=8m?!q?sni{+>DSt$AaGm(tFx;p`ikE~gm^kp&+@4)^O< z_%PO+8%rKvKxwUAB75_&ao*3BO1gJb#NV}tD{Se_uev#;#^`Wf-x(5gNUrFHXNSEv zZ^H-8MKxW68BN_lD|4VGGpgtbn$aOJsSThE-yM{zD6K|+>EDk&?v8BwQLLNK^ZX<^ zy;sDu9PX6NBM{8-4M-L56^zTpcN>Vog}C^HBOx}z3B*T^hf?P1lU(-~4ysm*KPFcj zCnlbiSi8x7hqZak(*(BH#%L{;Qhs2d*Yl)Ot+2AA&rB0l2WsEvBsY0<)jd;5TtoEJ z+W+R>y*mBp;W~FVM~#-3KdiG1*D89m3zq6PjII3jOvdSU_j9m@zRYEkWv+PE%M|+^ z*{jH?=6PQS$t`&qbZ}Wq)K7;)PnPA3M&wW~{2|#KAN8Ypb4i-@NQULQ)b?n3wbs=^ zRnfuc^;gIfIguE(dngAq_(<_&UU0bX(rfE! zox8;#-Pn=k>tg#`;Tzridpl@78pM3VOKZb}NVm@<7Y@`$sb*$b+(&p~&Tl>_2Ou#Y zw{^@@plysi`ox*-*%HpE>M%Dh*L)TpT-WDLG=ac()A7Als*zVc0joy2D{LeH# zyi-hz*e5VR9IDI`L)&W?``vV)xvLj3Q)CkEb9&#~*vwyY$*<6{ZX@hUjcw0_&WyDu46FM9l(YiyEclh@sPX_dP4XjwZ6sS5ounJ1`xp;4cB zP%*#mROINliYW{9zRUbRuGlutw$;-ATvB{mBkP<)=1Vs zqH-mygwjcKeYdEhDs*JHDSduiYwLR@;a)h&y!r<^pM;7N2*T4D-wXftFZx_N=wIh= zLJHzE!9d0coDmF7FfLvopCw{!FhoXJ2pi#GD49Z{kcktv7{X^ylD?@9q9+rU0+cxs zHaIw#6s#i(j8i}g+0)+6Rm2vxn8I%a2SUcda!VFZQvOrDU@;xEwlifCfFu`^Htmx23SlELK3B)noh6TN8gIB$&&GQ8OVzS0VeIie;Of4dB7#z<6OM|_Ip$m8S?(Ar?lN}N0j&!zYfe6x+q!SM3-2w6SqO%h6szeR?K;{BiU0~*7m zg$Xg?^1}k5gMlmzuoU1>$JCEdFA;%p@MDSu - - - - openstack-cli-powershell - openstack-cli-powershell - 2.0.0 - ThatGuy - Travis Plummer -

    Thid package allows Users to manage their Openstack environments from the Powershell command line. - Thid package allows Users to manage their Openstack environments from the Powershell command line. - OpenStack Powershell CLI Windows - 2014 - http://www.apache.org/licenses/LICENSE-2.0 - false - - - This first release demonstrates the Mutli-Vendor functionality as well as a Read-onoly version of the ObjectStorage Provider. - - - - - diff --git a/Openstack.Client.Powershell/Deployment/powershell.exe.config b/Openstack.Client.Powershell/Deployment/powershell.exe.config deleted file mode 100644 index 944e423..0000000 --- a/Openstack.Client.Powershell/Deployment/powershell.exe.config +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/Openstack.Client.Powershell/Deployment/tools/chocolateyInstall.ps1 b/Openstack.Client.Powershell/Deployment/tools/chocolateyInstall.ps1 deleted file mode 100644 index 65ca8b1..0000000 --- a/Openstack.Client.Powershell/Deployment/tools/chocolateyInstall.ps1 +++ /dev/null @@ -1,46 +0,0 @@ - -$packageName = 'openstack-cli-powershell' -$installerType = 'msi' -#$url = 'https://onedrive.live.com/redir?resid=4BB76CA4826F85D5%2119977' -$url = 'C:\Users\plummert\Source\Builds\Openstack.Client.Powershell.Deployment.msi' -$silentArgs = '/quiet' -$validExitCodes = @(0) - -Install-ChocolateyPackage "$packageName" "$installerType" "$silentArgs" "$url" -validExitCodes $validExitCodes - -$p = [Environment]::GetEnvironmentVariable("PSModulePath") -$p += ";" + $env:USERPROFILE + "\Documents\WindowsPowerShell\Modules\Openstack-Core" - -[Environment]::SetEnvironmentVariable("PSModulePath",$p) - -#try { #error handling is only necessary if you need to do anything in addition to/instead of the main helpers - # other helpers - using any of these means you want to uncomment the error handling up top and at bottom. - # downloader that the main helpers use to download items - - # if removing $url64, please remove from here - #Get-ChocolateyWebFile "$packageName" 'DOWNLOAD_TO_FILE_FULL_PATH' "$url" - # installer, will assert administrative rights - used by Install-ChocolateyPackage - #Install-ChocolateyInstallPackage "$packageName" "$installerType" "$silentArgs" '_FULLFILEPATH_' -validExitCodes $validExitCodes - # unzips a file to the specified location - auto overwrites existing content - #Get-ChocolateyUnzip "FULL_LOCATION_TO_ZIP.zip" "$(Split-Path -parent $MyInvocation.MyCommand.Definition)" - # Runs processes asserting UAC, will assert administrative rights - used by Install-ChocolateyInstallPackage - #Start-ChocolateyProcessAsAdmin 'STATEMENTS_TO_RUN' 'Optional_Application_If_Not_PowerShell' -validExitCodes $validExitCodes - # add specific folders to the path - any executables found in the chocolatey package folder will already be on the path. This is used in addition to that or for cases when a native installer doesn't add things to the path. - #Install-ChocolateyPath 'LOCATION_TO_ADD_TO_PATH' 'User_OR_Machine' # Machine will assert administrative rights - # add specific files as shortcuts to the desktop - #$target = Join-Path $MyInvocation.MyCommand.Definition "$($packageName).exe" - #Install-ChocolateyDesktopLink $target - - #------- ADDITIONAL SETUP -------# - # make sure to uncomment the error handling if you have additional setup to do - - #$processor = Get-WmiObject Win32_Processor - #$is64bit = $processor.AddressWidth -eq 64 - - - # the following is all part of error handling - #Write-ChocolateySuccess "$packageName" -#} catch { - #Write-ChocolateyFailure "$packageName" "$($_.Exception.Message)" - #throw -#} diff --git a/Openstack.Client.Powershell/License.txt b/Openstack.Client.Powershell/License.txt deleted file mode 100644 index 282f43d..0000000 --- a/Openstack.Client.Powershell/License.txt +++ /dev/null @@ -1,176 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - diff --git a/Openstack.Client.Powershell/Migrations/AWSMigration.cs b/Openstack.Client.Powershell/Migrations/AWSMigration.cs deleted file mode 100644 index ade2fc0..0000000 --- a/Openstack.Client.Powershell/Migrations/AWSMigration.cs +++ /dev/null @@ -1,162 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Amazon.S3; -using Amazon.S3.Model; -using Openstack.Objects.DataAccess; -using Openstack.Objects.Utility; -using System.IO; -using Openstack.Objects.Domain; -using Openstack.Objects.DataAccess.Storage; - -namespace Openstack.Migrations -{ - public class AWSMigration - { - private IAmazonS3 _client; - private Session _session; - public delegate void CopyOperationEventHandler(object sender, CopyOperationInfoEventArgs e); - public delegate void CreateContainerOperationEventHandler(object sender, CreateContainerOperationInfoEventArgs e); - public event CopyOperationEventHandler Changed; - public event CreateContainerOperationEventHandler ContainerCreated; -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private void OnChanged(CopyOperationInfoEventArgs e) - { - if (Changed != null) - Changed(this, e); - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private void OnCreateContainer(CreateContainerOperationInfoEventArgs e) - { - if (ContainerCreated != null) - ContainerCreated(this, e); - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - public AWSMigration(string accessKeyID, string secretAccessKeyID) - { - _client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKeyID, secretAccessKeyID); - _session = Session.CreateSession(); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void CreateContainer(string name) - { - _session.Factory.CreateContainerRepository().SaveContainer(new Objects.Domain.StorageContainer(name)); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - public string[] GetBuckets() - { - return _client.ListBuckets().Buckets.Select(b => b.BucketName).ToArray(); - } -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - private void CopyObject(S3Object s3Object, string bucketName) - { - IStorageObjectRepository repository = _session.Factory.CreateStorageObjectRepository(); - - if (s3Object.Key.EndsWith("/") || s3Object.Size == 0) - { - StoragePath path = new StoragePath(_session.Context.GetRepositoryContext("object-store").ServiceDescription.Url, bucketName, s3Object.Key); - repository.MakeFolder(path.AbsoluteURI); - } - else - { - // Grab the file from the S3 store... - - GetObjectRequest goRequest = new GetObjectRequest(); - goRequest.BucketName = bucketName; - goRequest.Key = s3Object.Key; - GetObjectResponse goResponse = _client.GetObject(goRequest); - - // Save to the newly created OpenStack Container.. - - StorageObject sObject = new StorageObject(); - sObject.Load(goResponse.ResponseStream); - StoragePath path = new StoragePath(_session.Context.GetRepositoryContext("object-store").ServiceDescription.Url, bucketName, s3Object.Key); - _session.Factory.CreateStorageObjectRepository().Copy(sObject, path.AbsoluteURI, true); - - this.OnChanged(new CopyOperationInfoEventArgs(Path.GetFileName(s3Object.Key), s3Object.Size)); - } - } -//========================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================= - public void MigrateBucket(string sourceBucketName) - { - ListObjectsRequest request = new ListObjectsRequest(); - request = new ListObjectsRequest(); - request.BucketName = sourceBucketName; - - // Create the target Storage Object Container first in Swift.. - - this.CreateContainer(sourceBucketName); - this.OnCreateContainer(new CreateContainerOperationInfoEventArgs(sourceBucketName)); - - do - { - ListObjectsResponse response = _client.ListObjects(request); - - foreach (S3Object s3Object in response.S3Objects) { - this.CopyObject(s3Object, sourceBucketName); - } - - if (response.IsTruncated) { - request.Marker = response.NextMarker; - } - else - { - request = null; - } - } while (request != null); - } - } -} diff --git a/Openstack.Client.Powershell/Migrations/CopyInfoEventArgs.cs b/Openstack.Client.Powershell/Migrations/CopyInfoEventArgs.cs deleted file mode 100644 index f0078cd..0000000 --- a/Openstack.Client.Powershell/Migrations/CopyInfoEventArgs.cs +++ /dev/null @@ -1,47 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -namespace Openstack.Migrations -{ - public class CopyInfoEventArgs - { - private long _BytesCopied = 0; - private string _filename; - private string _exception; - - public string ExceptionMessage - { - get { return _exception; } - set { _exception = value; } - } - - public CopyInfoEventArgs(string filename, long bytesCopied) - { - _filename = filename; - _BytesCopied = bytesCopied; - } - - public string Filename - { - get { return _filename; } - set { _filename = value; } - } - public long BytesCopied - { - get { return _BytesCopied; } - set { _BytesCopied = value; } - } - } -} diff --git a/Openstack.Client.Powershell/Migrations/LocalStoreMigration.cs b/Openstack.Client.Powershell/Migrations/LocalStoreMigration.cs deleted file mode 100644 index e831086..0000000 --- a/Openstack.Client.Powershell/Migrations/LocalStoreMigration.cs +++ /dev/null @@ -1,138 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using Openstack.Objects.Utility; -using System; -using Openstack.Objects.DataAccess.Storage; -using System.IO; - -namespace Openstack.Migrations -{ - public enum StorageProvider - { - SkyDrive = 0, - DropBox = 1 - } - - public class LocalStoreMigration - { - private Session _session; - public delegate void CopyOperationEventHandler(object sender, CopyOperationInfoEventArgs e); - public event CopyOperationEventHandler Changed; - -////========================================================================================= -///// -///// -///// -///// -////========================================================================================= - private void OnChanged(CopyOperationInfoEventArgs e) - { - if (Changed != null) - Changed(this, e); - } -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - private void Repository_Changed(object sender, CopyOperationInfoEventArgs e) - { - this.OnChanged(e); - } -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - public LocalStoreMigration() - { - _session = Session.CreateSession(); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void CreateContainer(string name) - { - _session.Factory.CreateContainerRepository().SaveContainer(new Objects.Domain.StorageContainer(name)); - } -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - private DirectoryInfo[] GetRootDecendants(string localStorePath) - { - DirectoryInfo info = new DirectoryInfo(localStorePath); - return info.GetDirectories("*.*", SearchOption.AllDirectories); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void MigrateDrive(StorageProvider provider, string containerName) - { - string localStorePath = null; - - if (provider == StorageProvider.DropBox) - localStorePath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + @"\Dropbox\"; - else - localStorePath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + @"\Skydrive\"; - - string targetPath = _session.Context.GetRepositoryContext("object-store").ServiceDescription.Url + "/" + containerName + "/"; - StorageObjectRepository repository = new StorageObjectRepository(_session.Context.GetRepositoryContext("object-store")); - - // Create the target Container.. - - this.CreateContainer(containerName); - - repository.Changed += new StorageObjectRepository.CopyOperationCompleteEventHandler(Repository_Changed); - - DirectoryInfo[] dirs = this.GetRootDecendants(localStorePath); - foreach (DirectoryInfo direcory in dirs) { - repository.Copy(localStorePath + direcory.Name + @"\", targetPath, true); - } - - repository.Changed -= new StorageObjectRepository.CopyOperationCompleteEventHandler(Repository_Changed); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - public void MigrateLocalStore(StorageProvider provider) - { - this.MigrateLocalStore(provider, provider.ToString()); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - public void MigrateLocalStore(StorageProvider provider, string containerName) - { - MigrateDrive(provider, containerName); - } - } -} diff --git a/Openstack.Client.Powershell/Openstack.Client.Powershell.csproj b/Openstack.Client.Powershell/Openstack.Client.Powershell.csproj deleted file mode 100644 index 12d4a35..0000000 --- a/Openstack.Client.Powershell/Openstack.Client.Powershell.csproj +++ /dev/null @@ -1,279 +0,0 @@ - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD} - Library - Properties - OpenStack.Client.Powershell - Openstack.Client.Powershell - v4.5 - 512 - - - ..\..\ - true - - - true - full - false - ..\..\..\..\Documents\WindowsPowerShell\Modules\Openstack-Core\ - DEBUG - prompt - 4 - AnyCPU - false - false - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - false - - - true - bin\TransformTool Build\ - TRACE;DEBUG - full - AnyCPU - true - GlobalSuppressions.cs - prompt - MinimumRecommendedRules.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - false - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - false - false - - - OnBuildSuccess - - - - False - ..\packages\AWSSDK.2.1.3.0\lib\net45\AWSSDK.dll - - - False - ..\packages\Newtonsoft.Json.6.0.3\lib\net45\Newtonsoft.Json.dll - - - False - ..\packages\OpenStack-SDK-DotNet.0.9.1.0\lib\net40\OpenStack.dll - - - - - - - - - - - - ..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Extensions.dll - - - - ..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Primitives.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Designer - - - Designer - Always - - - - - Designer - Always - - - - Designer - Always - - - Always - - - - - - - Designer - Always - - - - - - - - - - - - - - - - - - - - - Always - - - - Designer - - - Always - - - - - - Always - - - Always - Designer - - - - - - - - - - - Echo ===================== -Echo Executing Post-Build Scripts -Echo ===================== - -md %25USERPROFILE%25\Documents\WindowsPowerShell -md %25USERPROFILE%25\Documents\WindowsPowerShell\Modules -md %25USERPROFILE%25\Documents\WindowsPowerShell\Modules\Openstack-Core -md %25USERPROFILE%25\Documents\OS -md $(ProjectDir)bin\debug - -copy $(ProjectDir)\Deployment\*.* %25USERPROFILE%25\Documents\WindowsPowerShell\Modules\Openstack-Core -copy $(ProjectDir)\Deployment\DevProfile.ps1 %25USERPROFILE%25\Documents\WindowsPowerShell\Microsoft.Powershell_profile.ps1 -copy $(ProjectDir)\Deployment\Openstack.config %25USERPROFILE%25\Documents\OS\Openstack.config - - -echo 'Proj Dir = ' + $(ProjectDir) -echo 'userProfile = ' + %25USERPROFILE%25 - - -echo copy C:\Users\tplummer\Source\Repos\FixIt\openstack-cli-powershell\Openstack.Client.Powershell\Deployment\Openstack.config %25USERPROFILE%25\Documents\OS\Openstack.config - - -Echo The statement below is causing symbol mismatches when attaching the debugger remotely. For now, you should point this projects output folder -Echo to the correct runtime location. That is C:\Users\username\Documents\WindowsPowerShell\Modules\Openstack\Openstack-Core -Echo ' copy $(ProjectDir)bin\debug\*.* %25USERPROFILE%25\Documents\WindowsPowershell\Modules\openstack-core - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Openstack.Client.Powershell/Openstack.Client.Powershell.sln b/Openstack.Client.Powershell/Openstack.Client.Powershell.sln deleted file mode 100644 index a7f2ef1..0000000 --- a/Openstack.Client.Powershell/Openstack.Client.Powershell.sln +++ /dev/null @@ -1,137 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.30501.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{D129B468-4E23-4226-AA0E-AE02BB697D9A}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Openstack.Client.Powershell", "Openstack.Client.Powershell.csproj", "{32BAC168-2EC8-4074-9E6D-8C13460DCFAD}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Openstack.Client.Common", "..\..\Common\HPCloud.Client.Common\Openstack.Client.Common.csproj", "{668A82E0-9F8A-476E-A5F7-F755B44AC4DD}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Openstack.RDPClient", "..\RDPClient\Openstack.RDPClient.csproj", "{3301ACFF-3A51-458D-B4C7-37D229A86AC9}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Openstack.Objects", "..\..\API\Openstack.Objects\Openstack.Objects.csproj", "{BDCDCBF5-3467-461E-8307-E1E4E19F6532}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Openstack.Common", "..\..\API\Openstack.Common\Openstack.Common.csproj", "{F6AF0191-F236-4C26-8C93-30D5F4D8000F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Openstack.Objects.Test", "..\..\API\Openstack.Objects.Test\Openstack.Objects.Test.csproj", "{E90D4392-6748-4405-9F99-2D5FBB09DFC8}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{58823660-23CD-44FD-A588-2592A2932EC3}" - ProjectSection(SolutionItems) = preProject - .nuget\NuGet.Config = .nuget\NuGet.Config - .nuget\NuGet.exe = .nuget\NuGet.exe - .nuget\NuGet.targets = .nuget\NuGet.targets - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Debug|Mixed Platforms = Debug|Mixed Platforms - Debug|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|Mixed Platforms = Release|Mixed Platforms - Release|x86 = Release|x86 - TransformTool Build|Any CPU = TransformTool Build|Any CPU - TransformTool Build|Mixed Platforms = TransformTool Build|Mixed Platforms - TransformTool Build|x86 = TransformTool Build|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.Debug|x86.ActiveCfg = Debug|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.Release|Any CPU.Build.0 = Release|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.Release|x86.ActiveCfg = Release|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.TransformTool Build|Any CPU.ActiveCfg = TransformTool Build|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.TransformTool Build|Any CPU.Build.0 = TransformTool Build|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.TransformTool Build|Mixed Platforms.ActiveCfg = TransformTool Build|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.TransformTool Build|Mixed Platforms.Build.0 = TransformTool Build|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.TransformTool Build|x86.ActiveCfg = TransformTool Build|Any CPU - {668A82E0-9F8A-476E-A5F7-F755B44AC4DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {668A82E0-9F8A-476E-A5F7-F755B44AC4DD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {668A82E0-9F8A-476E-A5F7-F755B44AC4DD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {668A82E0-9F8A-476E-A5F7-F755B44AC4DD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {668A82E0-9F8A-476E-A5F7-F755B44AC4DD}.Debug|x86.ActiveCfg = Debug|Any CPU - {668A82E0-9F8A-476E-A5F7-F755B44AC4DD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {668A82E0-9F8A-476E-A5F7-F755B44AC4DD}.Release|Any CPU.Build.0 = Release|Any CPU - {668A82E0-9F8A-476E-A5F7-F755B44AC4DD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {668A82E0-9F8A-476E-A5F7-F755B44AC4DD}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {668A82E0-9F8A-476E-A5F7-F755B44AC4DD}.Release|x86.ActiveCfg = Release|Any CPU - {668A82E0-9F8A-476E-A5F7-F755B44AC4DD}.TransformTool Build|Any CPU.ActiveCfg = Release|Any CPU - {668A82E0-9F8A-476E-A5F7-F755B44AC4DD}.TransformTool Build|Any CPU.Build.0 = Release|Any CPU - {668A82E0-9F8A-476E-A5F7-F755B44AC4DD}.TransformTool Build|Mixed Platforms.ActiveCfg = Release|Any CPU - {668A82E0-9F8A-476E-A5F7-F755B44AC4DD}.TransformTool Build|Mixed Platforms.Build.0 = Release|Any CPU - {668A82E0-9F8A-476E-A5F7-F755B44AC4DD}.TransformTool Build|x86.ActiveCfg = Release|Any CPU - {3301ACFF-3A51-458D-B4C7-37D229A86AC9}.Debug|Any CPU.ActiveCfg = Debug|x86 - {3301ACFF-3A51-458D-B4C7-37D229A86AC9}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {3301ACFF-3A51-458D-B4C7-37D229A86AC9}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {3301ACFF-3A51-458D-B4C7-37D229A86AC9}.Debug|x86.ActiveCfg = Debug|x86 - {3301ACFF-3A51-458D-B4C7-37D229A86AC9}.Debug|x86.Build.0 = Debug|x86 - {3301ACFF-3A51-458D-B4C7-37D229A86AC9}.Release|Any CPU.ActiveCfg = Release|x86 - {3301ACFF-3A51-458D-B4C7-37D229A86AC9}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {3301ACFF-3A51-458D-B4C7-37D229A86AC9}.Release|Mixed Platforms.Build.0 = Release|x86 - {3301ACFF-3A51-458D-B4C7-37D229A86AC9}.Release|x86.ActiveCfg = Release|x86 - {3301ACFF-3A51-458D-B4C7-37D229A86AC9}.Release|x86.Build.0 = Release|x86 - {3301ACFF-3A51-458D-B4C7-37D229A86AC9}.TransformTool Build|Any CPU.ActiveCfg = Release|x86 - {3301ACFF-3A51-458D-B4C7-37D229A86AC9}.TransformTool Build|Mixed Platforms.ActiveCfg = Release|x86 - {3301ACFF-3A51-458D-B4C7-37D229A86AC9}.TransformTool Build|Mixed Platforms.Build.0 = Release|x86 - {3301ACFF-3A51-458D-B4C7-37D229A86AC9}.TransformTool Build|x86.ActiveCfg = Release|x86 - {3301ACFF-3A51-458D-B4C7-37D229A86AC9}.TransformTool Build|x86.Build.0 = Release|x86 - {BDCDCBF5-3467-461E-8307-E1E4E19F6532}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BDCDCBF5-3467-461E-8307-E1E4E19F6532}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BDCDCBF5-3467-461E-8307-E1E4E19F6532}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {BDCDCBF5-3467-461E-8307-E1E4E19F6532}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {BDCDCBF5-3467-461E-8307-E1E4E19F6532}.Debug|x86.ActiveCfg = Debug|Any CPU - {BDCDCBF5-3467-461E-8307-E1E4E19F6532}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BDCDCBF5-3467-461E-8307-E1E4E19F6532}.Release|Any CPU.Build.0 = Release|Any CPU - {BDCDCBF5-3467-461E-8307-E1E4E19F6532}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {BDCDCBF5-3467-461E-8307-E1E4E19F6532}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {BDCDCBF5-3467-461E-8307-E1E4E19F6532}.Release|x86.ActiveCfg = Release|Any CPU - {BDCDCBF5-3467-461E-8307-E1E4E19F6532}.TransformTool Build|Any CPU.ActiveCfg = Release|Any CPU - {BDCDCBF5-3467-461E-8307-E1E4E19F6532}.TransformTool Build|Any CPU.Build.0 = Release|Any CPU - {BDCDCBF5-3467-461E-8307-E1E4E19F6532}.TransformTool Build|Mixed Platforms.ActiveCfg = Release|Any CPU - {BDCDCBF5-3467-461E-8307-E1E4E19F6532}.TransformTool Build|Mixed Platforms.Build.0 = Release|Any CPU - {BDCDCBF5-3467-461E-8307-E1E4E19F6532}.TransformTool Build|x86.ActiveCfg = Release|Any CPU - {F6AF0191-F236-4C26-8C93-30D5F4D8000F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F6AF0191-F236-4C26-8C93-30D5F4D8000F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F6AF0191-F236-4C26-8C93-30D5F4D8000F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {F6AF0191-F236-4C26-8C93-30D5F4D8000F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {F6AF0191-F236-4C26-8C93-30D5F4D8000F}.Debug|x86.ActiveCfg = Debug|Any CPU - {F6AF0191-F236-4C26-8C93-30D5F4D8000F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F6AF0191-F236-4C26-8C93-30D5F4D8000F}.Release|Any CPU.Build.0 = Release|Any CPU - {F6AF0191-F236-4C26-8C93-30D5F4D8000F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {F6AF0191-F236-4C26-8C93-30D5F4D8000F}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {F6AF0191-F236-4C26-8C93-30D5F4D8000F}.Release|x86.ActiveCfg = Release|Any CPU - {F6AF0191-F236-4C26-8C93-30D5F4D8000F}.TransformTool Build|Any CPU.ActiveCfg = Release|Any CPU - {F6AF0191-F236-4C26-8C93-30D5F4D8000F}.TransformTool Build|Any CPU.Build.0 = Release|Any CPU - {F6AF0191-F236-4C26-8C93-30D5F4D8000F}.TransformTool Build|Mixed Platforms.ActiveCfg = Release|Any CPU - {F6AF0191-F236-4C26-8C93-30D5F4D8000F}.TransformTool Build|Mixed Platforms.Build.0 = Release|Any CPU - {F6AF0191-F236-4C26-8C93-30D5F4D8000F}.TransformTool Build|x86.ActiveCfg = Release|Any CPU - {E90D4392-6748-4405-9F99-2D5FBB09DFC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E90D4392-6748-4405-9F99-2D5FBB09DFC8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E90D4392-6748-4405-9F99-2D5FBB09DFC8}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {E90D4392-6748-4405-9F99-2D5FBB09DFC8}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {E90D4392-6748-4405-9F99-2D5FBB09DFC8}.Debug|x86.ActiveCfg = Debug|Any CPU - {E90D4392-6748-4405-9F99-2D5FBB09DFC8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E90D4392-6748-4405-9F99-2D5FBB09DFC8}.Release|Any CPU.Build.0 = Release|Any CPU - {E90D4392-6748-4405-9F99-2D5FBB09DFC8}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {E90D4392-6748-4405-9F99-2D5FBB09DFC8}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {E90D4392-6748-4405-9F99-2D5FBB09DFC8}.Release|x86.ActiveCfg = Release|Any CPU - {E90D4392-6748-4405-9F99-2D5FBB09DFC8}.TransformTool Build|Any CPU.ActiveCfg = Release|Any CPU - {E90D4392-6748-4405-9F99-2D5FBB09DFC8}.TransformTool Build|Any CPU.Build.0 = Release|Any CPU - {E90D4392-6748-4405-9F99-2D5FBB09DFC8}.TransformTool Build|Mixed Platforms.ActiveCfg = Release|Any CPU - {E90D4392-6748-4405-9F99-2D5FBB09DFC8}.TransformTool Build|Mixed Platforms.Build.0 = Release|Any CPU - {E90D4392-6748-4405-9F99-2D5FBB09DFC8}.TransformTool Build|x86.ActiveCfg = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(TestCaseManagementSettings) = postSolution - CategoryFile = HPCloud.Client.Powershell.vsmdi - EndGlobalSection -EndGlobal diff --git a/Openstack.Client.Powershell/Properties/AssemblyInfo.cs b/Openstack.Client.Powershell/Properties/AssemblyInfo.cs deleted file mode 100644 index 1bddd94..0000000 --- a/Openstack.Client.Powershell/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,52 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("OpenStack.Client.Powershell")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("OpenStack")] -[assembly: AssemblyProduct("OpenStack.Client.Powershell")] -[assembly: AssemblyCopyright("")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("847a28a4-6407-4aa6-8070-a4a51396db70")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] - -[assembly: AssemblyVersion("1.3.5.8")] -[assembly: AssemblyFileVersion("1.1.0.0")] diff --git a/Openstack.Client.Powershell/Providers/BlockStorage/AttachmentUIContainer.cs b/Openstack.Client.Powershell/Providers/BlockStorage/AttachmentUIContainer.cs deleted file mode 100644 index 6c42dae..0000000 --- a/Openstack.Client.Powershell/Providers/BlockStorage/AttachmentUIContainer.cs +++ /dev/null @@ -1,73 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain.BlockStorage; - -namespace Openstack.Client.Powershell.Providers.BlockStorage -{ - public class AttachmentUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { - // this.Entities = ((Image)this.Entity).MetaData; - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void WriteEntityDetails() - { - VolumeAttachment attachment = (VolumeAttachment)this.Entity; - - this.WriteHeader("Attachment Details"); - this.WriteAttachmentDetails(attachment); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void WriteImageMetadata(Image image) - { - this.WriteMetadata(image.MetaData); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void WriteAttachmentDetails(VolumeAttachment attachment) - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - - Console.WriteLine("Device : " + attachment.Device); - Console.WriteLine("Volume Id : " + attachment.VolumeId); - } - } -} diff --git a/Openstack.Client.Powershell/Providers/BlockStorage/AttachmentsUIContainer.cs b/Openstack.Client.Powershell/Providers/BlockStorage/AttachmentsUIContainer.cs deleted file mode 100644 index 394bf60..0000000 --- a/Openstack.Client.Powershell/Providers/BlockStorage/AttachmentsUIContainer.cs +++ /dev/null @@ -1,105 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections.Generic; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain.BlockStorage; -using System.Linq; -using Openstack.Client.Powershell.Providers.Security; - -namespace Openstack.Client.Powershell.Providers.BlockStorage -{ - [RequiredServiceIdentifierAttribute("Openstack-ComputeDrive")] - public class AttachmentsUIContainer : BaseUIContainer - { - private Server _server; -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public AttachmentsUIContainer(BaseUIContainer parentContainer, - string name, - string description, - string path) - : base(parentContainer, name, description, path) - { - this.ObjectType = ObjectType.Container; - } - public AttachmentsUIContainer() - {} - #region Methods -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - public void LoadEntities(Server server) - { - _server = server; - List attachments = this.RepositoryFactory.CreateVolumeRepository().GetServerVolumes(server.Id); - - if (attachments != null && attachments.Count() > 0) - { - List volumes = this.RepositoryFactory.CreateVolumeRepository().GetVolumes(); - - var innerJoinQuery = - from attachment in attachments - join volume in volumes on attachment.VolumeId equals volume.Id - select new Volume() - { - Id = volume.Id, - Description = volume.Description, - Name = volume.Name, - Size = volume.Size, - AvailabilityZone = volume.AvailabilityZone, - Device = attachment.Device, - AttachedTo = volume.AttachedTo, - Status = volume.Status, - CreationDate = volume.CreationDate - }; - - List allVolumes = innerJoinQuery.ToList(); - - this.SetUIContainers(allVolumes); - this.Entities = allVolumes; - } - else - { - this.Entities = null; - } - } -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - public override void Load() - { - this.LoadEntities(_server); - } - #endregion - } -} - - - diff --git a/Openstack.Client.Powershell/Providers/BlockStorage/BlockStorageUIContainer.cs b/Openstack.Client.Powershell/Providers/BlockStorage/BlockStorageUIContainer.cs deleted file mode 100644 index 1191711..0000000 --- a/Openstack.Client.Powershell/Providers/BlockStorage/BlockStorageUIContainer.cs +++ /dev/null @@ -1,87 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Collections; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Objects.Domain; -using Openstack.Objects.Utility; -using Openstack.Objects.DataAccess; - -namespace Openstack.Client.Powershell.Providers.Compute -{ -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - [RequiredServiceIdentifierAttribute("Openstack-ComputeDrive")] - public class BlockStorageUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public BlockStorageUIContainer() { } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { - this.LoadContainers(); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void LoadContainers() - { - this.Containers.Clear(); - this.Containers.Add(this.CreateContainer("Volumes", "Manage all Block Storage Volumes from this location.", @"BlockStorage\Volumes")); - this.Containers.Add(this.CreateContainer("Backups", "Manage all of your Volume backups.", @"BlockStorage\Backups")); - this.Containers.Add(this.CreateContainer("Snapshots", "Container for storing and managing Block Storage Snapshots. ", @"BlockStorage\Snapshots")); - } -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public BlockStorageUIContainer(BaseUIContainer parentContainer, string name, string description, string path, Context context, BaseRepositoryFactory repository) - : base(parentContainer, name, description, path) - { - this.Context = context; - this.RepositoryFactory = repository; - - this.LoadContainers(); - this.ObjectType = Client.Powershell.Providers.Common.ObjectType.Entity; - } - } -} - diff --git a/Openstack.Client.Powershell/Providers/BlockStorage/SnapshotUIContainer.cs b/Openstack.Client.Powershell/Providers/BlockStorage/SnapshotUIContainer.cs deleted file mode 100644 index e81077c..0000000 --- a/Openstack.Client.Powershell/Providers/BlockStorage/SnapshotUIContainer.cs +++ /dev/null @@ -1,79 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain.BlockStorage; - -namespace Openstack.Client.Powershell.Providers.Security -{ - public class SnapshotUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { - // this.Entities = ((Image)this.Entity).MetaData; - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void WriteEntityDetails() - { - Snapshot snapshot = (Snapshot)this.Entity; - - this.WriteHeader("Snapshot Details"); - this.WriteSnapshotDetails(snapshot); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void WriteVolumeMetadata(Volume volume) - { - //this.WriteMetadata(volume.MetaData); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void WriteSnapshotDetails(Snapshot snapshot) - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - - Console.WriteLine("Id : " + snapshot.Id); - Console.WriteLine("Name : " + snapshot.DisplayName); - Console.WriteLine("Description : " + snapshot.Description); - Console.WriteLine("Created On : " + snapshot.CreationDate); - Console.WriteLine("Status : " + snapshot.Status); - Console.WriteLine("Volume Id : " + snapshot.VolumeId); - Console.WriteLine(""); - } - } -} - diff --git a/Openstack.Client.Powershell/Providers/BlockStorage/SnapshotsUIContainer.cs b/Openstack.Client.Powershell/Providers/BlockStorage/SnapshotsUIContainer.cs deleted file mode 100644 index 0cca918..0000000 --- a/Openstack.Client.Powershell/Providers/BlockStorage/SnapshotsUIContainer.cs +++ /dev/null @@ -1,64 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections.Generic; -using Openstack.Administration.Domain; -using System.Collections; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain; - -namespace Openstack.Client.Powershell.Providers.Security -{ - [RequiredServiceIdentifierAttribute("Openstack-ComputeDrive")] - public class SnapshotsUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public SnapshotsUIContainer(BaseUIContainer parentContainer, - string name, - string description, - string path) - : base(parentContainer, name, description, path) - { - this.ObjectType = ObjectType.Container; - } - public SnapshotsUIContainer() - {} - #region Methods -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - public override void Load() - { - IList snapshots = this.RepositoryFactory.CreateSnapshotRepository().GetSnapshots(); - this.SetUIContainers(snapshots); - this.Entities = snapshots; - } - #endregion - } -} - - diff --git a/Openstack.Client.Powershell/Providers/BlockStorage/VolumeBackupUIContainer.cs b/Openstack.Client.Powershell/Providers/BlockStorage/VolumeBackupUIContainer.cs deleted file mode 100644 index 910dbff..0000000 --- a/Openstack.Client.Powershell/Providers/BlockStorage/VolumeBackupUIContainer.cs +++ /dev/null @@ -1,79 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain.BlockStorage; -using Openstack.Client.Powershell.Providers.BlockStorage; - -namespace Openstack.Client.Powershell.Providers.Security -{ - public class VolumeBackupUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void LoadContainers() - {} -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - {} -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void WriteEntityDetails() - { - VolumeBackup backup = (VolumeBackup)this.Entity; - - this.WriteHeader("Volume Backup Details"); - this.WriteVolumeBackupDetails(backup); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void WriteVolumeBackupDetails(VolumeBackup backup) - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - - Console.WriteLine("Id : " + backup.Id); - Console.WriteLine("Name : " + backup.Name); - Console.WriteLine("Description : " + backup.Description); - Console.WriteLine("Size : " + backup.Size); - Console.WriteLine("Availability Zone : " + backup.AvailabilityZone); - Console.WriteLine("Container : " + backup.Container); - Console.WriteLine("Object Count : " + backup.ObjectCount); - Console.WriteLine("Created On : " + backup.CreatedDate); - Console.WriteLine("Status : " + backup.Status); - Console.WriteLine("Volume Id : " + backup.VolumeId); - Console.WriteLine(""); - } - } -} diff --git a/Openstack.Client.Powershell/Providers/BlockStorage/VolumeBackupsUIContainer.cs b/Openstack.Client.Powershell/Providers/BlockStorage/VolumeBackupsUIContainer.cs deleted file mode 100644 index 1527649..0000000 --- a/Openstack.Client.Powershell/Providers/BlockStorage/VolumeBackupsUIContainer.cs +++ /dev/null @@ -1,63 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections.Generic; -using Openstack.Administration.Domain; -using System.Collections; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain; - -namespace Openstack.Client.Powershell.Providers.Security -{ - [RequiredServiceIdentifierAttribute("Openstack-ComputeDrive")] - public class VolumeBackupsUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public VolumeBackupsUIContainer(BaseUIContainer parentContainer, - string name, - string description, - string path) - : base(parentContainer, name, description, path) - { - this.ObjectType = ObjectType.Container; - } - public VolumeBackupsUIContainer() - {} - #region Methods -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - public override void Load() - { - IList volumes = this.RepositoryFactory.CreateVolumeRepository().GetVolumeBackups(); - this.SetUIContainers(volumes); - this.Entities = volumes; - } - #endregion - } -} - diff --git a/Openstack.Client.Powershell/Providers/BlockStorage/VolumeUIContainer.cs b/Openstack.Client.Powershell/Providers/BlockStorage/VolumeUIContainer.cs deleted file mode 100644 index e52b1b3..0000000 --- a/Openstack.Client.Powershell/Providers/BlockStorage/VolumeUIContainer.cs +++ /dev/null @@ -1,109 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain.BlockStorage; -using Openstack.Client.Powershell.Providers.BlockStorage; - -namespace Openstack.Client.Powershell.Providers.Security -{ - public class VolumeUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { - //this.LoadContainers(); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void LoadContainers() - { - this.Containers.Clear(); - AttachmentsUIContainer sgContainer = (AttachmentsUIContainer)this.CreateContainer("Attachments", "Manage this Volumes attachments.", this.Parent.Path + @"\Attachments"); - this.Containers.Add(sgContainer); - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void WriteEntityDetails() - { - Volume volume = (Volume)this.Entity; - - this.WriteHeader("Volume Details"); - this.WriteVolumeDetails(volume); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void WriteVolumeMetadata(Volume volume) - { - int maxLength = volume.Metadata.Max(m => m.Key.Length); - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - - foreach (KeyValuePair element in volume.Metadata) - { - Console.WriteLine(element.Key.PadRight(maxLength) + " : " + element.Value.Trim()); - } - Console.WriteLine(); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void WriteVolumeDetails(Volume volume) - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - - Console.WriteLine("Id : " + volume.Id); - Console.WriteLine("Name : " + volume.Name); - Console.WriteLine("Description : " + volume.Description); - Console.WriteLine("Size : " + volume.Size); - Console.WriteLine("Created On : " + volume.CreationDate); - Console.WriteLine("Status : " + volume.Status); - Console.WriteLine("Server Attached To : " + volume.AttachedTo); - Console.WriteLine("Device : " + volume.Device); - Console.WriteLine(""); - - if (volume.Metadata.Count() > 0) - { - Console.ForegroundColor = ConsoleColor.White; - Console.WriteLine("Volume Metadata"); - Console.ForegroundColor = ConsoleColor.Green; - Console.WriteLine(""); - WriteVolumeMetadata(volume); - } - } - } -} diff --git a/Openstack.Client.Powershell/Providers/BlockStorage/VolumesUIContainer.cs b/Openstack.Client.Powershell/Providers/BlockStorage/VolumesUIContainer.cs deleted file mode 100644 index 19ffa99..0000000 --- a/Openstack.Client.Powershell/Providers/BlockStorage/VolumesUIContainer.cs +++ /dev/null @@ -1,63 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections.Generic; -using Openstack.Administration.Domain; -using System.Collections; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain; - -namespace Openstack.Client.Powershell.Providers.Security -{ - [RequiredServiceIdentifierAttribute("Openstack-ComputeDrive")] - public class VolumesUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public VolumesUIContainer(BaseUIContainer parentContainer, - string name, - string description, - string path) - : base(parentContainer, name, description, path) - { - this.ObjectType = ObjectType.Container; - } - public VolumesUIContainer() - {} - #region Methods -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - public override void Load() - { - IList volumes = this.RepositoryFactory.CreateVolumeRepository().GetVolumes(); - this.SetUIContainers(volumes); - this.Entities = volumes; - } - #endregion - } -} - diff --git a/Openstack.Client.Powershell/Providers/Common/AccountUIContainer.cs b/Openstack.Client.Powershell/Providers/Common/AccountUIContainer.cs deleted file mode 100644 index bd2f2c8..0000000 --- a/Openstack.Client.Powershell/Providers/Common/AccountUIContainer.cs +++ /dev/null @@ -1,84 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Collections; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Objects.Domain; -using Openstack.Objects.Utility; -using Openstack.Objects.DataAccess; -using Openstack.Client.Powershell.Providers.Database; -using Openstack.Client.Powershell.Providers.Networking; -using Openstack.Client.Powershell.Providers.Compute; - -namespace Openstack.Administration.Domain -{ - public static class CurrentAccountUIContainer - { - public static AccountUIContainer CurrentAccount = null; - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public class AccountUIContainer : BaseUIContainer - { - public override void Load() - { - this.LoadContainers(); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void LoadContainers() - { - this.Containers.Clear(); - - this.AddContainer(this.CreateContainer ("Servers", "A place to manage Servers across the Account.", "Servers")); - this.AddContainer(this.CreateContainer ("Flavors", "Manage additional hardware configurations for Servers.", "Flavors")); - this.AddContainer(this.CreateContainer ("Images", "Manage collections of files used to create or rebuild Servers.", "Images")); - this.AddContainer(this.CreateContainer ("Security", "Manage Key Pair and Security Group Rules here.", "Security")); - //this.AddContainer(this.CreateContainer ("Networking", "A place to manage dynamic IP addresses assigned to your Servers.", "Networking")); - this.AddContainer(this.CreateContainer ("BlockStorage", "A place to manage Block Storage Volumes and Snapshots.", "BlockStorage")); - this.AddContainer(this.CreateContainer ("Networks", "Manage networks, subnets, ports and routers.", "Networks")); - // this.AddContainer(this.CreateContainer ("Data", "Database Services", "Data")); - } -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public AccountUIContainer(BaseUIContainer parentContainer, string name, string description, string path, Context context, BaseRepositoryFactory repository) - : base(parentContainer, name, description, path) - { - this.Context = context; - this.RepositoryFactory = repository; - - this.LoadContainers(); - this.ObjectType = Client.Powershell.Providers.Common.ObjectType.Entity; - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Common/BaseEntityUIContainer.cs b/Openstack.Client.Powershell/Providers/Common/BaseEntityUIContainer.cs deleted file mode 100644 index b043fe3..0000000 --- a/Openstack.Client.Powershell/Providers/Common/BaseEntityUIContainer.cs +++ /dev/null @@ -1,32 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - - -namespace Openstack.Client.Powershell.Providers.Common -{ - public class BaseEntityUIContainer : BaseUIContainer - { - public override void Load() - { - - - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Common/BaseNavigationCmdletProvider.cs b/Openstack.Client.Powershell/Providers/Common/BaseNavigationCmdletProvider.cs deleted file mode 100644 index 24ac41f..0000000 --- a/Openstack.Client.Powershell/Providers/Common/BaseNavigationCmdletProvider.cs +++ /dev/null @@ -1,245 +0,0 @@ - -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Management.Automation; -using System.Management.Automation.Provider; -using System.Xml.Linq; -using System.Xml.XPath; -using OpenStack.Client.Powershell.Utility; -using System.Linq; -using OpenStack.Client.Powershell.Utility; - -namespace OpenStack.Client.Powershell.Providers.Common -{ - public class BaseNavigationCmdletProvider : NavigationCmdletProvider - { -//========================================================================================= -/// -/// -/// -//========================================================================================= - protected OpenStackClient CoreClient - { - get - { - return (OpenStackClient)this.SessionState.PSVariable.Get("CoreClient").Value; - } - set - { - this.SessionState.PSVariable.Set(new PSVariable("CoreClient", value)); - } - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - protected Settings Settings - { - get - { - return this.Context.Settings; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - protected Context Context - { - get - { - return (Context)this.SessionState.PSVariable.GetValue("Context", null); - } - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private bool IsContextInitialized() - { - if (this.SessionState.PSVariable.GetValue("Context", null) == null) { - return false; - } - else - { - return true; - } - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - protected string ConfigFilePath - { - get - { - try - { - return (string)this.SessionState.PSVariable.Get("ConfigPath").Value; - } - catch (Exception) - { - return Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\" + @"OS\OpenStack.config"; - } - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - private void SetZoneColor(ServiceProvider provider) - { - // We don't throw a critical exception if this operation fails.. - try - { - AvailabilityZone defZone = provider.AvailabilityZones.Where(z => z.IsDefault == true).DefaultIfEmpty(null).FirstOrDefault(); - if (defZone == null) return; - - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), defZone.ShellForegroundColor); - this.Host.UI.RawUI.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), defZone.ShellForegroundColor); - this.Context.Forecolor = defZone.ShellForegroundColor; - } - catch (System.Management.Automation.Host.HostException) { } - } -//================================================================================================== -/// -/// -/// -/// -/// -/// -//================================================================================================== - protected T CreateServiceClient(CoreServices service) where T : IOpenStackServiceClient - { - ServiceProvider provider = this.Context.CurrentServiceProvider; - return this.CoreClient.CreateServiceClientByName(provider.ServiceMaps.TranslateServiceName(service)); - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - protected void InitializeSession() - { - ConfigurationManager configManager = new ConfigurationManager(); - ExtensionManager extensionManager = new ExtensionManager(this.SessionState, this.Context); - configManager.Load(); - - ServiceProvider provider = configManager.GetDefaultServiceProvider(); - - if (provider.Name == String.Empty && provider.IsDefault == true) - { - // Technically Core is already loaded (you're in it :) but this signs in for you to the ServiceProvider selected.. - // This is just used in the case where it's the Users first time loading the CLI.. - - extensionManager.LoadCore(provider); - } - else - { - // Load any extensions that were supplied by the ServiceProvider... - - extensionManager.LoadExtension(provider); - } - - this.SetZoneColor(provider); - } - #region Implementation of DriveCmdletProvider -//================================================================================================== -/// -/// Removes an Item from the store.. -/// -/// -//================================================================================================== - protected override void ClearItem(string path) - { - base.ClearItem(path); - } -//================================================================================================== -/// -/// Called when the user decides to delete a KVSDrive. -/// -/// -/// -//================================================================================================== - protected override PSDriveInfo RemoveDrive(PSDriveInfo drive) - { - if (drive == null) - { - WriteError(new ErrorRecord(new ArgumentNullException("drive"), "NullDrive", ErrorCategory.InvalidArgument, drive)); - return null; - } - return drive; - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - protected override void GetChildNames(string path, ReturnContainers returnContainers) - { - WriteItemObject(path, path, true); - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - protected override string GetChildName(string path) - { - return base.GetChildName(path); - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - protected override bool ItemExists(string path) - { - return true; - } - #endregion -//================================================================================================== -/// -/// This test should not verify the existance of the item at the path. -/// It should only perform syntactic and semantic validation of the -/// path. For instance, for the file system provider, that path should -/// be canonicalized, syntactically verified, and ensure that the path -/// does not refer to a device. -/// -/// -/// -//================================================================================================== - protected override bool IsValidPath(string path) - { - return true; - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Common/BaseUIContainer.cs b/Openstack.Client.Powershell/Providers/Common/BaseUIContainer.cs deleted file mode 100644 index 4f7d5f8..0000000 --- a/Openstack.Client.Powershell/Providers/Common/BaseUIContainer.cs +++ /dev/null @@ -1,518 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections.Generic; -using System.Linq; -using Openstack.Common.Properties; -using Openstack.Objects.Domain; -using System; -using Openstack.Objects.Utility; -using Openstack.Objects.DataAccess; -using System.Collections.ObjectModel; -using System.Collections; -using Openstack.Objects.Domain.Compute; - -namespace Openstack.Client.Powershell.Providers.Common -{ - public class GenericUIContainer : BaseEntityUIContainer { } - - public enum ObjectType - { - Entity = 1, - Container = 2 - } - public abstract class BaseUIContainer - { - private string _id; - private string _name; - private string _description; - private string _path = @"\"; - private ObjectType _objectType = ObjectType.Container; - protected List _containers = new List(); - protected IList _entities = new List(); - private BaseEntity _entity; - private BaseUIContainer _parentContainer; - private bool _isContainerListInitialized = false; - private Context _context; - private BaseRepositoryFactory _repositoryFactory; - private string _displayName = null; - - #region Ctors -//================================================================================ -/// -/// -/// -//================================================================================ - public BaseUIContainer() - { - - } -//================================================================================ -/// -/// -/// -/// -/// -/// -/// -/// -//================================================================================ - public BaseUIContainer(BaseUIContainer parentContainer, string name, string description, string path) - { - _description = description; - _parentContainer = parentContainer; - _name = name; - _path = path; - } -//================================================================================ -/// -/// -/// -/// -/// -/// -/// -//================================================================================ - public BaseUIContainer(string displayName, BaseUIContainer parentContainer, string name, string path) - { - _parentContainer = parentContainer; - _name = name; - _path = path; - _displayName = displayName; - } - #endregion - #region Properties -//================================================================================ -/// -/// -/// -//================================================================================ - public BaseRepositoryFactory RepositoryFactory - { - get { return _repositoryFactory; } - set { _repositoryFactory = value; } - } -//================================================================================ -/// -/// -/// -//================================================================================ - public Context Context - { - get { return _context; } - set - { - _context = value; - if (_repositoryFactory != null && _repositoryFactory.Context != null) - _repositoryFactory.Context = value; - } - } -//================================================================================ -/// -/// -/// -/// -//================================================================================ - protected bool IsMocked - { - get - { - if (Settings.Default.IsMocked == true) - { - return true; - } - else - { - return false; - } - } - } -//================================================================================ -/// -/// -/// -//================================================================================ - public IList Entities - { - get { return _entities; } - set - { - _entities = value; - } - } -//================================================================================ -/// -/// -/// -//================================================================================ - public BaseEntity Entity - { - get { return _entity; } - set - { - _entity = value; - } - } -//================================================================================ -/// -/// -/// -//================================================================================ - public List Containers - { - get { return _containers; } - //set { _containers = value; } - } -//================================================================================ -/// -/// -/// -//================================================================================ - public ObjectType ObjectType - { - get { return _objectType; } - set { _objectType = value; } - } -//================================================================================ -/// -/// -/// -//================================================================================ - public string Id - { - get { return _id; } - set { _id = value; } - } -//================================================================================ -/// -/// -/// -//================================================================================ - public BaseUIContainer Parent - { - get { return _parentContainer; } - set { _parentContainer = value; } - } -//================================================================================ -/// -/// -/// -//================================================================================ - public string Path - { - get { return _path; } - set { _path = value; } - - } -//================================================================================ -/// -/// -/// -//================================================================================ - public string Description - { - get { return _description; } - set { _description = value; } - } -//================================================================================ -/// -/// -/// -//================================================================================ - public string DisplayName - { - get { return _displayName; } - set { _displayName = value; } - } -//================================================================================ -/// -/// -/// -//================================================================================ - public string Name - { - get { return _name; } - set { _name = value; } - } - #endregion - #region Methods -//================================================================================ -/// -/// -/// -/// -//================================================================================ - protected void AddContainer(BaseUIContainer container) - { - if (container != null) { - this.Containers.Add(container); - } - } -//================================================================================ -/// -/// -/// -/// -/// -//================================================================================ - protected string BuildChildPath(string name) - { - return this.Path + "\\" + name; - } -//================================================================================ -/// -/// -/// -/// -//================================================================================ - public virtual BaseUIContainer CreateContainer(string id) - { - return null; - } -//================================================================================ -/// -/// -/// -/// -/// -/// -//================================================================================ - private bool IsAuthorized(T container) - { - Type type = container.GetType(); - object[] metadata = type.GetCustomAttributes(false); - - foreach (object attribute in metadata) - { - RequiredServiceIdentifierAttribute identifier = attribute as RequiredServiceIdentifierAttribute; - - if (identifier != null) - if (this.Context.ServiceCatalog.DoesServiceExist(identifier.ServiceName)) - return true; - else return false; - } - - return true; - } -//================================================================================ -/// -/// -/// -/// -/// -/// -/// -/// -//================================================================================ - protected BaseUIContainer SetContainer(BaseUIContainer container, string name, string description, string path, string displayName = null) where T : BaseUIContainer - { - if (this.IsAuthorized(container)) - { - container.Name = name; - container.Description = description; - container.Context = this.Context; - container.RepositoryFactory = this.RepositoryFactory; - container.Parent = this; - container.Path = path; - container.DisplayName = displayName; - container.Id = name; - - return container; - } - else - { - return null; - } - } -//================================================================================ -/// -/// -/// -/// -/// -/// -/// -/// -//================================================================================ - protected BaseUIContainer CreateContainer(string name, string description, string path, string displayName = null) where T : BaseUIContainer - { - T container = Activator.CreateInstance(); - - if (this.IsAuthorized(container)) - { - container.Name = name; - container.Description = description; - container.Context = this.Context; - container.RepositoryFactory = this.RepositoryFactory; - container.Parent = this; - container.Path = path; - container.DisplayName = displayName; - container.Id = name; - - return container; - } - else - { - return null; - } - } -//================================================================================ -/// -/// -/// -/// -//================================================================================ - public virtual BaseUIContainer CreateEntityContainer(BaseEntity entity) - { - BaseEntityUIContainer container = new BaseEntityUIContainer(); - container.Entity = entity; - - return container; - } -//================================================================================ -/// -/// -/// -/// -/// -//================================================================================ - public BaseUIContainer GetContainer(string containerName) - { - return _containers.Where(c => c.Id == containerName).SingleOrDefault(); - } - - public virtual void WriteEntityDetails() { return; } -//================================================================================ -/// -/// -/// -/// -/// -//================================================================================ - protected void SetUIContainers(Collection entities) where T : BaseUIContainer - { - List entityContainers = new List(); - foreach (BaseEntity entity in entities) - { - T entityContainer = (T)Activator.CreateInstance(typeof(T)); - - entityContainer.Entity = entity; - entityContainer.Name = entity.Name; - entityContainer.ObjectType = Common.ObjectType.Entity; - entityContainer.Parent = this; - entityContainer.RepositoryFactory = this.RepositoryFactory; - entityContainer.Context = this.Context; - entityContainer.Id = entity.Id; - - entityContainers.Add(entityContainer); - } - - this.Containers.Clear(); - - int count = 0; - foreach (BaseUIContainer bc in entityContainers) - { - bc.Path = @"\" + bc.Parent.Path + @"\-" + Convert.ToString(count); - this.Containers.Add(bc); - ++count; - } - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - protected void SetUIContainers(IList entities) where T : BaseUIContainer - { - if (entities != null && entities.Count > 0) - { - List entityContainers = new List(); - foreach (BaseEntity entity in entities) - { - T entityContainer = (T)Activator.CreateInstance(typeof(T)); - - entityContainer.Entity = entity; - entityContainer.Name = entity.Name; - entityContainer.ObjectType = Common.ObjectType.Entity; - entityContainer.Parent = this; - entityContainer.RepositoryFactory = this.RepositoryFactory; - entityContainer.Context = this.Context; - entityContainer.Id = entity.Id; - - entityContainers.Add(entityContainer); - } - - this.Containers.Clear(); - - int count = 0; - foreach (BaseUIContainer bc in entityContainers) - { - bc.Path = @"\" + bc.Parent.Path + @"\-" + Convert.ToString(count); - this.Containers.Add(bc); - ++count; - } - } - } - public abstract void Load(); -//================================================================================ -/// -/// -/// -/// -/// -//================================================================================ - public virtual bool IsEntityId(string id) - { - if (this.Id == id) return true; else return false; - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - protected void WriteMetadata(MetaData metadata) - { - if (metadata != null) - { - int maxLength = metadata.Max(m => m.Key.Length); - - foreach (KeyValuePair element in metadata) - { - if (element.Value != null && element.Key != null) - Console.WriteLine(element.Key.PadRight(maxLength) + " : " + element.Value.Trim()); - } - Console.WriteLine(); - } - } -//================================================================================ -/// -/// -/// -/// -/// -//================================================================================ - protected void WriteHeader(string msg, ConsoleColor textColor = ConsoleColor.Yellow) - { - Console.ForegroundColor = ConsoleColor.White; - Console.WriteLine(""); - Console.WriteLine(msg ); - Console.WriteLine(); - Console.ForegroundColor = ConsoleColor.Green; - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Providers/Common/CommonDriveInfo.cs b/Openstack.Client.Powershell/Providers/Common/CommonDriveInfo.cs deleted file mode 100644 index 71c0def..0000000 --- a/Openstack.Client.Powershell/Providers/Common/CommonDriveInfo.cs +++ /dev/null @@ -1,84 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections; -using System.Collections.Generic; -using System.Management.Automation; -using OpenStack.Client.Powershell.Providers.Common; - -namespace OpenStack.Client.Powershell.Providers.Common -{ - public class CommonDriveInfo : PSDriveInfo - { - private CommonDriveParameters _parameters = null; - //private BaseUIContainer _currentContainer = null; - - #region Ctors - //================================================================================================== - /// - /// - /// - /// - //================================================================================================== - public CommonDriveInfo(PSDriveInfo driveInfo, CommonDriveParameters parameters) - : base(driveInfo) - { - _parameters = parameters; - } - #endregion - #region Methods - //================================================================================================== - /// - /// - /// - /// - //================================================================================================== - public Hashtable GetParameters() - { - return null; - } - #endregion - #region Properties - //================================================================================================== - /// - /// - /// - //================================================================================================== - //public BaseUIContainer CurrentTenant - //{ - // get { return _currentContainer; } - // set - // { - // _currentContainer = value; - // this.CurrentLocation = _currentContainer.Path; - // } - //} - //================================================================================================== - /// - /// - /// - //================================================================================================== - //public BaseUIContainer CurrentContainer - //{ - // get { return _currentContainer; } - // set - // { - // _currentContainer = value; - // this.CurrentLocation = _currentContainer.Path; - // } - //} - #endregion - } -} diff --git a/Openstack.Client.Powershell/Providers/Common/CommonDriveParameters.cs b/Openstack.Client.Powershell/Providers/Common/CommonDriveParameters.cs deleted file mode 100644 index 628c52e..0000000 --- a/Openstack.Client.Powershell/Providers/Common/CommonDriveParameters.cs +++ /dev/null @@ -1,44 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace OpenStack.Client.Powershell.Providers.Common -{ - public class CommonDriveParameters - { - #region Ctors - //================================================================================= - /// - /// - /// - /// - //================================================================================= - public CommonDriveParameters() - { } - #endregion - #region Properties - //================================================================================= - /// - /// - /// - //================================================================================= - #endregion - } -} - diff --git a/Openstack.Client.Powershell/Providers/Common/CommonServiceProvider.cs b/Openstack.Client.Powershell/Providers/Common/CommonServiceProvider.cs deleted file mode 100644 index 8a67c9b..0000000 --- a/Openstack.Client.Powershell/Providers/Common/CommonServiceProvider.cs +++ /dev/null @@ -1,606 +0,0 @@ - -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Management.Automation; -using System.Management.Automation.Provider; -using System.Collections.ObjectModel; -using System.IO; -using Openstack.Administration.Domain; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using System.Diagnostics.Contracts; -using System.Linq; -using Openstack.Objects.Domain; -using System.Management.Automation.Runspaces; - -namespace Openstack.Client.Powershell.Providers.Security -{ - public enum ContainerAxis - { - Ancestor = 0, - Descendant = 1, - Neutral = 3, - Root = 4, - NotFound = 5 - } - - [CmdletProvider("OS-Cloud", ProviderCapabilities.None)] - public class CommonServiceProvider : BaseNavigationCmdletProvider - { - #region Provider LifeCycle Support -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - protected override System.Collections.ObjectModel.Collection InitializeDefaultDrives() - { - this.InitializeSession(); - - // Check to see if this provider is in the list of returned Services in the Catalog (indicating access is granted) - - PSDriveInfo driveInfo = new PSDriveInfo("OpenStack", this.ProviderInfo, "/", "Openstack Services Provider", null); - Collection drives = new Collection(); - drives.Add(driveInfo); - return drives; - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - protected override ProviderInfo Start(ProviderInfo providerInfo) - { - return base.Start(providerInfo); - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - protected override PSDriveInfo NewDrive(PSDriveInfo drive) - { - WriteDebug("Enter : CloudServiceProvider.NewDrive"); - if (drive == null) - { - WriteError(new ErrorRecord(new ArgumentNullException("drive"), "NullDrive", ErrorCategory.InvalidArgument, drive)); - return null; - } - - if (drive.Root == null) - { - WriteError(new ErrorRecord(new ArgumentNullException("drive.Root"), "NullRoot", ErrorCategory.InvalidArgument, drive)); - return null; - } - - if (drive is CommonDriveInfo) - { - return drive; - } - - var driveParams = this.DynamicParameters as CommonDriveParameters; - WriteDebug("Exit : CloudServiceProvider.NewDrive"); - return new CommonDriveInfo(drive, driveParams); - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - protected override object NewDriveDynamicParameters() - { - return new CommonDriveParameters(); - } - #endregion - #region Basic Operations (LS, CD xxx, CD.. etc) -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - protected override void GetChildItems(string path, bool recurse) - { - WriteContainer(this.Drive.CurrentContainer); - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private bool IsParentPath(string path) - { - if (Path.GetFileNameWithoutExtension(path) == Path.GetFileNameWithoutExtension(this.Drive.CurrentContainer.Parent.Path)) - return true; - else - return false; - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private void SetRoot() - { - string defaultTenantId = "TENANTAC1001"; - BaseUIContainer root = new AccountUIContainer(null, "Account", "The Users assigned Account", @"\\", this.Context, this.RepositoryFactory); - Account fake = new Account(); - fake.Name = "TestAccount"; - fake.Id = defaultTenantId; - root.Entity = fake; - - CurrentAccountUIContainer.CurrentAccount = (AccountUIContainer)root; - this.Drive.CurrentContainer = root; - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private bool IsMovingToContainer(string lastPathEntry) - { - bool isMovingToContainer = false; - - if (this.Drive.CurrentContainer.Name == lastPathEntry) isMovingToContainer = true; - - foreach (BaseUIContainer container in this.Drive.CurrentContainer.Containers) - { - if (container.Id == lastPathEntry) isMovingToContainer = true; - } - - return isMovingToContainer; - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private ContainerAxis CheckContainerAxis(string path) - { - // Do our Root and Neutrality Checks (by Neutral I mean the User has issued LS on the same entity so no movement along the axis). - - if (path == "\\") return ContainerAxis.Root; - - string lastPathEntry = Path.GetFileNameWithoutExtension(path); - - // See if the User is moving back up to the Parent node of the Current Container. - - if ((this.Drive.CurrentContainer != null && this.Drive.CurrentContainer.Parent != null && lastPathEntry == this.Drive.CurrentContainer.Parent.Id)) return ContainerAxis.Ancestor; - if (this.IsNamedAncestor(path)) return ContainerAxis.Ancestor; - - // Before we get started verifying the decendant move, make sure the next node is populated with something first.. - - if (this.Drive.CurrentContainer != null && this.Drive.CurrentContainer.Containers.Count == 0) - this.Drive.CurrentContainer.Load(); - - // Finally see if the User is moving downward into a decendant BaseUIContainer from the current one, if not the input supplied is invalid. - - if (lastPathEntry == this.Drive.CurrentContainer.Id) return ContainerAxis.Descendant; - - if (this.IsMovingToContainer(lastPathEntry)) return ContainerAxis.Descendant; - else - return ContainerAxis.NotFound; - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private bool IsNamedAncestor(string path) - { - string lastPathEntry = Path.GetFileNameWithoutExtension(path); - - if (Path.GetFileNameWithoutExtension(path).StartsWith("-") || path == "\\") - { - return false; - } - else if (this.Drive.CurrentContainer.Parent != null && this.Drive.CurrentContainer.Parent.Name == lastPathEntry) - { - return true; - } - else - { - return false; - } - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private string TranslateQuickPickNumber(string path) - { - BaseUIContainer result = null; - int number = 0; - - if (Int32.TryParse(Path.GetFileName(path), out number)) - { - if (path == "\\" + this.Drive.CurrentLocation) - { - return path.Replace(Path.GetFileName(path), this.Drive.CurrentContainer.Entity.Id); - } - else if (path.Length < this.Drive.CurrentLocation.Length) - { - result = this.Drive.CurrentContainer.Parent; - } - else - { - try - { - result = this.Drive.CurrentContainer.Containers.Where(q => q.Entity.QuickPickNumber == number).FirstOrDefault(); - } - catch (NullReferenceException ex) - { - return null; - } - } - - - if (result != null) - return path.Replace(Path.GetFileName(path), result.Id); - else return null; - } - else return null; - - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private bool IsQuickPickNumber(string path) - { - int test = 0; - return Int32.TryParse(Path.GetFileName(path), out test); - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - protected override bool IsItemContainer(string path) - { - if (this.IsQuickPickNumber(path)) - { - string testPath = this.TranslateQuickPickNumber(path); - if (testPath == null && this.Drive.CurrentContainer.Entity != null) - { - path = path.Replace(Path.GetFileName(path), this.Drive.CurrentContainer.Entity.Id); - } - else { - path = testPath; - } - } - - switch (this.CheckContainerAxis(path)) - { - case (ContainerAxis.Ancestor): - - // The User has issued "cd .." so we're moving up the Ancestor axis... - - this.Drive.CurrentContainer = this.Drive.CurrentContainer.Parent; - this.SessionState.PSVariable.Set("CurrentContainer", this.Drive.CurrentContainer); - return true; - - case (ContainerAxis.Descendant): - - // The User has moved down the decendant axis either into a Container representing a single Entity or one that represents - // a full blown association of entities. - - this.SetDescendant(path); - break; - - case (ContainerAxis.Neutral): - - // The User has issued LS one the same Container so no movement on the axis.. - - return true; - - case (ContainerAxis.Root): - - // The User has issued cd\ bringing them all the way back to Root.. - - this.SetRoot(); - return true; - - case (ContainerAxis.NotFound): - - return false; - } - - return true; - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - private bool SetDescendant(string path) - { - if (this.Drive.CurrentContainer != null && this.Drive.CurrentContainer.Containers != null) - { - // To clarify, we're looking for the value of the last delimited entry in the path.. - - string lastPathEntry = Path.GetFileNameWithoutExtension(path); - - if (lastPathEntry != "" && lastPathEntry != this.Drive.CurrentContainer.Id) - { - BaseUIContainer container = null; - container = this.Drive.CurrentContainer.GetContainer(lastPathEntry); - this.SessionState.PSVariable.Set("CurrentContainer", container); - - if (container != null) - { - // NAVIGATION SUCCESS : The commands value can be matched to an available association so set that node - // as the current container\position.. - - this.Drive.CurrentContainer = container; - this.SessionState.PSVariable.Set("CurrentContainer", container); - return true; - } - else - { - // SHOW ENTITY DETAILS : Check to see if the key supplied by the User matches any Entity that is being managed - // by the current Container. Here, the User has moved (CD) into an Entity and has issued an LS command. - - if (this.Drive.CurrentContainer.Entity != null && this.Drive.CurrentContainer.IsEntityId(lastPathEntry)) return true; - - // The User tried to view the details of some entity yet we havn't pulled that Entity into the Container yet. - - BaseUIContainer entityContainer = this.Drive.CurrentContainer.CreateContainer(lastPathEntry); - - if (entityContainer != null) - { - // The Read operation on that Entity succeeded so set that Container as current.. - - this.Drive.CurrentContainer = entityContainer; - this.SessionState.PSVariable.Set("CurrentContainer", container); - return true; - } - else - { - return false; - } - } - } - - if (this.Drive.CurrentContainer != null) - { - return true; - } - else - { - return false; - } - - } - return false; - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private void WriteDecendantContainers(BaseUIContainer container) - { - Contract.Assert(container != null); - - if (container.Containers != null && container.Containers.Where(c => c.ObjectType == ObjectType.Container).Count() > 0) - { - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteItemObject("==========================================================================================================", container.Path, false); - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine(container.Name + " " + "Associations"); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteItemObject("==========================================================================================================", container.Path, false); - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - - - foreach (BaseUIContainer testContainer in container.Containers) - { - if (testContainer.ObjectType == ObjectType.Container) - { - WriteItemObject(testContainer, container.Path, false); - } - } - //container.Containers.ForEach(c => WriteItemObject(c, c.Path, true)); - WriteItemObject("", container.Path, false); - } - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private void WriteEntities(BaseUIContainer container) - { - //if (container.Entities.Count == 0) - //container.Load(); - - if (container.Entities != null && container.Entities.Count > 0) - { - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteItemObject("", container.Path, false); - WriteItemObject("==========================================================================================================", container.Path, false); - Console.ForegroundColor = ConsoleColor.Yellow; - WriteItemObject("The following " + container.Name + " " + "are available.", container.Path, false); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteItemObject("==========================================================================================================", container.Path, false); - WriteItemObject("", container.Path, false); - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - - int count = 0; - foreach (object obj in container.Entities) - { - this.Host.UI.RawUI.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - - BaseEntity tempObj = obj as BaseEntity; - if (tempObj != null) - { - tempObj.QuickPickNumber = count; - WriteItemObject(tempObj, this.Drive.CurrentLocation, false); - } - else - { - WriteItemObject(obj, this.Drive.CurrentLocation, false); - } - ++count; - } - - WriteItemObject("", this.Drive.CurrentLocation, false); - WriteItemObject(Convert.ToString(count) + " " + container.Name + "(s) found", this.Drive.CurrentLocation, false); - WriteItemObject("", this.Drive.CurrentLocation, false); - } - else - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - } - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private void WriteEntity(BaseUIContainer container) - { - if (container.ObjectType == ObjectType.Entity) - { - container.WriteEntityDetails(); - } - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private void WriteUIContainer(BaseUIContainer container) - { - container.Load(); - - this.WriteDecendantContainers(container); - this.WriteEntities(container); - this.WriteEntity(container); - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private void WriteEntityContainer(BaseEntityUIContainer container) - { } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private void WriteContainer(BaseUIContainer container) - { - this.WriteUIContainer(container); - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - protected override void GetChildNames(string path, ReturnContainers returnContainers) - { - WriteItemObject(path, path, true); - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - protected override string GetChildName(string path) - { - return base.GetChildName(path); - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - protected override bool ItemExists(string path) - { - return true; - } -//================================================================================================== -/// -/// This test should not verify the existance of the item at the path. -/// It should only perform syntactic and semantic validation of the -/// path. For instance, for the file system provider, that path should -/// be canonicalized, syntactically verified, and ensure that the path -/// does not refer to a device. -/// -/// -/// -//================================================================================================== - protected override bool IsValidPath(string path) - { - return true; - } - #endregion - #region Properties -//================================================================================================== -/// -/// -/// -//================================================================================================== - private CommonDriveInfo Drive - { - get - { - return this.PSDriveInfo as CommonDriveInfo; - } - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Providers/Common/HPServiceIdentifierAttribute.cs b/Openstack.Client.Powershell/Providers/Common/HPServiceIdentifierAttribute.cs deleted file mode 100644 index 73e9252..0000000 --- a/Openstack.Client.Powershell/Providers/Common/HPServiceIdentifierAttribute.cs +++ /dev/null @@ -1,54 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Objects.Domain.Admin; - -namespace Openstack.Client.Powershell.Providers.Common -{ - [System.AttributeUsage(System.AttributeTargets.Class ) -] public class RequiredServiceIdentifierAttribute : System.Attribute - { - private string _serviceName; - private Services _services; - - public Services Services - { - get { return _services; } - set { _services = value; } - } - - public RequiredServiceIdentifierAttribute(Services service) - { - _services = service; - } - - public RequiredServiceIdentifierAttribute(string serviceName) - { - _serviceName = serviceName; - } - - public string ServiceName - { - get - { - return _serviceName; - } - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Common/UpdateManager.cs b/Openstack.Client.Powershell/Providers/Common/UpdateManager.cs deleted file mode 100644 index b78093a..0000000 --- a/Openstack.Client.Powershell/Providers/Common/UpdateManager.cs +++ /dev/null @@ -1,293 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Linq; -using System.Xml.Linq; -using Openstack.Common.Properties; -using System.Xml.XPath; -using Openstack.Objects.Utility; -using Openstack.Objects.DataAccess; -using System.IO; - -namespace Openstack.Client.Powershell.Providers.Common -{ - public class UpdateManager - { - private Settings _settings; - private string _currentVersion; - private Context _context; - private BaseRepositoryFactory _factory = null; - -//================================================================================ -/// -/// -/// -//================================================================================ - public UpdateManager(Context context, string currentVersion, BaseRepositoryFactory factory) - { - _settings = context.Settings; - _currentVersion = currentVersion; - _context = context; - _factory = new BaseRepositoryFactory(context); - } -//================================================================================ -// - -// -//================================================================================ - public BaseRepositoryFactory Factory - { - get { return _factory; } - set { _factory = value; } - } -//================================================================================ -/// -/// -/// -/// -/// -//================================================================================ - private bool RequiresUpdate(XDocument manifest) - { - try - { - XElement releaseNode = (from xml2 in manifest.Descendants("Release") - where xml2.Attribute(XName.Get("IsCurrentRelease")).Value == "True" - select xml2).FirstOrDefault(); - - if (releaseNode.Attribute(XName.Get("version")).Value == _currentVersion) - return false; - else - return true; - } - catch (Exception ex) { return false; } - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - protected void WriteHeaderSection(string headerText) - { - Console.WriteLine(" "); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("========================================================================================"); - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine(headerText); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("========================================================================================"); - Console.ForegroundColor = ConsoleColor.Green; - } -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - private string ReplaceToken(string url) - { - string[] elements = url.Split('/'); - elements[4] = "AUTH_2485a207-71a4-4429-9e24-f7bf49e207fc"; - return String.Join("/", elements); - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private string CreateValidSourcePath(string sourcePath) - { - int pos = sourcePath.IndexOf(':'); - sourcePath = sourcePath.Remove(pos, 1); - return (this.ReplaceToken(this._context.ServiceCatalog.GetService("object-store").Url) + "/" + sourcePath).Replace(@"\", "/"); - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private void GetLatestRelease(XDocument manifest) - { - IStorageObjectRepository repository = this.Factory.CreateStorageObjectRepository(); - ((BaseRepository)repository).Context.AccessToken.Id = null; - - XElement releaseNode = (from xml2 in manifest.Descendants("Release") - where xml2.Attribute(XName.Get("IsCurrentRelease")).Value == "True" - select xml2).FirstOrDefault(); - - string sourcePath = this.CreateValidSourcePath(releaseNode.Attribute(XName.Get("InstallPath")).Value); - - repository.Copy(sourcePath, _settings.NewReleaseFolder + Path.GetFileName(sourcePath), false); - Console.Write(@" ==> Download of " + _settings.NewReleaseFolder + Path.GetFileName(sourcePath) + " was successful."); - Console.WriteLine(" "); - } -//======================================================================================================= -/// -/// -/// -/// -//======================================================================================================= - private string PromptForCredentials() - { - Console.WriteLine("Please supply a downloads folder : "); - string path = Console.ReadLine(); - if (!path.EndsWith(@"\")) path = path + @"\"; - - if (!path.EndsWith(@"\")) path = path + @"\"; - - while (!Directory.Exists(path)) - { - Console.ForegroundColor = ConsoleColor.Red; - Console.WriteLine(""); - Console.WriteLine("The supplied path does not exist. Please enter a valid path : "); - Console.ForegroundColor = ConsoleColor.Green; - path = Console.ReadLine(); - } - return path; - } -//======================================================================================================= -/// -/// Writes out header information to be used during the process that prompts for new credentials. -/// -//======================================================================================================= - private void WriteGetReleasePathHeader() - { - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("======================================================================================================="); - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine("We've noticed that you haven't supplied a location that we can download new releases to. When a new "); - Console.WriteLine("Windows CLI version is released, you will be shown the release notes for that version and be asked "); - Console.WriteLine("to download the latest install package. This component will be sent to that location"); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("======================================================================================================="); - Console.ForegroundColor = ConsoleColor.Green; - Console.WriteLine(" "); - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - private void UpdateCheck(XDocument manifest) - { - string configFilePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\" + @"OS\CLI.config"; - - if (this.RequiresUpdate(manifest)) - { - this.WriteHeaderSection("New updates are available.."); - Console.WriteLine(" "); - this.PrintReleaseNotes(manifest); - Console.WriteLine(" "); - Console.Write(@"Would you like to download the latest release? (Y\N)"); - ConsoleKeyInfo key = Console.ReadKey(); - - if (key.KeyChar == 'Y' || key.KeyChar == 'y') - { - _settings.Load(configFilePath); - Console.WriteLine(" "); - Console.WriteLine(" "); - Console.WriteLine(@" ==> Copying latest release to " + _settings.NewReleaseFolder); - this.GetLatestRelease(manifest); - } - else - { - Console.WriteLine(" "); - Console.WriteLine(" "); - } - } - } -//======================================================================================================= -/// -/// -/// -/// -//======================================================================================================= - private void PrintReleaseNotes(XDocument manifest) - { - XElement releaseNode = (from xml2 in manifest.Descendants("Release") - where xml2.Attribute(XName.Get("IsCurrentRelease")).Value == "True" - select xml2).FirstOrDefault(); - - Console.WriteLine("Version : " + releaseNode.Attribute(XName.Get("version")).Value); - Console.WriteLine("Notes :"); - - XElement notes = (from xml2 in releaseNode.Descendants() - select xml2).FirstOrDefault(); - Console.WriteLine(notes.Value); - } -//======================================================================================================= -/// -/// -/// -/// -//======================================================================================================= - private bool DoesRequireReleasePath(XElement releasePathNode) - { - System.Collections.Generic.IEnumerable attributes = releasePathNode.Attributes(); - foreach (XAttribute attribute in attributes) - { - if (attribute.Name == "value" && attribute.Value == string.Empty) - { - return true; - } - } - return false; - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - private void CheckReleasePath() - { - string configFilePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\" + @"OS\CLI.config"; - XDocument doc = XDocument.Load(configFilePath); - XElement releasePathNode = doc.XPathSelectElement("//add[@key='NewReleaseFolder']"); - - if (this.DoesRequireReleasePath(releasePathNode)) - { - this.WriteGetReleasePathHeader(); - string path = this.PromptForCredentials(); - releasePathNode.SetAttributeValue("value", path); - doc.Save(configFilePath); - } - } -//================================================================================ -/// -/// -/// -/// -//================================================================================ - public void ProcessUpdateCheck() - { - return; - XDocument manifest = XDocument.Load(_settings.ReleaseNotesURI); - - // Make sure that we have a supplied Downloads path from the user to send the release to.. - - this.CheckReleasePath(); - - // Check for and handle the new update.. - - this.UpdateCheck(manifest); - } - } -} diff --git a/Openstack.Client.Powershell/Providers/CommonDriveInfo.cs b/Openstack.Client.Powershell/Providers/CommonDriveInfo.cs deleted file mode 100644 index 658f392..0000000 --- a/Openstack.Client.Powershell/Providers/CommonDriveInfo.cs +++ /dev/null @@ -1,85 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections; -using System.Collections.Generic; -using System.Management.Automation; -using Openstack.Objects.DataAccess; -using Openstack.Common.DataAccess; -using Openstack.Client.Powershell.Providers.Common; - -namespace Openstack.Client.Powershell.Providers.Common -{ - public class CommonDriveInfo : PSDriveInfo - { - private CommonDriveParameters _parameters = null; - private BaseUIContainer _currentContainer = null; - - #region Ctors -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - public CommonDriveInfo(PSDriveInfo driveInfo, CommonDriveParameters parameters) : base (driveInfo) - { - _parameters = parameters; - } - #endregion - #region Methods -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - public Hashtable GetParameters() - { - return null; - } - #endregion - #region Properties -//================================================================================================== -/// -/// -/// -//================================================================================================== - public BaseUIContainer CurrentTenant - { - get { return _currentContainer; } - set - { - _currentContainer = value; - this.CurrentLocation = _currentContainer.Path; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public BaseUIContainer CurrentContainer - { - get { return _currentContainer; } - set - { - _currentContainer = value; - this.CurrentLocation = _currentContainer.Path; - } - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Providers/Compute/AbsoluteUIContainer.cs b/Openstack.Client.Powershell/Providers/Compute/AbsoluteUIContainer.cs deleted file mode 100644 index f6b49c9..0000000 --- a/Openstack.Client.Powershell/Providers/Compute/AbsoluteUIContainer.cs +++ /dev/null @@ -1,85 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections.Generic; -using Openstack.Administration.Domain; -using System.Collections; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain; - -namespace Openstack.Client.Powershell.Providers.Compute -{ - public class AbsoluteLimitsUIContainer : BaseUIContainer - { - private List _absoluteLimits; - -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public AbsoluteLimitsUIContainer(BaseUIContainer parentContainer, - string name, - string description, - string path, - List absoluteLimits) - : base(parentContainer, name, description, path) - { - _absoluteLimits = absoluteLimits; - this.ObjectType = ObjectType.Container; - } - - #region Methods -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - public override void Load() - { - - } -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - public override BaseUIContainer CreateContainer(string id) - { - return null; - } - #endregion - #region Properties -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - //public List AbsoluteLimits - //{ - // get { return _absoluteLimits; } - // set { _absoluteLimits = value; } - //} - #endregion - } -} diff --git a/Openstack.Client.Powershell/Providers/Compute/AddressesUIContainer.cs b/Openstack.Client.Powershell/Providers/Compute/AddressesUIContainer.cs deleted file mode 100644 index 392f500..0000000 --- a/Openstack.Client.Powershell/Providers/Compute/AddressesUIContainer.cs +++ /dev/null @@ -1,31 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Providers.Common; - -namespace Openstack.Client.Powershell.Providers.Compute -{ - public class AddressesUIContainer : BaseUIContainer - { - public override void Load() - { - throw new NotImplementedException(); - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Compute/FlavorUIContainer.cs b/Openstack.Client.Powershell/Providers/Compute/FlavorUIContainer.cs deleted file mode 100644 index 032f6b6..0000000 --- a/Openstack.Client.Powershell/Providers/Compute/FlavorUIContainer.cs +++ /dev/null @@ -1,68 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Objects.Domain.Compute; -using Openstack.Client.Powershell.Providers.Common; - -namespace Openstack.Client.Powershell.Providers.Compute -{ - public class FlavorUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void WriteEntityDetails() - { - Flavor flavor = (Flavor)this.Entity; - this.WriteHeader("Flavor Details"); - this.WriteFlavorDetails(flavor); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void WriteFlavorDetails(Flavor flavor) - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - - Console.WriteLine("Id : " + flavor.Id); - Console.WriteLine("Name : " + flavor.Name); - Console.WriteLine("Disk : " + flavor.Disk); - Console.WriteLine("Ram : " + flavor.Ram); - Console.WriteLine("Status : " + flavor.Status); - Console.WriteLine("RxtxCap : " + flavor.RxtxCap); - Console.WriteLine("RxtxQuota : " + flavor.RxtxQuota); - Console.WriteLine("Swap : " + flavor.Swap); - Console.WriteLine("Vcpus : " + flavor.Vcpus); - Console.WriteLine(""); - - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Compute/FlavorsUIContainer.cs b/Openstack.Client.Powershell/Providers/Compute/FlavorsUIContainer.cs deleted file mode 100644 index cb4954f..0000000 --- a/Openstack.Client.Powershell/Providers/Compute/FlavorsUIContainer.cs +++ /dev/null @@ -1,77 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using Openstack.Client.Powershell.Providers.Common; -using System.Collections; -using System.Collections.Generic; -using Openstack.Objects.Domain.Compute; - -namespace Openstack.Client.Powershell.Providers.Compute -{ - [RequiredServiceIdentifierAttribute("Openstack-ComputeDrive")] - public class FlavorsUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public FlavorsUIContainer(BaseUIContainer parentContainer, - string name, - string description, - string path) - : base(parentContainer, name, description, path) - { - this.ObjectType = ObjectType.Container; - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public FlavorsUIContainer() - {} - #region Methods -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - public override void Load() - { - List flavors = this.RepositoryFactory.CreateFlavorRepository().GetFlavors(null, null); - flavors.Sort(); - this.SetUIContainers(flavors); - this.Entities = flavors; - } -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - public override BaseUIContainer CreateContainer(string id) - { - return null; - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Providers/Compute/FloatingIPUIContainer.cs b/Openstack.Client.Powershell/Providers/Compute/FloatingIPUIContainer.cs deleted file mode 100644 index 56d3bf4..0000000 --- a/Openstack.Client.Powershell/Providers/Compute/FloatingIPUIContainer.cs +++ /dev/null @@ -1,71 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections.Generic; -using Openstack.Administration.Domain; -using System.Collections; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Providers.Compute -{ - [RequiredServiceIdentifierAttribute("Openstack-ComputeDrive")] - public class FloatingIPUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public FloatingIPUIContainer(BaseUIContainer parentContainer, - string name, - string description, - string path) - : base(parentContainer, name, description, path) - { - this.ObjectType = ObjectType.Container; - } - public FloatingIPUIContainer() - { } - #region Methods -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - public override void Load() - { - //List IPs = this.RepositoryFactory.CreateNetworkRepository().GetFloatingIPs(); - //if (IPs != null && IPs.Count > 0) - //{ - // this.Entities = IPs; - //} - //else - //{ - // this.Containers.Clear(); - // this.Entities.Clear(); - //} - } - #endregion - } -} - diff --git a/Openstack.Client.Powershell/Providers/Compute/ImageUIContainer.cs b/Openstack.Client.Powershell/Providers/Compute/ImageUIContainer.cs deleted file mode 100644 index 36b2b93..0000000 --- a/Openstack.Client.Powershell/Providers/Compute/ImageUIContainer.cs +++ /dev/null @@ -1,76 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; - -namespace Openstack.Client.Powershell.Providers.Compute -{ - public class ImageUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load(){ } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void WriteEntityDetails() - { - Image image = (Image)this.Entity; - - this.WriteHeader("Image Details"); - this.WriteImageDetails(image); - this.WriteHeader("Image meta-data is as follows.", ConsoleColor.White); - this.WriteImageMetadata(image); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void WriteImageMetadata(Image image) - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - this.WriteMetadata(image.MetaData); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void WriteImageDetails(Image image) - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - - Console.WriteLine("Id : " + image.Id); - Console.WriteLine("Name : " + image.Name); - Console.WriteLine("Created On : " + image.CreatedDate); - Console.WriteLine("Last Updated On : " + image.LastModified); - Console.WriteLine("Status : " + image.Status); - Console.WriteLine("Progress : " + image.Progress); - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Compute/ImagesUIContainer.cs b/Openstack.Client.Powershell/Providers/Compute/ImagesUIContainer.cs deleted file mode 100644 index e0dfbcf..0000000 --- a/Openstack.Client.Powershell/Providers/Compute/ImagesUIContainer.cs +++ /dev/null @@ -1,62 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections.Generic; -using Openstack.Administration.Domain; -using System.Collections; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain; - -namespace Openstack.Client.Powershell.Providers.Compute -{ - [RequiredServiceIdentifierAttribute("Openstack-ComputeDrive")] - public class ImagesUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public ImagesUIContainer(BaseUIContainer parentContainer, - string name, - string description, - string path) - : base(parentContainer, name, description, path) - { - this.ObjectType = ObjectType.Container; - } - public ImagesUIContainer() - {} - #region Methods -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - public override void Load() - { - IList images = this.RepositoryFactory.CreateImageRepository().GetImages(null, null, null, null, null); - this.SetUIContainers(images); - this.Entities = images; - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Providers/Compute/KeyPairsUIContainer.cs b/Openstack.Client.Powershell/Providers/Compute/KeyPairsUIContainer.cs deleted file mode 100644 index 192cad7..0000000 --- a/Openstack.Client.Powershell/Providers/Compute/KeyPairsUIContainer.cs +++ /dev/null @@ -1,69 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections.Generic; -using Openstack.Administration.Domain; -using System.Collections; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain; - -namespace Openstack.Client.Powershell.Providers.Compute -{ - public class KeyPairsUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public KeyPairsUIContainer(BaseUIContainer parentContainer, - string name, - string description, - string path) - : base(parentContainer, name, description, path) - { - this.ObjectType = ObjectType.Container; - } - public KeyPairsUIContainer() - { } - #region Methods -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - public override void Load() - { - IList keypairs = this.RepositoryFactory.CreateKeyPairRepository().GetKeyPairs(); - if (keypairs != null && keypairs.Count > 0) - { - this.SetUIContainers(keypairs); - this.Entities = keypairs; - } - else - { - this.Containers.Clear(); - this.Entities.Clear(); - } - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Providers/Compute/LimitsUIContainer.cs b/Openstack.Client.Powershell/Providers/Compute/LimitsUIContainer.cs deleted file mode 100644 index 8a1758b..0000000 --- a/Openstack.Client.Powershell/Providers/Compute/LimitsUIContainer.cs +++ /dev/null @@ -1,159 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Collections; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Objects.Domain.Compute; -using System.Xml.Serialization; -using System.IO; -using System.Xml.Linq; -using Openstack.Objects.Domain; - -namespace Openstack.Client.Powershell.Providers.Compute -{ - public class LimitsUIContainer : BaseUIContainer - { - private Limits _limits; - - public LimitsUIContainer() - { - - } - - public override void Load() - { - - } - - //========================================================================================================= - /// - /// - /// - /// - //========================================================================================================= - public void LoadContainers() - { - - - //XmlSerializer serializer = new XmlSerializer(typeof(Limits)); - - - //XDocument document = new XDocument(); - //document.lo - - - //Limits limits = (Limits)serializer.Deserialize(new FileStream(@"c:\Projects\rates.xml", FileMode.Open, FileAccess.Read)); - // _limits = (Limits)serializer.Deserialize(new FileStream(@"c:\Projects\results.xml", FileMode.Open, FileAccess.Read)); - //int y = 7; - - - - - - //this.Containers.Add(new AbsoluteLimitsUIContainer(this, "Absolute", "Limits based on some monitoring value." , "/")); - // this.Containers.Add(new RatesUIContainer(this, "Rates", "Limits based on HTTP Verb in use.", "/")); - - - //Limits limits = new Limits(); - //Rate rate1 = new Rate(); - //rate1.RegEx = "testreg"; - //rate1.Uri = "theURI"; - - - //limits.rates.Add(rate1); - - //XmlSerializer serializer = new XmlSerializer(typeof(Limits)); - //TextWriter tw = new StreamWriter(@"c:\Projects\results.xml"); - //serializer.Serialize(tw, limits); - //tw.Close(); - - - - - - - - - - //Limits limits = this.MockEntity(); - //RatesUIContainer ratesContainer = new RatesUIContainer(this, "Rates", "Rate limits are specified in terms of both a human-readable wild-card URI and a machine-processable regular expression.", this.BuildChildPath("Rates")); - //ratesContainer.Rates = limits.Rates; - //this.Containers.Add(ratesContainer); - //AbsoluteLimitsUIContainer absoluteLimitsContainer = new AbsoluteLimitsUIContainer(this, "AbsoluteLimits", "Absolute Limits assigned to this account.", this.BuildChildPath("Rates")); - //this.Containers.Add(absoluteLimitsContainer); - - } - //========================================================================================================= - /// - /// - /// - /// - //========================================================================================================= - //private Limits MockEntity() - //{ - // Limits limits = new Limits(); - - - // AbsoluteLimit al1 = new AbsoluteLimit(); - // al1.Name = "al1 test"; - // al1.Value = 21; - // limits.AbsoluteLimits.Add(al1); - - // AbsoluteLimit al2 = new AbsoluteLimit(); - // al2.Name = "al2 test"; - // al2.Value = 21; - // limits.AbsoluteLimits.Add(al2); - - // AbsoluteLimit al3 = new AbsoluteLimit(); - // al3.Name = "al3 test"; - // al3.Value = 21; - // limits.AbsoluteLimits.Add(al3); - - // AbsoluteLimit al4 = new AbsoluteLimit(); - // al4.Name = "al4 test"; - // al4.Value = 21; - // limits.AbsoluteLimits.Add(al4); - - - // Rate r1 = new Rate(); - - // limits.Rates.Add - - - - - - //} - //========================================================================================================= - /// - /// - /// - /// - /// - /// - //========================================================================================================= - public LimitsUIContainer(BaseUIContainer parentContainer, string name, string description, string path) - : base(parentContainer, name, description, path) - { - this.LoadContainers(); - this.ObjectType = ObjectType.Container; - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Compute/MetaDataUIContainer.cs b/Openstack.Client.Powershell/Providers/Compute/MetaDataUIContainer.cs deleted file mode 100644 index dda1f66..0000000 --- a/Openstack.Client.Powershell/Providers/Compute/MetaDataUIContainer.cs +++ /dev/null @@ -1,58 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; - -namespace Openstack.Client.Powershell.Providers.Compute -{ - public class MetaDataUIContainer : BaseUIContainer - { -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - public void Load(System.Collections.Generic.Dictionary elements) - { - List metadataElements = new List(); - - foreach (KeyValuePair element in elements) { - if (element.Key != String.Empty) - metadataElements.Add(new MetaDataElement(element.Key, element.Value)); - } - this.Entities = metadataElements; - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public override void Load() - { - - } - public override void WriteEntityDetails() - { - - base.WriteEntityDetails(); - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Compute/RatesUIContainer.cs b/Openstack.Client.Powershell/Providers/Compute/RatesUIContainer.cs deleted file mode 100644 index 66391f8..0000000 --- a/Openstack.Client.Powershell/Providers/Compute/RatesUIContainer.cs +++ /dev/null @@ -1,155 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections.Generic; -using Openstack.Administration.Domain; -using System.Collections; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain; - -namespace Openstack.Client.Powershell.Providers.Compute -{ - public class RatesUIContainer : BaseUIContainer - { - private List _rates; - -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public RatesUIContainer(BaseUIContainer parentContainer, - string name, - string description, - string path, - List rates) - : base(parentContainer, name, description, path) - { - _rates = rates; - this.ObjectType = ObjectType.Container; - } - - #region Methods -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private BaseUIContainer MockEntity(string id) - { - Server server1 = new Server(); - server1.Name = "server1"; - server1.Id = "11"; - ServerUIContainer container = new ServerUIContainer(this, id, "server test", this.Path + "\\" + server1.Id); - container.Entity = server1; - - return container; - - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { - _entities = this.MockEntities(); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private List MockEntities() - { - Server server1 = new Server(); - server1.Name = "server1"; - server1.Id = "11"; - - Server server2 = new Server(); - server2.Name = "server2"; - server2.Id = "44"; - - - Server server3 = new Server(); - server3.Name = "server3"; - server3.Id = "99"; - - Server server4 = new Server(); - server4.Name = "server4"; - server4.Id = "23"; - - Server server5 = new Server(); - server5.Name = "server5"; - server5.Id = "87"; - - List servers = new List(); - servers.Add(server1); - servers.Add(server2); - servers.Add(server3); - servers.Add(server4); - servers.Add(server5); - - return servers; - - } -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - public override BaseUIContainer CreateContainer(string id) - { - return this.MockEntity(id); - - //string tenantId = ((Tenant)CurrentTenantContainer.CurrentTenant.Entity).Id; - //IUserRepository repository = RepositoryFactory.CreateUserRepository(ResponseFormat.xml); - //User user = repository.GetUser(id, tenantId); - - //if (user != null) - //{ - // UserContainer container = new UserContainer(this, user.AccountId, "test descr", this.BuildChildPath(user.AccountId)); - // container.Entity = user; - - // return container; - //} - //else - //{ - // return null; - //} - } - #endregion - #region Properties - //========================================================================================================= - /// - /// - /// - //========================================================================================================= - public List Rates - { - get { return _rates; } - set { _rates = value; } - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Providers/Compute/ServerLogUIContainer.cs b/Openstack.Client.Powershell/Providers/Compute/ServerLogUIContainer.cs deleted file mode 100644 index 6d7a0e6..0000000 --- a/Openstack.Client.Powershell/Providers/Compute/ServerLogUIContainer.cs +++ /dev/null @@ -1,78 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain.Compute.Servers; -using Openstack.Objects.Domain.Compute.Servers.Actions; - -namespace Openstack.Client.Powershell.Providers.Compute -{ - public class ServerLogUIContainer : BaseUIContainer - { - public static int CountStringOccurrences(string text, string pattern) - { - // Loop through all instances of the string 'text'. - int count = 0; - int i = 0; - while ((i = text.IndexOf(pattern, i)) != -1) - { - i += pattern.Length; - count++; - } - return count; - } - -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { - GetServerLogAction action = new GetServerLogAction(); - action.ServerId = this.Parent.Entity.Id; - this.Entity = (Log)this.RepositoryFactory.CreateServerRepository().GetServerLog(action); - - this.WriteHeader("Log Entries"); - - Log log = (Log)this.Entity; - System.Text.RegularExpressions.Regex ex = new System.Text.RegularExpressions.Regex(@"\\n"); - string[] buffer = ex.Split(log.Content); - - Console.WriteLine(); - foreach (string line in buffer) - { - Console.WriteLine(line); - } - Console.WriteLine(); - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void WriteEntityDetails() - { - - this.WriteHeader("Log Entries"); - Console.Write(((Log)this.Entity).Content); - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Compute/ServerUIContainer.cs b/Openstack.Client.Powershell/Providers/Compute/ServerUIContainer.cs deleted file mode 100644 index 100d7ef..0000000 --- a/Openstack.Client.Powershell/Providers/Compute/ServerUIContainer.cs +++ /dev/null @@ -1,279 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Linq; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using System.Collections.Generic; -using Openstack.Client.Powershell.Providers.BlockStorage; -using Openstack.Objects.Domain.Security; -using Openstack.Objects.Domain.Compute.Common; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Objects.DataAccess.Security; - -namespace Openstack.Client.Powershell.Providers.Compute -{ - public class ServerUIContainer : BaseUIContainer - { - private Image _image; - private Flavor _flavor; -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public ServerUIContainer(BaseUIContainer parentContainer, string name, string description, string path) - : base(parentContainer, name, description, path) - { - this.LoadContainers(); - this.ObjectType = Common.ObjectType.Entity; - } -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public ServerUIContainer() { } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { - this.LoadServerDetails(); - this.LoadContainers(); - this.LoadFlavorDetails(); - this.LoadImageDetails(); - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - private void LoadServerDetails() - { - Server server = (Server)this.Entity; - this.Entity = this.RepositoryFactory.CreateServerRepository().GetServer(server.Id); - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - private void LoadFlavorDetails() - { - Server temp = ((Server)this.Entity); - string flavorId = ((EntityRef)temp.Flavor).Id; - _flavor = this.RepositoryFactory.CreateFlavorRepository().GetFlavor(flavorId); - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - private void LoadImageDetails() - { - Server temp = ((Server)this.Entity); - string imageId = ((EntityRef)temp.Image).Id; - _image = this.RepositoryFactory.CreateImageRepository().GetImage(imageId); - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - private List GetResolvedSecurityGroups(List groups) - { - List secGroups = this.RepositoryFactory.CreateSecurityRepository().GetSecurityGroups(); - try - { - var innerJoinQuery = - from agroup in groups - join secGroup in secGroups on agroup.Name equals secGroup.Name - select new SecurityGroup() - { - Id = secGroup.Id, - Description = secGroup.Description, - Name = secGroup.Name, - TenantId = secGroup.TenantId, - Rules = secGroup.Rules - }; - return innerJoinQuery.ToList(); - } - catch (Exception) { } - return null; - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void LoadContainers() - { - this.Containers.Clear(); - BaseUIContainer container = (BaseUIContainer)this.CreateContainer("Metadata", "Metadata about the Server.", this.Parent.Path + @"\Metadata"); - if (this.Entity != null) - { - ((MetaDataUIContainer)container).Load(((Server)this.Entity).MetaData); - } - - this.Containers.Add(container); - - SecurityGroupsUIContainer sgContainer = (SecurityGroupsUIContainer)this.CreateContainer("SecurityGroups", "Manage this Servers security rules.", this.Parent.Path + @"\SecurityGroups"); - sgContainer.IsServerGroups = true; - sgContainer.LoadEntities(this.GetResolvedSecurityGroups(((Server)this.Entity).SecurityGroups)); - this.Containers.Add(sgContainer); - - try - { - AttachmentsUIContainer aContainer = (AttachmentsUIContainer)this.CreateContainer("Volumes", "List the Volumes attached to this Server", this.Parent.Path + @"\Volumes"); - aContainer.LoadEntities(((Server)this.Entity)); - //if (aContainer != null && aContainer.Entities != null) - if (aContainer != null) - this.Containers.Add(aContainer); - } - catch (Exception ex) { int h = 8; } - - ServerLogUIContainer logContainer = (ServerLogUIContainer)this.CreateContainer("EventLog", "EventLog", this.Parent.Path + @"\Log"); - this.Containers.Add(logContainer); - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - private void WriteNetworkDetails() - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - Console.WriteLine(); - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - Console.WriteLine(" Address : " + ((Server)this.Entity).IpAddress); - Console.WriteLine(); - - //IList addresses = ((Server)this.Entity).Addresses.Private; - //if (addresses != null) - //{ - // foreach (IPAddress address in addresses) - // { - // Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - // Console.WriteLine(); - // Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - // Console.WriteLine(" Address : " + address.Addr); - // Console.WriteLine(" Version : " + address.Version); - // Console.WriteLine(); - // } - //} - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - private void WriteServerDetails(Server server) - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - Console.WriteLine(" Id : " + server.Id); - Console.WriteLine(" Name : " + server.Name); - Console.WriteLine(" UUID : " + server.UUID); - Console.WriteLine(" Host Id : " + server.HostId); - Console.WriteLine(" Status : " + server.Status); - Console.WriteLine(" Progress : " + server.Progress); - Console.WriteLine(" Created On : " + server.CreationDate); - Console.WriteLine(" Last Update : " + server.LastUpdatedDate); - Console.WriteLine(" Key : " + server.KeyName); - - TimeSpan span = DateTime.Now - server.CreationDate; - Console.WriteLine(" Age : " + Convert.ToString(span.Days) + " day(s)"); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void WriteImageDetails(Image image) - { - if (image != null) - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - Console.WriteLine(" Id : " + image.Id); - Console.WriteLine(" Name : " + image.Name); - Console.WriteLine(" Last Modified : " + image.LastModified); - Console.WriteLine(" Created On : " + image.CreatedDate); - Console.WriteLine(" Status : " + image.Status); - } - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void WriteFlavorDetails(Flavor flavor) - { - if (flavor != null) - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - Console.WriteLine(" Id : " + flavor.Id); - Console.WriteLine(" Name : " + flavor.Name); - Console.WriteLine(" RAM : " + flavor.Ram); - Console.WriteLine(" Disk : " + flavor.Disk); - Console.WriteLine(" Status : " + flavor.Status); - } - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void WriteEntityDetails() - { - Server server = (Server)this.Entity; - - this.WriteHeader("Server Details"); - this.WriteServerDetails(server); - this.WriteHeader("Image Information.", ConsoleColor.White); - this.WriteImageDetails(_image); - this.WriteHeader("Flavor Details", ConsoleColor.White); - this.WriteFlavorDetails(_flavor); - this.WriteHeader("Assigned Network Addresses", ConsoleColor.White); - this.WriteNetworkDetails(); - Console.WriteLine(); - } -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - public override bool IsEntityId(string id) - { - if (id == ((Server)this.Entity).Id) - return true; - else - return false; - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Compute/ServersUIContainer.cs b/Openstack.Client.Powershell/Providers/Compute/ServersUIContainer.cs deleted file mode 100644 index 2313de9..0000000 --- a/Openstack.Client.Powershell/Providers/Compute/ServersUIContainer.cs +++ /dev/null @@ -1,103 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections.Generic; -using Openstack.Administration.Domain; -using System.Collections; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain; -using System; -using System.Collections.ObjectModel; -using Openstack.Objects; -using System.Xml.Serialization; -using System.IO; - -namespace Openstack.Client.Powershell.Providers.Compute -{ - [RequiredServiceIdentifierAttribute("Openstack-ComputeDrive")] - public class ServersUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public ServersUIContainer() { } -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public ServersUIContainer(BaseUIContainer parentContainer, - string name, - string description, - string path) - : base(parentContainer, name, description, path) - { - this.ObjectType = Common.ObjectType.Container; - } - - #region Methods -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { - this.LoadEntities(); - } -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - private void LoadEntities() - { - IList servers = this.RepositoryFactory.CreateServerRepository().GetServers(null, null, null, null, ServerStatus.Unknown); - if (servers != null && servers.Count > 0) - { - this.SetUIContainers(servers); - this.Entities = servers; - } - else - { - this.Containers.Clear(); - this.Entities.Clear(); - } - } -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - public override BaseUIContainer CreateContainer(string id) - { - return null; - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Providers/Dbaas/DBInstancesUIContainer.cs b/Openstack.Client.Powershell/Providers/Dbaas/DBInstancesUIContainer.cs deleted file mode 100644 index 44ff4fa..0000000 --- a/Openstack.Client.Powershell/Providers/Dbaas/DBInstancesUIContainer.cs +++ /dev/null @@ -1,28 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace Openstack.Client.Powershell.Providers.Dbaas -{ - class DBInstancesUIContainer - { - } -} - - diff --git a/Openstack.Client.Powershell/Providers/Dbaas/DatabaseUIContainer.cs b/Openstack.Client.Powershell/Providers/Dbaas/DatabaseUIContainer.cs deleted file mode 100644 index c67e785..0000000 --- a/Openstack.Client.Powershell/Providers/Dbaas/DatabaseUIContainer.cs +++ /dev/null @@ -1,89 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Collections; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Objects.Domain; -using Openstack.Objects.Utility; -using Openstack.Objects.DataAccess; -using Openstack.Client.Powershell.Providers.Compute; - -namespace Openstack.Client.Powershell.Providers.Database -{ -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - [RequiredServiceIdentifierAttribute("Openstack-ComputeDrive")] - public class DatabaseUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public DatabaseUIContainer() { } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { - this.LoadContainers(); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void LoadContainers() - { - this.Containers.Clear(); - this.Containers.Add(this.CreateContainer("Instances", "Manage Database Instances across the Account..", @"Data\Instances")); - this.AddContainer(this.CreateContainer("Flavors", "Manage additional hardware configurations for Database Servers.", @"Data\Flavors")); - this.Containers.Add(this.CreateContainer("Snapshots", "Container for storing and managing Database Instance Snapshots. ", @"Data\Snapshots")); - this.Containers.Add(this.CreateContainer("SecurityGroups", "Container for storing and managing Database Instance Security Groups. ", @"Data\SecurityGroups")); - } -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public DatabaseUIContainer(BaseUIContainer parentContainer, string name, string description, string path, Context context, BaseRepositoryFactory repository) - : base(parentContainer, name, description, path) - { - this.Context = context; - this.RepositoryFactory = repository; - - this.LoadContainers(); - this.ObjectType = Client.Powershell.Providers.Common.ObjectType.Entity; - } - } -} - diff --git a/Openstack.Client.Powershell/Providers/Networking/FloatingIPUIContainer.cs b/Openstack.Client.Powershell/Providers/Networking/FloatingIPUIContainer.cs deleted file mode 100644 index 352f020..0000000 --- a/Openstack.Client.Powershell/Providers/Networking/FloatingIPUIContainer.cs +++ /dev/null @@ -1,87 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Providers.Networking -{ - public class FloatingIPUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public FloatingIPUIContainer(BaseUIContainer parentContainer, string name, string description, string path) - : base(parentContainer, name, description, path) - { - this.ObjectType = Common.ObjectType.Entity; - } -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public FloatingIPUIContainer() { } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { - - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void WriteEntityDetails() - { - FloatingIP floatingIP = (FloatingIP)this.Entity; - this.WriteHeader("Floating IP Details"); - this.WriteFloatingIPDetails(floatingIP); - Console.WriteLine(); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void WriteFloatingIPDetails(FloatingIP floatingIP) - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - Console.WriteLine(" Id : " + floatingIP.Id); - Console.WriteLine(" Fixed Address : " + floatingIP.FixedIPAddress); - Console.WriteLine(" Floating Address : " + floatingIP.FloatingIPAddress); - Console.WriteLine(" Port Id : " + floatingIP.PortId); - Console.WriteLine(" Router Id : " + floatingIP.RouterID); - Console.WriteLine(" Tenant Id : " + floatingIP.TenantId); - } - } -} \ No newline at end of file diff --git a/Openstack.Client.Powershell/Providers/Networking/FloatingIPsUIContainer.cs b/Openstack.Client.Powershell/Providers/Networking/FloatingIPsUIContainer.cs deleted file mode 100644 index ad2f259..0000000 --- a/Openstack.Client.Powershell/Providers/Networking/FloatingIPsUIContainer.cs +++ /dev/null @@ -1,102 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Networking; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Providers.Networking -{ - public class FloatingIPsUIContainer : BaseUIContainer - { - private bool _hasLoaded = false; - -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public FloatingIPsUIContainer() { } -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public FloatingIPsUIContainer(BaseUIContainer parentContainer, - string name, - string description, - string path) - : base(parentContainer, name, description, path) - { - this.ObjectType = Common.ObjectType.Container; - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { - if (!_hasLoaded) - { - this.LoadEntities(); - } - } -//================================================================================================= -/// -/// -/// -//================================================================================================= - public void Load(List floatingIPs) - { - this.Containers.Clear(); - this.SetUIContainers(floatingIPs); - this.Entities = floatingIPs; - _hasLoaded = true; - } -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - private void LoadEntities() - { - List floatingIPs = this.RepositoryFactory.CreateFloatingIPRepository().GetFloatingIPs(); - - if (floatingIPs != null && floatingIPs.Count > 0) - { - this.SetUIContainers(floatingIPs); - this.Entities = floatingIPs; - } - else - { - this.Containers.Clear(); - this.Entities.Clear(); - } - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Networking/NetworkUIContainer.cs b/Openstack.Client.Powershell/Providers/Networking/NetworkUIContainer.cs deleted file mode 100644 index f99e954..0000000 --- a/Openstack.Client.Powershell/Providers/Networking/NetworkUIContainer.cs +++ /dev/null @@ -1,166 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.DataAccess.Networking; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Providers.Networking -{ - public class NetworkUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { - this.LoadNetworkDetails(); - this.LoadContainers(); - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - private void LoadPortUIContainers() - { - string networkId = this.Entity.Id; - BaseUIContainer container = (BaseUIContainer)this.CreateContainer("Ports", "Ports associated with this Network.", this.Parent.Path + @"\Port"); - - if (this.Entity != null) - { - IPortRepository repository = this.RepositoryFactory.CreatePortRepository(); - List allports = repository.GetPorts(); - List ports = new List(); - - foreach (Port port in allports) { - if (port.NetworkId == networkId) - ports.Add(port); - } - - ((PortsUIContainer)container).Load(ports); - this.Containers.Add(container); - } - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - private void LoadFloatingIPUIContainers() - { - string networkId = this.Entity.Id; - BaseUIContainer container = (BaseUIContainer)this.CreateContainer("FloatingIPs", "Floating IPs associated with this Network.", this.Parent.Path + @"\FloatingIP"); - - if (this.Entity != null) - { - IFloatingIPRepository repository = this.RepositoryFactory.CreateFloatingIPRepository(); - List allfloatingIPs = repository.GetFloatingIPs(); - List floatingIPs = new List(); - - foreach (FloatingIP floatingIP in allfloatingIPs) - { - if (floatingIP.FloatingNetworkId == networkId) - floatingIPs.Add(floatingIP); - } - - ((FloatingIPsUIContainer)container).Load(floatingIPs); - this.Containers.Add(container); - } - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - private void LoadSubnetUIContainers() - { - BaseUIContainer container = (BaseUIContainer)this.CreateContainer("Subnets", "Subnets associated with this Network.", this.Parent.Path + @"\Subnet"); - if (this.Entity != null) - { - ISubnetRepository repository = this.RepositoryFactory.CreateSubnetRepository(); - List subnets = new List(); - - foreach (string subnetListElement in ((Network)this.Entity).Subnets) - { - Subnet subnet = repository.GetSubnet(subnetListElement); - if (subnet != null) - subnets.Add(subnet); - } - - ((SubnetsUIContainer)container).Load(subnets); - this.Containers.Add(container); - } - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void LoadContainers() - { - this.Containers.Clear(); - this.LoadSubnetUIContainers(); - this.LoadPortUIContainers(); - this.LoadFloatingIPUIContainers(); - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - private void LoadNetworkDetails() - { - Network network = (Network)this.Entity; - this.Entity = this.RepositoryFactory.CreateNetworkRepository().GetNetwork(network.Id); - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - private void WriteNetworkDetails(Network network) - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - Console.WriteLine(" Id : " + network.Id); - Console.WriteLine(" Name : " + network.Name); - Console.WriteLine(" Status : " + network.Status); - Console.WriteLine(" Admin State Up : " + network.AdminStateUp); - Console.WriteLine(" Shared : " + network.Shared); - Console.WriteLine(" Is External : " + network.IsExternal); - Console.WriteLine(" Port Security Enabled : " + network.PortSecurityEnabled); - Console.WriteLine(" Tenant Id : " + network.TenantId); - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void WriteEntityDetails() - { - Network network = (Network)this.Entity; - this.WriteHeader("Network Details"); - this.WriteNetworkDetails(network); - Console.WriteLine(); - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Networking/NetworksUIContainer.cs b/Openstack.Client.Powershell/Providers/Networking/NetworksUIContainer.cs deleted file mode 100644 index 3574c7d..0000000 --- a/Openstack.Client.Powershell/Providers/Networking/NetworksUIContainer.cs +++ /dev/null @@ -1,110 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections.Generic; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Providers.Networking -{ - // [RequiredServiceIdentifierAttribute("Openstack-ComputeDrive")] - public class NetworksUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public NetworksUIContainer() { } -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public NetworksUIContainer(BaseUIContainer parentContainer, - string name, - string description, - string path) - : base(parentContainer, name, description, path) - { - this.ObjectType = Common.ObjectType.Container; - } - - #region Methods -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { - this.LoadEntities(); - this.LoadContainers(); - } -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - private void LoadEntities() - { - List networks = this.RepositoryFactory.CreateNetworkRepository().GetNetworks(); - - if (networks != null && networks.Count > 0) - { - this.SetUIContainers(networks); - this.Entities = networks; - } - else - { - this.Containers.Clear(); - this.Entities.Clear(); - } - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void LoadContainers() - { - this.AddContainer(this.CreateContainer("Subnets", "All Subnets assocated with the Account.", "Subnets")); - this.AddContainer(this.CreateContainer("Ports", "All Ports associated with the Account", "Ports")); - this.AddContainer(this.CreateContainer("FloatingIPs", "All Floating IPs associated with the Account", "FloatingIPs")); - this.AddContainer(this.CreateContainer("Routers", "All Routers associated with the Account", "Routers")); - } -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - public override BaseUIContainer CreateContainer(string id) - { - return null; - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Providers/Networking/PortUIContainer.cs b/Openstack.Client.Powershell/Providers/Networking/PortUIContainer.cs deleted file mode 100644 index 5a7eeff..0000000 --- a/Openstack.Client.Powershell/Providers/Networking/PortUIContainer.cs +++ /dev/null @@ -1,75 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Providers.Networking -{ - public class PortUIContainer : BaseUIContainer - { -//================================================================================================== -/// -/// -/// -//================================================================================================== - public override void Load() - { - - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private void WriteFixedIPs(Port port) - { - this.WriteHeader("Assigned Fixed IPs"); - foreach (FixedIP fixedIP in port.FixedIPs) - { - Console.WriteLine(" IP Address : " + fixedIP.IpAddress); - Console.WriteLine(" Subnet Id : " + fixedIP.SubnetId); - Console.WriteLine(""); - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public override void WriteEntityDetails() - { - Port port = (Port)this.Entity; - this.WriteHeader("Port Details"); - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - Console.WriteLine(" Id : " + port.Id); - Console.WriteLine(" Device Id : " + port.DeviceId); - Console.WriteLine(" Device Owner : " + port.DeviceOwner); - Console.WriteLine(" MAC Address : " + port.MacAddress); - Console.WriteLine(" Status : " + port.Status); - Console.WriteLine(" Network Id : " + port.NetworkId); - Console.WriteLine(" Admin State Up : " + port.AdminStateUp); - Console.WriteLine(" Port Security Enabled : " + port.PortSecurityEnabled); - Console.WriteLine(" Binding Type : " + port.BindingType); - - this.WriteFixedIPs(port); - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Networking/PortsUIContainer.cs b/Openstack.Client.Powershell/Providers/Networking/PortsUIContainer.cs deleted file mode 100644 index 63cb3df..0000000 --- a/Openstack.Client.Powershell/Providers/Networking/PortsUIContainer.cs +++ /dev/null @@ -1,57 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.DataAccess.Networking; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Providers.Networking -{ - public class PortsUIContainer : BaseUIContainer - { - private bool _hasLoaded = false; -//================================================================================================= -/// -/// -/// -//================================================================================================= - public override void Load() - { - if (!_hasLoaded) - { - this.Containers.Clear(); - IPortRepository repository = this.RepositoryFactory.CreatePortRepository(); - this.Entities = repository.GetPorts(); - this.SetUIContainers(this.Entities); - } - } -//================================================================================================= -/// -/// -/// -//================================================================================================= - public void Load(List ports) - { - this.Containers.Clear(); - this.SetUIContainers(ports); - this.Entities = ports; - _hasLoaded = true; - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Networking/RouterUIContainer.cs b/Openstack.Client.Powershell/Providers/Networking/RouterUIContainer.cs deleted file mode 100644 index 0371477..0000000 --- a/Openstack.Client.Powershell/Providers/Networking/RouterUIContainer.cs +++ /dev/null @@ -1,55 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.DataAccess.Networking; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Providers.Networking -{ - public class RouterUIContainer : BaseUIContainer - { -//================================================================================================== -/// -/// -/// -//================================================================================================== - public override void Load() - {} -//================================================================================================== -/// -/// -/// -//================================================================================================== - public override void WriteEntityDetails() - { - Router router = (Router)this.Entity; - this.WriteHeader("Router Details"); - - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - Console.WriteLine(" Id : " + router.Id); - Console.WriteLine(" Router Name : " + router.Name); - Console.WriteLine(" Status : " + router.Status); - Console.WriteLine(" Admin State Up : " + router.AdminStateUp); - Console.WriteLine(" Ext Gateway : " + router.ExternalGateway.NetworkId); - Console.WriteLine(" Tenant Id : " + router.TenantId); - Console.WriteLine(""); - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Networking/RoutersUIContainer.cs b/Openstack.Client.Powershell/Providers/Networking/RoutersUIContainer.cs deleted file mode 100644 index 0ab94a7..0000000 --- a/Openstack.Client.Powershell/Providers/Networking/RoutersUIContainer.cs +++ /dev/null @@ -1,40 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.DataAccess.Networking; - -namespace Openstack.Client.Powershell.Providers.Networking -{ - public class RoutersUIContainer : BaseUIContainer - { -//================================================================================================= -/// -/// -/// -//================================================================================================= - public override void Load() - { - this.Containers.Clear(); - IRouterRepository repository = this.RepositoryFactory.CreateRouterRepository(); - this.Entities = repository.GetRouters(); - this.SetUIContainers(this.Entities); - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Networking/SubnetUIContainer.cs b/Openstack.Client.Powershell/Providers/Networking/SubnetUIContainer.cs deleted file mode 100644 index 6de6522..0000000 --- a/Openstack.Client.Powershell/Providers/Networking/SubnetUIContainer.cs +++ /dev/null @@ -1,103 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Providers.Networking -{ - public class SubnetUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public SubnetUIContainer(BaseUIContainer parentContainer, string name, string description, string path) - : base(parentContainer, name, description, path) - { - this.ObjectType = Common.ObjectType.Entity; - } -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public SubnetUIContainer() { } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void WriteSubnetDetails(Subnet subnet) - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - Console.WriteLine(" Id : " + subnet.Id); - Console.WriteLine(" Gateway IP : " + subnet.GatewayIP); - Console.WriteLine(" IP Version : " + subnet.IPVersion); - Console.WriteLine(" Cidr : " + subnet.Cidr); - Console.WriteLine(" DHCP Enabled : " + subnet.EnableDHCP); - Console.WriteLine(" Network Id : " + subnet.NetworkId); - Console.WriteLine(" Tenant Id : " + subnet.TenantId); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void WriteAllocationPools(Subnet subnet) - { - this.WriteHeader("Available Subnet Allocation Pools"); - foreach (AllocationPool pool in subnet.AllocationPools) - { - Console.WriteLine(" Start : " + pool.Start); - Console.WriteLine(" End : " + pool.End); - Console.WriteLine(""); - } - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void WriteEntityDetails() - { - Subnet subnet = (Subnet)this.Entity; - this.WriteHeader("Subnet Details"); - this.WriteSubnetDetails(subnet); - this.WriteAllocationPools(subnet); - Console.WriteLine(); - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Networking/SubnetsUIContainer.cs b/Openstack.Client.Powershell/Providers/Networking/SubnetsUIContainer.cs deleted file mode 100644 index 690bfd6..0000000 --- a/Openstack.Client.Powershell/Providers/Networking/SubnetsUIContainer.cs +++ /dev/null @@ -1,58 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.DataAccess.Networking; -using Openstack.Objects.Domain.Networking; - -namespace Openstack.Client.Powershell.Providers.Networking -{ - public class SubnetsUIContainer : BaseUIContainer - { - private bool _hasLoaded = false; -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - public void Load(List subnets) - { - this.Containers.Clear(); - this.SetUIContainers(subnets); - this.Entities = subnets; - _hasLoaded = true; - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public override void Load() - { - if (!_hasLoaded) - { - this.Containers.Clear(); - List subnets = this.RepositoryFactory.CreateSubnetRepository().GetSubnets(); - this.SetUIContainers(subnets); - this.Entities = subnets; - } - } - } -} diff --git a/Openstack.Client.Powershell/Providers/ObjectStorage/HPOSDriveInfo.cs b/Openstack.Client.Powershell/Providers/ObjectStorage/HPOSDriveInfo.cs deleted file mode 100644 index c6639ce..0000000 --- a/Openstack.Client.Powershell/Providers/ObjectStorage/HPOSDriveInfo.cs +++ /dev/null @@ -1,385 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections.Generic; -using System.Management.Automation; -using System.Collections; -using OpenStack; -using System.Diagnostics.Contracts; -using OpenStack.Client.Powershell.Utility; -using System; -using System.IO; -using System.Linq; -using OpenStack.Storage; -using OpenStack.Identity; - - -namespace OpenStack.Client.Powershell.Providers.Storage -{ - public class OpenStackPSDriveInfo : PSDriveInfo - { - public const string cDelimiter = "/"; - - private OSDriveParameters _parameters = null; - private IStorageServiceClient _storageClient; - private List _pathCache = new List(); - private bool _isQueueOn = false; - private Settings _settings = null; - private Context _context; - private string _sharePath; - private string _storageServiceUrl; - - #region Ctors -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - public OpenStackPSDriveInfo(PSDriveInfo driveInfo, OSDriveParameters parameters, Context context , string storageServiceUrl): base(driveInfo) - { - _parameters = parameters; - _context = context; - _storageServiceUrl = storageServiceUrl; - - if (parameters != null) - _settings = parameters.Settings; - } - #endregion - #region Methods -//======================================================================================================= -/// -/// -/// -/// -/// -//======================================================================================================= - private string GetFirstPathElement(string path) - { - int delimeterPosition; - - if (path.StartsWith(@"\")) - { - delimeterPosition = path.IndexOf(@"\", 1, StringComparison.Ordinal); - if (delimeterPosition != -1) - return path.Substring(0, delimeterPosition); - else - return null; - } - else - { - delimeterPosition = path.IndexOf("/", 0, StringComparison.Ordinal); - if (delimeterPosition != -1) - return path.Substring(0, delimeterPosition); - else - { - delimeterPosition = path.IndexOf(@"\", 0, StringComparison.Ordinal); - if (delimeterPosition != -1) - return path.Substring(0, delimeterPosition); - else - return null; - } - } - } -//======================================================================================================= -/// -/// -/// -/// -/// -//======================================================================================================= - private bool IsHPOSDrive(string name) - { - if (name != null) - { - if (name.Contains(":")) - { - return true; - } - else - { - return false; - } - } - else return false; - } - - public string SharePath - { - get { return _sharePath; } - set { _sharePath = value; } - } - private IStorageServiceClient StorageClient - { - get { return _storageClient; } - set { _storageClient = value; } - } - -//======================================================================================================= -/// -/// -/// -/// -/// -//======================================================================================================= - private bool ContainsHPOSDrive(string name) - { - foreach (PSDriveInfo drive in this.Provider.Drives) - { - if (drive.Provider.Name == "Object Storage" && drive.Name.Contains(name)) - return true; - } - return false; - } -////========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - private bool IsLocalPath(string path) - { - // Temporaily reverse the delimiter for this check... - - string temp = path.Replace(@"/", @"\"); - List drives = DriveInfo.GetDrives().ToList(); - - drives.DefaultIfEmpty(null); - if (drives.Where(d => temp.ToUpper().Contains(d.Name)).FirstOrDefault() == null) - { - return false; - } - else - { - return true; - } - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private bool IsFullyQualifiedPath (string path) - { - string firstPathElement = GetFirstPathElement(path); - - if (IsHPOSDrive(firstPathElement)) - { - return true; - } - else if (IsLocalPath(path)) - { - return true; - } - else - { - return false; - } - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private string FormatPath (string path) - { - string currentLocation = null; - - // Strip out any leading or trailing delimiters.. - - if (path.StartsWith(@"\") || path.StartsWith("/")) - { - path = path.Substring(1); - } - - // Reverse the delimiter and strip out the current location. We do this because some paths will come from the provider - // in which PS has already supplied the fully qualified path, yet some paths will come from cmdlets (like CopyItem) - // that receive paths from the user. These paths may or may not contain the current location so we strip it out reguardless - // then read it back... - - path = path.Replace(@"\", "/"); - currentLocation = this.CurrentLocation.Replace(@"\", "/"); - - if (currentLocation != "") - { - path = path.Replace(currentLocation + "/", string.Empty); - } - path = path.Replace(this.Name + "/", string.Empty); - return path; - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - private string StorageServiceURL - { - get - { - return this._context.ServiceCatalog.GetPublicEndpoint("object-store", null).ToString(); - - //if (this.Drive.SharePath == null) - // return this.Context.ServiceCatalog.GetPublicEndpoint("object-store", null).ToString(); //.GetService("object-store").Url; - //else - // return this.Drive.SharePath; - } - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private StoragePath ProcessRootPath(string path) - { - path = this.FormatPath(path); - - if (this.IsLocalPath(path)) - { - // Nothing to do to a pure local path. Just return it wrapped up.. - - return new StoragePath(path); - } - else - { - string firstElement = this.GetFirstPathElement(path); - - if (this.IsHPOSDrive(firstElement)) - { - // If the path supplied already contains a storageContainer name, strip it out and pass it in as the volume name.. - - path = path.Replace(firstElement, string.Empty); - - return new StoragePath(this.StorageServiceUrl); - - } - else - { - // If the path supplied lacks a storageContainer name, take the current one.. - - return new StoragePath(this.StorageServiceUrl, this.Name, path.Replace(@"\", "/")); - } - } - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private StoragePath ProcessNonRootPath (string path) - { - string publicURL = this.StorageServiceUrl; - - if (this.IsFullyQualifiedPath(path) == true) - { - return new StoragePath(this.StorageServiceUrl + "/" + path.Replace(@"\", "/").Replace(":", "/")); - } - else - { - path = this.FormatPath(path); - - if (path.EndsWith(cDelimiter)) - { - // We're dealing with a folder path here.. - - return new StoragePath(publicURL, this.Name, this.CurrentLocation.Replace(@"\", "/") + cDelimiter + path); - - } - else - { - // We're dealing with an object path here.. - - path = (publicURL + cDelimiter + this.Name + cDelimiter + this.CurrentLocation.Replace(@"\", "/") + cDelimiter + path); - return new StoragePath(path); - } - } - } - //================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - public StoragePath CreateStoragePath(string path) - { - if (this.IsLocalPath(path)) - { - return new StoragePath(path); - } - else - { - // Check for a root path supplied first.. - - if (this.CurrentLocation == string.Empty) - { - return this.ProcessRootPath(path); - } - else - { - return this.ProcessNonRootPath(path); - } - } - return null; - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - public Hashtable GetParameters() - { - return null; - } - #endregion - #region Properties -//================================================================================================== -/// -/// -/// -//================================================================================================== - private string StorageServiceUrl - { - get - { - if (this.SharePath == null) - return this._context.ServiceCatalog.GetPublicEndpoint("Object Storage", "region-a.geo-1").ToString(); - //return this._context.ServiceCatalog.GetPublicEndpoint("Object Storage", null).ToString(); - else - return this.SharePath; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public List PathCache - { - get { return _pathCache; } - set { _pathCache = value; } - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Providers/ObjectStorage/HPOSDriveParameters.cs b/Openstack.Client.Powershell/Providers/ObjectStorage/HPOSDriveParameters.cs deleted file mode 100644 index 94705e9..0000000 --- a/Openstack.Client.Powershell/Providers/ObjectStorage/HPOSDriveParameters.cs +++ /dev/null @@ -1,42 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using OpenStack.Client.Powershell.Utility; - -namespace OpenStack.Client.Powershell.Providers.Storage -{ - public class OSDriveParameters - { - private Settings _settings; - - public Settings Settings - { - get { return _settings; } - set { _settings = value; } - } - #region Ctors -//================================================================================= -/// -/// -/// -/// -//================================================================================= - public OSDriveParameters() - { - } - - #endregion - } -} diff --git a/Openstack.Client.Powershell/Providers/ObjectStorage/HPOSNavigationProvider.cs b/Openstack.Client.Powershell/Providers/ObjectStorage/HPOSNavigationProvider.cs deleted file mode 100644 index 9e6295d..0000000 --- a/Openstack.Client.Powershell/Providers/ObjectStorage/HPOSNavigationProvider.cs +++ /dev/null @@ -1,754 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Management.Automation.Provider; -using System.Collections.ObjectModel; -using OpenStack.Storage; -using OpenStack.Client.Powershell.Utility; -using OpenStack.Client.Powershell.Providers.Common; -using System.Management.Automation.Runspaces; -using OpenStack; -using System.Threading.Tasks; -using System.Threading; -using OpenStack.Client.Powershell.Providers.ObjectStorage; - - -namespace OpenStack.Client.Powershell.Providers.Storage -{ - [CmdletProvider("Object Storage", ProviderCapabilities.ExpandWildcards)] - public class HPOSNavigationProvider : BaseNavigationCmdletProvider - { - const string cDelimiter = @"\"; - const string cFolderMarker = "folder.txt"; - - private class FolderStatistics - { - public long TotalFilesFound = 0; - public long TotalBytes = 0; - public long TotalFoldersFound = 0; - } - private IStorageServiceClient _storageClient; - - - private IStorageServiceClient StorageClient - { - get - { - IOpenStackClient client = (IOpenStackClient)this.SessionState.PSVariable.GetValue("CoreClient", null); - return client.CreateServiceClient(); - } - - } - - #region Implementation of DriveCmdletProvider -//================================================================================================== -/// -/// Removes an Item from the store.. -/// -/// -//================================================================================================== - protected override void ClearItem(string path) - { - base.ClearItem(path); - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - private string StorageServiceURL - { - get - { - if (this.Drive == null || this.Drive.SharePath == null) - return this.Context.ServiceCatalog.GetPublicEndpoint("Object Storage", "region-a.geo-1").ToString(); - //return this.Context.ServiceCatalog.GetPublicEndpoint("object-store", null).ToString(); //.GetService("object-store").Url; - else - return this.Drive.SharePath; - } - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - public System.Collections.ObjectModel.Collection GetAvailableDrives(Settings settings, ProviderInfo providerInfo) - { - IEnumerable storageContainers = null; - OSDriveParameters parameters = new OSDriveParameters(); - - if (this.Settings != null) - { - parameters.Settings = this.Settings; - } - else - { - parameters.Settings = settings; - } - - try - { - // Get a list of Storage Containers... - - Task> getContainersTask = this.Client.CreateServiceClient().ListStorageContainers(); - getContainersTask.Wait(); - storageContainers = getContainersTask.Result; - } - catch (Exception ex) - { - Console.WriteLine(ex); - } - - Collection drives = new Collection(); - - // For every storageContainer that the User has access to, create a Drive that he can mount within Powershell.. - - try - { - if (storageContainers.Count() > 0) - { - foreach (StorageContainer storageContainer in storageContainers) - { - PSDriveInfo driveInfo = new PSDriveInfo(storageContainer.Name, providerInfo, "/", "Root folder for your storageContainer", null); - parameters.Settings = this.Settings; - OpenStackPSDriveInfo kvsDriveInfo = new OpenStackPSDriveInfo(driveInfo, parameters, this.Context, this.StorageServiceURL); - //kvsDriveInfo.SharePath = storageContainer.SharePath; - drives.Add(kvsDriveInfo); - } - } - else - { - PSDriveInfo driveInfo = new PSDriveInfo("OS-Init", this.ProviderInfo, "/", "Root folder for your storageContainer", null); - return new Collection - { - new OpenStackPSDriveInfo(driveInfo, parameters, this.Context, this.StorageServiceURL) - }; - } - } - catch (Exception) - { - - } - - return drives; - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - private void SetDefaultDrive() - { - Runspace runSpace = RunspaceFactory.CreateRunspace(); - runSpace.Open(); - Pipeline pipeline = runSpace.CreatePipeline(); - Command setDefaultDriveCmd = new Command("Set-Location OS-Init:"); - pipeline.Commands.Add(setDefaultDriveCmd); - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private Collection CreateDefaultDrive(OSDriveParameters parameters) - { - WriteDebug("No Storage Containers found, initializing defaults."); - PSDriveInfo driveInfo = new PSDriveInfo("OS-Init", this.ProviderInfo, "/", "Root folder for your Container", null); - - return new Collection - { - new OpenStackPSDriveInfo(driveInfo, parameters, this.Context, this.StorageServiceURL) - }; - } -//================================================================================================== -/// -/// This is called when the CLIManifest.psd1 is registered with the Import-Module cmdlet. -/// -/// -//================================================================================================== - protected override System.Collections.ObjectModel.Collection InitializeDefaultDrives() - { - Thread.Sleep(10000); - - this.InitializeSession(); - - if (this.Context.ServiceCatalog.Exists(this.ProviderInfo.Name)) - { - IEnumerable storageContainers = null; - OSDriveParameters parameters = new OSDriveParameters(); - var storageServiceClient = this.Client.CreateServiceClient(); - Task accountTask = storageServiceClient.GetStorageAccount(); - - accountTask.Wait(); - StorageAccount account = accountTask.Result; - storageContainers = account.Containers; - Collection drives = new Collection(); - - // For every storageContainer that the User has access to, create a Drive that he can mount within Powershell.. - - try - { - if (storageContainers != null) - { - if (storageContainers.Count() == 1 && storageContainers.First().Name == string.Empty) - { - return this.CreateDefaultDrive(parameters); - } - parameters.Settings = this.Settings; - - foreach (StorageContainer storageContainer in storageContainers) - { - PSDriveInfo driveInfo = new PSDriveInfo(storageContainer.Name, this.ProviderInfo, "/", "Root folder for your storageContainer", null); - OpenStackPSDriveInfo kvsDriveInfo = new OpenStackPSDriveInfo(driveInfo, parameters, this.Context, this.StorageServiceURL); - //kvsDriveInfo.SharePath = storageContainer.SharePath; - drives.Add(kvsDriveInfo); - } - } - else - { - return this.CreateDefaultDrive(parameters); - } - } - catch (Exception ex) - { - WriteDebug("Exception : HPOSNavigationProvider.InitializeDefaultDrives"); - WriteDebug(ex.Message); - this.WriteError(new ErrorRecord(ex, "1", ErrorCategory.InvalidArgument, this)); - } - return drives; - } - else - { - return null; - } - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - public bool ContainsWildcard(string path) - { - if (path.Contains("?") || path.Contains("*") || path.Contains("[") || path.Contains("]")) - return true; - else - return false; - } -//======================================================================================================= -/// -/// -/// -/// -/// -//======================================================================================================= - private string GetContainerName(string path) - { - return this.Drive.Name; - - if (path == "//") - { - return this.Drive.Name; - } - return null; - } -//================================================================================================== -/// -/// Retrieves a StorageObject with a fully qualified path from the User. -/// -/// -/// -//================================================================================================== - private IEnumerable GetStorageObjects(string path) - { - List modelViewItems = new List(); - Task listStorageObjectTask; - string folderName = null; - - if (path != @"\" && !path.EndsWith(@"\")) - path = path + @"\"; - - StoragePath storagePath = this.CreateStoragePath(path); - var client = this.Client.CreateServiceClient(); - - if (path == "\\") { - folderName = "/"; - } - else { - folderName = path.Replace(@"\", "/").TrimStart('/'); - } - - listStorageObjectTask = client.GetStorageFolder(this.GetContainerName(path), folderName); - listStorageObjectTask.Wait(); - foreach (StorageItem item in listStorageObjectTask.Result.Objects.Union(listStorageObjectTask.Result.Folders)) - { - StorageItemViewModel modelView = new StorageItemViewModel(item); - modelViewItems.Add(modelView); - } - return modelViewItems; - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - private void WriteData(IEnumerable storageItemViewModel, string path, WildcardPattern pattern = null) - { - FolderStatistics statistics = new FolderStatistics(); - bool doesExist = false; - - if (storageItemViewModel.Count() > 0 || storageItemViewModel == null) - { - // Write out any files that we find within this particular folder.. - - statistics = this.WriteFiles(storageItemViewModel, path); - doesExist = true; - } - - //List folders = storageObjects.Where(so => so.Name.EndsWith(@"\")).ToList(); - - List folders = storageItemViewModel.Where(so => so.Type == "Folder").ToList(); - - // List folders = storageObjects.Where(so => so.StorageObjectType == StorageObjectType.Folder).ToList(); - - if (folders != null) - { - // Now we'll write out any decendant folders found within the current directory.. - - this.WriteFolders(folders, ref statistics); - doesExist = true; - } - - // Finally write out the summary folder stats section of the command.. - - if (doesExist) - { - this.WriteFolderStatistics(statistics); - } - else - { - Console.WriteLine("No files or folders found."); - Console.WriteLine(""); - } - } -//================================================================================================== -/// -/// Writes out the files represented as StorageObjects for the supplied path. -/// -//================================================================================================== - private FolderStatistics WriteFiles(IEnumerable storageObjects, string path) - { - FolderStatistics statistics = new FolderStatistics(); - - if (storageObjects != null && storageObjects.ToList() != null) - { - storageObjects.ToList().ForEach(item => - { - if (item.Type == "File") - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - WriteItemObject(item, item.Name, false); - statistics.TotalFilesFound++; - //statistics.TotalBytes = statistics.TotalBytes + item.Length; - } - }); - } - return statistics; - } -//================================================================================================== -/// -/// Writes out a list of supplied Folders and returns stats on them as well. -/// -//================================================================================================== - private void WriteFolders(List folders, ref FolderStatistics statistics) - { - if (folders != null) - { - // Write out each folder we find in the current directory.. - - foreach (StorageItemViewModel obj in folders) - { - string fixedString = obj.Name.TrimEnd('/'); - string[] folderNames = fixedString.Split('/'); - string folderName = folderNames[folderNames.Count() - 1]; - //obj.Name = folderName; - - if (folderName != "") - { - WriteItemObject(obj, folderName, false); - statistics.TotalFoldersFound++; - } - } - } - else - { - statistics.TotalFoldersFound = 0; - } - } -//================================================================================================== -/// -/// Writes out summary information on a given folder. -/// -//================================================================================================== - private void WriteFolderStatistics(FolderStatistics statistics) - { - if (statistics.TotalFoldersFound > 0 || statistics.TotalFilesFound > 0) - WriteItemObject ("----------------------------------------------------------------------------------------------", cDelimiter, false); - WriteItemObject(" ", cDelimiter, false); - WriteItemObject("Total # Folders found : " + Convert.ToString(statistics.TotalFoldersFound) , cDelimiter, false); - WriteItemObject("Total # Items Found : " + Convert.ToString(statistics.TotalFilesFound) , cDelimiter, false); - WriteItemObject("Total # Bytes in Folder : " + Convert.ToString(statistics.TotalBytes), cDelimiter, false); - // WriteItemObject("Total Cost of Folder : " + "$" + Convert.ToString(statistics.TotalBytes * 2), cDelimiter, false); - WriteItemObject(" ", cDelimiter, false); - } -//================================================================================================== -/// -/// Writes out header information to be used during listing operations. -/// -//================================================================================================== - private void WriteHeader() - { - // Write out the commands header information first.. - - WriteItemObject(" ", cDelimiter, false); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteItemObject("==============================================================================================", cDelimiter, false); - Console.ForegroundColor = ConsoleColor.Yellow; - WriteItemObject("Storage Container : " + this.Drive.Name, cDelimiter, false); - WriteItemObject("Directory of : " + this.Drive.Name + " " + cDelimiter + this.Drive.CurrentLocation, cDelimiter, false); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteItemObject("==============================================================================================", cDelimiter, false); - Console.ForegroundColor = ConsoleColor.Green; - WriteItemObject(" ", cDelimiter, false); - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private bool CheckDefaultDrive(bool suppressMsg) - { - if (this.Drive.Name == "OS-Init") - { - if (!suppressMsg) - { - Console.WriteLine(" ", cDelimiter, false); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("==============================================================================================", cDelimiter, false); - Console.ForegroundColor = ConsoleColor.Red; - Console.WriteLine("You are currently connected to the default Container. This drive is used to boot-strap the"); - Console.WriteLine("Container creation prcoess. The only valid command that you can issue from here is the"); - Console.WriteLine("New-Container command. After the Container is created successfully, issue CD yourcontainer:"); - Console.WriteLine("This will bind to that container exposing the full functionality of OpenStack Object Storage. "); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("==============================================================================================", cDelimiter, false); - Console.ForegroundColor = ConsoleColor.Green; - Console.WriteLine(" ", cDelimiter, false); - } - - return true; - } - else - { - return false; - } - } - - protected override object GetItemDynamicParameters(string path) - { - return base.GetItemDynamicParameters(path); - } - - protected override void SetItem(string path, object value) - { - base.SetItem(path, value); - } - protected override string[] ExpandPath(string path) - { - return base.ExpandPath(path); - } - protected override string GetParentPath(string path, string root) - { - return base.GetParentPath(path, root); - } - protected override object GetChildNamesDynamicParameters(string path) - { - return base.GetChildNamesDynamicParameters(path); - } - protected override object GetChildItemsDynamicParameters(string path, bool recurse) - { - return base.GetChildItemsDynamicParameters(path, recurse); - } - protected override object ClearItemDynamicParameters(string path) - { - return base.ClearItemDynamicParameters(path); - } - protected override string NormalizeRelativePath(string path, string basePath) - { - return base.NormalizeRelativePath(path, basePath); - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - protected override bool IsItemContainer(string path) - { - if (path == @"\") - { - if (this.CheckDefaultDrive(false)) return true; - } - else - { - StoragePath storagePath = null; - - if (path.Contains(":")) - { - storagePath = new StoragePath(this.StorageServiceURL + path); - } - else - { - storagePath = new StoragePath(this.StorageServiceURL, this.Drive.Name, path.Substring(1) + "/"); - } - - IStorageServiceClient storageService = this.Client.CreateServiceClient(); - Task getStorageObjectTask = storageService.GetStorageObject(storagePath.Volume, storagePath.ResourcePath); //(storagePath.AbsoluteURI); - getStorageObjectTask.Wait(); - StorageObject sObject = getStorageObjectTask.Result; - - if (sObject != null) - { - return true; - } - else - { - return false; - } - } - return true; - } -//================================================================================================== -/// -/// Displays all StorageObjects for a given folder.. -/// -/// -/// -//================================================================================================== - protected override void GetChildItems(string path, bool recurse) - { - // Write out the commands header information first.. - - if (this.CheckDefaultDrive(true)) return; - - this.WriteHeader(); - this.WriteData(this.GetStorageObjects(path).ToList(), path); - } -//================================================================================================== -/// -/// Called when the user decides to delete a KVSDrive. -/// -/// -/// -//================================================================================================== - protected override PSDriveInfo RemoveDrive(PSDriveInfo drive) - { - if (drive == null) - { - WriteError(new ErrorRecord(new ArgumentNullException("drive"), "NullDrive", ErrorCategory.InvalidArgument, drive)); - return null; - } - return drive; - } -//================================================================================================== -/// -/// Called by the PS runtime when a NewDrive is required.. -/// -/// -/// -//================================================================================================== - protected override PSDriveInfo NewDrive(PSDriveInfo drive) - { - if (drive == null) { - WriteError(new ErrorRecord(new ArgumentNullException("drive"), "NullDrive", ErrorCategory.InvalidArgument, drive)); - return null; - } - - if (drive.Root == null) { - WriteError(new ErrorRecord(new ArgumentNullException("drive.Root"), "NullRoot", ErrorCategory.InvalidArgument, drive)); - return null; - } - - if (drive is OpenStackPSDriveInfo) { - return drive; - } - - var driveParams = this.DynamicParameters as OSDriveParameters; - return new OpenStackPSDriveInfo(drive, driveParams, this.Context, this.StorageServiceURL); - } -//================================================================================================== -/// -/// Called by the PS runtime when -/// -/// -//================================================================================================== - protected override object NewDriveDynamicParameters() - { - // The KVSDriveParameters instance will pull its values from the config file when created.. - - return new OSDriveParameters(); - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private string GetLeafFolder(string path) - { - string[] elements = path.Replace(@"\", "/").Split('/'); - return elements[elements.Count() - 2]; - } -//================================================================================================== -/// -/// -/// -/// -/// -/// -//================================================================================================== - protected override void NewItem(string path, string itemTypeName, object newItemValue) - { - //// Validate the folder name first.. - - //if (path.Contains("%") || path.Contains(".")) - //{ - // Console.WriteLine(""); - // Console.WriteLine("Folder names cannot contain % or . characters" ); - // Console.WriteLine(""); - //} - //else - //{ - // if (!path.EndsWith("/")) - // { - // path = path + "/"; - // } - - // StoragePath newFolderPath = this.CreateStoragePath(path); - // this.RepositoryFactory.CreateStorageObjectRepository().MakeFolder(newFolderPath.AbsoluteURI); - //} - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private string ExtractPattern(string path) - { - string[] elements = path.Split('\\'); - return elements[elements.Length - 1]; - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - protected override void GetItem(string path) - { - // Write out the commands header information first.. - - if (this.CheckDefaultDrive(true)) return; - this.WriteHeader(); - IEnumerable storageObjects = this.GetStorageObjects(path); - - - - this.WriteData(storageObjects.ToList(), path); - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - protected override bool ItemExists(string path) - { - if (path == "//") - { - if (this.CheckDefaultDrive(true)) - { - return false; - } - else - { - return base.ItemExists(path); - } - } - return base.ItemExists(path); - } - #endregion - #region Properties -//================================================================================================== -/// -/// -/// -//================================================================================================== - private OpenStackPSDriveInfo Drive - { - get - { - return this.PSDriveInfo as OpenStackPSDriveInfo; - } - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private StoragePath CreateStoragePath(string path) - { - return this.Drive.CreateStoragePath(path); - } - #endregion -//================================================================================================== -/// -/// This test should not verify the existance of the item at the path. -/// It should only perform syntactic and semantic validation of the -/// path. For instance, for the file system provider, that path should -/// be canonicalized, syntactically verified, and ensure that the path -/// does not refer to a device. -/// -/// -/// -//================================================================================================== - protected override bool IsValidPath(string path) - { - return true; - } - } -} diff --git a/Openstack.Client.Powershell/Providers/ObjectStorage/ObjectStorageDriveConverter.cs b/Openstack.Client.Powershell/Providers/ObjectStorage/ObjectStorageDriveConverter.cs deleted file mode 100644 index 3c7407b..0000000 --- a/Openstack.Client.Powershell/Providers/ObjectStorage/ObjectStorageDriveConverter.cs +++ /dev/null @@ -1,159 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Management.Automation; -using System.Text; -using System.Threading.Tasks; -using OpenStack.Client.Powershell.Utility; -using OpenStack; -using OpenStack.Client.Powershell.Providers.Storage; -using OpenStack.Client.Powershell.Utility; -using OpenStack.Storage; - -namespace OpenStack.Client.Powershell.Providers.Storage -{ - /// - /// This class is responsible for Converting the Users current set of Storage Containers into PSDrives.. - /// - public class ObjectStorageDriveConverter - { - private Context _context; - private ProviderInfo _providerInfo; - private IOpenStackClient _client; - private SessionState _sessionState; - - #region Properties - private SessionState SessionState - { - get { return _sessionState; } - set { _sessionState = value; } - } - private IOpenStackClient CoreClient - { - get { return _client; } - set { _client = value; } - } - - private Context Context - { - get { return _context; } - } - - private ProviderInfo ProviderInfo - { - get { return _providerInfo; } - set { _providerInfo = value; } - } - #endregion - #region Ctors -//================================================================================================== -/// -/// -/// -/// -/// -/// -//================================================================================================== - public ObjectStorageDriveConverter(Context context, ProviderInfo providerInfo, IOpenStackClient client) - { - _context = context; - _providerInfo = providerInfo; - _client = client; - } - #endregion -//================================================================================================== -/// -/// -/// -/// -/// -/// -//================================================================================================== - protected T CreateServiceClient(CoreServices service) where T : IOpenStackServiceClient - { - ServiceProvider provider = this.Context.CurrentServiceProvider; - return this.CoreClient.CreateServiceClientByName(provider.ServiceMaps.TranslateServiceName(service)); - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - public System.Collections.ObjectModel.Collection ConvertContainers() - { - IEnumerable storageContainers = null; - var parameters = new ObjectStorageDriveParameters(); - - if (this.Context != null && this.Context.Settings != null) { - parameters.Settings = this.Context.Settings; - } - else { - throw new NullReferenceException("Context and/or Settings"); - } - - try - { - this.CoreClient.SetRegion(this.Context.CurrentRegion); - Task getAccountTask = this.CreateServiceClient(CoreServices.ObjectStorage).GetStorageAccount(); - getAccountTask.Wait(); - storageContainers = getAccountTask.Result.Containers; - } - catch (Exception ex) - { - Console.WriteLine(ex); - } - - Collection drives = new Collection(); - - // For every storageContainer that the User has access to, create a Drive that he can mount within Powershell.. - - try - { - string serviceName = this.Context.CurrentServiceProvider.ServiceMaps.TranslateServiceName(CoreServices.ObjectStorage); - string publicStoreUrl = this.Context.ServiceCatalog.GetPublicEndpoint(serviceName, this.Context.CurrentRegion).ToString(); - - if (storageContainers.Count() > 0) - { - foreach (StorageContainer storageContainer in storageContainers) - { - PSDriveInfo driveInfo = new PSDriveInfo(storageContainer.Name, this.ProviderInfo, "/", "Root folder for your storageContainer", null); - ObjectStoragePSDriveInfo kvsDriveInfo = new ObjectStoragePSDriveInfo(driveInfo, parameters, this.Context, publicStoreUrl); - try - { - drives.Add(kvsDriveInfo); - } - catch (Exception) { } - } - } - else - { - PSDriveInfo driveInfo = new PSDriveInfo("OS-Init", this.SessionState.Drive.Current.Provider, "/", "Root folder for your storageContainer", null); - return new Collection - { - new ObjectStoragePSDriveInfo(driveInfo, parameters, this.Context, publicStoreUrl) - }; - } - } - catch (Exception ex) {} - - return drives; - } -//======================================================================================================= -/// -/// Removes all currently registered drives.. -/// -//======================================================================================================= - private void RemoveDrives() - { - // Remove the old Users drives first.. - - Collection deadDrives = this.SessionState.Drive.GetAllForProvider("Object Storage"); - foreach (PSDriveInfo deadDrive in deadDrives) - { - this.SessionState.Drive.Remove(deadDrive.Name, true, "local"); - } - } - } -} diff --git a/Openstack.Client.Powershell/Providers/ObjectStorage/ObjectStorageDriveParameters.cs b/Openstack.Client.Powershell/Providers/ObjectStorage/ObjectStorageDriveParameters.cs deleted file mode 100644 index 5140101..0000000 --- a/Openstack.Client.Powershell/Providers/ObjectStorage/ObjectStorageDriveParameters.cs +++ /dev/null @@ -1,42 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using OpenStack.Client.Powershell.Utility; - -namespace OpenStack.Client.Powershell.Providers.Storage -{ - public class ObjectStorageDriveParameters - { - private Settings _settings; - - public Settings Settings - { - get { return _settings; } - set { _settings = value; } - } - #region Ctors -//================================================================================= -/// -/// -/// -/// -//================================================================================= - public ObjectStorageDriveParameters() - { - } - - #endregion - } -} diff --git a/Openstack.Client.Powershell/Providers/ObjectStorage/ObjectStorageNavigationProvider.cs b/Openstack.Client.Powershell/Providers/ObjectStorage/ObjectStorageNavigationProvider.cs deleted file mode 100644 index 7a6c544..0000000 --- a/Openstack.Client.Powershell/Providers/ObjectStorage/ObjectStorageNavigationProvider.cs +++ /dev/null @@ -1,745 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.Management.Automation.Provider; -using System.Collections.ObjectModel; -using OpenStack.Storage; -using OpenStack.Client.Powershell.Utility; -using OpenStack.Client.Powershell.Providers.Common; -using System.Management.Automation.Runspaces; -using OpenStack; -using System.Threading.Tasks; -using System.Threading; -using OpenStack.Client.Powershell.Providers.ObjectStorage; -using System.Diagnostics.Contracts; -using OpenStack.Client.Powershell.Utility; - -namespace OpenStack.Client.Powershell.Providers.Storage -{ - [CmdletProvider("Object Storage", ProviderCapabilities.ExpandWildcards)] - public class ObjectStorageNavigationProvider : BaseNavigationCmdletProvider - { - const string cDelimiter = @"\"; - const string cFolderMarker = "folder.txt"; - - private class FolderStatistics - { - public long TotalFilesFound = 0; - public long TotalBytes = 0; - public long TotalFoldersFound = 0; - } - private IStorageServiceClient _storageClient; - - #region Implementation of DriveCmdletProvider -//================================================================================================== -/// -/// Removes an Item from the store.. -/// -/// -//================================================================================================== - protected override void ClearItem(string path) - { - base.ClearItem(path); - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - private string StorageServiceURL - { - get - { - if (this.Drive == null || this.Drive.SharePath == null) { - string serviceName = this.Context.CurrentServiceProvider.ServiceMaps.TranslateServiceName(CoreServices.ObjectStorage); - return this.Context.ServiceCatalog.GetPublicEndpoint(serviceName, this.Context.CurrentRegion).ToString(); - } - else - return this.Drive.SharePath; - } - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - public System.Collections.ObjectModel.Collection GetAvailableDrives(Settings settings, ProviderInfo providerInfo) - { - Contract.Assert(settings != null); - - IEnumerable storageContainers = null; - ObjectStorageDriveParameters parameters = new ObjectStorageDriveParameters(); - - if (this.Settings != null) { - parameters.Settings = this.Settings; - } - else { - parameters.Settings = settings; - } - - try - { - // Get a list of Storage Containers... - - Task> getContainersTask = this.CreateServiceClient(CoreServices.ObjectStorage).ListStorageContainers(); - getContainersTask.Wait(); - storageContainers = getContainersTask.Result; - } - catch (Exception ex) - { - Console.WriteLine(ex); - } - - Collection drives = new Collection(); - - // For every storageContainer that the User has access to, create a Drive that he can mount within Powershell.. - - try - { - if (storageContainers.Count() > 0) - { - foreach (StorageContainer storageContainer in storageContainers) - { - PSDriveInfo driveInfo = new PSDriveInfo(storageContainer.Name, providerInfo, "/", "Root folder for your storageContainer", null); - parameters.Settings = this.Settings; - ObjectStoragePSDriveInfo kvsDriveInfo = new ObjectStoragePSDriveInfo(driveInfo, parameters, this.Context, this.StorageServiceURL); - //kvsDriveInfo.SharePath = storageContainer.SharePath; - drives.Add(kvsDriveInfo); - } - } - else - { - PSDriveInfo driveInfo = new PSDriveInfo("OS-Init", this.ProviderInfo, "/", "Root folder for your storageContainer", null); - return new Collection - { - new ObjectStoragePSDriveInfo(driveInfo, parameters, this.Context, this.StorageServiceURL) - }; - } - } - catch (Exception) - { - - } - - return drives; - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - private void SetDefaultDrive() - { - Runspace runSpace = Runspace.DefaultRunspace; - runSpace.Open(); - Pipeline pipeline = runSpace.CreatePipeline(); - Command setDefaultDriveCmd = new Command("Set-Location OS-Init:"); - pipeline.Commands.Add(setDefaultDriveCmd); - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private Collection CreateDefaultDrive(ObjectStorageDriveParameters parameters) - { - WriteDebug("No Storage Containers found, initializing defaults."); - PSDriveInfo driveInfo = new PSDriveInfo("OS-Init", this.ProviderInfo, "/", "Root folder for your Container", null); - - return new Collection - { - new ObjectStoragePSDriveInfo(driveInfo, parameters, this.Context, this.StorageServiceURL) - }; - } -//================================================================================================== -/// -/// This is called when the CLIManifest.psd1 is registered with the Import-Module cmdlet. -/// -/// -//================================================================================================== - protected override System.Collections.ObjectModel.Collection InitializeDefaultDrives() - { - //Thread.Sleep(new TimeSpan(0, 0, 0, 5, 0)); - - this.InitializeSession(); - - if (this.Context.ServiceCatalog.Exists(this.ProviderInfo.Name)) - { - IEnumerable storageContainers = null; - ObjectStorageDriveParameters parameters = new ObjectStorageDriveParameters(); - var storageServiceClient = this.CreateServiceClient(CoreServices.ObjectStorage); - Task accountTask = storageServiceClient.GetStorageAccount(); - - accountTask.Wait(); - StorageAccount account = accountTask.Result; - storageContainers = account.Containers; - Collection drives = new Collection(); - - // For every storageContainer that the User has access to, create a Drive that he can mount within Powershell.. - - try - { - if (storageContainers != null) - { - if (storageContainers.Count() == 1 && storageContainers.First().Name == string.Empty) - { - return this.CreateDefaultDrive(parameters); - } - parameters.Settings = this.Settings; - - foreach (StorageContainer storageContainer in storageContainers) - { - PSDriveInfo driveInfo = new PSDriveInfo(storageContainer.Name, this.ProviderInfo, "/", "Root folder for your storageContainer", null); - ObjectStoragePSDriveInfo kvsDriveInfo = new ObjectStoragePSDriveInfo(driveInfo, parameters, this.Context, this.StorageServiceURL); - //kvsDriveInfo.SharePath = storageContainer.SharePath; - drives.Add(kvsDriveInfo); - } - } - else - { - return this.CreateDefaultDrive(parameters); - } - } - catch (Exception ex) - { - WriteDebug("Exception : HPOSNavigationProvider.InitializeDefaultDrives"); - WriteDebug(ex.Message); - this.WriteError(new ErrorRecord(ex, "1", ErrorCategory.InvalidArgument, this)); - } - return drives; - } - else - { - return null; - } - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - public bool ContainsWildcard(string path) - { - if (path.Contains("?") || path.Contains("*") || path.Contains("[") || path.Contains("]")) - return true; - else - return false; - } -//======================================================================================================= -/// -/// -/// -/// -/// -//======================================================================================================= - private string GetContainerName(string path) - { - return this.Drive.Name; - - if (path == "//") - { - return this.Drive.Name; - } - return null; - } -//================================================================================================== -/// -/// Retrieves a StorageObject with a fully qualified path from the User. -/// -/// -/// -//================================================================================================== - private IEnumerable GetStorageObjects(string path) - { - List modelViewItems = new List(); - Task listStorageObjectTask; - string folderName = null; - - if (path != @"\" && !path.EndsWith(@"\")) - path = path + @"\"; - - StoragePath storagePath = this.CreateStoragePath(path); - var client = this.CreateServiceClient(CoreServices.ObjectStorage); - - if (path == "\\") { - folderName = "/"; - } - else { - folderName = path.Replace(@"\", "/").TrimStart('/'); - } - - listStorageObjectTask = client.GetStorageFolder(this.GetContainerName(path), folderName); - listStorageObjectTask.Wait(); - foreach (StorageItem item in listStorageObjectTask.Result.Objects.Union(listStorageObjectTask.Result.Folders)) - { - StorageItemViewModel modelView = new StorageItemViewModel(item); - modelViewItems.Add(modelView); - } - return modelViewItems; - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - private void WriteData(IEnumerable storageItemViewModel, string path, WildcardPattern pattern = null) - { - FolderStatistics statistics = new FolderStatistics(); - bool doesExist = false; - - if (storageItemViewModel.Count() > 0 || storageItemViewModel == null) - { - // Write out any files that we find within this particular folder.. - - statistics = this.WriteFiles(storageItemViewModel, path); - doesExist = true; - } - - //List folders = storageObjects.Where(so => so.Name.EndsWith(@"\")).ToList(); - - List folders = storageItemViewModel.Where(so => so.Type == "Folder").ToList(); - - // List folders = storageObjects.Where(so => so.StorageObjectType == StorageObjectType.Folder).ToList(); - - if (folders != null) - { - // Now we'll write out any decendant folders found within the current directory.. - - this.WriteFolders(folders, ref statistics); - doesExist = true; - } - - // Finally write out the summary folder stats section of the command.. - - if (doesExist) - { - this.WriteFolderStatistics(statistics); - } - else - { - Console.WriteLine("No files or folders found."); - Console.WriteLine(""); - } - } -//================================================================================================== -/// -/// Writes out the files represented as StorageObjects for the supplied path. -/// -//================================================================================================== - private FolderStatistics WriteFiles(IEnumerable storageObjects, string path) - { - FolderStatistics statistics = new FolderStatistics(); - - if (storageObjects != null && storageObjects.ToList() != null) - { - storageObjects.ToList().ForEach(item => - { - if (item.Type == "File") - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - WriteItemObject(item, item.Name, false); - statistics.TotalFilesFound++; - //statistics.TotalBytes = statistics.TotalBytes + item.Length; - } - }); - } - return statistics; - } -//================================================================================================== -/// -/// Writes out a list of supplied Folders and returns stats on them as well. -/// -//================================================================================================== - private void WriteFolders(List folders, ref FolderStatistics statistics) - { - if (folders != null) - { - // Write out each folder we find in the current directory.. - - foreach (StorageItemViewModel obj in folders) - { - string fixedString = obj.Name.TrimEnd('/'); - string[] folderNames = fixedString.Split('/'); - string folderName = folderNames[folderNames.Count() - 1]; - //obj.Name = folderName; - - if (folderName != "") - { - WriteItemObject(obj, folderName, false); - statistics.TotalFoldersFound++; - } - } - } - else - { - statistics.TotalFoldersFound = 0; - } - } -//================================================================================================== -/// -/// Writes out summary information on a given folder. -/// -//================================================================================================== - private void WriteFolderStatistics(FolderStatistics statistics) - { - if (statistics.TotalFoldersFound > 0 || statistics.TotalFilesFound > 0) - WriteItemObject ("----------------------------------------------------------------------------------------------", cDelimiter, false); - WriteItemObject(" ", cDelimiter, false); - WriteItemObject("Total # Folders found : " + Convert.ToString(statistics.TotalFoldersFound) , cDelimiter, false); - WriteItemObject("Total # Items Found : " + Convert.ToString(statistics.TotalFilesFound) , cDelimiter, false); - WriteItemObject("Total # Bytes in Folder : " + Convert.ToString(statistics.TotalBytes), cDelimiter, false); - // WriteItemObject("Total Cost of Folder : " + "$" + Convert.ToString(statistics.TotalBytes * 2), cDelimiter, false); - WriteItemObject(" ", cDelimiter, false); - } -//================================================================================================== -/// -/// Writes out header information to be used during listing operations. -/// -//================================================================================================== - private void WriteHeader() - { - // Write out the commands header information first.. - - WriteItemObject(" ", cDelimiter, false); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteItemObject("==============================================================================================", cDelimiter, false); - Console.ForegroundColor = ConsoleColor.Yellow; - WriteItemObject("Storage Container : " + this.Drive.Name, cDelimiter, false); - WriteItemObject("Directory of : " + this.Drive.Name + " " + cDelimiter + this.Drive.CurrentLocation, cDelimiter, false); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteItemObject("==============================================================================================", cDelimiter, false); - Console.ForegroundColor = ConsoleColor.Green; - WriteItemObject(" ", cDelimiter, false); - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private bool CheckDefaultDrive(bool suppressMsg) - { - if (this.Drive.Name == "OS-Init") - { - if (!suppressMsg) - { - Console.WriteLine(" ", cDelimiter, false); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("==============================================================================================", cDelimiter, false); - Console.ForegroundColor = ConsoleColor.Red; - Console.WriteLine("You are currently connected to the default Container. This drive is used to boot-strap the"); - Console.WriteLine("Container creation prcoess. The only valid command that you can issue from here is the"); - Console.WriteLine("New-Container command. After the Container is created successfully, issue CD yourcontainer:"); - Console.WriteLine("This will bind to that container exposing the full functionality of OpenStack Object Storage. "); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("==============================================================================================", cDelimiter, false); - Console.ForegroundColor = ConsoleColor.Green; - Console.WriteLine(" ", cDelimiter, false); - } - - return true; - } - else - { - return false; - } - } - - protected override object GetItemDynamicParameters(string path) - { - return base.GetItemDynamicParameters(path); - } - - protected override void SetItem(string path, object value) - { - base.SetItem(path, value); - } - protected override string[] ExpandPath(string path) - { - return base.ExpandPath(path); - } - protected override string GetParentPath(string path, string root) - { - return base.GetParentPath(path, root); - } - protected override object GetChildNamesDynamicParameters(string path) - { - return base.GetChildNamesDynamicParameters(path); - } - protected override object GetChildItemsDynamicParameters(string path, bool recurse) - { - return base.GetChildItemsDynamicParameters(path, recurse); - } - protected override object ClearItemDynamicParameters(string path) - { - return base.ClearItemDynamicParameters(path); - } - protected override string NormalizeRelativePath(string path, string basePath) - { - return base.NormalizeRelativePath(path, basePath); - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - protected override bool IsItemContainer(string path) - { - if (path == @"\") - { - if (this.CheckDefaultDrive(false)) return true; - } - else - { - StoragePath storagePath = null; - - if (path.Contains(":")) - { - storagePath = new StoragePath(this.StorageServiceURL + path); - } - else - { - storagePath = new StoragePath(this.StorageServiceURL, this.Drive.Name, path.Substring(1) + "/"); - } - - IStorageServiceClient storageService = this.CreateServiceClient(CoreServices.ObjectStorage); - Task getStorageObjectTask = storageService.GetStorageObject(storagePath.Volume, storagePath.ResourcePath); //(storagePath.AbsoluteURI); - getStorageObjectTask.Wait(); - StorageObject sObject = getStorageObjectTask.Result; - - if (sObject != null) - { - return true; - } - else - { - return false; - } - } - return true; - } -//================================================================================================== -/// -/// Displays all StorageObjects for a given folder.. -/// -/// -/// -//================================================================================================== - protected override void GetChildItems(string path, bool recurse) - { - // Write out the commands header information first.. - - if (this.CheckDefaultDrive(true)) return; - - this.WriteHeader(); - this.WriteData(this.GetStorageObjects(path).ToList(), path); - } -//================================================================================================== -/// -/// Called when the user decides to delete a KVSDrive. -/// -/// -/// -//================================================================================================== - protected override PSDriveInfo RemoveDrive(PSDriveInfo drive) - { - if (drive == null) - { - WriteError(new ErrorRecord(new ArgumentNullException("drive"), "NullDrive", ErrorCategory.InvalidArgument, drive)); - return null; - } - return drive; - } -//================================================================================================== -/// -/// Called by the PS runtime when a NewDrive is required.. -/// -/// -/// -//================================================================================================== - protected override PSDriveInfo NewDrive(PSDriveInfo drive) - { - if (drive == null) { - WriteError(new ErrorRecord(new ArgumentNullException("drive"), "NullDrive", ErrorCategory.InvalidArgument, drive)); - return null; - } - - if (drive.Root == null) { - WriteError(new ErrorRecord(new ArgumentNullException("drive.Root"), "NullRoot", ErrorCategory.InvalidArgument, drive)); - return null; - } - - if (drive is ObjectStoragePSDriveInfo) { - return drive; - } - - var driveParams = this.DynamicParameters as ObjectStorageDriveParameters; - return new ObjectStoragePSDriveInfo(drive, driveParams, this.Context, this.StorageServiceURL); - } -//================================================================================================== -/// -/// Called by the PS runtime when -/// -/// -//================================================================================================== - protected override object NewDriveDynamicParameters() - { - // The KVSDriveParameters instance will pull its values from the config file when created.. - - return new ObjectStorageDriveParameters(); - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private string GetLeafFolder(string path) - { - string[] elements = path.Replace(@"\", "/").Split('/'); - return elements[elements.Count() - 2]; - } -//================================================================================================== -/// -/// -/// -/// -/// -/// -//================================================================================================== - protected override void NewItem(string path, string itemTypeName, object newItemValue) - { - //// Validate the folder name first.. - - //if (path.Contains("%") || path.Contains(".")) - //{ - // Console.WriteLine(""); - // Console.WriteLine("Folder names cannot contain % or . characters" ); - // Console.WriteLine(""); - //} - //else - //{ - // if (!path.EndsWith("/")) - // { - // path = path + "/"; - // } - - // StoragePath newFolderPath = this.CreateStoragePath(path); - // this.RepositoryFactory.CreateStorageObjectRepository().MakeFolder(newFolderPath.AbsoluteURI); - //} - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private string ExtractPattern(string path) - { - string[] elements = path.Split('\\'); - return elements[elements.Length - 1]; - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - protected override void GetItem(string path) - { - // Write out the commands header information first.. - - if (this.CheckDefaultDrive(true)) return; - this.WriteHeader(); - IEnumerable storageObjects = this.GetStorageObjects(path); - - - - this.WriteData(storageObjects.ToList(), path); - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - protected override bool ItemExists(string path) - { - if (path == "//") - { - if (this.CheckDefaultDrive(true)) - { - return false; - } - else - { - return base.ItemExists(path); - } - } - return base.ItemExists(path); - } - #endregion - #region Properties -//================================================================================================== -/// -/// -/// -//================================================================================================== - private ObjectStoragePSDriveInfo Drive - { - get - { - return this.PSDriveInfo as ObjectStoragePSDriveInfo; - } - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private StoragePath CreateStoragePath(string path) - { - return this.Drive.CreateStoragePath(path); - } - #endregion -//================================================================================================== -/// -/// This test should not verify the existance of the item at the path. -/// It should only perform syntactic and semantic validation of the -/// path. For instance, for the file system provider, that path should -/// be canonicalized, syntactically verified, and ensure that the path -/// does not refer to a device. -/// -/// -/// -//================================================================================================== - protected override bool IsValidPath(string path) - { - return true; - } - } -} diff --git a/Openstack.Client.Powershell/Providers/ObjectStorage/ObjectStoragePSDriveInfo.cs b/Openstack.Client.Powershell/Providers/ObjectStorage/ObjectStoragePSDriveInfo.cs deleted file mode 100644 index b4c4f0f..0000000 --- a/Openstack.Client.Powershell/Providers/ObjectStorage/ObjectStoragePSDriveInfo.cs +++ /dev/null @@ -1,369 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections.Generic; -using System.Management.Automation; -using System.Collections; -using OpenStack.Client.Powershell.Utility; -using System; -using System.IO; -using System.Linq; -using OpenStack.Storage; -using OpenStack.Client.Powershell.Utility; - - -namespace OpenStack.Client.Powershell.Providers.Storage -{ - public class ObjectStoragePSDriveInfo : PSDriveInfo - { - public const string cDelimiter = "/"; - - private ObjectStorageDriveParameters _parameters = null; - private IStorageServiceClient _storageClient; - private List _pathCache = new List(); - private bool _isQueueOn = false; - private Settings _settings = null; - private Context _context; - private string _sharePath; - private string _storageServiceUrl; - - #region Ctors -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - public ObjectStoragePSDriveInfo(PSDriveInfo driveInfo, ObjectStorageDriveParameters parameters, Context context , string storageServiceUrl): base(driveInfo) - { - _parameters = parameters; - _context = context; - _storageServiceUrl = storageServiceUrl; - - if (parameters != null) - _settings = parameters.Settings; - } - #endregion - #region Methods -//======================================================================================================= -/// -/// -/// -/// -/// -//======================================================================================================= - private string GetFirstPathElement(string path) - { - int delimeterPosition; - - if (path.StartsWith(@"\")) - { - delimeterPosition = path.IndexOf(@"\", 1, StringComparison.Ordinal); - if (delimeterPosition != -1) - return path.Substring(0, delimeterPosition); - else - return null; - } - else - { - delimeterPosition = path.IndexOf("/", 0, StringComparison.Ordinal); - if (delimeterPosition != -1) - return path.Substring(0, delimeterPosition); - else - { - delimeterPosition = path.IndexOf(@"\", 0, StringComparison.Ordinal); - if (delimeterPosition != -1) - return path.Substring(0, delimeterPosition); - else - return null; - } - } - } -//======================================================================================================= -/// -/// -/// -/// -/// -//======================================================================================================= - private bool IsOpenStackDrive(string name) - { - if (name != null) - { - if (name.Contains(":")) - { - return true; - } - else - { - return false; - } - } - else return false; - } - - public string SharePath - { - get { return _sharePath; } - set { _sharePath = value; } - } - private IStorageServiceClient StorageClient - { - get { return _storageClient; } - set { _storageClient = value; } - } - -//======================================================================================================= -/// -/// -/// -/// -/// -//======================================================================================================= - private bool ContainsHPOSDrive(string name) - { - foreach (PSDriveInfo drive in this.Provider.Drives) - { - if (drive.Provider.Name == "Object Storage" && drive.Name.Contains(name)) - return true; - } - return false; - } -////========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - private bool IsLocalPath(string path) - { - // Temporaily reverse the delimiter for this check... - - string temp = path.Replace(@"/", @"\"); - List drives = DriveInfo.GetDrives().ToList(); - - drives.DefaultIfEmpty(null); - if (drives.Where(d => temp.ToUpper().Contains(d.Name)).FirstOrDefault() == null) - { - return false; - } - else - { - return true; - } - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private bool IsFullyQualifiedPath (string path) - { - string firstPathElement = GetFirstPathElement(path); - - if (IsOpenStackDrive(firstPathElement)) - { - return true; - } - else if (IsLocalPath(path)) - { - return true; - } - else - { - return false; - } - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private string FormatPath (string path) - { - string currentLocation = null; - - // Strip out any leading or trailing delimiters.. - - if (path.StartsWith(@"\") || path.StartsWith("/")) - { - path = path.Substring(1); - } - - // Reverse the delimiter and strip out the current location. We do this because some paths will come from the provider - // in which PS has already supplied the fully qualified path, yet some paths will come from cmdlets (like CopyItem) - // that receive paths from the user. These paths may or may not contain the current location so we strip it out reguardless - // then read it back... - - path = path.Replace(@"\", "/"); - currentLocation = this.CurrentLocation.Replace(@"\", "/"); - - if (currentLocation != "") - { - path = path.Replace(currentLocation + "/", string.Empty); - } - path = path.Replace(this.Name + "/", string.Empty); - return path; - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private StoragePath ProcessRootPath(string path) - { - path = this.FormatPath(path); - - if (this.IsLocalPath(path)) - { - // Nothing to do to a pure local path. Just return it wrapped up.. - - return new StoragePath(path); - } - else - { - string firstElement = this.GetFirstPathElement(path); - - if (this.IsOpenStackDrive(firstElement)) - { - // If the path supplied already contains a storageContainer name, strip it out and pass it in as the volume name.. - - path = path.Replace(firstElement, string.Empty); - - return new StoragePath(this.StorageServiceUrl); - - } - else - { - // If the path supplied lacks a storageContainer name, take the current one.. - - return new StoragePath(this.StorageServiceUrl, this.Name, path.Replace(@"\", "/")); - } - } - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private StoragePath ProcessNonRootPath (string path) - { - string publicURL = this.StorageServiceUrl; - - if (this.IsFullyQualifiedPath(path) == true) - { - return new StoragePath(this.StorageServiceUrl + "/" + path.Replace(@"\", "/").Replace(":", "/")); - } - else - { - path = this.FormatPath(path); - - if (path.EndsWith(cDelimiter)) - { - // We're dealing with a folder path here.. - - return new StoragePath(publicURL, this.Name, this.CurrentLocation.Replace(@"\", "/") + cDelimiter + path); - - } - else - { - // We're dealing with an object path here.. - - path = (publicURL + cDelimiter + this.Name + cDelimiter + this.CurrentLocation.Replace(@"\", "/") + cDelimiter + path); - return new StoragePath(path); - } - } - } - //================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - public StoragePath CreateStoragePath(string path) - { - if (this.IsLocalPath(path)) - { - return new StoragePath(path); - } - else - { - // Check for a root path supplied first.. - - if (this.CurrentLocation == string.Empty) - { - return this.ProcessRootPath(path); - } - else - { - return this.ProcessNonRootPath(path); - } - } - return null; - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - public Hashtable GetParameters() - { - return null; - } - #endregion - #region Properties -//================================================================================================== -/// -/// -/// -//================================================================================================== - private string StorageServiceUrl - { - get - { - if (this.SharePath == null) - { - string serviceName = this._context.CurrentServiceProvider.ServiceMaps.TranslateServiceName(CoreServices.ObjectStorage); - return this._context.ServiceCatalog.GetPublicEndpoint(serviceName, _context.CurrentRegion).ToString(); - - } - else - return this.SharePath; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public List PathCache - { - get { return _pathCache; } - set { _pathCache = value; } - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Providers/ObjectStorage/StorageItemViewModel.cs b/Openstack.Client.Powershell/Providers/ObjectStorage/StorageItemViewModel.cs deleted file mode 100644 index c71f7ff..0000000 --- a/Openstack.Client.Powershell/Providers/ObjectStorage/StorageItemViewModel.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using OpenStack.Storage; - -namespace OpenStack.Client.Powershell.Providers.ObjectStorage -{ - public class StorageItemViewModel - { - private DateTime _lastModifiedDate; - private long _size; - private string _name; - private string _type; - - public StorageItemViewModel(StorageItem item) - { - StorageObject storageObject = item as StorageObject; - - if (storageObject != null) - { - this.Name = storageObject.Name; - this.Size = storageObject.Length; - this.Type = "File"; - this.LastModifiedDate = storageObject.LastModified; - } - else - { - StorageFolder storageFolder = item as StorageFolder; - if (storageFolder != null) - { - this.Name = storageFolder.Name; - this.Size = 0; - this.Type = "Folder"; - } - } - } - public DateTime LastModifiedDate - { - get { return _lastModifiedDate; } - set { _lastModifiedDate = value; } - } - public long Size - { - get { return _size; } - set { _size = value; } - } - public string Name - { - get { return _name; } - set { _name = value; } - } - public string Type - { - get { return _type; } - set { _type = value; } - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Security/SecurityGroupUIContainer.cs b/Openstack.Client.Powershell/Providers/Security/SecurityGroupUIContainer.cs deleted file mode 100644 index bc7b49c..0000000 --- a/Openstack.Client.Powershell/Providers/Security/SecurityGroupUIContainer.cs +++ /dev/null @@ -1,134 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain.Security; - -namespace Openstack.Client.Powershell.Providers.Security -{ - public class SecurityGroupUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public SecurityGroupUIContainer(BaseUIContainer parentContainer, string name, string description, string path) - : base(parentContainer, name, description, path) - { - this.LoadContainers(); - this.ObjectType = Common.ObjectType.Entity; - } -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public SecurityGroupUIContainer() { } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { - this.Entity = this.RepositoryFactory.CreateSecurityRepository().GetSecurityGroup(this.Id); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void LoadContainers() - {} -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - private void WriteGroupDetails(SecurityGroup group) - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - Console.WriteLine(" Id : " + group.Id); - Console.WriteLine(" Name : " + group.Name); - Console.WriteLine(" Tenant Id : " + group.TenantId); - Console.WriteLine(" Description : " + group.Description); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void WriteSecurityRules(SecurityGroup group) - { - foreach (SecurityGroupRule rule in ((SecurityGroup)this.Entity).Rules) - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - Console.WriteLine(""); - Console.WriteLine(" Rule Id : " + rule.Id); - Console.WriteLine(" IP Protocol : " + rule.Protocol); - Console.WriteLine(" Direction : " + rule.Direction); - Console.WriteLine(" Range Min : " + rule.PortRangeMin); - Console.WriteLine(" Range Max : " + rule.PortRangeMax); - Console.WriteLine(" Ether Type : " + rule.EtherType); - Console.WriteLine(" Security Group : " + rule.SecurityGroupId); - Console.WriteLine(" Remote Group : " + rule.RemoteGroupId); - Console.WriteLine(" Remote IP Prefix : " + rule.RemoteIPPrefix); - Console.WriteLine(" Tenant Id : " + rule.TenantId); - } - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void WriteEntityDetails() - { - SecurityGroup group = (SecurityGroup)this.Entity; - - this.WriteHeader("Security Group Details"); - this.WriteGroupDetails(group); - this.WriteHeader("Security Rules", ConsoleColor.White); - - this.WriteSecurityRules(group); - Console.WriteLine(); - } -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - public override bool IsEntityId(string id) - { - if (id == ((Server)this.Entity).Id) - return true; - else - return false; - - } - } -} diff --git a/Openstack.Client.Powershell/Providers/Security/SecurityGroupsUIContainer.cs b/Openstack.Client.Powershell/Providers/Security/SecurityGroupsUIContainer.cs deleted file mode 100644 index f664838..0000000 --- a/Openstack.Client.Powershell/Providers/Security/SecurityGroupsUIContainer.cs +++ /dev/null @@ -1,128 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Collections.Generic; -using Openstack.Administration.Domain; -using System.Collections; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Objects.Domain.Compute; -using Openstack.Objects.Domain; -using System; -using System.Collections.ObjectModel; -using Openstack.Objects; -using System.Xml.Serialization; -using System.IO; -using Openstack.Objects.Domain.Security; - -namespace Openstack.Client.Powershell.Providers.Security -{ - public class SecurityGroupsUIContainer : BaseUIContainer - { - private bool _isServerGroups = false; - -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public SecurityGroupsUIContainer() { } -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public SecurityGroupsUIContainer(BaseUIContainer parentContainer, - string name, - string description, - string path) - : base(parentContainer, name, description, path) - { - this.ObjectType = Common.ObjectType.Container; - this.LoadContainers(); - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public bool IsServerGroups - { - get { return _isServerGroups; } - set { _isServerGroups = value; } - } - #region Methods -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { - this.LoadEntities(); - } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - private void LoadContainers() - {} -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - public void LoadEntities(List securityGroups) - { - this.SetUIContainers(securityGroups); - this.Entities = securityGroups; - } -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - private void LoadEntities() - { - if (!_isServerGroups) - { - IList securityGroups = this.RepositoryFactory.CreateSecurityRepository().GetSecurityGroups(); - this.SetUIContainers(securityGroups); - this.Entities = securityGroups; - } - } -//========================================================================================================= -/// -/// -/// -/// -/// -//========================================================================================================= - public override BaseUIContainer CreateContainer(string id) - { - return null; - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Providers/Security/SecurityUIContainer.cs b/Openstack.Client.Powershell/Providers/Security/SecurityUIContainer.cs deleted file mode 100644 index 2f58bc5..0000000 --- a/Openstack.Client.Powershell/Providers/Security/SecurityUIContainer.cs +++ /dev/null @@ -1,86 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Collections; -using Openstack.Client.Powershell.Providers.Common; -using Openstack.Client.Powershell.Providers.Security; -using Openstack.Objects.Domain; -using Openstack.Objects.Utility; -using Openstack.Objects.DataAccess; -using Openstack.Client.Powershell.Providers.Compute; - -namespace Openstack.Client.Powershell.Providers.Security -{ -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - [RequiredServiceIdentifierAttribute("Openstack-ComputeDrive")] - public class SecurityUIContainer : BaseUIContainer - { -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public SecurityUIContainer() { } -//========================================================================================================= -/// -/// -/// -//========================================================================================================= - public override void Load() - { - this.LoadContainers(); - } -//========================================================================================================= -/// -/// -/// -/// -//========================================================================================================= - private void LoadContainers() - { - this.Containers.Clear(); - this.Containers.Add(this.CreateContainer("SecurityGroups", "Container objects used for security group rules", @"Security\SecurityGroups")); - this.Containers.Add(this.CreateContainer("KeyPairs", "A place to manage public/private keys used to create secure connections to compute instances.", @"Security\KeyPairs")); - } -//========================================================================================================= -/// -/// -/// -/// -/// -/// -//========================================================================================================= - public SecurityUIContainer(BaseUIContainer parentContainer, string name, string description, string path, Context context, BaseRepositoryFactory repository) - : base(parentContainer, name, description, path) - { - this.Context = context; - this.RepositoryFactory = repository; - - this.LoadContainers(); - this.ObjectType = Client.Powershell.Providers.Common.ObjectType.Entity; - } - } -} diff --git a/Openstack.Client.Powershell/Utility/AccountCapabilities.cs b/Openstack.Client.Powershell/Utility/AccountCapabilities.cs deleted file mode 100644 index 72c14fa..0000000 --- a/Openstack.Client.Powershell/Utility/AccountCapabilities.cs +++ /dev/null @@ -1,211 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Management.Automation; -using OpenStack.Client.Powershell.Providers.Storage; -using OpenStack.Identity; - -namespace OpenStack.Client.Powershell.Utility -{ - public class AccountCapabilities - { - private SessionState _session; - private Context _context; - private IOpenStackClient _coreClient; - private Cmdlet _cmdlet; - - #region Properties - - public Cmdlet Cmdlet - { - get { return _cmdlet; } - set { _cmdlet = value; } - } - - public IOpenStackClient CoreClient - { - get { return _coreClient; } - set { _coreClient = value; } - } - - private Context Context - { - get { return _context; } - set { _context = value; } - } - private SessionState SessionState - { - get { return _session; } - set { _session = value; } - } - #endregion - #region Methods -//======================================================================================================= -/// -/// -/// -/// -/// -/// -/// -//======================================================================================================= - public AccountCapabilities(SessionState session, Context context, IOpenStackClient coreClient, Cmdlet cmd) - { - _session = session; - _context = context; - _coreClient = coreClient; - _cmdlet = cmd; - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private void WriteHeader(string message) - { - // Write out the commands header information first.. - - WriteObject(""); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteObject("==================================================================="); - Console.ForegroundColor = ConsoleColor.Yellow; - WriteObject(message); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteObject("==================================================================="); - Console.ForegroundColor = ConsoleColor.Green; - WriteObject(" "); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - public void WriteContainers() - { - var invalidDriveNames = new List(); - var parameters = new ObjectStorageDriveParameters(); - var provider = new ObjectStorageNavigationProvider(); - var converter = new ObjectStorageDriveConverter(this.Context, _session.Drive.Current.Provider, this.CoreClient); - var drives = converter.ConvertContainers(); - - if (drives != null) - { - this.WriteHeader("Storage Containers available in this AZ include"); - - // Remove the old Users drives first.. - - Collection deadDrives = this.SessionState.Drive.GetAllForProvider("Object Storage"); - foreach (PSDriveInfo deadDrive in deadDrives) - { - this.SessionState.Drive.Remove(deadDrive.Name, true, "local"); - } - - foreach (PSDriveInfo drive in drives) - { - if (drive.Name != string.Empty) - { - Console.ForegroundColor = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), this.Context.Forecolor); - WriteObject("Storage Container : [" + drive.Name + "] now available."); - } - - try - { - this.SessionState.Drive.New(drive, "local"); - } - catch (PSArgumentException ex) - { - if (drive.Name != string.Empty) - invalidDriveNames.Add(drive.Name); - } - } - } - else - { - // No storageContainers exist for the new credentials so make some up... - - //PSDriveInfo driveInfo = new PSDriveInfo("OS-Init", this.SessionState.Drive.Current.Provider, "/", "Root folder for your storageContainer", null); - //this.SessionState.Drive.New(new ObjectStoragePSDriveInfo(driveInfo, parameters, this.Context, this.Context.ServiceCatalog.GetPublicEndpoint("object-store", this.Context.CurrentRegion)), "local"); - } - - if (invalidDriveNames.Count > 0) { - ShowNameConflictError(invalidDriveNames); - } - } -//======================================================================================================= -/// -/// -/// -/// -//======================================================================================================= - private void ShowNameConflictError(List invalidDriveNames) - { - WriteObject(""); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteObject("================================================================="); - Console.ForegroundColor = ConsoleColor.Red; - WriteObject("Error : A subset of your Containers could not be bound to this"); - WriteObject("session due to naming conflicts with the naming standards required"); - WriteObject("for Powershell drives. These containers are listed below."); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteObject("================================================================="); - Console.ForegroundColor = ConsoleColor.Green; - WriteObject(" "); - - foreach (string name in invalidDriveNames) - { - WriteObject(name); - WriteObject(" "); - } - } -//======================================================================================================= -/// -/// -/// -/// -//======================================================================================================= - private void WriteObject(string text) - { - this.Cmdlet.WriteObject(text); - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - public void WriteServices() - { - WriteObject(""); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteObject("================================================================="); - Console.ForegroundColor = ConsoleColor.Yellow; - WriteObject("Binding to new Account. New service catalog is as follows."); - Console.ForegroundColor = ConsoleColor.DarkGray; - WriteObject("================================================================="); - Console.ForegroundColor = ConsoleColor.Green; - WriteObject(" "); - - foreach (OpenStackServiceDefinition service in this.Context.ServiceCatalog.GetServicesInAvailabilityZone(this.Context.CurrentRegion)) - { - this.Cmdlet.WriteObject(service); - } - WriteObject(""); - } - #endregion - } -} - \ No newline at end of file diff --git a/Openstack.Client.Powershell/Utility/AvailabilityZone.cs b/Openstack.Client.Powershell/Utility/AvailabilityZone.cs deleted file mode 100644 index 34e3e88..0000000 --- a/Openstack.Client.Powershell/Utility/AvailabilityZone.cs +++ /dev/null @@ -1,56 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace OpenStack.Client.Powershell.Utility -{ - public class AvailabilityZone - { - private string _name; - private bool _isDefault = false; - private string _shellForegroundColor = "Green"; - private string _id; - - public string Id - { - get { return _id; } - set { _id = value; } - } - - public string ShellForegroundColor - { - get { return _shellForegroundColor; } - set { _shellForegroundColor = value; } - } - - public bool IsDefault - { - get { return _isDefault; } - set { _isDefault = value; } - } - - - public string Name - { - get { return _name; } - set { _name = value; } - } - } -} diff --git a/Openstack.Client.Powershell/Utility/ConfigurationManager.cs b/Openstack.Client.Powershell/Utility/ConfigurationManager.cs deleted file mode 100644 index 2c73e75..0000000 --- a/Openstack.Client.Powershell/Utility/ConfigurationManager.cs +++ /dev/null @@ -1,632 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Xml.Linq; -using System.Collections; -using System.IO; -using System.Xml.XPath; -using OpenStack.Client.Powershell.Utility; -using System.Xml.Schema; -using System.Xml; - -namespace OpenStack.Client.Powershell.Utility -{ - public class ValidationResult - { - private bool _hasErrors = false; - private List _errorList = new List(); - - public List Errors - { - get { return _errorList; } - set { _errorList = value; } - } - - public bool HasErrors - { - get { return _hasErrors; } - set { _hasErrors = value; } - } - - } - - public class ConfigurationManager - { - private bool _isLoaded = false; - private XDocument _document = new XDocument(); - - public XDocument Document - { - get { return _document; } - set { _document = value; } - } - public bool IsLoaded - { - get { return _isLoaded; } - set { _isLoaded = value; } - } -//==================================================================================== -/// -/// -/// -//==================================================================================== - public ConfigurationManager() - { } -//==================================================================================== -/// -/// -/// -/// -/// -//========================================================================================= - private XElement CreateAddElement(CredentialElement credentialElement) - { - XElement element = new XElement("add"); - element.SetAttributeValue("key", credentialElement.Key); - element.SetAttributeValue("value", credentialElement.Value); - element.SetAttributeValue("displayName", credentialElement.DisplayName); - element.SetAttributeValue("isMandatory", credentialElement.IsMandatory); - - return element; - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private ServiceProvider ResolveServiceProviderCredentials(ServiceProvider provider) - { - if (!this.IsLoaded) throw new InvalidOperationException("Instance must be Loaded first.."); - - CredentialElement configFilePathCredentialElement = provider.CredentialElements.Where(ce => ce.Key == "ConfigFilePath").SingleOrDefault(); - if (configFilePathCredentialElement != null) - { - // Need to get credentials from the linked in Config File.. - - ConfigurationManager manager = new ConfigurationManager(); - manager.Load(configFilePathCredentialElement.Value); - provider.CredentialElements.Remove(provider.CredentialElements.Where(ce => ce.Key == "ConfigFilePath").Single()); - return manager.GetServiceProvider(provider.Name); - } - else - { - return provider; - } - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - public void SetDefaultServiceProvider(string providerName) - { - if (!this.IsLoaded) throw new InvalidOperationException("Instance must be Loaded first.."); - - XElement defaultProvider = this.Document.Descendants("ServiceProvider").Where(sp => sp.Attribute("isDefault").Value == "true").Single(); - defaultProvider.Attribute("isDefault").SetValue("false"); - XElement serviceProviderNode = this.Document.Descendants("ServiceProvider").Where(sp => sp.Attribute("name").Value == providerName).Single(); - serviceProviderNode.Attribute("isDefault").SetValue("true"); - this.Document.Save(this.GetFullConfigPath()); - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - public ServiceProvider GetDefaultServiceProvider() - { - if (!this.IsLoaded) throw new InvalidOperationException("Instance must be Loaded first.."); - - XElement serviceProviderNode = this.Document.Descendants("ServiceProvider").Where(sp => sp.Attribute("isDefault").Value == "true").FirstOrDefault(); - return this.GetServiceProvider(serviceProviderNode.Attribute("name").Value); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - private ValidationResult ValidateDocument(XDocument document) - { - ValidationResult result = new ValidationResult(); - - #region XSD Approach - // First we check the structural integrity of the document via XSD.. - - //string xsdMarkup = this.GetSchema(); - //XmlSchemaSet schemas = new XmlSchemaSet(); - //schemas.Add("", XmlReader.Create(new StringReader(xsdMarkup))); - - //document.Validate(schemas, (o, e) => - //{ - // result.Errors.Add(e.Message); - // result.HasErrors = true; - //}); - #endregion - - // Next, ensure that a default Service Provider exist.. - - var serviceProviders = this.Document.Descendants("ServiceProvider"); - bool hasDefaultServiceProvider = serviceProviders.Where(sp => sp.Attributes("isDefault").Single().Value.ToUpper() == "TRUE").Any(); - if (!hasDefaultServiceProvider) { - result.HasErrors = true; - result.Errors.Add("No Default Service Provider found."); - } - - // Now check that each Service Provider has at least one default AZ. - - foreach (XElement provider in serviceProviders) { - if (!provider.Descendants("AvailabilityZones").Descendants().Where(d => d.Attributes("isDefault").Single().Value.ToUpper() == "TRUE").Any()) { - result.HasErrors = true; - result.Errors.Add("The Service Provider " + provider.Attributes("name").Single().Value + " doesn not have a default Availability Zone/Region"); - } - } - - // Make sure that we only have 1 default Service Provider.... - - if (serviceProviders.Where(d => d.Attributes("isDefault").Single().Value.ToUpper() == "TRUE").Count() > 1) { - result.HasErrors = true; - result.Errors.Add("Only one Service Provider can be marked as the default."); - } - - // Check that each Service Provider has a unique Name. (how can we get linqs Distinct to work with XElement when we can't - // force that type to implement IComparable ???? - - var table = new Hashtable(); - foreach (XElement provider in serviceProviders) - { - string name = provider.Attributes("name").Single().Value; - try { - table.Add(name, String.Empty); - } - catch (Exception ex) - { - result.HasErrors = true; - result.Errors.Add("Please ensure that all Service Providers have a unique name assigned to them."); - return result; - } - } - return result; - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private InvalidDataException CreateLoadException(ValidationResult result) - { - int count = 0; - string msg = "The config file is invalid for the following reasons => "; - - foreach (string message in result.Errors) { - msg = msg + message; - } - return new InvalidDataException(msg); - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - public void Load(bool requiresValidation = true) - { - ValidationResult result = null; - _document = new XDocument(); ; - _document = XDocument.Load(this.GetFullConfigPath()); - - if (requiresValidation) - { - result = this.ValidateDocument(_document); - - if (result.HasErrors) { - throw this.CreateLoadException(result); - } - } - _isLoaded = true; - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - public void Load(string configFilePath, bool requiresValidation = true) - { - ValidationResult result = null; - _document = new XDocument(); - _document = XDocument.Load(configFilePath); - - if (requiresValidation) - { - result = this.ValidateDocument(_document); - - if (result.HasErrors){ - throw this.CreateLoadException(result); - } - } - - _isLoaded = true; - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private string GetFullConfigPath() - { - if (File.Exists("OpenStack.config")) - { - return this.GetType().Assembly.Location; - } - else if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\" + @"OS\OpenStack.config")) - { - return Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\" + @"OS\OpenStack.config"; - } - else - { - throw new InvalidOperationException("Unable to locate OpenStack.config file."); - } - } -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - private IEnumerable GetAvailabilityZones(XElement serviceProviderNode) - { - List zones = new List(); - - if (serviceProviderNode.HasElements && serviceProviderNode.Element("AvailabilityZones") != null && serviceProviderNode.Element("AvailabilityZones").Descendants().Count() > 0) - { - foreach (XElement az in serviceProviderNode.Element("AvailabilityZones").Descendants()) { - - AvailabilityZone zone = new AvailabilityZone(); - zone.Name = az.Attribute("name").Value; - zone.ShellForegroundColor = az.Attribute("shellForegroundColor").Value; - zone.IsDefault = Convert.ToBoolean(az.Attribute("isDefault").Value); - zone.Id = az.Attribute("id").Value; - zones.Add(zone); - } - - return zones; - } - else - { - return null; - } - } - //========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - public ServiceProvider GetServiceProvider(string name) - { - if (!this.IsLoaded) throw new InvalidOperationException("Instance must be Loaded first.."); - - XElement serviceProviderNode = this.Document.Descendants("ServiceProvider").Where(sp => sp.Attribute("name").Value == name).Single(); - var provider = new ServiceProvider(); - provider.Name = serviceProviderNode.Attribute("name").Value; - provider.IsDefault = Convert.ToBoolean(serviceProviderNode.Attribute("isDefault").Value); - provider.AvailabilityZones = this.GetAvailabilityZones(serviceProviderNode); - provider.ServiceMaps = this.GetServiceMaps(serviceProviderNode); - - // The ServiceProvider in the Primary config file is pointing to a Vender specific config so reolve that first.. - - foreach (XElement xElement in serviceProviderNode.Elements()) - { - if (xElement.Name == "add") - { - CredentialElement element = new CredentialElement(); - element.Key = xElement.Attribute("key").Value; - element.Value = xElement.Attribute("value").Value; - - if (xElement.Attribute("key").Value == "AuthenticationServiceURI") - provider.AuthenticationServiceURI = xElement.Attribute("value").Value; - - if (xElement.Attribute("key").Value == "isDefault") - provider.IsDefault = Convert.ToBoolean(xElement.Attribute("value").Value); - - try - { - element.IsMandatory = Convert.ToBoolean(xElement.Attribute("isMandatory").Value); - element.DisplayName = xElement.Attribute("displayName").Value; - //element.HelpText = xElement.Attribute("helpText").Value; - } - catch (Exception) { } - - if (element.Key == "ConfigFilePath") - { - provider.CredentialElements.Add(element); - ServiceProvider resolvedProvider = this.ResolveServiceProviderCredentials(provider); - resolvedProvider.ConfigFilePath = element.Value; - return resolvedProvider; - } - else - provider.CredentialElements.Add(element); - } - } - - return provider; - } -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - private ServiceMaps GetServiceMaps(XElement serviceProviderNode) - { - ServiceMaps serviceMaps = new ServiceMaps(); - var serviceMapsDoc = serviceProviderNode.Descendants("ServiceMaps").Descendants("ServiceMap"); - - foreach (XElement map in serviceMapsDoc) { - - ServiceMap newMap = new ServiceMap(); - newMap.Source = map.Attributes("source").Single().Value; - newMap.Target = map.Attributes("target").Single().Value; - - serviceMaps.Add(newMap); - } - return serviceMaps; - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - public IEnumerable GetServiceProviders() - { - List serviceProviders = new List(); - foreach (XElement element in this.Document.Descendants("ServiceProvider")) - { - ServiceProvider newProvider = this.GetServiceProvider(element.Attribute("name").Value); - newProvider.IsDefault = Convert.ToBoolean(element.Attribute("isDefault").Value); - serviceProviders.Add(newProvider); - } - - return serviceProviders; - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - public void RemoveInitialServiceProvider(ref XDocument _document) - { - try - { - XElement oldServiceProvider = this.Document.Descendants("ServiceProvider").Where(sp => sp.Attribute("name").Value == String.Empty).Single(); - if (oldServiceProvider != null) - oldServiceProvider.Remove(); - } - catch (InvalidOperationException ex) { } - } -//========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - private void RemoveDefaultServiceProvider(ref XDocument doc) - { - try - { - XElement serviceProviderNode = doc.Descendants("ServiceProvider").Where(sp => sp.Attribute("isDefault").Value == "True").Single(); - serviceProviderNode.Attribute("isDefault").SetValue("false"); - } - catch (Exception) { } - } -//========================================================================================= -/// -/// Used by Extension Authors to register their Service Provider info. The path should point -/// to the ServiceProvider.xml definition file,. -/// -//========================================================================================= - public void WriteServiceProvider(string serviceProviderPath) - { - // Load up the Primary Config file.. - - this.Load(this.GetFullConfigPath()); - XDocument serviceProvider = XDocument.Load(serviceProviderPath); - - // Validate the ServiceProvider.xml definition file. If it passes, add it to the config file. - - if (this.ValidateDocument(serviceProvider).Errors.Count() == 0) { - XElement identityServices = this.Document.Descendants("IdentityServices").FirstOrDefault(); - identityServices.Add(serviceProvider.FirstNode); - this.Document.Save(this.GetFullConfigPath()); - } - } -//========================================================================================= -/// -/// Flush and fill style.. -/// -//========================================================================================= - public void WriteServiceProvider(ServiceProvider serviceProvider, bool removeInitialServiceProvider = false) - { - XElement oldServiceProvider = null; - - if (serviceProvider.ConfigFilePath != null) - this.Load(serviceProvider.ConfigFilePath); - else - this.Load(); - - XElement availabilityZones = null; - XElement serviceMaps = null; - IEnumerable serviceProviderNodes = this.Document.Descendants("ServiceProvider"); - XElement spElement = new XElement("ServiceProvider", - new XAttribute("name", serviceProvider.Name), - new XAttribute("isDefault", serviceProvider.IsDefault)); - // Get rid of the old ServiceProvider first ... - - try - { - if (this.Document.Descendants("ServiceProvider").Where(sp => sp.Attribute("name").Value == serviceProvider.Name).Count() > 0) { - oldServiceProvider = this.Document.Descendants("ServiceProvider").Where(sp => sp.Attribute("name").Value == serviceProvider.Name).Single(); - } - else { - oldServiceProvider = this.Document.Descendants("ServiceProvider").Where(sp => sp.Attribute("name").Value == String.Empty).Single(); - } - - // Preserve contained elements so we can place them back with the new provider.. - - availabilityZones = oldServiceProvider.Element("AvailabilityZones"); - serviceMaps = oldServiceProvider.Element("ServiceMaps"); - - if (oldServiceProvider != null) - oldServiceProvider.Remove(); - } - catch (InvalidOperationException ex) { } - - // If this new Provider is set = default, remove the default flag from the previous one.. - - if (serviceProvider.IsDefault) { - RemoveDefaultServiceProvider(ref _document); - } - - // Create CredentialElement instances for all Key\Value (Add elements).. - - spElement.Add(availabilityZones); - spElement.Add(serviceMaps); - - - foreach (CredentialElement element in serviceProvider.CredentialElements) { - spElement.Add(this.CreateAddElement(element)); - } - - if (removeInitialServiceProvider == true) - this.RemoveInitialServiceProvider(ref _document); - - if (this.Document != null) - { - this.Document.XPathSelectElement("configuration/appSettings/IdentityServices").Add(spElement); - if (serviceProvider.ConfigFilePath == null) - this.Document.Save(this.GetFullConfigPath()); - else - this.Document.Save(serviceProvider.ConfigFilePath); - } - } - - private string GetSchema() - { - return @" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "; - - } - } -} diff --git a/Openstack.Client.Powershell/Utility/Context.cs b/Openstack.Client.Powershell/Utility/Context.cs deleted file mode 100644 index 7fff9b6..0000000 --- a/Openstack.Client.Powershell/Utility/Context.cs +++ /dev/null @@ -1,130 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using OpenStack.Common; -using OpenStack; -using System.Security; -using System.Reflection; -using OpenStack.Identity; - -namespace OpenStack.Client.Powershell.Utility -{ - public class Context - { - private IOpenStackServiceCatalog _serviceCatalog; - private Settings _settings; - //private Token _accessToken; - private string _productName = "OpenstackDotNetAPI"; - private string _version = Assembly.GetExecutingAssembly().GetName().Version.ToString(); - private string _forecolor = "Green"; - private string _currentRegion; - private ServiceProvider _currentServiceProvider; - - - #region Ctors - //================================================================================================== - /// - /// - /// - //================================================================================================== - public Context() - { - _settings = Settings.Default; - } - #endregion - #region Properties - //================================================================================================== - /// - /// - /// - //================================================================================================== - public ServiceProvider CurrentServiceProvider - { - get { return _currentServiceProvider; } - set { _currentServiceProvider = value; } - } - //================================================================================================== - /// - /// - /// - //================================================================================================== - public string CurrentRegion - { - get { return _currentRegion; } - set { _currentRegion = value; } - } - //================================================================================================== - /// - /// - /// - //================================================================================================== - public string Version - { - get { return _version; } - set { _version = value; } - } - //================================================================================================== - /// - /// - /// - //================================================================================================== - public string Forecolor - { - get { return _forecolor; } - set { _forecolor = value; } - } - //================================================================================================== - /// - /// - /// - //================================================================================================== - public string ProductName - { - get { return _productName; } - set { _productName = value; } - } - ////================================================================================================== - ///// - ///// - ///// - ////================================================================================================== - // public Token AccessToken - // { - // get { return _accessToken; } - // set { _accessToken = value; } - // } - //================================================================================================== - /// - /// - /// - //================================================================================================== - public Settings Settings - { - get { return _settings; } - set { _settings = value; } - } - //================================================================================================== - /// - /// - /// - //================================================================================================== - public IOpenStackServiceCatalog ServiceCatalog - { - get { return _serviceCatalog; } - set { _serviceCatalog = value; } - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/Utility/CredentialElement.cs b/Openstack.Client.Powershell/Utility/CredentialElement.cs deleted file mode 100644 index 74e7383..0000000 --- a/Openstack.Client.Powershell/Utility/CredentialElement.cs +++ /dev/null @@ -1,73 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace OpenStack.Client.Powershell.Utility -{ - public class CredentialElement - { - private string _key; - private string _value; - private string _displayName; - private string _helpText; - private bool _isMandatory = true; - - public CredentialElement(string key) - { - _key = key; - } - - public CredentialElement() - { - - } - - public bool IsMandatory - { - get { return _isMandatory; } - set { _isMandatory = value; } - } - - public string HelpText - { - get { return _helpText; } - set { _helpText = value; } - } - - public string DisplayName - { - get { return _displayName; } - set { _displayName = value; } - } - - public string Value - { - get { return _value; } - set { _value = value; } - } - - - public string Key - { - get { return _key; } - set { _key = value; } - } - } -} diff --git a/Openstack.Client.Powershell/Utility/CredentialManager.cs b/Openstack.Client.Powershell/Utility/CredentialManager.cs deleted file mode 100644 index 8299296..0000000 --- a/Openstack.Client.Powershell/Utility/CredentialManager.cs +++ /dev/null @@ -1,344 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Xml.Linq; -using System.Xml.XPath; -using System.Security; -using OpenStack.Identity; -using OpenStack.Client.Powershell.Utility; -using System.Linq; -using System.Runtime.InteropServices; -using System.Collections.Generic; -using System.Diagnostics.Contracts; - -namespace OpenStack.Client.Powershell.Utility -{ - public class ServiceProviderInfo - { - public string Name; - public IOpenStackCredential Credential; - public string ServiceProviderUrl; - } - - public class CredentialManager - { - private bool _supressPrompt = false; - -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - public CredentialManager(bool supressPrompt = false) - { - _supressPrompt = supressPrompt; - } -//======================================================================================================= -/// -/// -/// -/// -//======================================================================================================= - private Boolean DoesRequireCredentials(string accountIdNode, string accessKeyNode, string identityServiceURI, string tenantId) - { - if (accountIdNode == String.Empty || accessKeyNode == String.Empty || identityServiceURI == String.Empty || tenantId == String.Empty) - return true; - else return false; - } -//================================================================================================== -/// -/// -/// -/// -/// -/// -//================================================================================================== - private bool VerifyCredentials(string accessKey, string accountId) - { - //RequestHeaders headers = BaseRepositoryFactory.GetSecurityHeaders(accountId, accessKey); - - //if (headers != null) - //{ - // return true; - //} - //else - //{ - // return false; - //} - return true; - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private static string ReadPassword() - { - string password = ""; - ConsoleKeyInfo info = Console.ReadKey(true); - - while (info.Key != ConsoleKey.Enter) - { - if (info.Key != ConsoleKey.Backspace) - { - Console.Write("*"); - password += info.KeyChar; - } - - else if (info.Key == ConsoleKey.Backspace) - { - if (!string.IsNullOrEmpty(password)) - { - // remove one character from the list of password characters - - password = password.Substring(0, password.Length - 1); - - // get the location of the cursor - - int pos = Console.CursorLeft; - - // move the cursor to the left by one character - - Console.SetCursorPosition(pos - 1, Console.CursorTop); - - // replace it with space - - Console.Write(" "); - - // move the cursor to the left by one character again - - Console.SetCursorPosition(pos - 1, Console.CursorTop); - } - } - info = Console.ReadKey(true); - } - - // add a new line because user pressed enter at the end of their password - - Console.WriteLine(); - return password; - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private string convertToUNSecureString(SecureString secstrPassword) - { - IntPtr unmanagedString = IntPtr.Zero; - try - { - unmanagedString = Marshal.SecureStringToGlobalAllocUnicode(secstrPassword); - return Marshal.PtrToStringUni(unmanagedString); - } - finally - { - Marshal.ZeroFreeGlobalAllocUnicode(unmanagedString); - } - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private SecureString ConvertToSecureString(string value) - { - // Instantiate the secure string. - SecureString securePwd = new SecureString(); - var secureStr = new SecureString(); - if (value.Length > 0) - { - foreach (var c in value.ToCharArray()) secureStr.AppendChar(c); - } - else return null; - return secureStr; - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private ServiceProviderInfo PromptForCredentials(XElement element) - { - ServiceProviderInfo info = new ServiceProviderInfo(); - - Console.WriteLine("User Name : "); - string username = Console.ReadLine(); - Console.WriteLine(""); - Console.WriteLine("Password : "); - string password = CredentialManager.ReadPassword(); - Console.WriteLine(""); - Console.WriteLine("Tenant Name : "); - string tenantName = Console.ReadLine(); - Console.WriteLine(""); - Console.WriteLine("Service Provider Identity Service Url : "); - string identityServiceUrl = Console.ReadLine(); - Console.WriteLine(""); - Console.WriteLine("Finally supply a name for this Profile."); - string name = Console.ReadLine(); - Console.WriteLine(""); - Console.WriteLine(""); - info.Credential = new OpenStackCredential(new Uri(identityServiceUrl), username, password, tenantName); - info.ServiceProviderUrl = identityServiceUrl; - info.Name = name; - - return info; - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private ServiceProviderInfo PromptForCredentials() - { - ServiceProviderInfo info = new ServiceProviderInfo(); - - Console.WriteLine("User Name : "); - string username = Console.ReadLine(); - Console.WriteLine(""); - Console.WriteLine("Password : "); - string password = CredentialManager.ReadPassword(); - Console.WriteLine(""); - Console.WriteLine("Tenant Name : "); - string tenantName = Console.ReadLine(); - Console.WriteLine(""); - Console.WriteLine("Service Provider Identity Service Url : "); - string identityServiceUrl = Console.ReadLine(); - Console.WriteLine(""); - Console.WriteLine("Finally supply a name for this Profile."); - string name = Console.ReadLine(); - Console.WriteLine(""); - Console.WriteLine(""); - info.Credential = new OpenStackCredential(new Uri(identityServiceUrl), username, password, tenantName); - info.ServiceProviderUrl = identityServiceUrl; - info.Name = name; - - return info; - } -//================================================================================================== -/// -/// Writes out header information to be used during the process that prompts for new credentials. -/// -//================================================================================================== - private void WriteGetCredentialsHeader() - { - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("======================================================================================================="); - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine("We've noticed that you haven't supplied any credentials yet. To continue we need to get your Username, "); - Console.WriteLine("Password, and the Tenant Id provided to you during the sign up process. If you haven't signed up"); - Console.WriteLine("for any services yet, just go to https://console.OpenStack.com for details on how to get started today!"); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("======================================================================================================="); - Console.ForegroundColor = ConsoleColor.Green; - Console.WriteLine(" "); - } -//================================================================================================== -/// -/// Writes out an error message when invalid credentials are supplied.. -/// -//================================================================================================== - private void WriteBadCredentialsMsg() - { - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("======================================================================================================="); - Console.ForegroundColor = ConsoleColor.Red; - Console.WriteLine("The credentials that you have supplied could not be verified. Please try again. If you continue to have "); - Console.WriteLine("problems please feel free to contact our support staff at https://console.OpenStack.com"); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("======================================================================================================="); - Console.ForegroundColor = ConsoleColor.Green; - Console.WriteLine(" "); - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public IOpenStackCredential GetCredentials(bool badCredentialsSupplied = false) - { - ServiceProviderInfo info; - IOpenStackCredential credential; - - string configFilePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\" + @"OS\OpenStack.config"; - XDocument doc = XDocument.Load(configFilePath); - - - XElement serviceProviderNode = doc.Descendants("ServiceProvider").Where(a => a.Attribute("isDefault").Value == "True").FirstOrDefault(); - XElement username = serviceProviderNode.Elements().Where(u => u.Name == "add" && u.Attribute("key").Value == "Username").Single(); - XElement password = serviceProviderNode.Elements().Where(u => u.Name == "add" && u.Attribute("key").Value == "Password").Single(); - XElement tenantId = serviceProviderNode.Elements().Where(u => u.Name == "add" && u.Attribute("key").Value == "DefaultTenantId").Single(); - XElement identityServiceUrl = serviceProviderNode.Elements().Where(u => u.Name == "add" && u.Attribute("key").Value == "AuthenticationServiceURI").Single(); - XAttribute name = serviceProviderNode.Attribute("name"); - - if (this.DoesRequireCredentials(username.Attribute("value").Value, password.Attribute("value").Value, identityServiceUrl.Attribute("value").Value, tenantId.Attribute("value").Value)) - { - if (!badCredentialsSupplied){ - this.WriteGetCredentialsHeader(); - } - - if (_supressPrompt == false) { - info = this.PromptForCredentials(); - credential = info.Credential; - } - else - { - // The test client would be an example of where we need to supress the prompt for credentials. Here we just raise an exception instead.. - - throw new SecurityException("You must supply a valid Access Key and Secret Key in the OpenStack.config file to start unit testing."); - } - - while (!this.VerifyCredentials(username.Value, password.Value)) - { - Console.Clear(); - this.WriteBadCredentialsMsg(); - info = this.PromptForCredentials(); - credential = info.Credential; - } - - username.SetAttributeValue("value", credential.UserName); - password.SetAttributeValue("value", credential.Password); - tenantId.SetAttributeValue("value", credential.TenantId); - identityServiceUrl.SetAttributeValue("value", credential.AuthenticationEndpoint.AbsoluteUri); - name.SetValue(info.Name); - - Console.WriteLine(" ==> Verifying and Storing Credentials.."); - doc.Save(configFilePath); - - return credential; - } - - // We didn't need to prompt for credentials from the user so just send back what we found in the config file.. - - //SecureString securePassword = new SecureString(); - //password.Attribute("value").Value.ToCharArray().ToList().ForEach(securePassword.AppendChar); - - - IOpenStackCredential newCredential = new OpenStackCredential(new Uri(identityServiceUrl.Attribute("value").Value), username.Attribute("value").Value, password.Attribute("value").Value, tenantId.Attribute("value").Value); - - return newCredential; - } - } -} diff --git a/Openstack.Client.Powershell/Utility/Enums.cs b/Openstack.Client.Powershell/Utility/Enums.cs deleted file mode 100644 index 7e02fcd..0000000 --- a/Openstack.Client.Powershell/Utility/Enums.cs +++ /dev/null @@ -1,62 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System.Xml.Serialization; - -namespace OpenStack.Client.Powershell.Utility -{ - - public enum StorageOperationType - { - IntraServer = 0, - ServerToLocal = 1, - LocalToServer = 2 - } - - public enum PathType - { - Local = 1, // Local is implicitly always fully qualified.. - Remote = 2, - UnknownPathType = 3 - } - - public enum CannedPermissionTypes - { - [XmlEnum(Name = "private")] - Private, - [XmlEnum(Name = "public-read")] - PublicRead, - [XmlEnum(Name = "public-read-write")] - PublicReadWrite, - [XmlEnum(Name = "authenticated-read")] - AuthenticatedRead, - [XmlEnum(Name = "authenticated-read-write")] - AuthenticatedReadWrite, - [XmlEnum(Name = "storageContainer-owner-read")] - storageContainerOwnerRead, - [XmlEnum(Name = "storageContainer-owner-full-control")] - storageContainerOwnerFullcontrol, - Unspecified - } - - public enum ContainerScope - { - Public, - Private - - } -} - - diff --git a/Openstack.Client.Powershell/Utility/ExtensionManager.cs b/Openstack.Client.Powershell/Utility/ExtensionManager.cs deleted file mode 100644 index 749681f..0000000 --- a/Openstack.Client.Powershell/Utility/ExtensionManager.cs +++ /dev/null @@ -1,249 +0,0 @@ -//* ============================================================================ -//Copyright 2014 Hewlett Packard - -//Licensed under the Apache License, Version 2.0 (the "License"); -//you may not use this file except in compliance with the License. -//You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -//Unless required by applicable law or agreed to in writing, software -//distributed under the License is distributed on an "AS IS" BASIS, -//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -//See the License for the specific language governing permissions and -//limitations under the License. -//============================================================================ */ -using System; -using System.Management.Automation; -using System.Reflection; -using System.Security.Policy; -using System.Linq; -using OpenStack.Identity; -using System.Threading; - -namespace OpenStack.Client.Powershell.Utility -{ - public class LoadResult - { - public LoadResult(IOpenStackClient client, Context context) - { - CoreClient = client; - Context = context; - } - public IOpenStackClient CoreClient; - public Context Context; - } - - public class ExtensionManager - { - private SessionState _session; - private Context _context; - - #region Properties -//================================================================================================== -/// -/// -/// -//================================================================================================== - public Context Context - { - get { return _context; } - set { _context = value; } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public SessionState Session - { - get { return _session; } - set { _session = value; } - } - #endregion -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - public ExtensionManager(Context context) - { - _context = context; - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - public ExtensionManager(SessionState session, Context context) - { - _session = session; - _context = context; - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private Settings GetSettings(ServiceProvider provider) - { - if (provider.ConfigFilePath == null) - { - Settings.Default.Reset(); - return Settings.Default; - } - else - { - return Settings.LoadConfig(provider.ConfigFilePath); - } - } -//================================================================================================== -/// -/// -/// -/// -/// -/// -//================================================================================================== - private LoadResult SetSessionState(IOpenStackCredential credential, IOpenStackClient client, ServiceProvider provider) - { - // Setup the environment based on what came back from Auth.. - - Context context = new Context(); - context.ServiceCatalog = credential.ServiceCatalog; - context.Settings = this.GetSettings(provider); - context.ProductName = "OpenStack-WinCLI"; - context.Version = Assembly.GetExecutingAssembly().GetName().Version.ToString(); - context.CurrentServiceProvider = provider; - context.CurrentRegion = provider.AvailabilityZones.Where(z => z.IsDefault == true).Single().Name; - - if (this.Session != null) - { - this.Session.PSVariable.Set(new PSVariable("Context", context)); - this.Session.PSVariable.Set(new PSVariable("CoreClient", client)); - } - return new LoadResult(client, context); - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - private RegistrationManager GetRegistrationManager(string serviceProviderName) - { - Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies(); - - // Iterate through all Assemblies in Current AppDomain that contain a RegistrationManager class.. - - foreach (Assembly assembly in assemblies) - { - Type[] types = assembly.GetTypes().Where(b => b != null && b.BaseType != null && b.BaseType.UnderlyingSystemType.FullName == "OpenStack.Client.Powershell.Utility.RegistrationManager").ToArray(); - - // Now that we found one, make sure that it's the one we're looking for.. - - foreach (Type type in types) - { - MemberInfo info = type; - foreach (object attribute in info.GetCustomAttributes(true)) - { - ServiceProviderAttribute identifier = attribute as ServiceProviderAttribute; - - if (identifier != null && identifier.Name == serviceProviderName) - { - var result = (RegistrationManager)Activator.CreateInstance(type, null); - if (result == null) { - throw new NullReferenceException("Could not create a valid RegistrationManager instance for " + type.FullName); - } - else - return result; - } - } - } - } - return new OpenstackCoreRegistrationManager(); - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - public LoadResult LoadCore(ServiceProvider provider) - { - OpenstackCoreRegistrationManager manager = new OpenstackCoreRegistrationManager(); - RegistrationResponse response = manager.Register(provider); - - // Setup our shared Cancellation Token Source so that Cmdlets \ Users can abort long running operations.. - - CancellationTokenSource source = new CancellationTokenSource(); - CancellationToken token = source.Token; - if (this.Session != null) - this.Session.PSVariable.Set(new PSVariable("CancellationTokenSource", source)); - - // Connect to the Service Provider.. - - var client = OpenStackClientFactory.CreateClient(response.Credentials, token, String.Empty); - var connectTask = client.Connect(); - connectTask.Wait(); - - LoadResult result = this.SetSessionState(response.Credentials, client, provider); - - ConfigurationManager configManager = new ConfigurationManager(); - configManager.WriteServiceProvider(response.Provider, true); - return result; - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public void LoadExtension(ServiceProvider targetProvider) - { - string moduleName = targetProvider.Name; - AppDomain currentDomain = AppDomain.CurrentDomain; - Evidence asEvidence = currentDomain.Evidence; - IOpenStackClient client = null; - IOpenStackCredential credential = null; - - // Load up the default config file.. - - ConfigurationManager configManager = new ConfigurationManager(); - configManager.Load(false); - - // Load the specified module into the Current AppDomain... - - this.Session.InvokeCommand.InvokeScript("Import-Module " + moduleName + " -DisableNameChecking"); - - // Register the Module if it isn't already and grab the resulting credentials for Auth.. - - RegistrationManager manager = this.GetRegistrationManager(moduleName); - RegistrationResponse response = manager.Register(configManager.GetServiceProvider(moduleName)); - credential = response.Credentials; - - // Setup our shared Cancellation Token Source so that Cmdlets \ Users can abort long running operations.. - - CancellationTokenSource source = new CancellationTokenSource(); - CancellationToken token = source.Token; - this.Session.PSVariable.Set(new PSVariable("CancellationTokenSource", source)); - - // Authenticate and create our Extension Client and stash it.... - - - client = OpenStackClientFactory.CreateClient(credential, token, String.Empty); - var connectTask = client.Connect(); - connectTask.Wait(); - - // Save the credentials if there are any changes (The RegistrationManager may have prompted for missing Credentials) - - configManager.WriteServiceProvider(response.Provider); - - // Store Context and Client so that all PS-Providers and Cmdlets have access to it.. - - this.SetSessionState(credential, client, targetProvider); - } - } -} diff --git a/Openstack.Client.Powershell/Utility/OpenstackCoreRegistrationManager.cs b/Openstack.Client.Powershell/Utility/OpenstackCoreRegistrationManager.cs deleted file mode 100644 index 07f6ad0..0000000 --- a/Openstack.Client.Powershell/Utility/OpenstackCoreRegistrationManager.cs +++ /dev/null @@ -1,53 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Security; -using System.Text; -using System.Threading.Tasks; -using OpenStack.Client.Powershell.Utility; -using OpenStack.Client.Powershell.Utility; -using OpenStack.Identity; - -namespace OpenStack.Client.Powershell.Utility -{ - [ServiceProviderAttribute("Default")] - public class OpenstackCoreRegistrationManager : RegistrationManager - { - public override RegistrationResponse Register(ServiceProvider serviceProvider) - { - this.ValidateCredentialElements(ref serviceProvider); - - string authenticationEndpoint = serviceProvider.CredentialElements.Where(ce => ce.Key == "AuthenticationServiceURI").Single().Value; - string userName = serviceProvider.CredentialElements.Where(ce => ce.Key == "Username").Single().Value; - string password = serviceProvider.CredentialElements.Where(ce => ce.Key == "Password").Single().Value; - string tenantId = serviceProvider.CredentialElements.Where(ce => ce.Key == "DefaultTenantId").Single().Value; - IOpenStackCredential credential = new OpenStackCredential(new Uri (authenticationEndpoint), userName, password, tenantId); - - return new RegistrationResponse(credential, serviceProvider); - } - - private SecureString GetSecureString(string password) - { - SecureString securePassword = new SecureString(); - password.ToCharArray().ToList().ForEach(securePassword.AppendChar); - return SecureStringHelper.ConvertToSecureString(password); - - } - } -} - diff --git a/Openstack.Client.Powershell/Utility/RegistrationManager.cs b/Openstack.Client.Powershell/Utility/RegistrationManager.cs deleted file mode 100644 index 655e8b4..0000000 --- a/Openstack.Client.Powershell/Utility/RegistrationManager.cs +++ /dev/null @@ -1,154 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using OpenStack.Identity; - -namespace OpenStack.Client.Powershell.Utility -{ - public abstract class RegistrationManager - { - // public abstract ServiceProviderInfo CreateCredential(Dictionary configValues); - public abstract RegistrationResponse Register(ServiceProvider serviceProvider); -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - protected void ValidateCredentialElements (ref ServiceProvider serviceProvider) - { - // If there are any CredentialElements with empty values, get them now from the User.. - - List elements = serviceProvider.CredentialElements; - if (elements.Where(e => e.Value == String.Empty).Any()) - { - this.WriteGetCredentialsHeader(); - - for (int i = 0; i < elements.Count; i++) - { - if (elements[i].IsMandatory && elements[i].Value == String.Empty) { - elements[i].Value = this.PromptForCredentialElement(elements[i]); - } - } - } - - // Also check that the ServiceProvider name was supplied.. - - if (serviceProvider.Name == String.Empty) - { - Console.WriteLine(""); - Console.WriteLine("Service Provider Name :"); - Console.WriteLine(""); - serviceProvider.Name = Console.ReadLine(); - } - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private string ReadPassword() - { - string password = ""; - ConsoleKeyInfo info = Console.ReadKey(true); - - while (info.Key != ConsoleKey.Enter) - { - if (info.Key != ConsoleKey.Backspace) - { - Console.Write("*"); - password += info.KeyChar; - } - - else if (info.Key == ConsoleKey.Backspace) - { - if (!string.IsNullOrEmpty(password)) - { - // remove one character from the list of password characters - - password = password.Substring(0, password.Length - 1); - - // get the location of the cursor - - int pos = Console.CursorLeft; - - // move the cursor to the left by one character - - Console.SetCursorPosition(pos - 1, Console.CursorTop); - - // replace it with space - - Console.Write(" "); - - // move the cursor to the left by one character again - - Console.SetCursorPosition(pos - 1, Console.CursorTop); - } - } - info = Console.ReadKey(true); - } - - // add a new line because user pressed enter at the end of their password - - Console.WriteLine(); - return password; - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - private string PromptForCredentialElement(CredentialElement element) - { - Console.WriteLine(""); - Console.WriteLine(element.DisplayName + " :"); - Console.WriteLine(""); - if (element.DisplayName.ToLower() == "password") - { - return this.ReadPassword(); - } - else - { - return Console.ReadLine(); - } - } -//================================================================================================== -/// -/// Writes out header information to be used during the process that prompts for new credentials. -/// -//================================================================================================== - private void WriteGetCredentialsHeader() - { - Console.WriteLine(""); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("======================================================================================================="); - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine("We've noticed that you haven't supplied any credentials yet. To continue we need to get your Username, "); - Console.WriteLine("Password, and the Tenant Id provided to you during the sign up process. If you haven't signed up"); - Console.WriteLine("for any services yet, just go to https://console.OpenStack.com for details on how to get started today!"); - Console.ForegroundColor = ConsoleColor.DarkGray; - Console.WriteLine("======================================================================================================="); - Console.ForegroundColor = ConsoleColor.Green; - Console.WriteLine(" "); - } - } -} diff --git a/Openstack.Client.Powershell/Utility/RegistrationResponse.cs b/Openstack.Client.Powershell/Utility/RegistrationResponse.cs deleted file mode 100644 index 240a087..0000000 --- a/Openstack.Client.Powershell/Utility/RegistrationResponse.cs +++ /dev/null @@ -1,50 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using OpenStack.Identity; - -namespace OpenStack.Client.Powershell.Utility -{ - public class RegistrationResponse - { - private IOpenStackCredential _credentials; - private ServiceProvider _provider; - - public ServiceProvider Provider - { - get { return _provider; } - set { _provider = value; } - } - - public RegistrationResponse() - { } - - public RegistrationResponse(IOpenStackCredential credential, ServiceProvider provider) - { - _credentials = credential; - _provider = provider; - } - public IOpenStackCredential Credentials - { - get { return _credentials; } - set { _credentials = value; } - } - } -} diff --git a/Openstack.Client.Powershell/Utility/SecureStringHelper.cs b/Openstack.Client.Powershell/Utility/SecureStringHelper.cs deleted file mode 100644 index 6db7038..0000000 --- a/Openstack.Client.Powershell/Utility/SecureStringHelper.cs +++ /dev/null @@ -1,68 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Runtime.InteropServices; -using System.Security; -using System.Text; -using System.Threading.Tasks; - -namespace OpenStack.Client.Powershell.Utility -{ - public static class SecureStringHelper - { - //================================================================================================== - /// - /// - /// - /// - /// - //================================================================================================== - public static string convertToUNSecureString(SecureString secstrPassword) - { - IntPtr unmanagedString = IntPtr.Zero; - try - { - unmanagedString = Marshal.SecureStringToGlobalAllocUnicode(secstrPassword); - return Marshal.PtrToStringUni(unmanagedString); - } - finally - { - Marshal.ZeroFreeGlobalAllocUnicode(unmanagedString); - } - } - //================================================================================================== - /// - /// - /// - /// - /// - //================================================================================================== - public static SecureString ConvertToSecureString(string value) - { - // Instantiate the secure string. - SecureString securePwd = new SecureString(); - var secureStr = new SecureString(); - if (value.Length > 0) - { - foreach (var c in value.ToCharArray()) secureStr.AppendChar(c); - } - else return null; - return secureStr; - } - } -} diff --git a/Openstack.Client.Powershell/Utility/ServiceMap.cs b/Openstack.Client.Powershell/Utility/ServiceMap.cs deleted file mode 100644 index 33485bb..0000000 --- a/Openstack.Client.Powershell/Utility/ServiceMap.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace OpenStack.Client.Powershell.Utility -{ - - public enum CoreServices - { - Identity, - ObjectStorage, - ImageManagement, - BlockStorage, - Compute - } - - - public class ServiceMap - { - private string _source; - private string _target; - - public string Target - { - get { return _target; } - set { _target = value; } - } - - public string Source - { - get { return _source; } - set { _source = value; } - } - - } -} diff --git a/Openstack.Client.Powershell/Utility/ServiceProvider.cs b/Openstack.Client.Powershell/Utility/ServiceProvider.cs deleted file mode 100644 index fe9aa9a..0000000 --- a/Openstack.Client.Powershell/Utility/ServiceProvider.cs +++ /dev/null @@ -1,113 +0,0 @@ -// /* ============================================================================ -// Copyright 2014 Hewlett Packard -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// ============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using OpenStack.Client.Powershell.Utility; - -namespace OpenStack.Client.Powershell.Utility -{ - - - public class ServiceMaps : List - { - - //public string TranslateServiceName(string serviceContract) - //{ - // return this.Where(n => n.Source == serviceContract).Single().Target; - //} - - public string TranslateServiceName(CoreServices service) - { - return this.Where(n => n.Source == service.ToString()).Single().Target; - } - } - - - public class ServiceProvider - { - private string _name; - private bool _isDefault = false; - private string _authenticationServiceURI; - private string _defaultTenantId; - private bool _isDirty = false; - private List _credentialElements = new List(); - private string _configFilePath; - private IEnumerable _availabilityZones; - private ServiceMaps _serviceMaps; - - public ServiceMaps ServiceMaps - { - get { return _serviceMaps; } - set { _serviceMaps = value; } - } - - public IEnumerable AvailabilityZones - { - get { return _availabilityZones; } - set { _availabilityZones = value; } - } - - public string ConfigFilePath - { - get { return _configFilePath; } - set { _configFilePath = value; } - } - - public List CredentialElements - { - get { return _credentialElements; } - set { _credentialElements = value; } - } - - - public bool IsDirty - { - get { return _isDirty; } - set { _isDirty = value; } - } - - public string DefaultTenantId - { - get { return _defaultTenantId; } - set - { - _defaultTenantId = value; - _isDirty = true; - } - } - - public string AuthenticationServiceURI - { - get { return _authenticationServiceURI; } - set { _authenticationServiceURI = value; _isDirty = true; } - } - - public bool IsDefault - { - get { return _isDefault; } - set { _isDefault = value; _isDirty = true; } - } - - public string Name - { - get { return _name; } - set { _name = value; _isDirty = true; } - } - } -} diff --git a/Openstack.Client.Powershell/Utility/ServiceProviderAttribute.cs b/Openstack.Client.Powershell/Utility/ServiceProviderAttribute.cs deleted file mode 100644 index 111efd6..0000000 --- a/Openstack.Client.Powershell/Utility/ServiceProviderAttribute.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace OpenStack.Client.Powershell.Utility -{ - public class ServiceProviderAttribute : Attribute - { - private string _name; - - public string Name - { - get { return _name; } - set { _name = value; } - } - - public ServiceProviderAttribute(string name) - { - _name = name; - } - } -} \ No newline at end of file diff --git a/Openstack.Client.Powershell/Utility/Settings.cs b/Openstack.Client.Powershell/Utility/Settings.cs deleted file mode 100644 index 0073646..0000000 --- a/Openstack.Client.Powershell/Utility/Settings.cs +++ /dev/null @@ -1,788 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Xml.Linq; -using System.Collections; -using System.Configuration; -using System.IO; -using System.Xml.XPath; -using System; -using System.Management.Automation; -using System.Reflection; -using System.Security.Policy; -using OpenStack.Client.Powershell.Utility; -using System.Linq; -using OpenStack.Identity; -using System.Threading; - -namespace OpenStack.Client.Powershell.Utility -{ - public sealed partial class Settings : Hashtable - { - private static Settings defaultInstance = new Settings(); - private static string _configFilePath; - private XDocument _document; - - public string ConfigFilePath - { - get { return _configFilePath; } - set { _configFilePath = value; } - } - - #region Ctors -//================================================================================================== -/// -/// -/// -//================================================================================================== - public Settings(Hashtable settings) - { - this.Load(settings); - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public Settings(bool isEmpty) - { - - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public Settings() - { - this.Reset(); - } - #endregion - #region File Transfer Settings.. -//================================================================================================== -/// -/// -/// -//================================================================================================== - public bool UseCleanLargeFileCopies - { - get - { - return Convert.ToBoolean(this["UseCleanLargeFileCopies"]); - } - set - { - this["UseCleanLargeFileCopies"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public int MaxSegmentCopyRetries - { - get - { - return Convert.ToInt32(this["MaxSegmentCopyRetries"]); - } - set - { - this["MaxSegmentCopyRetries"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string LargeFileSize - { - get - { - return (string)this["largeFileSize"]; - } - set - { - this["largeFileSize"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string DefaultSegmentNumber - { - get - { - return (string)this["defSegmentNumber"]; - } - set - { - this["defSegmentNumber"] = value; - } - } - #endregion - #region General Operations -//================================================================================================== -/// -/// -/// -//================================================================================================== - public static Settings Default - { - get - { - return defaultInstance; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public bool IsMocked - { - get - { - return ((bool)(this["IsMocked"])); - } - set - { - this["IsMocked"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public bool PasteGetURIResultsToClipboard - { - get - { - return Convert.ToBoolean(this["PasteGetURIResultsToClipboard"]); - } - set - { - this["PasteGetURIResultsToClipboard"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string ReleaseNotesURI - { - get - { - return (string)this["ReleaseNotesURI"]; - } - set - { - this["ReleaseNotesURI"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string NewReleaseFolder - { - get - { - return (string)this["NewReleaseFolder"]; - } - set - { - this["NewReleaseFolder"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string DefaultZone - { - get - { - return (string)this["DefaultZone"]; - } - set - { - this["DefaultZone"] = value; - } - } - #endregion - #region Connecting to a Server Settings - //================================================================================================== -/// -/// -/// -//================================================================================================== - public string CredentialListPath - { - get - { - return Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\OS\CredentialList.xml"; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public bool EnableCredentialTracking - { - get - { - return Convert.ToBoolean(this["EnableCredentialTracking"]); - } - set - { - this["EnableCredentialTracking"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string SSHClientPath - { - get - { - return (string)this["SSHClientPath"]; - } - set - { - this["SSHClientPath"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string KeyStoragePath - { - get - { - return Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string LogReadAttemptIntervalInMilliSeconds - { - get - { - return (string)this["LogReadAttemptIntervalInMilliSeconds"]; - } - set - { - this["LogReadAttemptIntervalInMilliSeconds"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string LogReadAttemptsMax - { - get - { - return (string)this["LogReadAttemptsMax"]; - } - set - { - this["LogReadAttemptsMax"] = value; - } - } - #endregion - #region Testing -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string TestFilePath - { - get - { - return ((string)(this["TestFilePath"])); - } - set - { - this["TestFilePath"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string TestImageId - { - get - { - return ((string)(this["TestImageId"])); - } - set - { - this["TestImageId"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string TestServerName - { - get - { - return ((string)(this["TestServerName"])); - } - set - { - this["TestServerName"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string TestNetworkName - { - get - { - return ((string)(this["TestNetworkName"])); - } - set - { - this["TestNetworkName"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string TestPortName - { - get - { - return ((string)(this["TestPortName"])); - } - set - { - this["TestPortName"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string TestRouterName - { - get - { - return ((string)(this["TestRouterName"])); - } - set - { - this["TestRouterName"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string TestSecurityGroupName - { - get - { - return ((string)(this["TestSecurityGroupName"])); - } - set - { - this["TestSecurityGroupName"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string TestSnapshotName - { - get - { - return ((string)(this["TestSnapshotName"])); - } - set - { - this["TestSnapshotName"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string TestSubnetName - { - get - { - return ((string)(this["TestSubnetName"])); - } - set - { - this["TestSubnetName"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string TestVolumeName - { - get - { - return ((string)(this["TestVolumeName"])); - } - set - { - this["TestVolumeName"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string TestFlavorId - { - get - { - return ((string)(this["TestFlavorId"])); - } - set - { - this["TestFlavorId"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string LocalTestDirectory - { - get - { - return (string)this["LocalTestDirectory"]; - } - set - { - this["LocalTestDirectory"] = value; - } - } - -//================================================================================================== -/// -/// -/// -//================================================================================================== - public int HttpTimeoutInterval - { - get - { - return Convert.ToInt32(this["HttpTimeoutInterval"]); - } - set - { - this["HttpTimeoutInterval"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string TestStorageContainerSecondary - { - get - { - return (string)this["TestStorageContainerSecondaryName"]; - } - set - { - this["TestStorageContainerSecondaryName"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string TestStorageContainerName - { - get - { - return (string)this["TestStorageContainerName"]; - } - set - { - this["TestStorageContainerName"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string TestVolumeIdUnattached - { - get - { - return (string)this["TestVolumeIdUnattached"]; - } - set - { - this["TestVolumeIdUnattached"] = value; - } - } - #endregion - #region Authentication -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string DefaultTenantId - { - get - { - return ((string)(this["DefaultTenantId"])); - } - set - { - this["DefaultTenantId"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string Username - { - get - { - return (string)this["Username"]; - } - set - { - this["Username"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string Password - { - get - { - return (string)this["Password"]; - } - set - { - this["Password"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string Host - { - get - { - return ((string)(this["Host"])); - } - set - { - this["Host"] = value; - } - } -//================================================================================================== -/// -/// -/// -//================================================================================================== - public string AuthenticationServiceURI - { - get - { - return (string)this["AuthenticationServiceURI"]; - } - set - { - this["AuthenticationServiceURI"] = value; - } - } -#endregion - #region Methods -//================================================================================================== -/// -/// -/// -//================================================================================================== - public void Reset() - { - if (File.Exists("OpenStack.config")) - { - this.Load("OpenStack.config"); - } - else if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\" + @"OS\OpenStack.config")) - { - string configFilePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\" + @"OS\OpenStack.config"; - this.Load(configFilePath); - } - else - { - throw new InvalidOperationException("Unable to locate OpenStack.config file."); - } - } -//================================================================================================== -/// -/// -/// -/// -//================================================================================================== - public void Load (Hashtable settings) - { - foreach (DictionaryEntry entry in settings) { - this.Add(entry.Key, entry.Value); - } - } -//================================================================================================== -/// -/// Fully Qualified path to a config file -/// -/// -//================================================================================================== - public static Settings LoadConfig(string configFilePath) - { - try - { - Settings settings = new Settings(true); - XDocument document = XDocument.Load(configFilePath); - _configFilePath = configFilePath; - - foreach (XElement element in document.Descendants("add")) - { - string key = element.Attribute(XName.Get("key")).Value; - string value = element.Attribute(XName.Get("value")).Value; - settings.Add(key, value); - } - return settings; - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - throw ex; - } - } -//================================================================================================== -/// -/// Fully Qualified path to a config file -/// -/// -//================================================================================================== - public void Load(string configFilePath) - { - try - { - XDocument document = XDocument.Load(configFilePath); - _configFilePath = configFilePath; - this.Clear(); - foreach (XElement element in document.Descendants("add")) - { - string key = element.Attribute(XName.Get("key")).Value; - string value = element.Attribute(XName.Get("value")).Value; - try - { - this.Add(key, value); - } - catch (Exception) { } - } - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - throw ex; - } - } -//========================================================================================= -/// -/// -/// -/// -//========================================================================================= - private string GetConfigPath() - { - //if (_configFilePath != null) - // return _configFilePath; - - if (File.Exists("OpenStack.config")) - { - return this.GetType().Assembly.Location; - } - else if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\" + @"OS\OpenStack.config")) - { - return Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\" + @"OS\OpenStack.config"; - } - else - { - throw new InvalidOperationException("Unable to locate OpenStack.config file."); - } - } - - #endregion - } -} - diff --git a/Openstack.Client.Powershell/Utility/StoragePath.cs b/Openstack.Client.Powershell/Utility/StoragePath.cs deleted file mode 100644 index 52322e7..0000000 --- a/Openstack.Client.Powershell/Utility/StoragePath.cs +++ /dev/null @@ -1,572 +0,0 @@ -/* ============================================================================ -Copyright 2014 Hewlett Packard - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -============================================================================ */ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Management.Automation; -using System.IO; -using OpenStack; -using OpenStack.Client.Powershell.Utility; -using System.Collections.ObjectModel; -using OpenStack.Common; -using System.Diagnostics.Contracts; -using System.Web; - -namespace OpenStack.Client.Powershell.Utility -{ - public class StoragePath - { - const string cFolderMarker = "folder.txt"; - private string _storageManagementURI; - private string _path; - private PathType _pathType; - private string _volume; - private string _fileName; - -//======================================================================================================= -/// -/// -/// -/// The KvsDriveInfo instance -/// The path to the resource -//======================================================================================================= - public StoragePath(string dnsPortion, string volume, string path) - { - Contract.Requires(dnsPortion != null); - Contract.Requires(volume != null); - Contract.Requires(path != null); - - string absoluteURI; - if (volume != "") - absoluteURI = dnsPortion + "/" + volume + "/" + path; - else - absoluteURI = dnsPortion + "/" + path; - - _pathType = this.GetPathType(absoluteURI); - - if (_pathType == PathType.Remote) - { - _storageManagementURI = this.GetPathSubstring(absoluteURI, 2); - string resourcePath = volume + "/" + path; - _volume = volume; - _path = path; - _fileName = System.IO.Path.GetFileName(_path); - } - else - { - _volume = volume; - _path = path; - _fileName = System.IO.Path.GetFileName(_path); - } - _volume = volume; - } -//======================================================================================================= -/// -/// -/// -/// The KvsDriveInfo instance -/// The path to the resource -//======================================================================================================= - public StoragePath(string absoluteURI) - { - this.Initialize(absoluteURI); - } -//======================================================================================================= -/// -/// -/// -/// -//======================================================================================================= - private void Initialize(string absoluteURI) - { - Contract.Requires(absoluteURI != null); - - _pathType = this.GetPathType(absoluteURI); - - if (_pathType == PathType.Remote) - { - _storageManagementURI = this.GetPathSubstring(absoluteURI, 2); - string resourcePath = absoluteURI.Replace(_storageManagementURI, String.Empty).Substring(1); - _volume = StoragePath.GetFirstPathElement(resourcePath); - _path = absoluteURI.Replace(_storageManagementURI + "/" + _volume, String.Empty).Substring(1); - _fileName = System.IO.Path.GetFileName(_path); - } - else - { - _volume = StoragePath.GetFirstPathElement(absoluteURI); - _path = absoluteURI.Replace(_volume, String.Empty).Substring(1); - _fileName = System.IO.Path.GetFileName(_path); - } - } -//================================================================================================== -/// -/// -/// -/// -/// -//================================================================================================== - private string ExtractPattern(string path) - { - path = path.TrimEnd('/'); - string[] elements = path.Split('/'); - return elements[elements.Length - 1]; - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - public bool IsRoot - { - get - { - if (this.ContainsWildcard) - - if (this.GetDirectoryName().Replace(this.ExtractPattern(this.Path), String.Empty) == String.Empty) - return true; - else - return false; - return false; - } - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - public bool ContainsWildcard - { - get - { - if (this.Path.Contains("?") || this.Path.Contains("*") || this.Path.Contains("[") || this.Path.Contains("]")) - return true; - else - return false; - } - } -//======================================================================================================= -/// -/// -/// -/// -/// -//======================================================================================================= - private string CleanVolumeName(string name) - { - string storageContainerName = name.Replace("/", ""); - int index = storageContainerName.IndexOf(":"); - - if (index != -1) - storageContainerName = storageContainerName.Remove(index, 1); - - return storageContainerName.Replace(@"\", "").Trim(); - } -//======================================================================================================= -/// -/// -/// -/// -/// -//======================================================================================================= - private string CleanPath(string path) - { - string tempPath = path.Replace(@"\", "/"); - - if (path.StartsWith("/")) - { - tempPath = tempPath.Substring(1); - } - - // If this is not a folder path, extract out the filename.. - - if (!tempPath.EndsWith("/")) - { - _fileName = System.IO.Path.GetFileName(tempPath); - } - return tempPath; - } - #region Properties -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - public PathType PathType - { - get { return _pathType; } - //set { _pathType = value; } - } - #endregion - #region Methods -//======================================================================================================= -/// -/// -/// -/// -//======================================================================================================= - public string GetDirectoryName() - { - return System.IO.Path.GetDirectoryName(this.Path); - } -//======================================================================================================= -/// -/// -/// -/// -/// -//======================================================================================================= - private string GetPathSubstring(string element, int offset) - { - bool isSecure = false; - - if (element.StartsWith("https://")) - { - element = element.Replace("https://", string.Empty); - isSecure = true; - } - else - { - element = element.Replace("http://", string.Empty); - } - string [] elements = element.Split('/'); - string result = null; - - for (int i = 0; i <= offset; ++i) { - result = result + "/" + elements[i]; - } - - if (isSecure) - { - return "https:/" + result; - } - else - { - return "http:/" + result; - } - } -//======================================================================================================= -/// -/// -/// -/// -/// -//======================================================================================================= - public static string GetFirstPathElement(string element) - { - if (element != string.Empty) - { - if (element.StartsWith("/")) - { - int delimeterPosition = element.IndexOf("/", 1, StringComparison.Ordinal); - if (delimeterPosition != -1) - return element.Substring(0, delimeterPosition); - else - return null; - } - else - { - int delimeterPosition = element.IndexOf("/", 0, StringComparison.Ordinal); - if (delimeterPosition != -1) - return element.Substring(0, delimeterPosition); - else - { - // No / delimiters exist. This is a local file path with \ as the delimiter so parse with that in mind.. - - int delimeterPosition2 = element.IndexOf(@"\", 0, StringComparison.Ordinal); - if (delimeterPosition2 != -1) - return element.Substring(0, delimeterPosition2); - - } - return null; - } - } - else - { - return null; - } - } -//========================================================================================= -/// -/// -/// -//========================================================================================= - public bool IsFolderPathOnly - { - get - { - if (_path.EndsWith("/") || _path.EndsWith(@"\") || _path == "") - { - return true; - } - else - { - return false; - } - } - } -////========================================================================================= -/// -/// -/// -/// -/// -//========================================================================================= - private bool IsLocalPath(string volume) - { - // Temporaily reverse the delimiter for this check... - - List drives = DriveInfo.GetDrives().ToList(); - - drives.DefaultIfEmpty(null); - if (drives.Where(d => volume.ToUpper().Contains(d.Name)).FirstOrDefault() == null) - { - return false; - } - else - { - return true; - } - } -//======================================================================================================= -/// -/// -/// -/// -/// -//======================================================================================================= - private PathType GetPathType(string absoluteURI) - { - if (absoluteURI.StartsWith("http:") || absoluteURI.StartsWith("https:")) - return PathType.Remote; - else - return PathType.Local; - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - public string BasePath - { - get - { - string[] absolutePath = this.AbsoluteURI.Split('/'); - List basePath = new List(); - - //for (int i = 0; i < 3; i++) { - for (int i = 0; i <= absolutePath.Length - 1; i++) - { - basePath.Add(absolutePath[i]); - } - - return String.Join("/", basePath); - } - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - public string ContainerPath - { - get - { - return _storageManagementURI + "/" + _volume + "/"; - } - } -//======================================================================================================= -/// -/// -/// - -/// -//======================================================================================================= - public string FileName - { - get - { - if (this.IsFolderPathOnly) - return string.Empty; - else - return _fileName; - } - set - { - string[] tempPath = _path.Split('/'); - tempPath[tempPath.Length - 1] = value; - _path = String.Join("/", tempPath); - _fileName = value; - } - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - public string Volume - { - get - { - return _volume; - } - set - { - _volume = value; - } - } -//======================================================================================================= -/// -/// -/// -//======================================================================================================= - public string LeafFolder - { - get - { - string tempPath = null; - if (this.Path.EndsWith("/") || this.Path.EndsWith(@"\")) - { - tempPath = this.Path.Substring(0, this.Path.Count() - 1 ); - } - else - { - tempPath = this.Path; - } - - string[] elements = tempPath.Replace(@"\", "/").Split('/'); - - if (elements.Count() == 1) - { - return elements[0]; - } - else if (elements.Count() == 0) - { - return "/"; - } - else if (elements.Count() > 1) - { - string leaf = elements[elements.Count() - 1]; - return leaf + "/"; - } - return ""; - } - } -//======================================================================================================= -/// -/// This is the address to the Object starting AFTER the storageContainer name. If this points to an object, that -/// object name will still be in this path.. -/// -//======================================================================================================= - public string Path - { - get - { - if (_path.StartsWith(@"\") || _path.StartsWith("/")) - { - return _path.Substring(1); - //return _path; - } - else - { - return _path; - } - } - } -//======================================================================================================= -/// -/// Volume + Path -/// -//======================================================================================================= - public string ResourcePath - { - get - { - if (_pathType == PathType.Remote) - - if (this.Path == "/") - { - //return (this.Volume + "/").Replace(@"\", "/"); - //return ("/").Replace(@"\", "/"); - return String.Empty; - } - else - { - //return (this.Volume + "/" + this.Path).Replace(@"\", "/").Replace("//", "/"); - return (this.Path).Replace(@"\", "/").Replace("//", "/"); - //return this.Path.Replace("/", String.Empty); - } - else - //return this.Volume + @"\" + this.Path; - return this.Path; - } - } -//======================================================================================================= -/// -/// DNS Address + Volume + Path -/// -//======================================================================================================= - public string AbsoluteURI - { - get - { - if (_pathType == PathType.Remote) - { - //return (Settings.Default.StorageManagementURI + "/" + this.ResourcePath).Replace(@"\", "/").Replace(" ", "_"); - - if (this.ResourcePath.StartsWith("/")) - return (_storageManagementURI + this.ResourcePath).Replace(@"\", "/"); - else - return (_storageManagementURI + "/" + this.ResourcePath).Replace(@"\", "/"); - } - else - { - return (this.Volume + @"\" + this.Path).Replace(@"\", "/"); - } - } - } -//======================================================================================================= -/// -/// Returns the fully qualified URI in string format. -/// -/// -//======================================================================================================= - public override string ToString() - { - return this.AbsoluteURI; - } -//======================================================================================================= -/// -/// -/// -/// -//======================================================================================================= - public Uri ToUri() - { - string uri; - - if (this.ResourcePath.StartsWith("/")) - { - uri = _storageManagementURI + this.ResourcePath; - return new Uri(uri); - } - else - { - uri = _storageManagementURI + "/" + this.ResourcePath; - return new Uri(uri); - } - } - #endregion - } -} diff --git a/Openstack.Client.Powershell/app.config b/Openstack.Client.Powershell/app.config deleted file mode 100644 index d043086..0000000 --- a/Openstack.Client.Powershell/app.config +++ /dev/null @@ -1,33 +0,0 @@ - - - - -
    - - - - - - C:\Projects\OS\OpenStack.Client.Powershell\OpenStack.Client.AsyncQueue\OpenStack.Client.AsyncQueue\bin\Debug\OpenStack.Client.AsyncQueue.exe - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Openstack.Client.Powershell/packages.config b/Openstack.Client.Powershell/packages.config deleted file mode 100644 index 6ad507e..0000000 --- a/Openstack.Client.Powershell/packages.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 0dc3e24..0000000 --- a/README.md +++ /dev/null @@ -1,126 +0,0 @@ -Openstack Powershell CLI - Getting Set up to Contribute - -I - Pre-requisits - - Before we get started we need to make sure that our Development environment reflects what a machine looks like when we install the CLI. The following steps should get the job done. - - A. Set the Required Execution Policy - - To use the Openstack CLI Software for Windows PowerShell, you must make sure that your Powershell environment is capable of executing 3rd party modules. - Note: If you are performing a re-installation of the software package, you can skip this step. This step is applicable only for a fresh installation. - Open a PowerShell window as the administrator and issue the command set-executionpolicy -ExecutionPolicy Unrestricted: - - ------------------------------------------------------------------------------------------------------------------- - PS C:\Projects\Outgoing\OS> set-executionpolicy -ExecutionPolicy Unrestricted - - Execution policy change - - The execution policy helps protect you from scripts that you do not trust. Changing the execution policy - might expose you to the security risks described in the about_Execution_Policies help topic. Do you want to - change the execution policy? - [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y - PS C:\Projects\Outgoing\OS> - ------------------------------------------------------------------------------------------------------------------- - Close the Powershell window and reopen as administrator for the policy changes to take effect. - - B. A Quick Setting in Visual Studio - - After Cloning the repo and loading the solution within Visual Studio, ensure that the "Enable Nuget Package Restore" option has been turned - on at the Solution level. This will retreive all of the neccessary external dependencies for the Solution to build properly. - -C. - Supplying your Credentials - -Our next step is to make sure that we supply the proper credentials when logging on to the system. If you ran the CLI after your initial -install, you'll have noticed that you were prompted for this information. The result is stored in the CLI.config file located within the Users Personal Data Folder -under the OS directory. With each Build we must update that file with the version in our solution. This is so that when new config file changes are introduced, you -have the CLI picking them up at runtime from the expected location (instead of residing in just your project directory). Complete these steps to supply this information. - -1. Navigate to the Openstack.Client.Powershell project and look into the Deployment folder. -2. Within that folder you will see a file called CLI.config.example -3. Copy the example file into the same folder but remove the .example on the filename. -4. Open up the CLI.config file that you just created. -5. Find the config section entitled "IdentityServices". -6. Within this section supply values for Username, Password, and Default Tenenat Id. All of this can be found within your account information on you providers portal. - -Each time that we build, this CLI.config file will be moved to the correct runtime location via Post-Build Scripts outlined in the next section. - -D. - Edit Post Build Scripts - -Within the Openstack.Client.Powershell projects Post-Build Event you'll notice that we call a PostBuild.bat file. This -batch file will move important run-time files required by the CLI to their proper locations if you decide to edit them. -Without this, all changes to important files (like CLI.config) would go unnoticed because they would sit in our project -folders on disk (rather than the location the CLI expects). To create tis batch file, follow these steps. - -1. Navigate to the Openstack.Client.Powershell project and look into the Deployment folder. -2. Within that folder you will see a file called PostBuild.example -3. Open up that file and copy the contents to the clipboard. -4. Within that same folder create a file called PostBuild.bat -5. Paste the script on the clipboard into that file. -6. Notice the Action Required section of the file. Modify the path you see there to reflect your development machine. -7. Save your Project and do a test build (Rebuild All). The Output Window will show any Echo results from the script and show any script errors that may break the build. - -E. - Modifying you Developer Profile - - When the Powershell runtime starts it looks for a file called Microsoft.PowerShell_profile.ps1. This script gets executed right after -Powershell loads. Here we can set up the look of the environment, issue some default commands (useful for testing!) -and loading Powershell Modules. The Powershell module is where all of our CLI code resides and must get loaded by this script. -The only problem here is that the path to that module is specific to your machine. To address this follow these steps - - 1. Open up the DevProfile.ps1.example file within the Solutions [Openstack.Client.Powershell]\Deployment folder. - 2. Copy the contents of this file into a new text file called DevProfile.ps1 - 3. Search this document for "ACTION REQUIRED" and follow the instructions given. - -II - Debugging - -Debugging the CLI is a bit more challenging than with say a normal executable. In this case the entry point or main process is the Powershell runtime itself. -This requires us to load our work into that environment and attach the VS debugger to the Powershell host at runtime. Follow these steps to get the debugger running. - - 1. Set your breakpoint. - 2. Compile the Solution. - 3. Load Powershell. With everything in place this should automatically Import the module you just compiled. - 3. From within VS select Debug\Attach To Process - 4. Attach to the Powershell.exe process. - 5. Issue a command in the CLI that triggers your breakpoint. - -A. Debugging Provider Code - -When Powershell modules get Imported, any providers found in that Module will be executed first. This leaves us with a problem in that -any code that we need to debug in the provider during startup needs to be paused until we have time to actually set a break point properly. -To do this complete the following actions. - - 1. Set you breakpoint in the providers InitializeDefaultDrives() method. This is the first stage in the Providers Life-Cycle. - 2. Open the DevProfile.ps1 file. - 3. Comment out the Import-Module statement (Copy it to the clipboard for your convience). - 2. Compile the Solution. - 3. Load Powershell. - 3. From within VS select Debug\Attach To Process - 4. Attach to the Powershell.exe process. - 5. From the command line paste the Import-Module statement into the CLI. This will trigger the breakpoint that you set in step 1. - -B. Getting to the Action - A Quick Tip - -Sometimes we're trying to debug something in the CLI and we need to get to a certain location quickly. For example if you are testing the -list view for Servers and your sick of typing this after you restart each time - - cd\ - cd Servers - ls - cd 1 - ls - -Just remember that this can be placed in your Devprofile.ps1 file and Powershell will issue those commands for you. This makes debugging a specific -section of the CLI much easier.. - -III. Testing - - Object Storage Integration Test Notes - - These unit test require a particular directory structure to be present on your machine to complete the test cases where we copy files and or folders to the server. - Make sure that you have something like the following on your machine. - - Folder1 (contains files) - -> Folder2 (contains files) - -> Folder3 (contains NO files) - - Note : Go to the Testing section in the CLI.Config file. Make sure that LocalTestDirectory - element points to the root of the test folder hierarchy (Folder1 in the example above). diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..9006052 --- /dev/null +++ b/README.rst @@ -0,0 +1,7 @@ +This project is no longer maintained. + +The contents of this repository are still available in the Git source code +management system. To see the contents of this repository before it reached +its end of life, please check out the previous commit with +"git checkout HEAD^1". + diff --git a/WidgetInc.Openstack.Client.Powershell/.nuget/NuGet.Config b/WidgetInc.Openstack.Client.Powershell/.nuget/NuGet.Config deleted file mode 100644 index 67f8ea0..0000000 --- a/WidgetInc.Openstack.Client.Powershell/.nuget/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/WidgetInc.Openstack.Client.Powershell/.nuget/NuGet.exe b/WidgetInc.Openstack.Client.Powershell/.nuget/NuGet.exe deleted file mode 100644 index c41a0d0debd870f8df2754f07a9f29c2d89a3d27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1662976 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§aghoAul?L0X>d$YAi*B*}Ui| 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≀u3%ll>HC17`Qjrp#2UXAU^9R4NKu~g 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%0Ac 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%0DrL)V%eZ8Le!)%3tCGfmdsQCB3>>Xm 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

    ?KYszH*fnDu=4;_B$|9I%@XZ_8?y@!r_ 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 liI`dCHeT!%<7;}X+9xBJ*iwwM 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
    1. Eoy%{Iz*Kx9b1E=UMI90!iDY|Iq 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 EFFYo8OaK4? diff --git a/WidgetInc.Openstack.Client.Powershell/.nuget/NuGet.targets b/WidgetInc.Openstack.Client.Powershell/.nuget/NuGet.targets deleted file mode 100644 index 3f8c37b..0000000 --- a/WidgetInc.Openstack.Client.Powershell/.nuget/NuGet.targets +++ /dev/null @@ -1,144 +0,0 @@ - - - - $(MSBuildProjectDirectory)\..\ - - - false - - - false - - - true - - - false - - - - - - - - - - - $([System.IO.Path]::Combine($(SolutionDir), ".nuget")) - - - - - $(SolutionDir).nuget - - - - $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName.Replace(' ', '_')).config - $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config - - - - $(MSBuildProjectDirectory)\packages.config - $(PackagesProjectConfig) - - - - - $(NuGetToolsPath)\NuGet.exe - @(PackageSource) - - "$(NuGetExePath)" - mono --runtime=v4.0.30319 "$(NuGetExePath)" - - $(TargetDir.Trim('\\')) - - -RequireConsent - -NonInteractive - - "$(SolutionDir) " - "$(SolutionDir)" - - - $(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir) - $(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols - - - - RestorePackages; - $(BuildDependsOn); - - - - - $(BuildDependsOn); - BuildPackage; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/WidgetInc.Openstack.Client.Powershell/Cmdlets/HelloWidgetIncCmdlet.cs b/WidgetInc.Openstack.Client.Powershell/Cmdlets/HelloWidgetIncCmdlet.cs deleted file mode 100644 index 4c24cb8..0000000 --- a/WidgetInc.Openstack.Client.Powershell/Cmdlets/HelloWidgetIncCmdlet.cs +++ /dev/null @@ -1,56 +0,0 @@ -//* ============================================================================ -//Copyright 2014 Hewlett Packard - -//Licensed under the Apache License, Version 2.0 (the "License"); -//you may not use this file except in compliance with the License. -//You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 - -//Unless required by applicable law or agreed to in writing, software -//distributed under the License is distributed on an "AS IS" BASIS, -//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -//See the License for the specific language governing permissions and -//limitations under the License. -//============================================================================ */ -using System; -using System.Management.Automation; -using OpenStack.Client.Powershell.Cmdlets.Common; -using OpenStack.Storage; - -namespace WidgetInc.Client.Powershell.Cmdlets -{ - [Cmdlet("Hello", "WidgetInc", SupportsShouldProcess = true)] - //[RequiredServiceIdentifierAttribute(OpenStack.Objects.Domain.Admin.Services.ObjectStorage)] - public class HelloWidgetIncCmdlet : BasePSCmdlet { - - //========================================================================================= - /// - /// - /// - //========================================================================================= - protected override void ProcessRecord() - { - Console.WriteLine("Hello World, from WidgetInc!"); - if (this.CoreClient != null) - { - //var client = this.CoreClient.CreateServiceClient(); - - - //var connectTask = client.GetStorageAccount(); - //connectTask.Wait(); - - //StorageAccount account = connectTask.Result; - //int h = 8; - - - //Console.WriteLine(this.Context.Settings.LocalTestDirectory); - - - - } - - } - - } -} diff --git a/WidgetInc.Openstack.Client.Powershell/Deployment/ServiceProvider.xml b/WidgetInc.Openstack.Client.Powershell/Deployment/ServiceProvider.xml deleted file mode 100644 index 6f01584..0000000 --- a/WidgetInc.Openstack.Client.Powershell/Deployment/ServiceProvider.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/WidgetInc.Openstack.Client.Powershell/Deployment/WidgetInc.config b/WidgetInc.Openstack.Client.Powershell/Deployment/WidgetInc.config deleted file mode 100644 index cdf2aa5..0000000 --- a/WidgetInc.Openstack.Client.Powershell/Deployment/WidgetInc.config +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/WidgetInc.Openstack.Client.Powershell/Deployment/WidgetInc.nuspec b/WidgetInc.Openstack.Client.Powershell/Deployment/WidgetInc.nuspec deleted file mode 100644 index e4d42c8..0000000 --- a/WidgetInc.Openstack.Client.Powershell/Deployment/WidgetInc.nuspec +++ /dev/null @@ -1,25 +0,0 @@ - - - - - widget-cli-powershell - widget-cli-powershell - 2.0.0 - Lateralus - thatGuy - Thid package allows Users to manage their Openstack environments from the Powershell command line. - Thid package allows Users to manage their Openstack environments from the Powershell command line. - OpenStack Powershell CLI Windows - 2014 - http://www.apache.org/licenses/LICENSE-2.0 - false - - - This first release demonstrates the Mutli-Vendor functionality as well as a Read-onoly version of the ObjectStorage Provider. - - - - - diff --git a/WidgetInc.Openstack.Client.Powershell/Deployment/WidgetInc.psd1 b/WidgetInc.Openstack.Client.Powershell/Deployment/WidgetInc.psd1 deleted file mode 100644 index 35f3769..0000000 --- a/WidgetInc.Openstack.Client.Powershell/Deployment/WidgetInc.psd1 +++ /dev/null @@ -1,20 +0,0 @@ -@{ -ModuleToProcess = 'WidgetInc.OpenStack.Client.Powershell.dll' -GUID="{847a28a4-6407-4aa6-8070-a4a51396db70}" -Author="Lateralus" -CompanyName="WidgetInc Corporation" -Copyright="© WidgetInc. All rights reserved." -ModuleVersion="1.0.0.0" -PowerShellVersion="2.0" -CLRVersion="4.0.30319" -FileList='' -RequiredAssemblies = 'OpenStack.dll' - -} - - - - - - - diff --git a/WidgetInc.Openstack.Client.Powershell/Deployment/tools/chocolateyInstall.ps1 b/WidgetInc.Openstack.Client.Powershell/Deployment/tools/chocolateyInstall.ps1 deleted file mode 100644 index 0f2c25b..0000000 --- a/WidgetInc.Openstack.Client.Powershell/Deployment/tools/chocolateyInstall.ps1 +++ /dev/null @@ -1,38 +0,0 @@ - - # Install the Extensions Package... - - $packageName = 'widget-cli-powershell' - $installerType = 'msi' - $url = $env:USERPROFILE + '\Source\Builds\WidgetInc.Openstack.Deployment.msi' - $silentArgs = '/quiet' - $validExitCodes = @(0) - - Install-ChocolateyPackage "$packageName" "$installerType" "$silentArgs" "$url" -validExitCodes $validExitCodes - -try - { - # Add the extensions location to PSModulePath for easy loading later on.. - - $p = [Environment]::GetEnvironmentVariable("PSModulePath") - $p += ";" + $env:USERPROFILE + "\Documents\WindowsPowerShell\Modules\WidgetInc" - [Environment]::SetEnvironmentVariable("PSModulePath", $p) - - # Import our Openstack.Client.Powershell assembly. This has the ConfigurationMAnager type which lets you - # register your Service Provider information. - - $configManagerAsmPath = $env:USERPROFILE + "\Documents\WindowsPowerShell\Modules\Openstack-core\Openstack.Client.Powershell.dll" - add-type -Path ($configManagerAsmPath) - - # Register the Service Provider. This requires the Extension Author to have a ServiceProvider.xml definition file in the - # Deployment Folder. - - $serviceProviderPath = $env:USERPROFILE + "\Documents\WindowsPowerShell\Modules\WidgetInc\Deployment\ServiceProvider.xml" - $manager = New-Object -TypeName OpenStack.Client.Powershell.Utility.ConfigurationManager - $manager.WriteServiceProvider($serviceProviderPath) - Write-ChocolateySuccess "$packageName" - } -catch - { - Write-ChocolateyFailure "$packageName" "$($_.Exception.Message)" - throw - } diff --git a/WidgetInc.Openstack.Client.Powershell/Properties/AssemblyInfo.cs b/WidgetInc.Openstack.Client.Powershell/Properties/AssemblyInfo.cs deleted file mode 100644 index f0819c0..0000000 --- a/WidgetInc.Openstack.Client.Powershell/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("WidgetInc.Client.Powershell")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("WidgetInc.Client.Powershell")] -[assembly: AssemblyCopyright("Copyright © 2014")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("514ed649-0f98-445b-af9c-9af000f1e720")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/WidgetInc.Openstack.Client.Powershell/Utility/WidgetIncRegistrationManager.cs b/WidgetInc.Openstack.Client.Powershell/Utility/WidgetIncRegistrationManager.cs deleted file mode 100644 index b7ac0dd..0000000 --- a/WidgetInc.Openstack.Client.Powershell/Utility/WidgetIncRegistrationManager.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.Linq; -using OpenStack.Client.Powershell.Utility; -using OpenStack.Identity; - -namespace WidgetInc.Client.Powershell.Utility -{ - [ServiceProviderAttribute("WidgetInc")] - public class WidgetIncRegistrationManager : RegistrationManager - { - public override RegistrationResponse Register(ServiceProvider serviceProvider) - { - this.ValidateCredentialElements(ref serviceProvider); - - string authenticationEndpoint = serviceProvider.CredentialElements.Where(ce => ce.Key == "AuthenticationServiceURI").Single().Value; - string userName = serviceProvider.CredentialElements.Where(ce => ce.Key == "Username").Single().Value; - string password = serviceProvider.CredentialElements.Where(ce => ce.Key == "Password").Single().Value; - string tenantId = serviceProvider.CredentialElements.Where(ce => ce.Key == "DefaultTenantId").Single().Value; - IOpenStackCredential credential = new OpenStackCredential(new Uri (authenticationEndpoint), userName, password, tenantId); - - return new RegistrationResponse(credential, serviceProvider); - } - } -} - diff --git a/WidgetInc.Openstack.Client.Powershell/WidgetInc.Openstack.Client.Powershell.csproj b/WidgetInc.Openstack.Client.Powershell/WidgetInc.Openstack.Client.Powershell.csproj deleted file mode 100644 index fa5b683..0000000 --- a/WidgetInc.Openstack.Client.Powershell/WidgetInc.Openstack.Client.Powershell.csproj +++ /dev/null @@ -1,110 +0,0 @@ - - - - - Debug - AnyCPU - {8E2903DF-9FB6-48F8-85BF-FD2422BE38AF} - Library - Properties - WidgetInc.Client.Powershell - WidgetInc.Openstack.Client.Powershell - v4.5 - 512 - ..\ - true - - - true - full - false - ..\..\..\..\Documents\WindowsPowerShell\Modules\WidgetInc\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - False - ..\packages\Newtonsoft.Json.6.0.3\lib\net45\Newtonsoft.Json.dll - - - ..\packages\OpenStack-SDK-DotNet.0.9.1.0\lib\net40\OpenStack.dll - - - - - - True - ..\packages\System.Management.Automation.6.1.7601.17515\lib\net45\System.Management.Automation.dll - - - - ..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Extensions.dll - - - ..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Primitives.dll - - - - - - - - - - - - - - - - - - Designer - Always - - - - Always - - - - - - {32bac168-2ec8-4074-9e6d-8c13460dcfad} - Openstack.Client.Powershell - - - - - Always - - - - - - md %25USERPROFILE%25\Documents\WindowsPowerShell\Modules\WidgetInc -copy .\Deployment\WidgetInc.psd1 %25USERPROFILE%25\Documents\WindowsPowerShell\Modules\WidgetInc\WidgetInc.psd1 - - - - - - - - \ No newline at end of file diff --git a/WidgetInc.Openstack.Client.Powershell/WidgetInc.Openstack.Client.Powershell.sln b/WidgetInc.Openstack.Client.Powershell/WidgetInc.Openstack.Client.Powershell.sln deleted file mode 100644 index 087b4d2..0000000 --- a/WidgetInc.Openstack.Client.Powershell/WidgetInc.Openstack.Client.Powershell.sln +++ /dev/null @@ -1,29 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.30501.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WidgetInc.Openstack.Client.Powershell", "WidgetInc.Openstack.Client.Powershell.csproj", "{8E2903DF-9FB6-48F8-85BF-FD2422BE38AF}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{CF5FC33F-FBA8-4028-A6D5-D6D8002DB57E}" - ProjectSection(SolutionItems) = preProject - .nuget\NuGet.Config = .nuget\NuGet.Config - .nuget\NuGet.exe = .nuget\NuGet.exe - .nuget\NuGet.targets = .nuget\NuGet.targets - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8E2903DF-9FB6-48F8-85BF-FD2422BE38AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8E2903DF-9FB6-48F8-85BF-FD2422BE38AF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8E2903DF-9FB6-48F8-85BF-FD2422BE38AF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8E2903DF-9FB6-48F8-85BF-FD2422BE38AF}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/WidgetInc.Openstack.Client.Powershell/app.config b/WidgetInc.Openstack.Client.Powershell/app.config deleted file mode 100644 index 4429813..0000000 --- a/WidgetInc.Openstack.Client.Powershell/app.config +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/WidgetInc.Openstack.Client.Powershell/packages.config b/WidgetInc.Openstack.Client.Powershell/packages.config deleted file mode 100644 index 98d8f80..0000000 --- a/WidgetInc.Openstack.Client.Powershell/packages.config +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/WidgetInc.Openstack.Deployment/WidgetInc.Openstack.Deployment.sln b/WidgetInc.Openstack.Deployment/WidgetInc.Openstack.Deployment.sln deleted file mode 100644 index 2801707..0000000 --- a/WidgetInc.Openstack.Deployment/WidgetInc.Openstack.Deployment.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "WidgetInc.Openstack.Deployment", "WidgetInc.Openstack.Deployment\WidgetInc.Openstack.Deployment.vdproj", "{1896E037-7922-4FA5-8B1A-56C8841F0113}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Default = Debug|Default - Release|Default = Release|Default - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1896E037-7922-4FA5-8B1A-56C8841F0113}.Debug|Default.ActiveCfg = Debug - {1896E037-7922-4FA5-8B1A-56C8841F0113}.Debug|Default.Build.0 = Debug - {1896E037-7922-4FA5-8B1A-56C8841F0113}.Release|Default.ActiveCfg = Release - {1896E037-7922-4FA5-8B1A-56C8841F0113}.Release|Default.Build.0 = Release - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/WidgetInc.Openstack.Deployment/WidgetInc.Openstack.Deployment/WidgetInc.Openstack.Deployment.vdproj b/WidgetInc.Openstack.Deployment/WidgetInc.Openstack.Deployment/WidgetInc.Openstack.Deployment.vdproj deleted file mode 100644 index 4b69d62..0000000 --- a/WidgetInc.Openstack.Deployment/WidgetInc.Openstack.Deployment/WidgetInc.Openstack.Deployment.vdproj +++ /dev/null @@ -1,1488 +0,0 @@ -"DeployProject" -{ -"VSVersion" = "3:800" -"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" -"IsWebType" = "8:FALSE" -"ProjectName" = "8:WidgetInc.Openstack.Deployment" -"LanguageId" = "3:1033" -"CodePage" = "3:1252" -"UILanguageId" = "3:1033" -"SccProjectName" = "8:" -"SccLocalPath" = "8:" -"SccAuxPath" = "8:" -"SccProvider" = "8:" - "Hierarchy" - { - "Entry" - { - "MsmKey" = "8:_1474F8A2A23C918EDBD6ADCA9A69F656" - "OwnerKey" = "8:_F755FCA2B6A34614124BF53A3E7072A0" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_1474F8A2A23C918EDBD6ADCA9A69F656" - "OwnerKey" = "8:_E156E4CC54B1475F8610F66B0366F795" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_1474F8A2A23C918EDBD6ADCA9A69F656" - "OwnerKey" = "8:_E23250CED2B446CB9DAA839D4671AEFD" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_16436E62A70B4E67A2821FBC8429A32B" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_30DDDEA629D54D39FA4EEA0608EECB45" - "OwnerKey" = "8:_498AB768E0914EA981D7F2922A7149CA" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_30DDDEA629D54D39FA4EEA0608EECB45" - "OwnerKey" = "8:_1474F8A2A23C918EDBD6ADCA9A69F656" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_498AB768E0914EA981D7F2922A7149CA" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_61847F1896E8FE6E0B92C1448EDD4128" - "OwnerKey" = "8:_BCE08537A2C74DE09F4619A9CA0AF232" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_6EAB1E9D34B64A87A14A6968E5157144" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_7D9DFD5F805B1C1296CCFF17E2FB01DF" - "OwnerKey" = "8:_BCE08537A2C74DE09F4619A9CA0AF232" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_94409BAACCCCBD90EE00D96424CA6F5E" - "OwnerKey" = "8:_E23250CED2B446CB9DAA839D4671AEFD" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_94409BAACCCCBD90EE00D96424CA6F5E" - "OwnerKey" = "8:_E156E4CC54B1475F8610F66B0366F795" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_94409BAACCCCBD90EE00D96424CA6F5E" - "OwnerKey" = "8:_F755FCA2B6A34614124BF53A3E7072A0" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_A7824368667D44BABFD36994886312BD" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_A945A79192234B1B9D55DCC9D43A69B6" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_ACB7ADAA223643C48E29EA2162041854" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_AD24553F261247418D0595F086240104" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_BCE08537A2C74DE09F4619A9CA0AF232" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_C4F87EB4C41645C6B4CD70EE9D73C509" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_CEE4453E49BE4077971AD43474FD6C7C" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_E156E4CC54B1475F8610F66B0366F795" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_E23250CED2B446CB9DAA839D4671AEFD" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_EEE0E0797355DC6DD6FE16BDFF6962B0" - "OwnerKey" = "8:_BCE08537A2C74DE09F4619A9CA0AF232" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_F755FCA2B6A34614124BF53A3E7072A0" - "OwnerKey" = "8:_E156E4CC54B1475F8610F66B0366F795" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_F990B753F1DF46829FA02F4CC6601013" - "OwnerKey" = "8:_UNDEFINED" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_F990B753F1DF46829FA02F4CC6601013" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_30DDDEA629D54D39FA4EEA0608EECB45" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_498AB768E0914EA981D7F2922A7149CA" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_61847F1896E8FE6E0B92C1448EDD4128" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_6EAB1E9D34B64A87A14A6968E5157144" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_7D9DFD5F805B1C1296CCFF17E2FB01DF" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_94409BAACCCCBD90EE00D96424CA6F5E" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_A7824368667D44BABFD36994886312BD" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_1474F8A2A23C918EDBD6ADCA9A69F656" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_F755FCA2B6A34614124BF53A3E7072A0" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_E156E4CC54B1475F8610F66B0366F795" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_E23250CED2B446CB9DAA839D4671AEFD" - "MsmSig" = "8:_UNDEFINED" - } - "Entry" - { - "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_EEE0E0797355DC6DD6FE16BDFF6962B0" - "MsmSig" = "8:_UNDEFINED" - } - } - "Configurations" - { - "Debug" - { - "DisplayName" = "8:Debug" - "IsDebugOnly" = "11:TRUE" - "IsReleaseOnly" = "11:FALSE" - "OutputFilename" = "8:..\\..\\..\\..\\Builds\\WidgetInc.Openstack.Deployment.msi" - "PackageFilesAs" = "3:2" - "PackageFileSize" = "3:-2147483648" - "CabType" = "3:1" - "Compression" = "3:2" - "SignOutput" = "11:FALSE" - "CertificateFile" = "8:" - "PrivateKeyFile" = "8:" - "TimeStampServer" = "8:" - "InstallerBootstrapper" = "3:2" - "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" - { - "Enabled" = "11:TRUE" - "PromptEnabled" = "11:TRUE" - "PrerequisitesLocation" = "2:1" - "Url" = "8:" - "ComponentsUrl" = "8:" - "Items" - { - "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.0,Profile=Client" - { - "Name" = "8:Microsoft .NET Framework 4 Client Profile (x86 and x64)" - "ProductCode" = "8:.NETFramework,Version=v4.0,Profile=Client" - } - "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1" - { - "Name" = "8:Windows Installer 3.1" - "ProductCode" = "8:Microsoft.Windows.Installer.3.1" - } - } - } - } - "Release" - { - "DisplayName" = "8:Release" - "IsDebugOnly" = "11:FALSE" - "IsReleaseOnly" = "11:TRUE" - "OutputFilename" = "8:Release\\WidgetInc.Openstack.Deployment.msi" - "PackageFilesAs" = "3:2" - "PackageFileSize" = "3:-2147483648" - "CabType" = "3:1" - "Compression" = "3:2" - "SignOutput" = "11:FALSE" - "CertificateFile" = "8:" - "PrivateKeyFile" = "8:" - "TimeStampServer" = "8:" - "InstallerBootstrapper" = "3:2" - "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" - { - "Enabled" = "11:TRUE" - "PromptEnabled" = "11:TRUE" - "PrerequisitesLocation" = "2:1" - "Url" = "8:" - "ComponentsUrl" = "8:" - "Items" - { - "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.0,Profile=Client" - { - "Name" = "8:Microsoft .NET Framework 4 Client Profile (x86 and x64)" - "ProductCode" = "8:.NETFramework,Version=v4.0,Profile=Client" - } - "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1" - { - "Name" = "8:Windows Installer 3.1" - "ProductCode" = "8:Microsoft.Windows.Installer.3.1" - } - } - } - } - } - "Deployable" - { - "CustomAction" - { - } - "DefaultFeature" - { - "Name" = "8:DefaultFeature" - "Title" = "8:" - "Description" = "8:" - } - "ExternalPersistence" - { - "LaunchCondition" - { - "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_03129295AB7B4DD99251E34C853FD39C" - { - "Name" = "8:.NET Framework" - "Message" = "8:[VSDNETMSG]" - "FrameworkVersion" = "8:.NETFramework,Version=v4.0,Profile=Client" - "AllowLaterVersions" = "11:FALSE" - "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=131000" - } - } - } - "File" - { - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_1474F8A2A23C918EDBD6ADCA9A69F656" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:OpenStack, Version=0.9.1.0, Culture=neutral, PublicKeyToken=baf191d8aca7391c, processorArchitecture=MSIL" - "ScatterAssemblies" - { - } - "SourcePath" = "8:OpenStack.DLL" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_16436E62A70B4E67A2821FBC8429A32B" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\WidgetInc\\WidgetInc.Openstack.Client.Powershell.pdb" - "TargetName" = "8:WidgetInc.Openstack.Client.Powershell.pdb" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_30DDDEA629D54D39FA4EEA0608EECB45" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL" - "ScatterAssemblies" - { - } - "SourcePath" = "8:Newtonsoft.Json.DLL" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_498AB768E0914EA981D7F2922A7149CA" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:OpenStack, Version=0.9.1.0, Culture=neutral, PublicKeyToken=baf191d8aca7391c, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_498AB768E0914EA981D7F2922A7149CA" - { - "Name" = "8:OpenStack.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\WidgetInc\\OpenStack.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_61847F1896E8FE6E0B92C1448EDD4128" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:TRUE" - "AssemblyAsmDisplayName" = "8:System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_61847F1896E8FE6E0B92C1448EDD4128" - { - "Name" = "8:System.Runtime.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:System.Runtime.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6EAB1E9D34B64A87A14A6968E5157144" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:System.Net.Http.Extensions, Version=2.2.22.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_6EAB1E9D34B64A87A14A6968E5157144" - { - "Name" = "8:System.Net.Http.Extensions.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\WidgetInc\\System.Net.Http.Extensions.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7D9DFD5F805B1C1296CCFF17E2FB01DF" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:TRUE" - "AssemblyAsmDisplayName" = "8:System.Net.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_7D9DFD5F805B1C1296CCFF17E2FB01DF" - { - "Name" = "8:System.Net.Primitives.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:System.Net.Primitives.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_94409BAACCCCBD90EE00D96424CA6F5E" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:TRUE" - "AssemblyAsmDisplayName" = "8:System.Management.Automation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_94409BAACCCCBD90EE00D96424CA6F5E" - { - "Name" = "8:System.Management.Automation.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:System.Management.Automation.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_A7824368667D44BABFD36994886312BD" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:System.Management.Automation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_A7824368667D44BABFD36994886312BD" - { - "Name" = "8:System.Management.Automation.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\WidgetInc\\System.Management.Automation.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A945A79192234B1B9D55DCC9D43A69B6" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\WidgetInc\\System.Net.Http.Primitives.xml" - "TargetName" = "8:System.Net.Http.Primitives.xml" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_ACB7ADAA223643C48E29EA2162041854" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\WidgetInc\\System.Net.Http.Extensions.xml" - "TargetName" = "8:System.Net.Http.Extensions.xml" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_AD24553F261247418D0595F086240104" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\WidgetInc\\Newtonsoft.Json.xml" - "TargetName" = "8:Newtonsoft.Json.xml" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_BCE08537A2C74DE09F4619A9CA0AF232" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:System.Net.Http.Primitives, Version=4.2.22.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_BCE08537A2C74DE09F4619A9CA0AF232" - { - "Name" = "8:System.Net.Http.Primitives.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\WidgetInc\\System.Net.Http.Primitives.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C4F87EB4C41645C6B4CD70EE9D73C509" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\WidgetInc\\WidgetInc.psd1" - "TargetName" = "8:WidgetInc.psd1" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_CEE4453E49BE4077971AD43474FD6C7C" - { - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\WidgetInc\\Openstack.Client.Powershell.pdb" - "TargetName" = "8:Openstack.Client.Powershell.pdb" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E156E4CC54B1475F8610F66B0366F795" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:WidgetInc.Openstack.Client.Powershell, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_E156E4CC54B1475F8610F66B0366F795" - { - "Name" = "8:WidgetInc.Openstack.Client.Powershell.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\WidgetInc\\WidgetInc.Openstack.Client.Powershell.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E23250CED2B446CB9DAA839D4671AEFD" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:Openstack.Client.Powershell, Version=1.3.5.8, Culture=neutral, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_E23250CED2B446CB9DAA839D4671AEFD" - { - "Name" = "8:Openstack.Client.Powershell.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\WidgetInc\\Openstack.Client.Powershell.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_EEE0E0797355DC6DD6FE16BDFF6962B0" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:TRUE" - "AssemblyAsmDisplayName" = "8:System.Runtime.InteropServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_EEE0E0797355DC6DD6FE16BDFF6962B0" - { - "Name" = "8:System.Runtime.InteropServices.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:System.Runtime.InteropServices.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_F755FCA2B6A34614124BF53A3E7072A0" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:Openstack.Client.Powershell, Version=1.3.5.8, Culture=neutral, processorArchitecture=MSIL" - "ScatterAssemblies" - { - } - "SourcePath" = "8:Openstack.Client.Powershell.DLL" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" - "IsolateTo" = "8:" - } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_F990B753F1DF46829FA02F4CC6601013" - { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_F990B753F1DF46829FA02F4CC6601013" - { - "Name" = "8:Newtonsoft.Json.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:..\\..\\..\\..\\..\\Documents\\WindowsPowerShell\\Modules\\WidgetInc\\Newtonsoft.Json.dll" - "TargetName" = "8:" - "Tag" = "8:" - "Folder" = "8:_6BC5D42213A84544B55B99CCC5F12848" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Vital" = "11:TRUE" - "ReadOnly" = "11:FALSE" - "Hidden" = "11:FALSE" - "System" = "11:FALSE" - "Permanent" = "11:FALSE" - "SharedLegacy" = "11:FALSE" - "PackageAs" = "3:1" - "Register" = "3:1" - "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" - "IsolateTo" = "8:" - } - } - "FileType" - { - } - "Folder" - { - "{1525181F-901A-416C-8A58-119130FE478E}:_249DEA91962643F0B73D6E2CCCC1705C" - { - "Name" = "8:#1918" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:PersonalFolder" - "Folders" - { - "{9EF0B969-E518-4E46-987F-47570745A589}:_8434F878D0084A79A5BC1C4E718574EC" - { - "Name" = "8:WindowsPowershell" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:_B99B6E93FB544AEB8805743C1E1AAD9C" - "Folders" - { - "{9EF0B969-E518-4E46-987F-47570745A589}:_888534B5A07246D589288F1391C803BF" - { - "Name" = "8:Modules" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:_0370B0CFA90F44BEB603708AA7D45826" - "Folders" - { - "{9EF0B969-E518-4E46-987F-47570745A589}:_6BC5D42213A84544B55B99CCC5F12848" - { - "Name" = "8:WidgetInc" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:_C533DAE04EF048EAA0D41C3A84B1777F" - "Folders" - { - } - } - } - } - } - } - } - } - "{3C67513D-01DD-4637-8A68-80971EB9504F}:_779EE467257A459D88AD3730A4665991" - { - "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]" - "Name" = "8:#1925" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:TARGETDIR" - "Folders" - { - } - } - } - "LaunchCondition" - { - } - "Locator" - { - } - "MsiBootstrapper" - { - "LangId" = "3:1033" - "RequiresElevation" = "11:FALSE" - } - "Product" - { - "Name" = "8:Microsoft Visual Studio" - "ProductName" = "8:WidgetInc.Openstack.Deployment" - "ProductCode" = "8:{25EF7241-685B-41D4-A718-772E3CBBFD48}" - "PackageCode" = "8:{0308C9CA-C825-4EFD-9E4C-8BE4E28AFD6F}" - "UpgradeCode" = "8:{1582383A-5D0A-47F3-BE85-6684962CB064}" - "AspNetVersion" = "8:4.0.30319.0" - "RestartWWWService" = "11:FALSE" - "RemovePreviousVersions" = "11:FALSE" - "DetectNewerInstalledVersion" = "11:TRUE" - "InstallAllUsers" = "11:FALSE" - "ProductVersion" = "8:1.0.0" - "Manufacturer" = "8:Hewlett-Packard Company" - "ARPHELPTELEPHONE" = "8:" - "ARPHELPLINK" = "8:" - "Title" = "8:WidgetInc.Openstack.Deployment" - "Subject" = "8:" - "ARPCONTACT" = "8:Hewlett-Packard Company" - "Keywords" = "8:" - "ARPCOMMENTS" = "8:" - "ARPURLINFOABOUT" = "8:" - "ARPPRODUCTICON" = "8:" - "ARPIconIndex" = "3:0" - "SearchPath" = "8:" - "UseSystemSearchPath" = "11:TRUE" - "TargetPlatform" = "3:0" - "PreBuildEvent" = "8:" - "PostBuildEvent" = "8:" - "RunPostBuildEvent" = "3:0" - } - "Registry" - { - "HKLM" - { - "Keys" - { - "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_5D6C3AD7075E408EBC10E4622B0DA7AA" - { - "Name" = "8:Software" - "Condition" = "8:" - "AlwaysCreate" = "11:FALSE" - "DeleteAtUninstall" = "11:FALSE" - "Transitive" = "11:FALSE" - "Keys" - { - "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_9248228A2FE94E77B3FDD63577BCFF6A" - { - "Name" = "8:[Manufacturer]" - "Condition" = "8:" - "AlwaysCreate" = "11:FALSE" - "DeleteAtUninstall" = "11:FALSE" - "Transitive" = "11:FALSE" - "Keys" - { - } - "Values" - { - } - } - } - "Values" - { - } - } - } - } - "HKCU" - { - "Keys" - { - "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_58B4B5AF664445D88F0B7FCF8F192FA0" - { - "Name" = "8:Software" - "Condition" = "8:" - "AlwaysCreate" = "11:FALSE" - "DeleteAtUninstall" = "11:FALSE" - "Transitive" = "11:FALSE" - "Keys" - { - "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_B19DDF8D4E6B4BD5BDBEBDE1BE8BFF30" - { - "Name" = "8:[Manufacturer]" - "Condition" = "8:" - "AlwaysCreate" = "11:FALSE" - "DeleteAtUninstall" = "11:FALSE" - "Transitive" = "11:FALSE" - "Keys" - { - } - "Values" - { - } - } - } - "Values" - { - } - } - } - } - "HKCR" - { - "Keys" - { - } - } - "HKU" - { - "Keys" - { - } - } - "HKPU" - { - "Keys" - { - } - } - } - "Sequences" - { - } - "Shortcut" - { - } - "UserInterface" - { - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_13E8B907AA114416A568818F462AA883" - { - "Name" = "8:#1902" - "Sequence" = "3:1" - "Attributes" = "3:3" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_141842AEF3C8441994F990853D509087" - { - "Sequence" = "3:100" - "DisplayName" = "8:Finished" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdFinishedDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "UpdateText" - { - "Name" = "8:UpdateText" - "DisplayName" = "8:#1058" - "Description" = "8:#1158" - "Type" = "3:15" - "ContextData" = "8:" - "Attributes" = "3:0" - "Setting" = "3:1" - "Value" = "8:#1258" - "DefaultValue" = "8:#1258" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_4CC619698E3145D8BF0C8162067C2F7C" - { - "Name" = "8:#1900" - "Sequence" = "3:1" - "Attributes" = "3:1" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_2775BE77FB864E20BC541FC0C29F8F12" - { - "Sequence" = "3:100" - "DisplayName" = "8:Welcome" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdWelcomeDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "CopyrightWarning" - { - "Name" = "8:CopyrightWarning" - "DisplayName" = "8:#1002" - "Description" = "8:#1102" - "Type" = "3:3" - "ContextData" = "8:" - "Attributes" = "3:0" - "Setting" = "3:1" - "Value" = "8:#1202" - "DefaultValue" = "8:#1202" - "UsePlugInResources" = "11:TRUE" - } - "Welcome" - { - "Name" = "8:Welcome" - "DisplayName" = "8:#1003" - "Description" = "8:#1103" - "Type" = "3:3" - "ContextData" = "8:" - "Attributes" = "3:0" - "Setting" = "3:1" - "Value" = "8:#1203" - "DefaultValue" = "8:#1203" - "UsePlugInResources" = "11:TRUE" - } - } - } - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9D61042041E74026B396008C8026DBF4" - { - "Sequence" = "3:200" - "DisplayName" = "8:Installation Folder" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdFolderDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "InstallAllUsersVisible" - { - "Name" = "8:InstallAllUsersVisible" - "DisplayName" = "8:#1059" - "Description" = "8:#1159" - "Type" = "3:5" - "ContextData" = "8:1;True=1;False=0" - "Attributes" = "3:0" - "Setting" = "3:0" - "Value" = "3:1" - "DefaultValue" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_BAC55DAFE8FC4D0BBF819F4F2ABCAAEF" - { - "Sequence" = "3:300" - "DisplayName" = "8:Confirm Installation" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdConfirmDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_5C012471E5B44982B7DD79120882C59A" - { - "Name" = "8:#1900" - "Sequence" = "3:2" - "Attributes" = "3:1" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_631647964DF74A5786F27D355E6D4D36" - { - "Sequence" = "3:100" - "DisplayName" = "8:Welcome" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "CopyrightWarning" - { - "Name" = "8:CopyrightWarning" - "DisplayName" = "8:#1002" - "Description" = "8:#1102" - "Type" = "3:3" - "ContextData" = "8:" - "Attributes" = "3:0" - "Setting" = "3:1" - "Value" = "8:#1202" - "DefaultValue" = "8:#1202" - "UsePlugInResources" = "11:TRUE" - } - "Welcome" - { - "Name" = "8:Welcome" - "DisplayName" = "8:#1003" - "Description" = "8:#1103" - "Type" = "3:3" - "ContextData" = "8:" - "Attributes" = "3:0" - "Setting" = "3:1" - "Value" = "8:#1203" - "DefaultValue" = "8:#1203" - "UsePlugInResources" = "11:TRUE" - } - } - } - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_776E280AC3274F50B7FC1E19B7C7A351" - { - "Sequence" = "3:200" - "DisplayName" = "8:Installation Folder" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdAdminFolderDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_7DF415899FBE4E1C8A0BE6BD0F2AC2E5" - { - "Sequence" = "3:300" - "DisplayName" = "8:Confirm Installation" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_70BDE511E5B24C8D8513EF5A267860B2" - { - "UseDynamicProperties" = "11:FALSE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdBasicDialogs.wim" - } - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_9AEFB07BF79F4C2599081F0704F3D2DA" - { - "Name" = "8:#1902" - "Sequence" = "3:2" - "Attributes" = "3:3" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_249EC1D9B6C24FA6888A3BB9B718EB36" - { - "Sequence" = "3:100" - "DisplayName" = "8:Finished" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_B7EECA0B6E37461D84045186A21F892A" - { - "Name" = "8:#1901" - "Sequence" = "3:1" - "Attributes" = "3:2" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9DFCA0EF8EEE42CAB38110BE97392A41" - { - "Sequence" = "3:100" - "DisplayName" = "8:Progress" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdProgressDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "ShowProgress" - { - "Name" = "8:ShowProgress" - "DisplayName" = "8:#1009" - "Description" = "8:#1109" - "Type" = "3:5" - "ContextData" = "8:1;True=1;False=0" - "Attributes" = "3:0" - "Setting" = "3:0" - "Value" = "3:1" - "DefaultValue" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_CA0A96D18B4A4A7987F99F81AE7B7D77" - { - "Name" = "8:#1901" - "Sequence" = "3:2" - "Attributes" = "3:2" - "Dialogs" - { - "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_3B9620ED97D44DE0B081A1E74C71EDB1" - { - "Sequence" = "3:100" - "DisplayName" = "8:Progress" - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdAdminProgressDlg.wid" - "Properties" - { - "BannerBitmap" - { - "Name" = "8:BannerBitmap" - "DisplayName" = "8:#1001" - "Description" = "8:#1101" - "Type" = "3:8" - "ContextData" = "8:Bitmap" - "Attributes" = "3:4" - "Setting" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - "ShowProgress" - { - "Name" = "8:ShowProgress" - "DisplayName" = "8:#1009" - "Description" = "8:#1109" - "Type" = "3:5" - "ContextData" = "8:1;True=1;False=0" - "Attributes" = "3:0" - "Setting" = "3:0" - "Value" = "3:1" - "DefaultValue" = "3:1" - "UsePlugInResources" = "11:TRUE" - } - } - } - } - } - "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_D9B77AF5972744F8BE134579E5CEF2E4" - { - "UseDynamicProperties" = "11:FALSE" - "IsDependency" = "11:FALSE" - "SourcePath" = "8:\\VsdUserInterface.wim" - } - } - "MergeModule" - { - } - "ProjectOutput" - { - } - } -} diff --git a/openstack-cli-powershell.sln b/openstack-cli-powershell.sln deleted file mode 100644 index abe6394..0000000 --- a/openstack-cli-powershell.sln +++ /dev/null @@ -1,65 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.30501.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core Functionality", "Core Functionality", "{E34080DF-5386-4484-8BE1-25A38A47FF72}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extensions (examples)", "Extensions (examples)", "{9A68856A-BE71-4EDB-9281-5D5331379DCA}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AcmeInc", "AcmeInc", "{7213BD80-6393-4DD3-8835-6AC37BC0F804}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WidgetInc", "WidgetInc", "{29141AFB-8FAF-4E7F-8748-EA65E5FD3F3A}" -EndProject -Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "WidgetInc.Openstack.Deployment", "..\WidgetInc.Openstack.Deployment\WidgetInc.Openstack.Deployment\WidgetInc.Openstack.Deployment.vdproj", "{1896E037-7922-4FA5-8B1A-56C8841F0113}" -EndProject -Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Openstack.Client.Powershell.Deployment", "..\Openstack.Client.Powershell.Deployment\Openstack.Client.Powershell.Deployment\Openstack.Client.Powershell.Deployment.vdproj", "{ED796A88-B8B7-49FC-9B16-2FD43492DADB}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Openstack.Client.Powershell", "Openstack.Client.Powershell\Openstack.Client.Powershell.csproj", "{32BAC168-2EC8-4074-9E6D-8C13460DCFAD}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AcmeInc.Openstack.Client.Powershell", "AcmeInc.Openstack.Client.Powershell\AcmeInc.Openstack.Client.Powershell.csproj", "{B6C5D486-BEDE-4E4F-8035-63B72513E4BD}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WidgetInc.Openstack.Client.Powershell", "WidgetInc.Openstack.Client.Powershell\WidgetInc.Openstack.Client.Powershell.csproj", "{8E2903DF-9FB6-48F8-85BF-FD2422BE38AF}" -EndProject -Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "AcmeInc.Openstack.Deployment", "AcmeInc.Openstack.Deployment\AcmeInc.Openstack.Deployment\AcmeInc.Openstack.Deployment.vdproj", "{D2DB9636-72E1-47E2-98E8-E23AFD996109}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - TransformTool Build|Any CPU = TransformTool Build|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.Release|Any CPU.Build.0 = Release|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.TransformTool Build|Any CPU.ActiveCfg = TransformTool Build|Any CPU - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD}.TransformTool Build|Any CPU.Build.0 = TransformTool Build|Any CPU - {B6C5D486-BEDE-4E4F-8035-63B72513E4BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B6C5D486-BEDE-4E4F-8035-63B72513E4BD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B6C5D486-BEDE-4E4F-8035-63B72513E4BD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B6C5D486-BEDE-4E4F-8035-63B72513E4BD}.Release|Any CPU.Build.0 = Release|Any CPU - {B6C5D486-BEDE-4E4F-8035-63B72513E4BD}.TransformTool Build|Any CPU.ActiveCfg = Release|Any CPU - {B6C5D486-BEDE-4E4F-8035-63B72513E4BD}.TransformTool Build|Any CPU.Build.0 = Release|Any CPU - {8E2903DF-9FB6-48F8-85BF-FD2422BE38AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8E2903DF-9FB6-48F8-85BF-FD2422BE38AF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8E2903DF-9FB6-48F8-85BF-FD2422BE38AF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8E2903DF-9FB6-48F8-85BF-FD2422BE38AF}.Release|Any CPU.Build.0 = Release|Any CPU - {8E2903DF-9FB6-48F8-85BF-FD2422BE38AF}.TransformTool Build|Any CPU.ActiveCfg = Release|Any CPU - {8E2903DF-9FB6-48F8-85BF-FD2422BE38AF}.TransformTool Build|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {7213BD80-6393-4DD3-8835-6AC37BC0F804} = {9A68856A-BE71-4EDB-9281-5D5331379DCA} - {29141AFB-8FAF-4E7F-8748-EA65E5FD3F3A} = {9A68856A-BE71-4EDB-9281-5D5331379DCA} - {1896E037-7922-4FA5-8B1A-56C8841F0113} = {29141AFB-8FAF-4E7F-8748-EA65E5FD3F3A} - {ED796A88-B8B7-49FC-9B16-2FD43492DADB} = {E34080DF-5386-4484-8BE1-25A38A47FF72} - {32BAC168-2EC8-4074-9E6D-8C13460DCFAD} = {E34080DF-5386-4484-8BE1-25A38A47FF72} - {B6C5D486-BEDE-4E4F-8035-63B72513E4BD} = {7213BD80-6393-4DD3-8835-6AC37BC0F804} - {8E2903DF-9FB6-48F8-85BF-FD2422BE38AF} = {29141AFB-8FAF-4E7F-8748-EA65E5FD3F3A} - {D2DB9636-72E1-47E2-98E8-E23AFD996109} = {7213BD80-6393-4DD3-8835-6AC37BC0F804} - EndGlobalSection -EndGlobal

    pNYqZo)ip^V{oqr~_ydeAC}6;MWSaNA$4XNU9ZMX>P64oMhAFw+i^i+HHq0(J!M! zkyktFymHm1ptCG>zu<3Z2+aD?jbJVqISy>X4=ZJQ{pd0R>uX>?hG-cd0X~5_1SAUb z1F|L5N%-BAvgJ{7bJCR!*OdG}frsE*#E>zOzY`h7Fs6NxXw@Y&cj_VYw#8XI$ir>-#)^&eM z?G3*zz+d4^%!b!4p#_xYbw+1)8)+{%#aL+YC78keG-uga_Hb3laHiYh7;o2C;%!Uv zHn$3IRkPaKq2Z0RW4yh%p73^dId3}8&Vf$0irHIm-uk8h>;a3xrYJE$F@Bshv|MC# zNeB(|F&jxrjp(dXHZ;Mkm>_LW8zE+ewGnzj6fcja15>ekB2Ay};B%1FJxHn3PA%t? zU0Hvxb}VLO!pq;A9)CEyoT37g`+#`x(1a5HP6mJfk$MGMoXqs+Zh-Wqc4^wXurCmJ zus84TM_+G4_+HLQ9F$FmACm)r>~CUup`?E4dHf>?FmS;QFq*uNsQD>)=o!i|@BjG9 z2O9#&a7s&Z5P1!k;-wy$3?8@sch)0KS-q&e_C`qg644UtuYY^GJv^Q6?WO5Xg}mFu z%HXfB^YtQq?PAJZ1{#;e{J|5g+(=p*2!3cE2RKS?8{@^;$Bn<%K6H(d@%Kkg_gN}< zA4&QF+&GskP(E-sE`w@=-sMnDF!njz9xD+m6=#amNyKLT5>`0%NnPWhqR}-Dj$i2- zC*1?fKrAKsE0F8KdPq(mZ4v%LKfeH?{!~1I+Ze!;xlnRz0!)Kn{z}09feb43RsT(F zP)cEf9z-%HTfd%RS=C(Vvf6D^#585KJU_7ZS1~_ss+1pkIDa7M`3ECiQ+Zb|z$F>9 znB4dyRFCr-G1Xs7p%Z_gX4!#aMHkxf-S~~SYsQXmuB5k)3S708Z!u-fwsFlcLU!K# z>9mBNn_01KPtyb_GQfcha2fTY&q!gT^uM<*%u1W?AA-d5ZRB$X*{ItbY)IES?Au|y zrzXYfg^pAfvlh`_tkYb*U%GfUP(Qf}hY8en!Uy}{xOm;koQk z&7{UY;dsYzk`dbeEX~jN!g&x0cgNXLQt%bS&PJ?Uwr~u7+Q?D1$fs;<@Q($kG!S%} zggWTB2x#)>L@&ZopRl$+o_ILSq5?F5n90G(@?RTi>?I07B1w99= zf-h|YiP(^5K2aHyx%}QZEMwYsK*TZ_d-BQw4x5_VjuJGSG0qV6sL zxBRAd9-8HM&T*e5pIS{PP+52);KpqW<865Zt)o#TzE)f=Z)eWZ1si9kOIDiAlZbSRbnsb6w!3sbOaRr@<>VB#XD%O(O?7@?QdrkP?&5XJ_3g06!RKm9Yn&cC0gwg* zA1jV(oNEc|W`6L_oFb%Gur8ebiFEA%S2)Vk&9@n+%mrV6hWy4rP5XTdgo}++hOjF1 z`jRtW3YI4;*^)xQ6!nruXy2h3&o~h?WpZ=laj2f94xdQ~r+)aO>+{7Kw&atm(4KUt zzw-JR(WIWm^i+v_jeaP~e0YSS=t60j#>|ywdX8n95SZrAk}}PDigzjPO5H}ayPg9J z?ONK@+J;0^b5njc8;6XS^-n@}VMHwzZNo0eHECcm#{ZE`+-xFUq}x)h$$btvSJLE) z9(DvTyV1_C5Ib+z<}#MBC2j7NrNu3(8yT#z(LWhX4)Xjj$&&wP!(`OzYMW<0y~OSA z^Pv34wY!+hNU9r={_d3dDu~l@8_U$QMLtW~SOT_5<;!B4R0$HFxA*rKA+ugZP`CI>EJCbp-J5*egjCAgR))_=EWLMM z^JLmq(rn+h-b`-)XSc0TeaSo^=Y1=+ueUc*H`^IF z>dN2VzV2Tp-{RX>%;syRPq0iA0@M6iVy2NU&qQp4-(TCtLKCO30SoQ=j6G4ql(e$V zdjZj{tXZe4Fcxm~Pi0%}`QNe`%0pHI_KzGjpoq9{`Tt_@lCL3z>ZUS`bQ z;M)E{I^&;SF+M&OB;A7_NwKthAbN_g_uT{oHS2wtiOmIX?1Ms>wb+xR53M+x zc29ut^VqKr!=sF=ph|dD22+`_6YvPGE+D4V2=+J=v;Pg7{kMV7K|@Nh+bdvqRKV`6 zfZbIA!^~>CH14T@-CF^JmJpY=zdA;21={9aaoeOMG21+7s@Ue;rM4LhFm9RzxTk6W ztY@(F+*>uk-*te$Rt<3MfkNSLRRe5!kOY`lH9(hxCBS`E1H7mM++Q`o>C=V61Em4N zIlF3Q6#FMygPn`UVnR!X-L(c?4gsobR$X%MtBBrT5yj4!3KSl!h(1&ieYhg}NJSLG z;dp9NMsb!*O^wQn=bw*ybsF0bl+m9ko0L&6d|8Ea1iDVtXAY;u<6eNch&H#)L`yHg zY(iN1ZaD*}F4|^Ti?lf=*$KY~fKGUh9p4-e56fN1w&7It7;vRAo(nK>?n<*(xClN8 z|6)7`6)wROAGl=*|5CX9%kXIOFQ>Bw{Ca+Oa;=7(tb#2L1rtfWh7nL3VfX%23p3D} z_ALw~hvI_2S{MrGiTO8~kCfKB3N*na-3R`D-oZ8r}_iI^(o9K@7%Dr1KY{w~_X* zLnv^S^`TR2qZxYB!Y)~)4ObeA6O{E8*`ucPS-uU`X6GsNCG=SSLi`@Y{0ujLViz2w z;7MaGMMAa|SRu9d5O7x*0Ls%7vY4+W)qcB{`N`^@rs7`@P760s(nj1dLm|8d$G;H( z;!i}zjJSl`uIR+pCx;AI z!4+0GW6rc?^nvtU28}r^pn3WWbVIgM3qCcy5I30!QHF1h!bkf|+=Ph;JM+|w2s52> zHbPf0l#RhF&S>_;w0JHvZMdA#h1!Mp1TR!usMM=i_rjOJbZ*dR6nfs6a*TkXS(V85 zrAa8y4c>+{u75iydp`CQ=0fKk0P=V8Atg6ul35St$zZ{avoJ4s7Xoz3HsiRL!byjCCg9YD#UUVy8>>G@Mb0jYuN)}K_ zv&sy5;=N)f)Mkq$)m>j_X^su^vda`NyG(_qG7#~lB82uIx7rU!Te@975PTl?Z`Z%J z#lJ%PoxE(Y5NyTQ0T1}k@K87k79c!igG1qtjVbh;>3={EV~>t_*dFeX2UGhoPvT?z zTGO*ajg6j2E?90h;>d_59OD-V=&q^1A4A+317wWv9Al!e4krE1_&r=~Usme$LY>^x zq5T}L{l*tML%+U=w?=t9v)6VFCL{ewDPMyshDDKz_I8}Y7_!zS^;1IHi1zel3L=d6 zH&{^c9plxpWeMZ0Rxzz+y{*EZ$2i9xYtjnQ`-mC?VMQp`p%IO`5!BuZCcMg_Xwkn`HPLlI0GxD5!%(mOy>ed&?XfXMO#*m zq%3anUDUWe{YMZUoe{RDw7a9=S9k(-Yjl5+UiW6`*vPx_L}|7EZfoIiT8jLQGyLhh zF)l?=Icv&R38Orxz5N7_keuE~x8_OUT{>F2d?(cgpeJ_Nj$ZfBBAc7f$+WbbQ^7KW z-X~kibKx|U$>(xa`P5ccjVs3GoT%hmJDv(1Sa~q*6wA$5a2jrC>j||oXvXaV2bA04yR${H%6)_S_7b|svpJki$TJax>0mIHm^(l})rDM|gP zGi>VKnKpG}we0-82g{S4!v1{Ns?^;nRYV%IX{%3)t)|Pep^cH!5;d;H@gSfyELn_Z zNH$QIjk)iT11X=eMV_H&fx|`KKgvx#&g1*!u{XycF&?=FaSVA}pn25mmJFIM@)_q$ zbfRHV@e*;CoGYCDvl?f+Kzkn`q2N^n48Fj_e^jf`miJ@H-&4Y$xvxx@cgBmA_te>v z)YH|H;!(&C5ygKj%A-vn|8b=MOpHEm?`0iO(u&|4^Rl;w1Y&94pwoP|TADPDj}WCW z33t=^k27!4?&*4L4%2-umaa*I5n^dfJ4fVtzN0igwrM<3lE(2&(K>emcb1(L%^$}pE{hg%!Z9MIi`ZL0v%Cz4GHC!Gh zm5ZpojUm$_YtEa2`3$Z5SFP>|LHGR8y7$_cL@?+=$^Un%v1jxxZE1I;kNyn%Io~64 zBAATWdXT0$hd0hCyOOBa+KAsDkhDEl zc{K3T$>00r50t%NBiw`8#z2uybA`&>VI+-@a(Ew(ZYi^}B_6LE$O$>Z(7$C>2g<2WCT7nXyDiyFB#@F}8pQd!*>V9=~Y zkn8+%qM_OhrZ+xg3eV7>Hm5;lYSNAPRy{AFc@`kHSu?69dy|7NZBl8Sm0Qu$_PnIM zrIEb^A|`|R^wsQ%j&_5N=90h9k#MwsNne8sBN%z9Go_7Dg~d)dfw{>0qLjyMZKlD& z2d)@ObD3ETJ4loLUd|_nWi^Son1wzhgmD1&MFy9d3s)$Ub-|rU3Z?t^uCU#$KdU3hH-;ab;94+gv$(rYcE_&KNmFdjT!$r zX6^ILO1zBYi)>%T%L{yYG4zoxrSuIG`iiEP=z+>)O@?|IkJ{D&8UGbHKuORBm46kl z_*uv>ui>F^=xQgJB33D$Uf6{f0m6maX=j?}D~R_xL%ty)UH$SVUa)S!FJ!$1XH6I= z?Y}Ld0EYw@E^MghQV}R(f4CtT-laEDt#GJbt8vv;YS03G2P4PooKIO=bfIVWal#z4 z-y67g-DVnUKDTjE{QHFy5$C)P;)E+!niMa-43~g}RF2CCa*o~e+fbD!^Y5W5$HEet z4fNOae7vrQu{yza15=)+9@hPe^MT{@d(e6jwcgujd8{(KoS1dDh1FQ_e+MOTeRK3pI= zYR-Q}823PYCcpWQ@niH1z2Yt5zoYFcng5Al!q%5`M*J2!I{pN*^o^vM&~!DI0%_-W z^o4A$8i{nMd&c=8j8n>Qc;`hWei4y0hW!>A`ZgBY5v}Z9=s|QHYwIsI%Elcp55fxN z?wGVmOMmFmcn#tuFN`o`qFd;VqAM@q0yNkZJ~zehvXnJi#Wr)T|3Vd2GS|BOWdLOA z%F}bLe~ke$*V_Mb6UET)3Hlc@?+foi9FTq=KUnZRgdvxa=1%HZ@TV?{!byJ!K^7$!u&Mr{)ETtbG>{YK>o)7RJ!k@;8!;zddZpf5*Nz%q&--!yOWmiNI5ST zed~G6zUTs(vj@RuW0;{Z$?#x;Tu!fTY&*oeg7I8^UjGv$pMMQxaZ2i+ROX2Q8l3#6 z_+bZmXse!mug&y5(Wa0Ic%^47g-qcPRLj%TS`pMCxKdXxE}gLX;MMu;OR$Z&igCmw zT#VU10~g4*k(!5^bWF;0@I2UcdR$Ud(vBV0}=HG2-dm za`il6UvSCQ+{ZA{BpT`m|VD343Hi>Ld^y*5rg}%*bv&z*MLk(j=!Pu)xGN9bh zL)A&$lT@6uyN>jO6A?{+nFil12}}C7$eN4N&Eea3^41c*adXT?>F$Z}n<4q{@h&&% zNH&|nx#=rik2Kuk4+taP>`U=Q+Q%C3p#6W0`}4*6-yrdSiu?1$`rj!2|BCzb#rkXd zKga#~V*PKD_>1EHe6jvFi~lcif4-FY<1?g@e0;I~w@7>^?#~zNf2;Vraeuy8|J%er z5%=dynSV0w&ll^j9{{%;P1+O;vI;Ojc*xXD9f---c820 zgrCK;i-Xr(i6`H*XRa0dkn%Nn*EIxbVlWr>;qtXQ8v1Oc$+v{x2~W~Y-yJ~C&G)dOsBFGr|CZmA zp6Ds)HqoWtRG1%2=?I}7_!d`rFGiGW52db|fp~XoUVH0!A+LN(`hD;e74P2)?jFuUmCA9t+gWIKyjm0*L@E3X-)nQf)8v8`QHr` z`Ihhp;|U<4TC+3)EW^VHQ0FWI2Y-j~m+cJto$4OSgv=>m`;2F5r)5}rnU)^Q!HN3m z7Slav{lpj0NT@!baj)nl;kSaY|2P)!b&HkXfW0d{Mlt<%p~*h|Ul}L#bMs&p37Yi& z20yomot@ELfPAs#ZJzkw7We0i_1FB~9{1-W9CyXzlr$yfOh*GG5m*kPoP>y>TLw@ICl%B!tOCp#}ax$Ie7PCN-LGv{Rfs9FY zEa=_`9TvVtN1F3*CxUJpBWHz#p5)E8U`+>o2JQfpc~k@L6Z;1W}HURId!SD>)zsgq>(7kk_vXFI~?*tKS|k-_z?MB1k$jvB{L=_mDQ8_Oe34EA7)e;uQ@;*;3roYp-+{bkXWWU(MAp#oK~Bx} zOhQ=4;g6Oe%MBn>zEZ(H*JFdN7D&E?DT1Vfg8^%u>Q4{VVm_HkXM+3aBPD!s;_{$w zBjSj*8b!0BC+r+x{hm@B*FQoTT}Z*XWESN%MhQmW5ZP^lGFB=u!?D{Rm1A2s#LzU8 zYD>_ZPnt=@!Y1b?@fFH7Y3#X8kyw{^>gvl#4>RX!D|EP_$JDiw zwqE}eJF<0u2|vy4_@T*`@v|*xJx+cyqARIJa+y$9Gww2$v^On@Ha3$GEQvqb-qLMM zC>VI7>}Sqep36#d$TPB|6k+&e1X3{-?D(b7FH%Z&Bvp|soOK|XfCV*uqIvD9}MF=O@4vW=s~>b zO2_}F#NQZxi;F+4B))u`7j&Lte9YbR_=wCZU}nGbO?EoI)MKdiaP!ldWMNhE*jyNe zpW6JvfLKOUHtl7aj$e}-NU_;n=9LnQyp5sQ!fJT;SH}Yf4DhYlWPXgeWs|<1o7hAx zbFiWrpgg$Jf75dl>m%_)aZoCmUjtF1c_6V73A+~JJT3CbCmwZY74qysw#OpU^ujni z@oCU}5v=;-nKV9fg&%({KGqf>?29KA=5N(An%+9_0X;69D7SW%v{mYzp!d?iiBQ&Vs9Wda^SiZ0U!c2#E^CDM!ua1H<1Ki}%qPI%ynsm&& zmkMUzjM%}fTd<;@--t=vOGTnTk(-W*&bj);3U$Tt%CqD*QJ9EuvWkL4f};^NzcCQV zya|4Srdth=l#p1k6mDZ7)8!#Oe^W$F%M%BFcq_H(k3RS7($tjp5;fZzi|tu=@ZUgM zjnNkM*wKmHkcU;U7FZ9Cx1UpCNggB}oV*`C~{5%@)IJ+1Y`{!iC5fVYLTH26IUFena=zWA6g&`VQDN zMsL`i&3qqLO5-fluI+g9{LNS*PGrn@|B&llk+Tlr-=GXzClEW)ag)Kl|rxHxQ6AAqNSIV{}W$SlW#G2Ud#(w~BXpn^X zZ6q#TJv-9l!Tc69`HkiP5c@T2Bh43}k3vrOYs!jEtW35sZg9rkC_Ld|{Tkb6xQrdx zsQ1rJg_sveO51Ew)BUKiNbg0aSG(BsNFjI!>7h&2$tG3SJz-Kk7?8!sp5@Wwte2Qh z-D1;`=wUjYtEIz!1?N4Av>mtD6G_I-_9WF2@Ozo*bpeGA&ry|Fmpvy{VqoFPASRNP zq_ioP1rFA~N6t{yFCouMk>@L<7Gz!|6?#tU74qBw3LT!C3lGPULZ--P`?8^N(Me5( zFzB@5@Z6o?7#(?h05TjEgt@8txeoliO8r(h!rT&Q&+{>g!*W%y^1UbnQhDHj(ZzgO z1+@_xTPY#y{MGnoHSj!vd8{hp6-e;6C|Fdj^qXhGN{8+eE=~MOrmE9KZ%zZj0@?a&;uW|p+i_g-(cZTCl?_o-8jIl@zT(&0s{)1wS zcnJJTU5LZb0xux!J`7ka!d8*A!!+;TSFe+AF*dB3>mzkCp>;GOEx<%iyA}&017D21 zy@dv+F%pPYj3mcOB~r`rm=%@YK95eO}^06$m~>f_E~s)@Urn3bZBk#Q7#P z`+aGJS%QxBi~d7JRduM}YLWhb(r-x)lo-Q*i-FKS4*p;J2+MGV^7r(wDt{6>Du31O z1D~bIsiq3)Nd@v2OR!WRO(i5^705x4njj@1{x2Ef@6r;QFR7=#LY4hS`*whhQ6TL= zX60%A{>l4B+)D!Q&#vf=_$GP}l9$AD;ix52$7|QC9xv^1prQEY)RP z%es$&{EugEtOCgW-Q<6qYNg<1oq~8G6@tg}Kg!TJ6SUd#eot8iP#Qd*Vl4k7le8Ve zcQMxMjqy%!7Nm=M)3KuK7JG4A6-!^5T2qH`T=*vHkU}HIJUqjLiC3?UQPL7omvoE| zf~%{gU~c)4sLfK$aVv?Aeo*h6d+UT+5_9JcIMKFTtadK9WJIB<)7$a+-z zs!OReU;6cF8SB19nVRAd`gKeG^nVPG~bU$S3kAQBm zAD%Ip+~NQN)$#}9J@qzaX^G218fl^QJ7gh|a#_e?Xai&`EzCt}RIeb+O)uYRJ#_C# z4+BBjEe^u7L=Q_7=tvK^KBT_TBd!NVNf-Hyc>L9N%IM{KAd8_M$Y)x(jnb&zP=hn^kjArH!KaWI}GdcZD~>Uww+_JCvh^@XKCncp9f@=6*Rp`>|4`RkwukZot% zGIOH|a0Q8Dx*RT|mm*6p!(_-=rpRZMOm&mU>N%rWwGbvl0w$T7;FJY2=hCYqO|>G1 zTU-{;5={*u(B5L$N2i`}KD@rrJFX{2$Q1dE1gKsIR26^(i~v?o;dg{}Wo`xZYTf|&Nsh$L=tfyO{C!ABSFZ2anTmLgcTIgs2 zSpQeoQ)u($5q@<+WUA!_krD;VJtc*yUq_;2-Ugy$&Zbm!EN{hul6C@1Zt4Td-ajro zNu-6)uaRAsL#CE4@)^ZlY+WHy_1ucIn`GdkY_q0Qt`CYCe5~~`pd)>(h=6W!IG(W* z;uc4g0`2tiA@#9zTpuKn7DACsi_O}w?qq6dNi&LDy&!~bNVz`9fartN%Jo4pgCn07 z`xw}fK2}CRx406XB~{2s0_}^2jIU@PA5kBJ;`$(ov=EA9lCn{80?m{SZ68c6UF0*0 zEBdH7V^>8VWI*&mI_3JHm_h$%L?44Y(#I$Sbc?ItS)z|s33Q+j9HXl*VDdJqD@YGLZN+wcbxrGwRyL8VNm;oxuknFg6p z+x}TIRz{eTh|zq?S2j$XNTuLnLe-{5;*n!ER6f`7hv#qgYQ|heC{@(|ml-$il42xtFin-T zBjqoetp4vPqosnBNc!JY)5IsBR%6GZgITrF@Q-(tL{4qXN1$Kv3HwPy;{7B>NEi8x z`Z|m4M@tSrV*7sOGLcBROk_0}`nsJfozGd`3L}YCC20ay^j6P!HrYE!;+FEOwk6T=;_6!wMbgVI5F*i)-Uq zqK9<}RMP|Jif|8EePK8#+c`DT$Ot9P<8Pc(BN;P^W9N#xuOvrX=;7MaElZ0EYZ|@1lnuL%&C1zJ*^nm6C-4bd`1FPuLG(IKmtYp zt0(dp>WPeIgxx5aj`UPzPK{(tGBv^4FNvO3>PSx;B8FSs0M8OV2~b&2oKwTvTzz3A z=-N3oMo0@CEx;1asWDm<;a3+#MlUajlqhINZk3XTsFdMLwgri>)i9jfu^vkpY<_Af0l3P|V;(t&deZ(#K{9 z=oUA@Ggd;};-;lQJAL5dz52qaxIRcCErcSO7MrzU-O1F_l4caQdO@f%heQTMAEZ{U z4~iKa@QT>S=#KQUB?7v|&G9U;k1YtaFB*1E?OW<&wYWY=A}xd>nZ!PpU`~yxrHgz< zaYY}$W=@R^h(1WCTptuOXns}nv3f`P*aiXJ;#PQ;=woXF9q8jb>SIh?A0&|$LXk{M zT3(o1y2xh~_gC8oql-SsNx42KX7HHS#~S7OK>24|fgOzMd&pI`M{x=Frj&heAhw*X zzn%~-lbFpU)i)u^h?C1H!L|!Ar6HSbG3?UY4&NsvyN0l@hy&ln2eb?C<{Z~va^~z| z97C{Y&iH~kDSgI#Pw{^w?#~zN{{wX77U#$P`2zp={VHd?#)Clj;`D>QUnPGxoYDO% zrjswaPb${ITQOZZL5+jSh4(QtggedeN35E3v;SB8;_jqJXJTXPJ>vF1KnQGlW(a(m zLWjr%ui6lqc!*Bf?m9#^_`-(B#zRn(J#-l8J~hiEgiWZilz4EgXBa9KbdN%%!cc7x zB`J3sP@mW`%rltgd_C-p1{Pv&kzw=CVlR$9*+o12cl-Z8rR&Fjg{~R4BVGTo{x}?? z&&TL8b+p*__Oxla$f76C3ao&Z0=JIh44XcZh7)%H2z+2q6wgmeUk*A>g|uBKn6={;wDWw?g8J zU#Vcbw+tCv8+>;3k~(3pdYl&x-XkQ+YOV(s?C`dE*U6@EE0!euJUwCwYb9VW>D*Y- z8^41pd=cy2S$X;B3WC68@Na9{L3%DED;kerA#bbF0Q9! zQ_aHOVe;Ukn}h|13z)PUU$5geMQYqqc!Yl^LW}%I_00Qh9Mk7Rdx1V3CD-|D@YPE3 z9tBKBn9%3#qTGC&(2fSOu1x>ezv**bix|E6hY|xvE<3T-Z z-9w0G()kx@uU^`i=L^!OtrYjzC5XGE{QalG89gLK4>(^N*TXaz1N1-?dU&at9?Ij2 z9)49^oNKF)F44uO8^w*MTP<$6UQ6Z2F}4bP5M4YUQQSBm)#7%{2S%M0_#nD?KBBmB zK9(#l7VRpeOLXz+MsefmR*PFMzkLs{%QAHh>ME2^>|~F|rF^mDPVJAC`N*Fy);}qB zjgt+LKVQoHG1`j!`NDp>+}m7-E+}tlYv3;uV|~>R^#q?fG*MFppE>a(3TU=uqLap-3Y*3T=BBN@C#3 zF8_E0=I3Z*k-{{ZDy4xBhDwZ({~i^?1iWw|3^&mY?n1I{WGx(hOWd@4n>8BNAQypesefVj|bnq#AE7D^`7yAT=5)6MI$jcNS$7S(}i(D|5i1dfJ7MV~R zg6Em+TZidZ_-16sgprgGem5day6cwFZPc56mx$L2B*AN11)!N}rz6=6+kuwQHI^+^ zVbc1iR{!7|nvv4dnPB(_&`v8`>~uEvB6*Zj4%+f;lzv&7;YTlJ21|eRG9@Q{Yl4eF zH9B(}I}#jR10SB04G&l2qSp(Ncy0BMWOnkx?_+Xmi$|oIc|@uui$`2anW%~+>kb`A zCM}?RlKW}gZYRfZgQY(-GUMXk=5h=d*tV2oy4)7wH0@s|hn-UmS4JN5%r^qfMZaPbfbJnn4st%Re1M zkpC82z-aW}RyL$ku>9%HKk1txuclT(Jf0`Zl-yYv@!B) zRZ#_F6DSX1FN?9Ml!d@%qVOzbbXmeapCAQ2fM%^$8sZhC9DL0XA|DRdh1L_rpY^GY z&)TjuL|OcvrM~EEhSVi}%*%%s7*VhL%utUF(AmeSLwOAEI{7okJTl3n?{?MSG0veL zFRX_F74HF+GcpWTxk_ho`BmRBCaJ}J$M{-sKI1Ud_W01x`rxDDErWWFIws4m<+2)xSa=tn;}nj&ER@znpiZ z$UQ~BwLc?^@_IWV?iTq73F!U|dN0zSS>X#HCHUPT&y?t+Qh(+aN?x@;6Zux^&qTie75$kKUHpI8pDB|+R_g!YvhlzD8QxVC zyQAs;r5V@6Rw;#Xf)@FzX>|Qg;IyYpM@9YqLd?s@|UwTMQ2W zI_l4CWV-}q7wfg_&+J|<3;Q#jD9glne}=&-%JQrFGo(_nKcgk+{f+czHnz-%{TZ`+ zVn@tNwe0~Km~-EgKgqVe@Wc8tsSX6+b>w>!M8|j2adoSgOE*dQbfbjF55r@|+uM|B zU<+W*|BK8x`IjR*@lk404;}&^;WxU{MJ5z<|JF2VGfqVKbdhv|V=Nl2#|n>o!xud6 z!=Gf^Wc)-tb|#OTmGa2&V2#BbIapNB|I{8koqphBO|uwk#s8Z_@-)di~G@c zYf_Qs+b!-3z(1KoOYeK2>r)|E+hI7Y?eJ&Fo2ogCxE6!_nusl7#2+d~yzB=fO<9Vx z*QB}zdE140+X5=#E*KdvkYTS$IP-*iT=Tf4)tSy$gKtHAFhpuQf|HU4-r5G&Dz2ym z9a>vR=oU3aOn3LRI^U!iqLs)XIIr3n{6B#CUM!CJV7k#?gXi~kJC8LdOaw!=ZQ`;q zm?wdCy20T;;@ZsOsfu@5Zfk@o{}LJ-j=W(%hxN*g0*8zr8Hk=YJp<}`X7C9}y=PQ#f#85YV{80wSUjXbVY128;K@C0y*2eJIg|Nu`QwJK5xlXNtRIQg04dC9& zmN$Afzf2B>+12M~0K!|CQO8-pPDJp2`Kgcx7X2W{WLEDiu#2MJ|qJ%wz}*G!k2X{wsJvc+HLr`1Sx-S0_#pa>{hA=#-i}MmkK`vi{(1M z$J_iSg#6~ulIAz5x7UZD?et;M1*e$nECb(xPVk+9oXQl%znxBqR@ccvp-$SB2UCmN z@-PGX=|TPMQK}zOpnmo&(+?KWwSLyL`XL1U@TaPNGDQ*$KA>FlC|5cd;2N8VY?hQ{ z;=#;>h23J&rjT%phuE}H&m`4-NTetAwpUzlx@}_u_%ya@0a;tT>3MbG^t)S95b6!fN= z3Uj#0Fi50b{eccP?Kc5}p3Xq^go}I6#1ERe)e%D1q*yF`j4zUJy05(v==F-x(~3Keu{=DGajN#0qioHxQB@3hrdk>md{VliNq}{A}Ev23I z=L(y_9yvsu$21U;eW$VDN#cbvR*5&U2JxhY$SlA&N3^no&xlIV7dtx*wE9$)Pd-gt zo8JywVLLS>BU$T{*^GZS*z20|{EI2?gS8+lIe{&bR}#6p6A;lPPYqKC!DV%TLv8id$MgOY0=urQfN9OPOwt#=?RhB82y858h4>dzJ-e@=YATfp{eT$d({9&W0-BAD{#~#|l!lW? zb-DhADl{nN^h+X|Drt@Z&7~K^XGpUXZZ^M%cJBG;ZFs?p0}O4cyON6aX$6@p)~6S0 z(P2)g6_z%HjOgnQv`m5~`P{fNpOt8X-P^$?YU?vdeb^vF-KgLjBB5eQdkfJ1jdc(c z>YAdx+^IEl7L!~!*d!_Aiah8KY_H?Af18eTJmZ|3w{gs57W*@k5O)ycmVU?GM|o#6 zcM;SWY_g1rn$eBxO$4NI&FBxtdqW~X8rSU!h*5{_&OoGdq3khw4;xy|_u^&oGwol@ zRIXqYbdyaRmrxzXxrA{>v@Thkd_Rbj_Ah0eyBMb~O2@5|PCD3pS$B$$*~?r|fGZTo zC~pi#G&q!inG}Yw-;`S!at?+*3zN}T!W^JTi(O^!L+Un$58R>dl;BxBFu%4hJ5+CLAukJ3={WP27|$uOe(a9n0zNA zogr1z!L3`1mCvS=AAxjuTugubdp_S-!QQ%@kv)UAZI;KId@-S?oPGF??+Ka%eQ#R< zZ&y-}b_ma}Q_eufxy3`7-P$UsSjls$Ey}Nyl&4na|9;3?jNv8!Q87sVlZ?qae2`d+ zR+Bk|gwq9P->mca!JiF=!$dM8Tz+T7uV5lE{q2b4m#wNld||kX{u;$Ls_E`3uo5f{ z2BMBfiJVC_xx;ktu9|LSm*r`TkI6hTARn0zULzM_wGfk=^;UKJ#Fu@m$lWe|>?ra7 z1XJ-b8p;I^u4t@*jeRV=V>(Rl-X%{D`(u0@PssW6nBKlCne+^NAK`_^VlG80SnSc$ z!LMeP+{fVI2&0t0eegQ8svY2q!{z#rTB2(*jm7YCourUvC)OcTMj|;Wvsgy=>k0K* zImSV#AD*q_zRY1&)Bl@IKU25{f^vue?G#{mZvxYfV*%ZyRgt?3Bsor?6}c;Y4qy@E5pYqV>tX zIKXqLSgd~??FE(m9H}X{SQQ$O!ArIwmA@W-!Bd2E6^^vohK|SY@G3m$M9}ptPa=t< zYxx^Uux%6wN(;d{fqyai(A!z8d=FHS&+iQ}{Tq=+hqCsBWWq?(Xv>JnMv<=vctG37 zwVheW9k+NGo-L8OWRrXe-zjx4-dAKE2gp9Ge@Hupp^~&yq#{{VW3mXJUk)pfbS9QX z>6i%FwB%PC6JM~4?PAod=1##PO2JwQI$@~JMU^o<7QxR-)$+)2fsZO{E@CW%8EC6B z$w$;yp`9fC&aAfTR)^}OCJW63A$XJ^xRoBdMm0KRgMYZ_@d!M-MS8RizU4b5d-g|C zk5eIFd3#SPT90WX0=}u-UW8C{Ol|>2%HeFwlrho)m{zVi!{>hB^GMItZ4Ff4HP-SUE7in!cq*Jj-yOeg zOfQKvVSZ5e@klPc4TeJ}ExGmxLK=8X7`JGvTU(zVcug6Qd)D2NsKABji z$fu90DyL!`f2=v4Rn9R|$6u&F_LDBd>+0aAbi6H0*!J)V!$alvuHZx3CHTbSr+Jk&zr?Dn zrR&o}Gl*HoofW8pE0ZXPOH%_0_^gvF#~v1xC3lF4Al zwZKZ)k!i%zbJ)vcuQOsL>|6C$D{ZZLG3H=?X%;6TcZw(C(dZUWW==`sL%_Fg^I((p zg~O0d*V_0^C$!V_dgroO`OJyWYvX61^&|3X! zM36R5_s2%4!IRWdG!4T$OZX{B$St0VXQN@8L9G3-ytDopOBs$Nqh;eu5-780e6PG} z{m7JpmDUcsauDh$Bb1qrFx;^prO(Zw-Nw0eZj(^v8jYOCYcw8T-dv-B6MZw#wCXnA zoHcY9uZV5i(OE#g$o$p6Ad{xMBQ2zq?n3aVujfek+o8+vuY^bQh=Ka8$sa>(93BfW zUeYaRz7hQ@96ravd+=7nEnBZ3E!EmPMgsnt@gJGMZ4hXB!pCS@C(tCH(AEL&TPF&z z343gk+Jy4dOj55(QbQAd6n2pfdppvxDX+1vA{~r-`1M# zjh7z>j!-yg$<)z_RFm-!J5?}E7zWno@B<|xH?e;wqr;&*NO+i>oF6>{zeqyPf1C$5 z$&w!V;Q2lFm!V*JhkA(OACsi&6NvjR{&Q*|YNHJPb82+x^3?ipY2N^@&GGN4qbzm< zTqoi`ryjubYf!0EAHl_NNCPvDnqIASb%RTX8v+-@)v1xzHQu@=TGu4&+TFSW>zWa| zJasHw-wv8J#JkuSl2t&^`&+FVqIN38!49xU3F?$=P)-sVQ*jd^Eh$qtw3m_tb-U>Tr$6YmMjB^QaiK zyz}R34Pin59DLj6Z07#*Sl*>?PEEG1U9U1&5V|1m)rRtkx10Pp11_DHm&2t?{H>v@ zLG`)=+~dttAHYSfa_W1ybS_+Qr%B_3(B-KO?lR#T?l$3;3tgVNb%EjF>VGOV2md%m z|E$g}Pj$Dhk=C`Pb?s+eM_boL)^)FSJqMSj{GoMyZ++{rg^RY~srBF*hJQ~@#dBx; z_i<u&$%6>!#3Er~dq=w#hox^ntO?w?5Qq(uojmQ$}=SMn2MC4)XSk{VweLpz1$|PVk>o7vrg8JYroxSl5Uz43$0L(s^_&T+~aQIzPnfRNpT(73csi zUA9gMU3Kd6&^1gA_zLmxKSYhillkkZE50_laJ_ZiYF+nO*ZtP@sC7MQUC&t8E7tXf zb-iz0iEngjb!ug}bX|9N=t7Byi`KqIBKa-tny&7l%TvSQ(j{fR(3Ml0!=?2%*}6`# zu1nyeHtN(f7W*15*1*G6@jIoq!+&pe6rQZTN7}Y~xH>8H?V%on>n8m7P|t=gPkjZK zE|-ho(sn=SdlPOfTr2@S)RrOUsr}*7F^X{M7?+2>J=A^HwJ>yfYEc+&i0bx($*n)b z#TLg?2g0ST?s&L#o}UeuZny4(i+bs;euC?5{P$K(KWf(~W!ksiYI$Ik+*4b?wI2RG z<>N`po;upP9)OFK$Ed_lO1+A=2DJdL^YGuGynks|o%#;f6lgnL;5s3dlM=?&9Us1@ z4sz=1v=iq3j~VUq)HYci4kfRX!A92^Y&VQGw7qQFN4px-{R14S2|YC*F3t0+1GOus zzJW{U{`G^jE2kz5c0zmEE_97lhr-3u*kE0~)w#f^wVb*OF0I|yLf0tUGxF3j%Q#YF zHmL34(p08|E>9f>7q!+~odlQ8g=?(qZtL1&9i1~dH5~IGOszpJkF9rX%No?#aOv9O z7VK};ytLtpMeVxFy8dBZuUXf()|DD=V)V4GWvpwAb!`;7P?uQjniX~2I<+u#4N~93 zMGG6G(knS(&Dv~Tqe9mZbpc$urg;u7T>{3e4B61f9A$f(IduUrO4OugW6_ws*PQxd zRh`p0wfbo78l_BIG0JLplrq+tQ%kLGr2GUf+DlGdK34PRsVCsN75|=k2hV54)p?ww zz7kg-xU}yOxU@Bmv#!12(k1UnxO5NsCAhRi-&?E>BRcKdVqGg**XGu>edwxF^VZUw z4pLih;7G43r}ltL*K1e6rR8|sx<0b5{D#K&AnUpbE?QlkdLJ%QK_7EtQ&P@_i*k%t z@4@v7{xR^yK$r5?sWsu!smBrB!j(3ME(v0jUIT-sX2nAkXTpzr%<}) z2?7%d)9S4r5(KPSWWFGW#*o(pxx^v^)cY#ubW!tw@ULDCP@iGU+(j)2k(63meXcHm zAHD*sz7=$!`a1vogm1L7THGKD#)Q0*;d`-P>0y|EPpx7tSl4+ zTb|^v4#?|*U|CWA8i2eh$UPy_1mtZ&9u1KmK;9MPxe)0M>DC&Ko$vdWDId#>hPQpnSd~!AUDU5v>;E%kgOm-#*i98`lYm_ zq|-@|^IH0QG(=vFs+l+u4)ZI`iIDAYB#l=AR{fZhuTGutwN-`+EeW* z$YdZotv%Jgf*c!$Ng>R1LCy$~vw*Y-aLfv)j3Ji`@>UGFM|Ai- z5dKY6hp3O;S&+0p=F%wFWXxXE3qbUz72nQXNLM-5bRY8kweu_66*vY zTCQ2jL2n9m0uWu^XQ^gE{tiTIb(ZQb$jd;O`jyDT!Ge4qA}Mv48X*X+j$zt>te7Cr zKZju^;iT7U5~dSo{}^URAZrLRFhq7yv(-33#)Qc3K-LswqY&A~IaW;&nmB zC`b?@ZR$9+i6BRX$c;d@5afIyTJ{swE`mI4ky8~;euC#ufM{);s<0;-$RZ%r#;xi! zb%Dfc${OoEQ(c^xg?c^@M7JPks!JuzDnN8vXR0d&**1pUEXdw5V1jzDiCV*ULYR{@_C4))Wyn6GMCZVh5THiYNZtS0ir2i zqPj?!<$#dRe(F-yPmr}kBv7}gbp_crL?!}RPmp4WJOpHdAZLfjKXIXFQw+GLnPKn zAe!<#b*La4S>$0gS5rp$(z*Pwx;uFR;!j2xA_}+cKLGu7QPV>t1!TS;M_c4E^`s!D z0ns{qTs#pE*~=m?tF;6B(I9WABLvy?C4;=FjuPZK%+T;JrQTMv1=$WWH5z$O zogl~^7I|NtD9EsdCd>!wWI?>w4DyjWU66Mz@`;)&$hg-{m`~L?f;>u<;xC21*ZG3n z|E58{P!|c(?Ja|RsV)&@sztt1mkBcdZ4>4jb(J7p-Z98`>N-JovB>x820^~H$Pemf zK^}h3#QI6yAqYQ*z`vAQr0x~u35zJ_Z-QL+p$X$U_Y1P=Ck9D44+=64vqk(%sigC; zAhRu!a^?#X<%Q=wCdh`EMbfd-&J%+4$E=A)GR~8N{L>;?XMrFCF-xJtPznoEHR{VUb4XB|#psNH^ydK_bd6&O$*V z$~~Od%VI6%yeY_bm`mVaO7(Ky79_H|-p;#%)S|bk!}M|97bK$G*ZEM8g=j-{n10U3 zf!<~d6QJ#))Qe|OQbkb#ER(7(2MEs0$Y6OYwaJ17&kch+8 zoX&zo9Io!v3linv7^kZsk)GFZx(O25#yF>0kjOUHbh--?X?|^|ry!|Xqr-KbUV=pV zzP{5(kV9;k4V`|1JY|uI&HzE0F=wRnYZGUnAdzis?hFZf?QZ{kX@Y7f<*P$Zq67%E^aVk_Hf1t(vQs|{!(gh zXDvY@Jx_Ml7bMd2zRm`MM0(!O*+`H`&r_U@1&Q>$zq6?zk)8u*b3r0KPj$8wB+~OV zXKO(sJs;p~D@dg0gPiRIiS#_(*+Gz~-6=YM5+t&y8O|<(MEuNhb`|7^?nWC&IJ*n7 zG8dOcKSw+J2y%EYgB-5`6eP;`tDTbtiSqp#=Tt!=JzwjbE=ZKtbREnKmTyflQ0oK3!DoCiTHWSxk!-64xe@|5hSw1 zXPnCfIcTWi=Q-yJLB6%f^UhU*>^#hbdBM3xkjQ>sa;_7k>vAT{%gzmgMCJVz=O#fS z{Va5D5hT*jYtC(gM6$o`+#$$Om@UC(G!(?<^>z^MUh}AW>d?=sY7xloua4&j}Lc#mCMIf<$@oiSv>mQJwIq z^NJu*o$$G{P>@JtUplV~5^3yf=S@K(e!g|y79?t|zIWagB&tb%aNZXrYR!LiJ`^PC z(=Kv879^6(bw3p(>cJ-5&jmSeHIrXS_e(*d_T6*879`>)<9;hh)OzOJ?*)lk&sz6K zL87{@&i$7lQ6IbBT_i}x?k2SHH-HafS zR$JVhAdxn@yS0Kux!l986C}#zo^BUGqFi3eZ4e|X7rop@L84sl<2DHr<#Io_MUcpz zmv(yy5^*@#T}qIM!y#^OK_U)^x_t$SI9$%{FG$4UaCd1zB8{!&4iY5N*eY&bkZ7DT z+8rWDq{G$SWd(_P1#7s&1bJvZqv!GN@`6My(c12CL86vuJ$FSxqLyd_ccdUuOSF-@ ziXc%-w23=Pkkcoav^IBF6XZLKY~_v-WS5Ohm~Gv$f<(FVXLmh8qTJcloghe*JG;3X z3KHec?(RfEqTJcT-9(TmclLHS6C|?UecdetiLBRmw-IFI=7z&5?j%8?yx8B}UXZB9 zF1R}i66txWyOSX6ZE5ICb9d3PZ2NwoyPF`94i9qo5F~2N4|ewwB+^ftJ6VuOKQr9@ z1c~%B6Q@R5DkJ^Oasxpk{T%L26(rKnk?sM4MAmz>dypWJ^&aC+7bLRYS(7tRpC)v^NCuEn(q zT;s&GEnMrs6_<^=((+PQ+EtI;3)(d+bUEs^RgJD97nU;>_N;^6h}E=S>eXnto)m1X z#n!jj{%}1lyewE9H!)(S&{0du{U4*}gU1=2USeHOS=Z0jHE6sEx0!Vnt?NSTdd#|v zb{+LOu-!zqmNgBPbwXFYx@#@$dxdYkx*smC8`Y~v;hGJXqh_wH)KB6%3odP)H^aqn zj(W`c_FKpJj)IFZ;<!71Qpu>mQh1(5?+ZNxNRMu7fbIKy1^Q$8Ml0*DGT8 z?M}+uV;{qsd(d^eb-jnVfZmup$2#jI92E5EIv1`z#q}Uu)5P@_T!)Hl!|jyf+JmE( z-QMVBGq^OByWrCDE`Uqxpc1z4pG@4Pc2epe!oiwwy(F%AaB;TYQP=Eh!aWCgCc|E0D&+`P=*`@jS7N{Q9)t^jY0&O zl|hifs36FopnwsAL=TfP1ql!lG%_eEDC)PW)~dC4I&jWC@4e@~?}xwG&;Hj_tE#K3 ztE+qW?nY%s1_jH9;*~@@GMGIe7r!^B(Snp|KT>`09PP^IP3j?hZP|RQ?!FqM+Z;<# z-CEwHR=_hiQWsGDWm9|Oxf`h`@b`GNt?!tq$u(V+cs$FZc;#+%sxzvlIi{w8HVCw7 zm0@n(7NM$z+fBhnQHw_79Z#0EAA@(NSk;YH7z{#X_U6`Xy_)!^Evoob6}giU=E)p)C1i&q5G*Pg>G$Q8k~AE`g_ z?1WTyJSk;Ikhd^z_pvjxU0vQqMI&ngs(ehX2%q7-5_2mU^>K4jI7&^&-}+%03htQ+ zHnM^TQ4z~TMN#I9`b1QbDExwgeb=C(k@X!^W<0HEZsGuQ{anGZdDKf3gv@uUHmXgy z^%ZnLRbbUnNqq%XiDe(5GJQkANl{f7;9c+7OBCFWs+v^~qcS~5!6H#dP?`Rs;EFf! zzAl@3o2W61Ta?hJ>)l!&67?6VZ)}w7HaKODZ)UHk z2m@1;-BT(;&2CQlyF0a}%fL%&O9(Q%wwiB<_yVZ`7AURgq^s!L_rQW}z zI^%Z=DfgNjMipCSdg5Ch3=61M7ik0zgCtQsME&PdBe4&y>t^b*7}xS6t1iWE#N)o{ ze|VoGD)L=QZNU~FoN9c5b`ETX<@k*)^|b&C_yQ`>;#s=@?jC63nfbvjgN!PV_dYhV zYB1KB`u%?=^-}9$TB9!>3-Q+(5sKG$45~qvnbbEfk-EaNz3BU3cNu*omYow-3%@rY-=$JZ*B}LF3t{m8W)9Q;UVX;YFQ5WjHNY;V{yRR?;?yn|s^NW@ zb`LdW?0U}BCHqPR4YG`ygsQPsb5XUl>VG3O4fo$}6HE;*Rqo|dUzlie1X91Kf%jM1 z{o_kfruLC9xV5~LqBRe!WjfA~sf9+1nkZ_XsFkAfLE%-I64hPQ!=j!R^@^xBMSURZ z3sE=R=OVWfHAmD|QP=c#zM-OaiHc2isVhYJ`Z!iy)G<~#^2^cXV{Dh3a!a?aNj+rQ zg?b7GzHL$iETCN5|If$UgU^o*6iEH| zRfA><=6qJVg#s+9Iqp&0T`KkVOEFWfH}yE?rGDR|h2mM-Y*asgZsILMMLCwE`pq&k zI?_Dizv{a#0pmrRcxSN&=KKwRnRSUWF2w@%ThJ1(e(W)MKf)F#6@G_;Pb~}7^iu3n zIRf$C#3&Q($RDU_AjIfI#HA`s2or-)&)krOR2PEx6h0~MSJ`UsKW8w zCk#$WDs*wFl~7UYW2k8Vco*kB=BftP;1cCNi{JFn*?TrBI-?4x$#{i;SU{N^P4TX* zFbJ@K+J{#SDBky|XngrySX2+k67h&#xx9%IPz$i8-{4Fo2UP6kP{9Q<5EO~|q znaAWQAtg*E3Q4+=a=j{K29xxJxL(m+V#n<-ap3 zp20%u)we`?LMWsXfv3ci$>ePz+nE#z!Jo(2(rZ<5YdW<7kw=BZ#S_^iB#%k8sxDV? zL-OfAx&ElStBGrfyfyl6Yd~V z?@AXr?@l6*2uVvMk}D+lE+WN3Qd<*=!Rv}t!!!2~=__Pv8zQrX>}W@1mk{VcB;qO; zCqIcuqL93fL`Dh8>`Y`$fFu)%so~-zbRjZONL&h$w}dq9M&y)`>fMR7yxPT?!DPIU zc|FMUsgU%ZM8acSu3^21v=>snH<6cwME4=`wUDIy4atEv*WlF&yWJ-+8H40CBw^6{ z0ppnl^N=h?5&^R;$&x-_4p!OzoC6^T0bar*S~*xq9$1UH%=Rh=SM@bCEJcTCRo}Olk{R!laXsJxnr%Tx7CDNZ$vktc^k@GdV6~Ba?F1yVCs+QLe^9 zQkirWlE>sJA^w4s>!gs*Oa|WIBF|v*y^tMD8pk@1e-OoaR!Aa~kA>tjIVa>IlRIv7 zahg6%aV7{E$>eh(tC*C($>lo7q^FShM<~t=A?Zwx3CU$r7mus7f0ZzKL`YmZ#aS(6 zAd_E(EN9ZSj*D}i$vZ+4AEh`Eb)9DdlL12ZFsv#H2{bx}aQZl^Jaci1ybFvF8eivLwqNU6116vsu`46A}}rJjAglfjt%AZuWF$PX$O~kC|nd`b5J3_6%oF zG^Dd<0(&aLc=pU?PesUP&uaEmf;ZT+ojsKxmpw)7sSKa6=Xds0h646fi=+Bffn)4x zg2b#>6)0g(clK0;kipbG!`M?5qAbbszrvnsa07dC*;5VT*t3N_SHj)w`G!4LLK1s? z^{GD9VE}t-Au;u-4(aS^i)0g$t6)5P%$#ehCE4tG2FVvlYQP)pc@@bXOLE!s7LtQV zu7*$8^AVE6mK3mOCz4_$F>s7M-yr$Uk`ne@KyntzH4rj{+Na_z0KZxiWyuzQT_k@Z zxfWtA$%2MRLbM_AmgGTGBoRoigES`XkW@rc6V@{6gXCHyH$VxK!R(2J#3xMYd60$V zCiK*XG$yl<;M3Ki4m{7~EhJ{#s0&k>tmHU#;RKV7OyZ!~P>NiD#I$n*NMf=FiD`{^ zc!0@aCJo^UCMP-9tuVooX>j0H{1y=F(+FaQnaI=Nl#m1_5&NXnHi zB$LT(Aq7mf2uT@5x&9I|he@;BTv=5{lP5#S1STH}DP(d{$jC92t3?wRrs&LKhhDT5gcIB^Cw3Nm`oOuWaH#OzK}bZG(G2Xt>x0| zHFN8=d_3U4EJzZvB#X#nLaID($T*ma1YZ=1eYNI9B5yHi3{_qr@(GjM;0sFveZC2N z6-1uKI8C6)LvRDwe_KL-!Z_x4txe&a^&D4@G=r!YjVTbhIUKg+h>C0uFcWh%hhiql zNERTu0~%zP&XowaTXICbkDjIINrdK1u5W?&~Y7_E>OrGH)rb#Ke5Nn z*}B3-_P9A)3RIq9)-*6@OMw_m0&})*(1<;5&ejbQ*yHAG-JvUc+?=gDq_W4&*?PcG z_P9A)56EDTo3r(VDeQ4`ww^GDJ#Nm{3s$nn&Drp2F6=pjThPo8?}Od!DSrpef9|v2 zW8pUS$00GE-tZH9{>Gl(aFOFY#-3EDJd@fdn?0!zV@Z~O8GHIbBlc`zPajBN&r$Z= z4_(=#?xgzM52@^_iNw_B0T{}j1ok`t8SLrFp1v@JJww>j7v`|%1@`oVmF#(wJ^f%k zdp5JDKkR1DLH6{ALiV`%*Z}y6J#IcW04}oU9Ok+T_kuL2Jj=9CmcK$G&b%y%VRADP zvtECPMoc;&F>}$sLjsd@_B;q(nY_%N2O-sx;}Oe|+=P)If?-6|CM0HF_YjyTdE#^7 zEQv$U!%$^5kuTYk4g;B#FnJu-Gl5n(>SL}apqNP|BzGbi3RUJ%oZ3jtZ171)up|qb zA-NYl!=W8}+9OFuG6Dt%5z{^+VFHt$=(*35wM-sHVrG@2p~#XvaI?xWP{PE`D#t+L zYo+brC7y%E?1{ezV88WrV3L63kR>Th z+95fLBnuv4(hZ3@QfI+1CZ;~e(epgK$fQ4d%yX5Vhp9}`k(jb3z*|g)BQa%7fK^1K zh7(~udrqUrls*x5Gx;5fDSaXoG6`=(kzatHm{dVxBEJ9^iAdxZ!MDJ+5BwcHW{&+L zq%oN*B%8?^A!nIv6;kI7iWAz_#p%rCY9UjZ#0xpWq_2=F3n|VkLK2y56*8DfbURnp zTp~g1wa3;l2cmzcWA2M^hI6%$ToV>iS+j)fV{%AH(wpS*w|8Z&WztGW!ea6a5%MyT zp!%$0&)eduvV?N&6q3Z`f{uH$AE~lOiVB5MyhY18@FC zo|hoX)-VUpxA7TynCoRIX0n*cB)HPnCkK)gc_zbPDjjBUeR5#l3aa5pLekzNqLOI6 z(6fq23n3#{6L~~PA(PcYs;nVTiIA~OYX8keE@IMENak9~l`Z51lh1^#T1Ot$(Zxyo zkVq>b@#~3<65{)a$Ol5|d`!f=IMnRRIgqfC$h|`LY$7sMNZ(J092Am~MehsiYs)*~5!WCrB# zG$im{$!xfGmmz_9_-l}4OV5EFp?DYYgZM2A^tF+5pf=v`oA3}m^A$3fWHOlx?I;fH z#yo8mlCdx*3blF1}p$WbD)SI&byHgXPZ2*=<13^ZkxaIPtw zYXPKvNs(6yDP*!oNXl2_xhN!QFOizvsD=w5dmoY3LZS~487QRiAdze#C5MPC7m`#& zWRH+@M~R#la^f2zF*s(JHe3L8P7-M)WO)gZ2ZfA1L*zvvbIuW2E(9(R`BKR8KZyJ$ zB-cJKCkw9Y;YvS`?Q7-&t%WqkJJ$_)RLEc^vxVd`*(u}%6W!BAj*Xx=jfKo%V!k<~ zb>GKirjX1?%JsgG9ZdEK$-w){O$~n%l2o2Z`Ccw^Tt!31!Ocj_^^FBkT#3kCOx}R` zRctQlbqgWak}dEkdPd;hv=Bb_coso^kY^lv7QsP}XE789d9u;77=HD5mH|{XrBhim z(6bCGTN2n$-+`DQ&m#1^0}VW$mC!WEW1bng5;}N1>mVh_vl%_>;31D^BMc7m>_X2* z81M1qLw1m-7(Mwg*W=ju?=($3*^>|`b=OE8>=!sDSJf1j} zZb`B2Kl9KNr^Z^62Q#rpEkROWEo8Dx$QDnW`f7(KPJLDEiF1qcb5@q!$?k9 zQk{vu58w|Zx2pzBsvz-)8Pb$VeI!+oG*z9Lv_*2AB|VAQaU&i{Gc}MsgV56fNrIYZ zNgh0jB-xTZOrAs18_69i<|^8PuOjJZNgGRO3$8_Sr|N0Ran++Yz{f}u)mSDEBFVF4 z0h33On5UWEt(Gwvh2$WTwrUlTi1A3w^@Mv>z9m`yH-sE!vL4A=>p8)s1j%uX(?R{k zswIKGnyk`@_@|=BoHHh? zF-%@VV$Kf=ZelNccb@i(K!(^p8->xhgOl61Wx<6tQgbKJqQ@P1-L@|mQltQ&1E zsZTdGnTV`=H?^3FTla2iITN?;-PKkmZr!`99YiE@54Ddy$FX#?-Fv9hmW=cNg2Zg) z9_qX$TOjOyTKAsncP3Fn;3iY&El>$b3*3S|Rb?jEAxT8iOI^#P9ul*?QdM0hO^~!h zPaoBoNgE`8Lvp{mlSwk?>Zk5yazB!8=;^PzF?j@u*$ zIuB7_Fo}AAat%@YiTLXxc^KmiQ%Bg-6p5+xFjd0D+ygZjJx{7%ne<`L2&HSAtrOUr zMyeTV_{kSww!iHPk{tC5UWJuS(DztFP* z$rv@6NmO5)5g>V5<$H2Hql$>YWb}mk%~tf)v32(6B8fsWPF>ApHInL<#9EREF7mT# zC=*xuc$I0%arH-Y`o~V_>!7I z1P)<+%ocn}`Rdv_Lr6bI7BXomB;jWAWC%IIWSfu#{56glNvigDaSE995|S84o&`cy zF*zxuHU0w1#Az_V#aY5+jF5J>7*F7Q@Fn%SC4n`aq?QnYEto3-TYi#S&tx}}R!AnR z1D;${R520%H|Q~A%M|rH6P-qT!4&0dU~A~V4oQ2AGgV#9a-LGpqnTPTi#VWBO)v$|@RZK<-iMy3NbA{wH`CLd! zBl7$r`G6#hvIY-GJ#39kaJ8v5|Yw}a{VkMkIC(ixX4Z0lIIB_xlC3I@wMYP zLWVK9KHbHs*`7STh0I_wT}YLC$x|pKok`52E>7zXSjc21bA>E< zfIQ}|F^asTACXf+Y7QWB-4N%Qkwzq0NV^A#j1rQ@WQCBiOil`!!{o*%T;#NeC{8~i zI|dSYT}abGhKvJ4j{D6xmih>JK4s4m6`M}PH zV&o+%aj5l3|5>IoZU4!E%GDLL&BE&~YAus?Ox{u(ZI8-O^-ctM0W5cA{ssim`na??h#?M)kG*CkMLLq|(=_i%iZjS*N0Gi{bU& zSn_BXKr^(~VJ*^{TvSaKX&4!`TiT%W4?!%MgG7S)sp{D2;_FKo)rVA-#@|BR9qbN@F2p4%6 zle>iMVDhApxY3krsgN`#`-CiHa>Ym&xrE7`LSn~IoKZs3n7k__m&s8f#YCh>ZBZrc zxn`6rt1!bx4)PQefrjF#`81W@K}eNni1ZWUH=7nmtuaC_GMOSI?pgBW3TZr^$TlI_ znM4i=nfe?NHQLpARThyNLY6#FFhV1M4C_F1yU zzXEfa{cEc_&t!v;s25F~E&gpn>JkBWg<-2|%AT*#(*z@LRf$ZF2r2$sLz*b zDiJ%1K7sZ5QmtZQM$xB{e5JmyBrrnmQ~NBTtKYAoXP>&}B~yAJ@_tpv67sx_p8cwu z$8$jSCE`DbbzX~}18M}5(@3^jGL}h523=o0sHQWy8i~2SdQi=?gvv74atqZ7O9CVR zAyw(+(lz{A#aI%^^|k8g@f=n?iTGc`vd&?B4y(tREJvav4H+2}$6Q-3QhA;@M^%9( zfo*zJ6*F<$^r*VX#BI}~s`8}Lbv~wIi1>fR(#?KxOf_Os=_xwy98(EQZbf1|#i}cl zj_fH`sZ1V55{GN?jT*{iJd$RXWH4ETq%D%;Y6_DNkaV+T4ik5l{jFNb#GPe-tJYhR z2mioaX_)JTy2!+xWq+sQC!00RgQMtq6g}Um!IlJi)DLPT5jgoY_3$6mJ|^{_ab#qU zZ7~=wr12|6wh7t8_VW~NM@lqE#`IOio&$fUcFqNU_{O321#L_QOe_!g0> z6J4BzOxg+A$0S`yR4(OuNk|_eavc0Yov#WLWazjn3^H~-3Hq{4jh_kJ6R;4kyNk|@(9zy)@ zP_8G0oM-a7kc4;1b4W-!lh_wsS$&t2XPl7S6+~7Fne!fz(?a$!iOY6zs;;yiX~VOs zW)N8(X@0+yO$4TLuAkHjChoh5pVYpfTzfIsPio036FCn~W3F$I{H%JuZ%7XOg`@<@ zFKVwPM^w$1@M()k&Z}Ze0;AS%s>G6M&<8ysP0RL=T{-EnZ)7QDz)kaCVhphVlq)k5tCU$qCTd`dxbP*QtcHNc_5RP zLgp|TB;*{EOd$yyDe{LxvYDI}Qq1J~DXy%Vn<&?#LWVKfBxEg<^FsWaDc8+YU7Q3a z!-dRavRz2)Pbk+fLW-GO|Ei1AI*&Zfg{)`NOGwR6$@8#~OeW)nlrWhtBy|hrdRxf5 zM1uO^4)$ynPuf<>^|O#XCRa^!bxzDDPb(qs5($dD)<({OY0dC?gWK(1X+21q6A9NR zI8GYJ@#_iODDqSxtv@63iI4&&-wWxyojli0ryBb8873WsOfDc#h7de4vHQ+EAxT7J zE&Mvgl4-C5J@s(3@$0@{m|THxMk4i8OY*>d4^mE_vLrCpU7^oYF8?Wv(;VYmp`-s{ zOZTf8cur(VZ6;Nbbg(3zNnIo+S9#sml5zg#NP1Y(nLQnlnBBU9euznLBxcyFpa(N~ zggw#vc_w4o6RjsRd6hjC^sZWi4OalIbKWH*v|nCp6-!Q@*cW_w+)Co$2p9hq)P7F0rV*m~v@k+N>kYuR%@ zddzy=psVjPb$ z$&EUnNmC>nG1pDHn2GttiHU>nsM%v8=Rh)&tw`$VOePN^`2tB@y_U%+Bwr%ASy%az za=nP85J^3q&SVynBS_-(LMAJam}fE7*NIzPbL(jCcddN-35NJdyv$fN*?sZSIA6O*rznEEu)7nz(vG84(| zy7GRzUj7QN<5hM`Vwl{5WHXYcx)GBkBs(lgVDd0~n(3}gCbFlQPGzzL$zjaZTn}Zk z0m*lkWH8x<I9};^FxoNj)U@Sdz=66_O2D*{=E%CjF7DwWNT_c=n{|V@&3;CqYKZFl{+C4sf*sYhBe4K^&s(HQH~Q%|!b2l9}Z-}&~`Gd;O_=^aF1r^$td z^wODTxW_Tvx5SYuMMUZe$z;+^NaG{qd0xnQChrR=JW8G-A@RqEge`St6)>qQB(<14 zJ%nr`B1e#3`h+bj2Ws4jPtyC!tVMO}$$=q>_zXuJX;XCpfF8+lUS5W!Bk8Lr zSu)PQ49O>!%wW$JB%dMar{87IaU?q|S!)Sx<-JJy>+?*)-okg9Skm;ksq-{gfaFSC z_x`%j61*;f>f#9x`n?eDud@l}XS6wOtYDD7WyLZHl-1gj!1$c5W3Kg<70)D4R%a%GvIa8=lr@=2pscr( zhEM5yChs751|vVMcQ9F=h-W2O=cn~PCLg26Tqk*27ctp`#9ZHaTAyHY9?5eU=NWy5 zN#q9<=NWyTNemJ*Gk-?o$+&4lbu*F|Z7x5P$}_1op3%`vnxMx#x#AgJJ&2fAeOA|G z(uzHqx=s)=p67Ku6L(E!qHY>QOv}HZ6NyATfN`c_eO}NROde+PqF&2nER$?~j!8C? zmvnp`TCdqi%ocoEH)XPr$t0afBw`iknyfRJY-Ez7*K)3@+0@Rj=#4?d)Om`|=UiWL zt|{7AmwM(ACR24HlV6#7Zb&!ip_O5QbW-^~Wv-Mym?;tshk>}{wED5aF zYkCP08EszEdzg&bK#^b5QT6OvK$ehrCa((VPDG9}ujzF5ED}#KlP`rN#8KorAGxw7 zGZ`%;+B^~k=Pg@>)VzgA=*KQsTmvF40wkWuSRwmvCGxJ2g^h?52}v-o4aBmp-RL5( zV$w-S)NSN>Lr7mHzX&N}(t4ANbEXO98ZYGH?LTjb{1m>)R43WebKnS**L6Ev z7Cx=68+qpHR9jXK4DL>3p3bJoP~lUm^L$;xBt=L9v4r$&J<^skPIfPg)C>{uC&kB#Y}dH zCq9|toE9>c$ramNozF9=FQji5%GFOud{-jNgv?`7ETno0d1`;=BF|tlLWsW`c@_&< z!sMcmI^D_BaJ!4Mkx3sRoqLeyH6iDi>=csNlRQxcE>0ek9ztsNBG2nW_AxmoWZ-?| zsrtE#Q?oabc0%%*WC|IaN}i2EqWci>ec|HFW70xM^!?;X7qXGbn?gE2K%TFKROw43 z_8%^C0h7mtOzuaXwL)}%OM?1gR1i6ZN5=WOH4#7TpkH7u(7i1g=f47p@hs43LAmgy zqVR@JA7CN}?lD`aCo^$(l)b4t*F;Ou%zUXHMFfuSrL|b9@2chXBoTqE{ZyZ&I_`R} zr!f&2alpkH)zIr1M+AO3=sd47X;SFOQYOQNtYflT$QLe-km`-SWz{4Cj~{Z8U%Jif zd6fthi08)Jy`K6+pv~7VPD>_PLb@>7BBV+)Z=4t+aNS`SCyvPjLRvAIE9ANs-Z-_1 zz;EK2m*Dj*Ap+fsTv=`_Nvxyzet77_SLJa@PDdO8q+ zy2o6cU$KkxQaf*)SBXG(@hoC8RmcZSb_qFtuQ$#qA`ttH zD{DcL*RzZW3>VKjCaZFmvAo~C5xE#;59$gP=-7SfB!aUqW~>GG}1^;NPr^4CP* zfOvjo5_`hsD%XWde@w`YOx6k+-Q64cSt2n0q>Iy`m)Fyk2>dRd{!H3@=W&c>^yp+*Aqzuj*I6^w%7B`WG`8~&`XvRfk!U7 zvRW?kdfE|zW8x|Irq@%22;BLHi!-H+XAXOE#Dfpv!GD4CxMkW;1P+L2S{cvl?1}l) zm35|!=RAAbh$m&4x2#km(BLn6`o}U|`7N&}fe4I2k9i)*GF_Nk+VhsK^|mE243zb} zr7OHs+LNnei9k)9-J3YMdJSHC4PN)R^+qD_l2-Oy_-!4v(d(%~1kQ@5Hj`E%F4yW! z-drCMfeqrh{u8e!jtE5hT%5nqch`>Sitk7ZCm-f7;qlv(?5meTD zde#kI&q5-wSUkIK_IeHwfrH|ySway0YFW<5|s~5#qV}7H^zbBCrKLW;A|J zuZ%D4S*brH0>vC>r4DWA^+Xea3gxIiD|JR0PbPa>i04ch&w2JdA)a}+ddpfu1ili_ z&5gXCTZzC`QLa9#%XmIwPh0Uk+SnWCNg^;=JinFk=-X^AI4+(nA~NS+sb6MKy(?UO zS~l^Pbq^8fFP=qZJa4lnq`b0ELt3dnVsa0Xg&FwXcKtb%riP1nO0w zIP3H)O!^`*aX!@FHY=TLgFa0JmZHa8_uHT=G`Ai&DdZ>-S@#Y4JNDF#rm{BZ-O`^cS+Xr8n|nBJe(X%oC+H=`&2e zM`G&piSCGZJOqytpX%;JpcaktnN<5|TX^Xxs-V%v0hTW_2SM4*p&o-5;di9L(O<7@AY6Ga4m70-Y&o=4cz zyqc@eH)T9OuqR7AkxAaNst|#QD-|5hH0w39Q)$n3y^si)C%~C!lx^3eI(t3Sh`>_x znD*JOKV$N>kk!fFT)T+C`06fKdKa%JiwJx#o*TP*J$Dg-8CSVD!~WEqnxHJs;b zCS8O)*3BFF1tQQP#^w5m$#X)Ax_fi|Mg*o`<8s~7!+M}dNM=uOu52Q3-E}TkvtC|L zDnGS#t){Ebk7YdNdsCdX;u+J&Tjxw7 zu(y`7cN=ckdzeJvEW_M?SfJzXr#LN;EO-%rjjJa!c@)XVNOtJ+Oy(lVN3v7*e1LN8 zM6wsjZoTHg(xvaw8;QW9I9rLHgx?kEU5}LZ?A3)t;9K;V-n&=#PWO7!h(PmL=Lvb# z>#0cuUKLNw2(KrW2)ucti*wybuctN<&^I}cf0Wk~O$6=|Po>dbPYoh4T0CEt@f>2$ zHu1bV#vA7~A`nsA)o1xDUe8)05K+f@?w#WGq!58l;@LjO>)A~NI^L}8J?(pS>T9Jv z`*a!+$Y;+!o%eca&wgD%1k7BrM>+gPP_LR>+H*j!Cj#Md7nzI} z6207(1@8%oW%8YnrcAEKSu?dp5|iFSTCefeIf)3A+~#tfE#tY!o;FRKCu^-Y&dWq# zj(EOX=k=T;0^f`0^N+oreMDfu?XIlxo4uYFiNGfD)c(ZlX+Q*YQx|7b8P7KMG!{=> zo;OZoA}~Na^U8RZuxFKce4l#bL=k~6#WS#sXE1xho4Gm{l=19gPZROnxy4&nTO!b3 zJZ-mnJ)MX^)#k3O#brG2vgc0mMCW_s)FT3qif2t3&qnrKK+m7r?56{_m5y^%4<-T+ zwjj?@ef4LhJ;(G7L|`p?Ob_kF%a-7rpisI67PU|=#&?1q_I;~$U z@p`5Zflu#to}bHj{$S5>@$~({8)qO9sLlsS~{t(Xsz+F1%D&J|n zj0kjX`R`7*@oIYb1mZR^VVhVFKjGlkRo2fqI~RXjh3 zdgJ^-1Qv^@Y6Y+78X|C3JSWO{&akIZJ6E6e(cUnR`t`^8g0 zcSHxR*B-t{x*ncMQ=DJu9_b*@pF|*2Jl9tBmUR;m_*y(yRr7jk5rOLWy0Yrhebhl^ zH6#Mv#nY_1H%==euuMGd>0axgILUnXb-50%te6{2oFi(~-*A*TXIg9+lMP53)i5NR zNzQk4SKeuza-+=^@hf`F9h;|hI+JD{m3_|kX+55ZN<%_z_yUtjLgrgS*Rjp>x=-u( z=pHkv^BKLK2&8wWIA`?JjY_Zk89jjrydj=v>AtU^IN5wB*tg>8NOyt-d3y4_Vb|gH z2~+1Yx*XjJ7UZeS_lC_wkGb}BM!)Ov{HWKkr*;?e{HVL$QM%6ObZ;Usls)J4R3`J0 zn9_gIpELOfdw$Uy>8>-W&v~8C_n}qjO1aMKxWv+Bo!5493pUxJr{I~yGxh#o4%U}EJ&emB7W1&>Fza&^Si#w-Oq;CRLr*(zv~W6 zGLe|lFX|@ul#cv|zJmyuCnK6%f9QMZo;Qj7r|!ac!Nud17~}al3Xg}8Y0lHC$+N*`Lj#u8mf@6u9m}yIWC@O`*_#=1tQQi)s=OujOTmy3>Ht${oXh;iNL4gnb+6rSyF~9Cjzbe zxYE=5d2^)`fvMsFQ1Hn<+}@z!Q@bqtx&IE6j@PT~Qp3Y`83Kcuk7WKFE~BFrti751 zhnxMswOqyZn#}d4rG^>ya|q05zWCotS8%yF|C}pu<+!D**E?Lkcj;}&O2JtXV*{6GT0Z)O^UZ)U#?u2FSvZO zzdQc#Zl50Z&H%i&_Fr7C<$giqh=MKrc^mg1@8{1seGjMawaZJ7M`k_TxOQI{_Feq! zmNUc6XAQ5}r2_B%c7V$%;&Q&dAi%E9F&yw*Obl zjfPHKz8gQ>(mNjZVjpo0m;2nCeU}@D(`>qi_G8TPAq2YFrGm$qkKz1od{63adQ`tal|LbHIvUAcicR~#r4*2632J*0s5@KaVj6befP{0z2mSq-F=?R z>$QN(S!$Od@GkTBdHDe^|CMip^=a5_mm!dEmp=G{^HaJ4=X3GDcl~`Tx3k;t=(C2|+%EshPve%7am&@mTffrt90ktjmaZJP zbmOLrv%pgyO4sln^UK9?@x05ywm)n5i1X7@^Lbr}^w0NhrtNsSWupYst{S#+oUlst zc_)9SauhgD=Wz;(Y`TUL_MPF+f7)dTRJ3=^;&)!mYue9cx$|8*zYi#1U>@z}(>L3A z8X9mpm)k$R?e_0}cI`~(BV~_AE}iz%z^_9}UU8UM^qhj${Oyzl8$rUc?f;R8PyFm?+Lfdz`Tb(yYv8GVSO4_alSR2 z?{de{|5M(e1=YLsGBDpG9{5bxi~e=LxZJq3tRt02#~TfM@q0AWZ~ooS-u~?NE4Os% z?z3A4^9s-uqM<5Oglq8sSKwcL{A-BxIlRpK5+ow;0P`UU-|PMWz9)SkY=S3YIE==3 zbBw{i4A=?dU_bsH!oT|X*AV|kOxz*dOQ=qn5YYr zP%S{!4BWd)n}K^rX)|!|CT#}pouorl=a=Yd^_xPDRHWaZZ4XX2T>5uz$uwH7zcRl;hCsw=9YsAg7`$4Kq1GT-MWTQwG=^b*xi)F4qqtgu3cLY0kbrsVZ0llKk$ixL%~JD~4)! zGpO$L8D9=6)8ZGDDR*cU!`!>GH~Hpcs`;LNlkZ)V*QRblW$H|&g;q6c7qY`vxu@b> zP)!cu?+>e))a9rSSydi?GoE^-S>G#BnHIXBu0yrKuA6xpd8_J%9X{;xHZP(a7u0@K zRMRu4>eRp<7GjjS*Ffp3kKp@KQN`NzFzt82_cXGvO={>8RK=*`r2XQ=cU5TiQC#z@ z%~~!-m4PY(KKho{H&(ed8lpA+*7wg^_>An(J5l+rH>H_1H&3Y@qVMC>SSjPIa(6y# zlP4TCmTh@f&B7z#L4{A|l_-tXo5=3N-=Zn)w!#YEk8fdJkTneTe~-_QvZ@iPDX0>p z$FB3;h3pMv5jqW(Y10TjMAS2)US`!Q)bud3_mJ9M$0^g-T7`aAf~{K@_rcJ;sG6bb z7i#vS?@_f1J%jA5RagIjDflg6tI#H>mRL0pm3jYGtI*Y`%=@xhg%+SPJ*QRZ*Qm_4 z#3zzYFUC$m8>YmcuD)bkOGQEK* zBOHIZya!c9yZ=^?H+icg+hn8E71fMYtI#Y|`>Zb)Rl9}&t!1lD4Bd>(JY6g~r1lxy zKN=a8DC&NraNQ=VfvC(@=oR`DD$}|%L$jDAhqzXos9akmhqxA+s9d`whq(3V6}k@d z-rgL?oX{dvEv>3}7N2$8!mzri%(mPV+7Xp0H%i9D9J}T>-hur}jlt9gsFGw4xBwp_ zYl$pHm{Qx3B_X>2-=eak5B$hJr9yth_nBep5!;7M>XFdq$V|BteP;ZdVN=^6GvmfY zUn;8CB!?M&XcRRpLXYRXCvCi>JI(WUUGF>@x;&Ad`F1wcJh{x2b~e;K(d}$#lMm=g zZlui9+0KT#C#9VYb=mR&w#TgsXU^fX z=Bzr;YEYOTe?gyvtfG!aWge4NQD4O>Rdq&{axXrQSB*e50#&+r}y3Q(7XEW-hEBA~4Y+G(IrcRZ3bEMoklA0^2bj&ly z%Q?zD6JVxogEk#-&8;$9dWER<5^ueXm@9nG|ANmi#2o9w%y>G^s@2GzN43qahj}{j zHXFt6A7N(9ehE{X=_`K4eG*lk#A_(~%sQ(~jw3ej`{+9x_9o_7kLp6$NmM&gMTA#6 zkK?#yx1%aXRV(~nRA;Q}jOq`YIuKQK5{~2HFQd8=)rGM6sA^heQsb;zkE)4PyHK^U z>U&gOP}K_m5!GN+>wM=?%|O*FJnRC^a|)DsK69S+MI$ri)(Ss@J;&6gU%1(BX3r~7 z@tA6Qae-=yD(i3NEfXfy%!2BMv_oe4!5(#{2!EY|sfG4vWwt(*X7<`~%DoX{Q20>J z(aJ_K^S@TM{k}JST$^na(Gka8TLaUkw0BoVHptE=ud!++M!6YPv22ft;X9F;XLz>P zk-q_S#MGJL*P}{7wayoZ>V8zoIsw(gs8-lAOwU;w-XED6i`RvZL1p^E3g0YLgN@Is z(N@i4--_@>sK(hS<_(hOXtg3d7n#{FBjhczOT*0*(I=oUS+Bv=NvPUO&q=nb66Pq8 z9(ztk){CNi+RYxKw3`Xm3g3zG{=j%UWj%Vy7`s$duh5j=aSZBgM*jY&&Y+s;8-vR1 zQA696}x@yere~np*_r7O={pdycrK-qz}c4nyAA8ug;(^E{Ih^_7$>;Ht+JDMroxW z57mCGd6vPY@N@{VWF#MC9;wyI4i$96N%7acn6Bf8=RbgL?L}|0u44B*Q@=U-aoo2)>ISe-O3M|sO79#B_P*DJ zK|c2^k5$^eJ$t>R=1JZHQF|mxUXaf{?PHHbsUjm>jHp;qaiSWFN)XjrRFbF^QK_QR zM5T)wCMrWzrl@RD75(n`R?&Y=gn}hFhE?=8XLUh*Q$;B|KF8y}TBskyJ#otuW`_JE z?%8I{iM7mZ1*M)tW`4^aXPFu6BEn6MLzv?#TdwH`Q*G)`$STUnKT+DbI7pe1)kH4Q zgRy>Q`<7^PrK#^QeDADm{SrL}QwJftD0zMMcxg(zC^;@l6kmvod{Mh+u|$QqGNM9E z8E;^`D&mU@F=ebk79){kMa4*t7>N=qc`+69n!41I^{s2w>Tol^FfG*JNi%x?g`>;{ zWOY>(jxG798rxLU;t5h(LdbTE*Bx^tgqZ6GCY7#bm{F=?sJmL>Qzo)$zlO@aQ#Q&n zlcS;3Wv3jsF2I}R@cnFe;IS<9V^rpC>`HBpqN9sav#(Ha8{U;)XxrJ$f|lA^8Ku+~ zyp}vI+Ngu9YWYv0%EcVD{C~2dbEaRB(fLvRr_K6~!ly)h_l!}dcXl6(^|SrOv`}5O z1yfCH)Kw)_6-R;JV-=H9|o4DMY*X+fzC=V3`$S}_b{l^&Gp-k4Mj?)^%` zf>PZ(j*7v($!HF^+BcK^C`Y^V{mh`e?wwBALCn2-DM^`ee0Mg^Xu;*p6_sSKLB+p> zduUMJ^RLr8nfA-RwO?<*tL63@h2PDobHSYpwfBF4sgow*s4OGM!jKPel%I&(Xkkbm zjuB7d7_m^s@eAPI#l0{@W9lC`A}tJY@mBao-iZAw$K)`5!|X@7qL%uyF!ice+|i}R z6zppu?hU53LdMm!r^nnTwtc zb&=_)X689Z!bW3`HRa4K_hnQsW8U^M-%Ymjar5@FiT<}SH3!wqa5JMdd6Q)yOjhol z?#ar%xjk7$-Otw)!rhuyU$nI7B_D% zUnT9A7vj!l^FrL2>-s>ds2Cg1L@p4v$ChSB`8~o4WxVPqV@|PUBj(~(koBz zv%Ri+3r59uZm+YEnOWpazfsxcmb-j$kzGH8SX_?`~9cy!M8Ck zF=ZTJ-^}noQJMPX_}wU#qm;X{b5ZuyQOdos za8sC>A)B}Uob;PM8E@59^=J<`DeG}o%020CkEy2iG!IL#Ib5$h>3;xI+gkP*DpTi^ z{!CQn9F|(6Bc>*6<2#Cqwv2f$?YIzAmlok>ySaBPj#B15j^?e6q|6%~M=AGC#!<@c zWu&%Z898?AoBpgK+?7ui5#CTir!|=BOGahBxo8zK300%DM!kXRBdgqd%36g?#b*i- zTZJQ%c`uoY*o@3P?>@q|WE!d=5pKcDZN9V`?ML~WO%Ln9skK6S zpfXpnYlXan>aRSrzx{~HynCQlNSCH~2hBF4=Ac?*)pk@rTJ^K2>+y*J#JY+a&nnKg zpP8X-iZE}jPTY<&1!3DFCbYycvH)iaLCn1E?T0T+e|DoqvWz9kGQK3sm@_lneg82t z+-%>jIDc#{+c(KqrKPg-uq2-uV@G2u9Rr?0m8{LEmxU_D=c1%aFG-UqDL!`{KujE`l<9Nt?#%X?dA9Kt+GDLb zl4Sba8z(b;)i8&7uVh+Kyd-9sKKFLdsWyr^4=99}FxAXdGkxy;m&1bcy7yfc!t3ZW z?~Kg!xp!$!wLTLi)92m^S_mJYkLv8+@0lJH?_sRDdFN-Q&%Gfu)25m;v<#UaWXSxW z5H@2x^B&4fpL@^eoS-(?hpDCw3T0MMEGkE3V?S8B8)tJq_YKiR>BWsDN`h5p)GL(Z z+u4YJJcaKr+JkfIAZDIq{@0gy9wm9}%1kxKM((x`_cEKq>;dhq8iGtkx=}vDs=3H& zMK*4w;7wF@Ei>art;n9pKCr0+P;ElhFmgDm{isISBa=BI_L4Gsg^a~i!)irNLv`5Z zU4qK&0lh*#;M8W3yHT0BZL7#*s7|A=Riv3G8ejX!KaiO>0wzb^c$Wh6J$*l0D-#*# z7RW;OyOBQz)gVc2ls+GSG`>!1% z%y!Gs<}9$~9Y&eCyg7ec?{lO4C|kzeM{vy}=P5cf92M!#4A=S0b#yc185QZy8^_rk zrtK$+8Wb|8gR*Zr%CYQTT;EY4`;j&L37>Z_zEL46iP)eJ^Hja0`|!%WjMVFVwUD*O z9HT;-q8f;*mmQzY3~Fg)60*mTEsgAt>Pb`uGK!80c>&o(WGf=)p_+thkBq>3#J4ok ze2e@BrWV>`yxGs2=^dD39kK}hHL3%sHrYBKv8o4-2j+@!V>yS|6geK5*$NH)5%|0Q zI@n4L{nb#J^QeaY2B;ca)(TY%RQp3yP?y3YG9rIMW!|;5)b1&!Umc0O0)NB58dDoaRzn9_w zMrPLcq#RdIM$|>N@d^d!Y)#Yf8pp|qNyr{SrOFkdda?qJcQWVS6y}c3G&94Q={|Fv>2s!;5yg zo8x!oIKA0Fz%CQ99$T>FbB=`(p0aS{J9o?PUO$6`19SG+voqI?M&d~s;b9-CrQgrS!ETbmQ|ooc5JJY zrY!_0EltV}nQ1a@W0RSXNm>e`Q;N8Nf(s%bI<+91ip$Sh_o;P9#SN$%4!`OTHKHgY zf~f!RJ@?!<@6EhPr-gs=IrrSN+ALVD1UsQUv(j}$WDqU83qtX?npH$kkYCKvs z9!gJEdP=JcH>Lb`<##AQt^ADgdzD{Q{%Yl~QGQAJYn8uF`DNvARQ@LASCs#x@=cq@ zx6Q?Ovf@~O) z#+V6X<~qSnKRLnUG4oIODdcZ{mBo&qhJFb;t#mQKW9FLum~&2W=_o0`g#NGLuT_2- zdh!0mN97xpUxEK9{EG6QRKA%wX3jZ)cusWTCnjpSDxE~W3HfB@A3gETooxL~sXT@J ziUS$9s64IwG<2s(62d^bgH~v`Dvxo z$iIX5qj{o)EkwT0z76O zg1=Vv%E~XJzw0q}-09*|fnEq*QTda~H@l3Px5GEPX#984_$!@6{!Qd5@biM5Uc2h0 z;lG|0nzZU?l;69H%ikjMRmh7fU#;>rDlaL&gx(L)D}yH;XR!-sqv}`SpANsG{3n%f zc6EHStHys^v%s64ImH1a_hSiQP1v z(7%LEs(iBYr|hQbM1J@Ql%LAmRo=0iwrk`W`pmDo87g%cGq;kzxE{3q5R3ppR&8AL-{H6o=2};6NvF_mlwVeU8Gb+fjmqDo;aA}Q5`IPXo>ci3m77Ug zK9k1GS*KDylQdn>pN3AVe6sSVOwxV;`IOTrAC6fzwH^^4Cpr`C5km82qy8ZB+Rtl~F>^z7G>Zk4A3JZ8QFKdp2cy{_rT^zPx}Q&fHt{$udhD8Hoq z68v*!7=HU!;}88c=(5T;DZiq01^M7i>f4^gPq5azJzYE}E1se_rMO*jhvKy2jN)F! zs}-+NTvEJN@jAt2#TylGQe08|q~a}#&0a2k3B|37lZq!Ro}&1$y*gxkky5%{afjlx z;*8>6#YM$y6qgjQQ(RWONpVH-7R6?7ji=&P#Yx4J6;Dx|Qrw|9tvI8&S8-ACYQ<|5 zmlUs6yiRdh@kYg)6ju~Ksd$TGvyaAGajW8_;>n7qC{8JESKOg^_C7A((@OU$?o)nI z={1T=iq|S$r?{+mqvB19D~g{~yhX9uSL3g^RdG`BWW`eyrxdp3O~9<7QeE1sgbU2%uvjN)F!s}-+NyjJl##TylGQoKcRVt)-+@npqQ z6t^qxP@GZRt9Z5IHHu67yMAr0((4qLmA_HxO^TmXyhX7&z_~XEjG6mb+f5vx@l%|H z|5x}))tjRHl+r2WJ#R3kL-}dwk3*+bo>6|U;-d14=MjFNdE}e!KEJ6sMJ+ zMz4ZiM)|#pi}26v;5)2(tChb-aY^|l^uB`LTIH`(TvmA*`C+q-*`)jm^i9wel|QNc zEsD)SW9DDT%|R}miG#G<6epFRL~kW$3??goisF>YQ^=o0-md%(#c7qNk)J!4bSuAC zaZ%+(i;3XkoCUgA#R+PJY>4iQ&irexL5HS z#p@JrQoKcR>!HryDT+H3_bOhaxOAvX=Q^d!N^erSqO?hN?0CRD@+GPHlGJ!BJw@r1 z(j7{tmF`u#sB}^NTciAv^4BR{R(g}tTNJlW)^sWEP~59{jpB8RHz}?t-lEvN#`)8# zIH`Dw;*{bJ#c9R8ii?WZC@v{pr?{+mlj4fvEsD()4PS9m@f5`=#T|;%ihC6o6|YfT zQoK%aS@9;t6~$W=o5M7G#Yx3e6sHt-C{8QxRa{iOMsZ2;I>lwhn-o_RZ&7Rx*YFi5 z6;Dx|Qrw|9t+-clQSlnZCB^F$mlbbPTv5D5u{lD+SDaKlMR7`ThvKy2Ud2VlYZR9h zuTxxByh(9I@fOAANDW_cQt=eUDa9R%(~5f)7ZtBjTvEJFaar*u#ak4&9_7NFqPRnG zui`a|*D2nlc#GoJqt(6Q4#mBS*C<}6c$4BSid$c+?iF_^?p56P+76lDtWo-UrPnFF zN%0oNt;ab3l8UD&PATqCoL1bcxTtuI;*#QZipz>ODXu8qqSzek!fjPNMR7`ThvKy2 zUd2VlYZR9huT#89aphRo&sL6QA7Vb=P34>8_zpswPSX$n5Ac)9pQ8K}`~w&8 zeNujh^3zJEk-rIfukwq^FT(#U{58riDZd1N!ugEPlrBSG3ta*KL9mOLnaX<6LgG2q z(a8WazJ#Bi>f&8QZ)O+cDV3K3JZ9FzFC#y)+hWZR=(j*uls3n+z6NcM*Kh)iyG4Yf zbQ-<4K^K)SLVp*!1pcpJ=f14+GW=N=5Dxf5f}Px)fWH?K-U%9BfXB?$@Kea25$xn? zm8aofauMN!Hw$+1lFCc)54)IjDqV)Y6534D@>QHtoK{>^TvA+~HfDZi{h8+cuRyQ7 zgmfrvP8>7ehc+i_{GpSVQg4(_LEjIZQaT;rF>~l;#2@);!5V*+m*77EzYOlY++qzM z`hCz9rOio>Z#Yh|8GaIc`V|&CehT`%&?%+U(2qc;l`aN&%yjfneoB|n`yq50e0kbp z4L`t)d*Pdtsh1gxojeJ>=VHQFIu&5b9e!HrG$p2zKsE(C73K57jFNc+5Nw zzk+;z)?%k`PGSEI+MJ@{2YAdZSVFo_b>*E_TvS{-mGS>l!a3EsD+ieUqGkB6bOpU% zLz~maOnbk@8cu*I5BTZRwEdy?EOb%jCFp5yBpjv7&`Y7qN>>8RJ`#L$I_+7oh68>0 za`N+ZN2dZjW-f-GM*c3rPF{rG2whaY67+M>C8f&&9y3P|kWQs5=v@wN&T#&iGpIMv zN$|G?YxvMFL8nwN4Lxm;cqm;AF#C1zOG=l}yA!$${*hqkUq$5=_!Dx3|GF{LE!fGE z&<{c)`K`Cmzb5t^BmoY2-QNMeuh8JNG4(m*7twB0k_1f}Omg@(TR# zz&Fz!-%KaGD~Shqu3*PcsXPV$KKSWbS`QSL6qglO6q^p!o9%E(aanOiadD2y6_*uP z6sP8DJm!v>9Sel7bQ<~%&_(b~f}LJTTI~3#0Moy~Pb2@fU=0s?*VTlldL`(~ zpi4@Z13YFv2EStczs_O}_X5@fq0I%3PD0-gom4sn{a@&m(rM_k*ANe-ivh-e_$A~M zuD96vR}S!)xd47e=?Z%9hc*|EnSTh@@Gtau%uIhP;Ud3Nu;Uk1UWES__$BaLZ?IUy z3o!Kzeg*lAw^{7u<|2<7H@uy6Uc|W_!H%C&c?$kB@YCRv-(j(n7ol&3E-GDueiXW- zbQyZzcT&HVu0St@t|)CT9y7Nx zz>JUKmyy39*vTu^TvA+C zTv2Q;SNDojiqncqipz>Cip>?yo#|2ciqndVic5;iij!&T>w8FNTJsb7Vd#|7=>U(J zquxtCDqTeHA?T9QCFo<{M|pxjAlUg=QF#Ua0q-Y&GmIw$J9!fNQRrkw!w)d~*SAuh z$UiRF$%`s4!cTsH@Rcq>-w0g>?{S;O8a{Lux}vmM%=Zx5EY|P?%)b2xNw?A|^sa(V zgP#(t;j6p||HRt~AAFZ!4bS`6%RcoTq^sBQQ_!D>PAQ!ZF!P){$yek{1Uvnb%1iJ+ z3BL?({gA~PPJqYEh44)u^9R9Bo`kMIC;K#f=+o~ae5KO?9y8a&FCrfktl_J?1pn+0 zlMl;Wy(%g$DK2|{zmt~~7vHF~;OnbQ!%h57HjM*^gW7^iAGl=0ot4dDcBXVX@<<0?ha2 zlhg;~?-uOjMd+g+B7D^=LEi~oQo0O%UpMg#)orL}lbV}(Ibj$Y$ zU+FaTOz0wbM6iah@)G<9;8&EcK>r5XT%+M#L;HM~@W5rkj-P^_`hCJxz2Y_c{Zd?3 zei^-YqgPS70)6lg@c&J;L&46!k-t^2ykR13xF6n>AgxaNZo++@j$Hc+C71eoE;SdWZdj{zU0C^h)R=`1^u2eb7hzlKQQB zW$3p-mzAyrnEndBc@N{fUsB6ndMX)8M(kw%F+xq2CN$RJs&k){o$q zk((zhcKQ|Q40J_l^Ipd{?;SJWf}aGR_Zy2HKNVosHQ^WE>+-jxxU9IM*t}2cqvF*2 z)SvgUZc-uM;PjIgJAM)RE6_!yO9AG4`M<?TrD)9u7!M29@IT-& zC=R-dPV5n|4jZXT?#Pu3Vs>6!x}#HS$`oPRL|Vz_~tgoA@Gw* zC!s&{4B_17>O)a+NpV?mMX~vyw%ZSm9eD6xi4S-txCFigTn6v=H^K!U3r^nd&L5=| zrxh0!mu|mi!vCR{zQf_i9{; zDaC2UMK53H!bvGk2e@O$gPtQ?rHktvU0%mH0Df8dl>oD!2H)IGJ^qKq&fjE!IS2MU z<*alHy|+WBl}0K(k^EOW z3H>4Hl+r2a@t|)EpWt|k- z+^gXS*zr@yhk0KhrTlb&xiABxyz7M5Gui-PgfOYGg5+(`$tYF7asXPV$h@A-+yiTx_ z7gb(_zvnLGBlrfvPF_}d8UFL|&4bM2cD2~alL02a@KZ{s(EAy58vH75%BPiI3^4fv zzoc{ty>CL7!IQZ~Usiqv`ex{g(&pnXT-#Z{1V0JBoxAo)<)@(k37t|p9bmpMdyvn_ z58TsY=T9lXtpC9;BY#Y=lUGz;fj^zQ`sNe#$AUHe(9`!O{7*PK1$_f_O6hcfY5(wx zR?bcTqVh}7$L>o$C|!nL2VGXW5@7ZVdGXME(uHF_$+{PipjSetlukpx z1f5p82z}Z9gs*fdz|#bw16#k_A!=k;H64Q{^*oUj*NIPgbc_TF4$-iKd* z0CwBgnEwO%U&RX=K<|FWoV`E&5^&N1R9oPT19|Tnc>6)b<6z!Y0lHt!8*f1WA-qHg zeBe-yj3jvz8n|*Y{=UYT4+Ec@!j}7C#{3XSA8yQZz^zB%=aJCB0B{5FRbb*#EDHk@ zk70T9IDSV1IBF^{PM^Rw)-?Dh@&XU==aWdW&qTMAw<*u&3_7syIpha056A%T z1MWVTbOF1}g9bhe`~~9uA9xtpZxP3>fz`k!;05563ygU;u*-$~S^&@w{4X%~B4g$Q>w)h9ue#Wn9-s^? zyafGA`6dCQm$AeE`~*1Ta?%SNc?ECb^zbGNa9$c2aDIk(0WFKEFTmct#1S~D&zNrl z_b#D{0h5=)1KtDt8u$~iY#DI?PVdJp@JHaNH&Q2nr+@>O6Ao}4upam$aL54h1l|UG z8Tc!3#30*Tz%9Txffs>ua+D9SOP)8IfHH9S5cLN560pOSyyyY!I7}G=R{|@6>wp`8 zn}NH4`+&~^KLj=dzXe_b5(RXDCxCa2zy~Iba(xb%4fFtgz!2~c;M^7D8*su(K5@YQ ztH@8_6d(oM5Bv@ICot=3;s$I4?CX>>u3>o#_#E&o(D5c?J_Gz0xcFM$t^)o9obqOV zD+G8LNWO*l(||jGXMl8(JOo--!w2pH{s~-goiQH)o&nm|zz1Fe=3URLGQd;7)VK0` zLBK^f81ok38^B?2;|(NWm$%a=0HeTW;3**a4)PE9J}~K>q#bxC@KfNR8)ovz#FXI@eQ=fD1lPJ^*t!P$#}XT?an& zMd||Z=$B{*UncK?ZvjsLJAH-t01p740`~hVugw8Z0WSjczec?PeqE*vzfStUNuC3D zf15aehxmS%C2Zg;zze|1-!o=8uoid>IO}0!z6c!keSYf$*x?7%dEmdmTYgBKfeRm@ zuK?!#2!DZZ01pF?0ZV_3-@v25lfa*V7k~*rA@6|6z*Jy5kO5W!9{}zFz65+5_&x9v zV1FHRU*JgKB;Xw2Ex=oWn}Kz}dY}w^3-}4J;Aiwfz$uTCN5C$RkzU}}zzL5V^LgMa z!0DT5*T4cG3oHj#0XG5P0e%Ne`8o9nI2Bm+E0)54&2Mi3F9PR1LD<0b-_Q>O@2l_~ zeG>QoOL=S|uYs$7OC94&YAUZs1eEFMyYTou1>mIj|4#XJGVs z+RQ)6s~1Sui@b{TANq1&*Z=ZO0lozM7no}j=5e3`oRdhHCBR>Snam?T1RTeB{|w+S zz-q?!&jC*{hJTuI`yPzFk7j&*A8;$<=(8B(UJvZgSo9j;_dt>H=hHxu@#bNS6-&U; zjQxHB>q+Rscg`!m=$jsMflbbcvs2EWSpdd!rW zX=Y)YZQei*b(k~x)sC~xIn3V9HS^2@Gv8cby3IwHmzWF9Qga!<+?O@WO~1*Rt4y9> z=o=C5qJssHE zPW1jI1KaBY+k(KhJg{AlZN9|dR&0yJb}zO|#kL+>kJ!G2Ei1Ot?z9}SHS6}3N#$sV zPutCb&5q_={(UR3JrUSm2yA=K_IgJIw$}%?YTCNsy|LAn#~TCb+XCA?*oH*9`y9UH zV%rzn*Ti-Zw(pAVaBM#no4sZDAF(AS@;zy@K3f+P#rB6l+CA4xFT>_s?0hM$99Krp zrr##Esqj83w%OP|A+}qwxjeY?GH<&9+p#-Xx4*^a!us_3V?Lpz4jqM9!tA>#zelGUYM!bt(U^{##>x&(8Ia~4? zFFh)-oeMc?;Y4&7+bI%va|L1W;z3xFAoN`P1tS`>1J$qiLDyv zQ}4jlF4pZFY`2PSQNUY_&H0xLY;Or{HwHF40&#jD!{*vn@=o8Pj=}aZ@p(Enr?)V$ zU9pZ)0_}@&MPMsp>k;1juq_wc1A%k{wwr|aQ*5?v@?LLX+wpFCd*K~`?F(X?j_qNw zWdqwS*j%^|VtZVqUk_}by~oG&7uZ~F>baM(|0EmQD7F!?y$zd7(cOXVj0Ze#A+`sc z-X4ry#5VFEu@zgjzEta}9VZ=#E-%D?$@@|WY`0)rF8$E^1KxeuJ})k+ZS`~TTq%4D z+gC*TGixn#Fxqk{njhHG*#02Wd|*5IM|`P;mzS533GbleC(%*c}AiO z&g;aSkyr$Ox|lN)7s7u%W{Y`4;$qD1#HE;v5|?9Mkm$j@Fp)v$l0+}|i^aS&k%e=a zm{%m0!oOV1o1uf!_RCt{f&Ef3FK@XK&J|*2Tiyk~Pt0puZifG6%og*OmiJ&Uig{hj z`{1m`Oqf5n+=~5aOh%I}w_*Q_nE!0K9nK4wE#_Y>cVd4Dv&H=%o9Y3t|UTq5RWt)GW~IcAF)YyAS|pIW~J=V{Cq^XJyDVE>Dlf92p( zi+Kh!VV-T>i2ZM3{=Ib*oae-RzV(~%{~_i-TfYte1u_5C`d#=hiaD|EVeC7!{Qz^v zwns2`YWp#ouW9=!_Q{xx+uI(+K1IyK+a8B=1SV~y?dRB!67#ifzl3u%W`cL9e~tYZ zF^_Be4V~QF?T8M z{;!GWC9d0jE%xho--vm`?*E4K_T9gY{hho27yC`SZ!&g(wI{GYkOYnfP6A#JoDEzE zECE&m?*KjodLbu~B)>TToX4!`6e7|AEG9B<1g-_{0PY1I0-gq*1O5$6IEU3E;27W{ zU>$Jtxs3GZvAPbNavrM#z*m890Y3yD1O9UXqZksJ27UnSe+jE!z)WD@D;TW;6*6J} zrOdy8tNd=YrOz^IYY^eAvG@K)f9z}JCC zfX9K!qpU&z=K_mwAS~duZzFGj=YamVvuXl7aU-uS0~2o|&u=DA-@^(QueVGw9@F4I%z+=Fv53>UDeRO`viX&sDD}kGV z4*+)on|{n#?I+|fa2IgFPsumn4&Wi+P%1?c_~ma{C3zM*a0l=Z(DQfd5^y=I4L`b- zu|?vU+xVTbMDg~7`AlNN9sHV2;;N4(%>N`d-_Nf-B(6HY#jH;}gZcTyMGIT_{g$J; zTFe&`AH@7(VvlaxbK(}vFY}WqExgcO!u)C?c>(P?u>rH3IP1a|eiQoii(1Ur6Z>D> zVm2jyg!zp``jQs&&BXo;{=StcV}3ia?6MZ~oy3lpx0vrHcD$m+d@r#9^WnrD5 zczdSB{2GTK5+%lh@MRYtAs?;%;Oe~;|e*xmny+|~NINXF>SZLMst zy{dkO!+Vag?~<8SS*^R_27X$1gEv*(?Oe5*efMNM{dkoT_S4FCrylsfa9k|!^yj^V z5r5Sxc^*!Ct*lXA+j#!^#i~cOarqVFfB&~DfL$AM2USNJ6G5b!DB)4*qd&zghz zC9Z?b=YaLV=Yb8t7l1D^r}z@^W#B8oS4rpBfHEs}8-cHzcC!ii2JlVbTV{^=Ht-$b zyTJE=hk@?{KLCCRJOca(_%ZMk;HSXPfJcGHfX9K&z|VnSu=4jy;8(z}fhU0902Sa# z;D3QFz;A)yk?;QpJO%t7_yh1qfb+`cPr%c_pMk#s&j5b~{sue?{2h1>_y;SC&jbGi zUI1PM{sp{bE;auK{%ih2M{%i1*qH#(3bX+efQi5kz>dI9z|O!fz^;kQ%x=K$z$9Rg zM226S%^~0+SPc%%J+1IrZ^f z?lXr2M*v3xM*&ACu4Kk^B{QWf`DS0qEa^(-OIMoXffImfz=^;~i51L_Rxm4CVNL~3 z15Qt@G-m*>1EvErfSJJSfj0mtpdFY6bO5t~Ilx@tOyDe_6F3_<2RIj)2b`C9i9<2$R?UO#H(*0>! z))zafdO&S_UCp)VS>9O*FFiZ3y(zH0Ij|K2+jW8M@xbkeYfVm2IU zId5R#IB1?1bLnfX{k&tW`JH2}dDrpQJoE&{2ZD*ibenY$%%(Hk8c?8_MQ{4P|q}hO#+fL)o0Lp=_2= zevz<_& zb8>yF&B^txw!GH2+MHb9YIAaZtIf&vtu`mux7wUs-)eJmeXGsM^{qB1*SFf7T;FPQ za)bE4LHyq!{%;WfH;Dfm#QzQA{|51YgZRHe{NEt{ZxH`Ci2obJ{|(~*2JwFfNolUl zrXts7Q;}=4smQh2ROH%hDspW$6}dK>id>sbMXt@JBG+b9k!!Q5$hFy2oSH|3l*c zpjmabEoE!&+iJ`D*%oUKnv-v~X5ag*`TjesdE1Aq`Q^K9y{g>H{HblH`-#0pteZ862-#eTy%MP2aRagca zrD+~63dXu#&_9$N=+9*fTXC^yq<^4)q#wOd0$}8G?IR<@{fkFOvUQQ1lk3gfST4*C z4Xn}#)+uR9I`X+C{YyuOGu7m_4=)`Z%;rWe$PA2Tk*~-OlRwUbj?uzMeo!RctA?`1 z(F?OnvcuV2Z&rAn64S1HW=KnRt0m>q7IqdIsp(7zj-dHWD z<yacns5vO+m(yEqwG*~p(9>du zI>FkyCGw7ed@h?=JYZ`a?Q>*RHHr(fh0y`+iCu?bgT~K`1_x&MOGld-UUea@Lis+@ zbUq{5t42h(hG)xY{>oezokCXRLE3^&p;7l~2 zQRb}C{(+$3g^NN3^OuB~=jA(wvzZZ>mY@<)D@Doo5_5W&<-6$ib4v|j_Q`i3Gtfvy zdL>&VjTFL3zKZWxfzQgk?8vfwU%{oNwkMDFj#0`6vM5)`W|!L_iDfo37|uM`#;Zwl zxqja0z<|~o*Ab?jUhs*jI;ioWmYhw`wj$dX&9IvMJ1@`2t*$=L%?}S|Mr`E^XGri7 zy>gWAb)<-6)UGmy2P&T#Iz(T#k1T;&gHYFE|{Gx&Vjtdp$v;}bLIs@|-OMcNAm z8dJ3``Hyq$_aYP}7kG$K7hs)6@M)`)&~}INla7}hq?NvL#!C$L|>G-zM*`7ZY1bGLp4%5nxGo#*CQGUZ6KYwB|7qQ z{ZvqIT&tU#;Y$!2w@7|;4D{1xbfD^TXmkl9%6XX_1AiU#xuziz(Gnt8HvhxB+JzZ>q+x zU}_>dD^ti)>pLSO&Y*vc^=fv1VJI`wyNt~13MIyCS*E;LJz8iwoU2K z#u-0^8%Z@}O`1)T=~MzsesFL!*WW9X5Y4rq&WA^4>65B$A$@YleoDxGYRG6i2Z>Q_!f)8iS z_ouTx^zrHTi7<`60X03dPUfo}YhkJ%&Ue;!(zb=psqI4Rx;siO+}GJWwBLZBC1`ia z0LnE3>#J?d`GUe|EA>5KPLJ$n2XsYkt@Dg&C@^%ldRpt|~E7SsIO`}&5N`T9E1VaM^B-{G9(5-ui6xTq-M;-Z9$j1n$3O1S7qqguSm1*(J#R0$WT z5-w0BPLakHd<{Y$;cETv(F)VkVTYx*-EBqR>h;VS92!~GW0%01cH(M_tEZuu6q@#6 z?r?sv$Bwpo8pU!O{p!ro8Ta_1MP@iWN~vbhw#Co&@UMuc%&Zti(|mLNS7-ZrItPc` zOoK){kj*qzR<&N_`m$H)oM$Vg9OrWWl4kOv#-;7Fgiuxh)) z9a`0$-wua-cJ1`5Q5~yRjGmh4F3b+*S7f)_Vf*%kNryit$I|U^rpeaZ^>V9J)Pv?L zRK2_As#DZms10mGy^8v=O|>fGv?Jeaor*YXzD7lyHD8}%oHbXQA`V|(T?(}e-_vJT zz5?BKB#ND^(AX+4lHIQEu%TbuU5%^Jv0iLXjgC*zc319@ciUgjL)pCDRX&t6&Gx5_ zif20;LMRo^hwW$+AwP5)V8_@mr^~GtP}HOPiHDtB1YLX8+RcLIaHg40qHzmMUF>$6 zU=|e`dKuY%AR4j4&=gGPNIji}p7x#vql*XndwbYr>1khF7#U_Uj{!-Baea&n?F#JD zy&L&49H?$So=41jf`Q1^-0N0{jQ(`crV;ZSY<536B!`IW@UT2vJ4I4ebxN!Tw;}ay7N6glU!8iWv+7b z#|8QPKo`TvAnEmzP+);D-idId>I<{IS-TXkEif^?Rx99S?RfGA_NcoTF z5er{et$M|LV}>~}Xe&*m8wi!^cu`@uf^8dJ*0S9P{&WwIx;bFOvbO7${li&Z7G$p3 zzr^N>^a^t`1BFPt@?BMf{@;I2`EGSD%Z^u{gHA8#+=Fkz%kjj03-qJDZLx^`C~Uh= zQsI2xwjD`nK4%-1=(c5T^S(67+h%-dGIO`;)z)%%s~%Lla=!`7Xi*l#gPz0=L+QQU zz%W#Y{(t)2pqmPcGA7#6@l?OCuVk#7^m;oY?fSP@D03TnwjB|RuLPmqa9iRWS{v=u z?~ZPbEg1F(6$?h&gr8>e&0&nx?uPDuKSVlU!*I_G%ULfw-tb#BOBrI%&$Tb+Ab~v> zz`>J39mna|(NIJs#Bdt3vP=7OA+GbOmg{ucW2)1P@|>QG)FQ!#IiYaF>`=gAb`Wxy z>2wJ?%ygO;X8K3izSFFVL?TucicPFM6s=f!5WiSy5YbqvbKBl)&)dXBI8G9ZZ=5(3 z-8gX&+c;qm**KvcD|ZcLa>jb01Lx|D**dLb%KoP<0Xev0-FYJFu%2smyG9s_L=|gT zR*U^YHW{O8wLGgA+KY89OdCxc-|E}V_^#}TMYObV2|-KisAW7T$t{@S9zQseo>P^bJyxyS^{8%$5$nKLFjWu8 zSY`3dR`IasLdUA(SxDJav8p1B-N-n59;|%IuA$CuFBa(hjEh7J-jM5{Ca+D`1NYF;crve%{g{6 z0LkL|@I(1uFN{qCSzWIgltR6zc~5GSvz4-ljY#u;xNOlLJlYIun6W94{H#$7WoC^e z)(a9)qZVXi4L{a-%=Urbonm2apdiF~^ptwlCo;WsBKVZQJ3^tn3mF8;U<+ zt2;y=4AH7b7~-Q^JtRG~{*d%kmVvcO1Rj#3aZI=L!Iy_qJGSP;CTJ^x4cU91vW^y< z(r%C8`Rsl9fq9>z!PRlMBQ4ao{yqj@Ca`4mpy)Dtc~glKjipZXnMKp(Y#6gD;}+o= zudy$`f*l4k$g$G%7z}0myWJ%bsqkjq9gb=N3Lc990Bjl}9YHb&|+R%YEb zjB2dFx@Z&&8&V^gbr%~2>nK*>;>HQ^>Mgpw8*0dssn$%sA@(GEw-?36Pe&-Stri=} zu!4_iH2Gl-ALYgx){pQ6C~h3?cy;;Z*wGxZ?I#+T<v!PI}(XUjW6|H)VQC~ zu$|Sd5;)a5A6?yVpdAgZk!oG)$5CuL{JOkqzSQl)lp4MyI zu%pQtPrYH$H>kNTYvSs!N*a`7Y+bH8iOVp*4db)PeHZF7Lp^EWLu}Vl=SL`q%((ey zA`Pw6-fQ3rN>AS2XDXN;ZmAD~gmj1RruN#SVX`PMcP$EHweLSTn=s{igzZj*at>A7 zX;!sD8i9jO-CvT2Ci)}*|KXQjG(uE^W`xk26$NLTA%1uE)mJI+LA^wLt7nUcb!_$D z4owKyMxUjxKF-c*B%Iyy&mYZj0)%%0Y%d%TGgQ6K;~8G1PT~Xb3Ne$fU;~#k8RH#V z^hcs<&jt!VbPP&pKVh^JI)BoxeqQN=7AG>Bs@^`ct8eG!N8Aceux-kEQgG6*%9JrJ z2Rk^t#!+g29kBK=R8>EAOI5;)9(%01uyH3ZuUb{Jtv#+Ixv3h&c)Wn zT@ND$euToPIt--t1dzY#R~Jx&Tx)m7A_G5yo2fneposeE)a1St3DMj6bvhJFXJ`$( zR*y4{cIiac%j-OG=L+48EWJb3I97$86GJ&mxepHJ?TU7fTQKjzgSr6Nh2vzEt26ej zpbS0hv^WQ5ADycD9-|>kw_A;)&pCO}#m30qH9I$(TRO5V#!o3aD(<)eyF$YZ1yorf<6nb!u#R;9}fCcU9k;r@tl^+I5*mfXg3hvs7CU86(x#RaB(wv&lf z(N52|WAU-8-`?-&v4?Bif$~_F?c8;xdf2xBcqgl8-sp(jm2DW3-m#^UxVKJ%h4w}+ z8b`X$E2$3J^cs0re^tz`^UJ4!^~2yDlGwEBAf_j{!9PyEINi{R^?C9n068R2yfjW# zLx&gS`}?-)TAFRJ>ebV1pz}CF&~Hn7JKeiR^)kZUUJn)x+4U-|M6ML2^2U{4<2+Yi zqKPl`Y`;&g5JT~4R2{b(r?5}1YP)DfZ#-_3HJc%QeuwC$6BJ+tlGQ@K!I z+tt4`m!V&``!uq@!dEKdcYy zC^eJS)0)ZaY0YHzv}SU9S~J-_ZQT5>wrPEq$Idc2+$e8`hUTLTPJH9{if$&NBR#qL zS*?0aXmjy3XI~NxRoF(Zg72w} zUUyx!ntJcP=Ysx>%o9UVj>u+nZ^vGDWz8~9#W#Bmry79mtK1HLok)gjZn_iQl@DB3 zyZljkZMP~2Y^)S9mS)K^rY1O9HM+i+Lifzh@&uP?r5%;_`7giPp{p7#7Uf_SLgE9t)JJ|#E7ItT-toH z^L%?6Hzw+J>y4;|A{!@;c<-WIrxqKQkBTOhIa<#J%+L$&`%I4gKnZlX2I=Jt0DAQvFQd}nygsO*%K&zF0-(B?x`E0`W zg$%-3mhs-08F7Kt^S+PTzM>L8qYC65aTt=VE(;ybvtVh}PEq2z86DFYrCN48?4> z6z+b4plhP7y^!z8YNa;+AP&9Tq>`WkF+5u3RKqlIN`w&a(OvhJK+(tni^M|N%Q z)RUdP!;Y@ix-2t1$L$z6zo82%V$IJU_7MK;e6M`ZgrLF)OC?SW2Mu}PJYeXl4^P`& z2|gK)oJ((wn}~|0mnAw|iR{Y&_T-KPxG=NQS-M7eL#ifh;YC9iR>X5S9DfP2(2?S| zyOyrrkJ4o=MUx}9k!-ne8Tl;N&1pc@Jg=*{A(?ixtibm%EO&iKsO08zy0l&*js9eH zDxQhMh`TyAC&F!%M3Yt+@z-|05r*@sF5;+FJ!zm5>k|RiI<);y2a~XDpKCtV*QoU~ zCqn5MoNb1nx;QzZom~W@ozN64XrsZ2>{u=Obyu0(@`^5ghB}Cb{@1wFc@TkwA2E{! zn%IDYRZKV03)aPDmFDGorYlC_30l(;vpp$q`wY4jU6(D}8XxP2zTWWiJnFQM`uK(B zRXuKf!Y-!D&r>v=Cfhf?d|zTC)3<#&6c?lMz2XrWR%&%wz!9A}K1<4xzAICp=7t}o z4D}3rl;efg<@{WYOqyRk*Xh!LYaY2&^%#Ns^$<7KixJlbYsVioyawG3T~du=T@T@g zDK$~8(`pnVT~|#2ZVXf7pY6`t-B-f4U2b(4S0r|`sQN8BFCTORJPRe44D8CjiQ&6F zv>Jc?Qay2?E61Sd!~WE>^~)s!@4D(pr7}=$w^wVl9{Ig089DhaH0eml47aNp+V--Y zYeXqLn`!J7(FkTS)xEeN0QQy{{wu-T6GI8@H9MYh(y78UiG%2qQrH4JvsBt z;*`G^RMlRTTO68kjT?b+RBNITuh}>fRJ~cexzcA}q;kI>_bzu{*=fCZ?*st*NQHY$iEX?S|>8sV-fkT-VL^RSQoit*$A%HtbIh z)MQOWGq{+xFgsdcb2rF$)soq-XU4mfz(VSNcoWo=cxUcPVQ@GgHlWCG)weq?LPh(i zx_}xvt9Cl}P!J~=e8OUVaP?k?S9O8<3fz=an*$ksjB1!`CFHU1T(`*&JBXAkgxliW zZx&R?<>SQHE9<<~bwzGP&Q8C4X8Gc*`q{8#8YVE-?Y8DptS8%$O&v_}nAHaP8H^h1 zk{YQ{b<P|tkMU=4H0g1LU3F6R$|@La2JLZxSJhHDTbk#jh8&g}V)h1ov0W@>-7 zC$qE~ykC``pL6ed`x3L=O?9ji_*qq#~EHSL5C zC@WxG0$Rb3t>}+_ZAA@VQm1Ah+Cxk-RnSFZby1IEN+f0>y}T2+mP~EqFdJTc7j%4u~+w;y7M}(TWVK>`&mWR zZArTe5T<8@i250E$f5O!mz><4G@0gCDV52fz>6FaG?r+uYUi}^^}@^uyse9l6^XZX zlE97eD$KpzFPGN*be6oi;9t&lyN}&@yS5j-qo*gz^#1?28uqgH{NaAy0pJOTdY{a= zj-~(RFp4^i-v5hrSsim~3T=wyC6K=Op#0fRc1r2J`~rYHR>TF%xU|pCGuXEc+rB8V zls86QR=Nj?;+<%$vFRH5lwn28B@%;ifc&rQ{?aI*#3({_if}2V5aNY(>w0P<-Z0-%ht4M-6jSQNi$K-EJyZs1a7g*`Xt z&A*`i+(mOF69V5ti~Y4cn?vyIi3_KtA=_a=9G{hQjbh`~_d4I|KF>9t*mT#$z{N~H z@8PiuFHhNrCp?Szgz1=&!eYr5mi5^V)SqSJSGwGVMfn;^9T`te@c`5OEtT zbBU=BRsx)#ixIeT;3xK+)2OfNtcDrmOO1xzM5)(mRFVx6T9?O^LA|GOTG80lX^ay& z?uf=`dR)*{r)WsB*{Xec_1!I3?(TSui~`4hd8@&AF#Khe(T;of$ajx&U2jB2a~c6I z*-FSt1_KlOTM%JAz6u37i0kfV)p;8Vcw8?7Z+L=Zc-4sgk;R%AR0lZqqgBT1^0S^Y z{Nr3m!A?UPy5~xh_U3l9*g&0c0DJJX;XxKT<(>P$S*_3Rds3s_IFhx_;|3S<<#AI& zS)1ft`d6mdyl+8%$9vmEv4vFZy0iO`_qoyb_C;2v1NJO6pVDCT9v?qjaG?m)W@+s> z)sDt}O_swk4I(&>mkmqFy3wlUYL(uGuwjN|8oaNmwK3in?`2O>4qCiIVTgwft9M+~ zy7)chaZ=YHd$&?*KA^fjW^18sLuC%XG8pNsbPIrT;ah1}%j`LXLXX77SDhdn@+!`; zOE!BA^7Gd+nXId)*7we(xjdbeW?*DM@9RgiUNy|KAg(>3bUgKkHT~h-S*8u3pr(&X9jE zvzCQ?dKpzM4`BtrTzT#KwTuANZSGlhEU z{1JZB+%7EGHyU}!LLJCbx;{QTH)CI8S>;8{pyQ;mFa3uV?Rzcuj!Q6FR__D8T|J2Y zCi}R~C4JOm_pPbPIo~E_=PK44-kET{q~=_MA|NBx>(IU_eKiZO?vQe<=h|p&ifr*k zQ&p3JLHcE&;UjKe;o(VQ!mUeHh}W%&%M}R!^^REG19xNePAHCwJm#n%Q9>Y)d)=YD2E?8A3QqT zzaYc8x*R`rHnJ?w$)~{ayv)!L4TFko^F3e(NwVrpO2nt|bD6PGj{d^=RDFW*eEW;q zCPHXqaLBLLNR@Idy&+YN4g(Z-jLs`pD~et8$}!-nds<~>KKRXV|GQ)ij%8@&wnw+a zPw#<`M(uklo?jn5d0K_v_Ig=yau2j@&6l3p{Y&^|A!eiG4c8a8l6k?aFFx|@!H$zP z(hJwVz~Y_yzRaCh3+ld}v*Y58J(+C3bHs}$Byx87kslw9s!Iptn|QGP>Vt^@;Ah@0$qv)? zRe#OVE7W{w@I`xm`}wdX;-3vUE8|vw?P_~|rCafwW!t`8bXQ+geHAyR+$K2dzE zY$-#mw~V1I#7ny@Vs?`HeLwq7lg{RO+RFNIw1q2FNf65W8PPme2K#x>iP4Ry|%4d@lg z2o3$^)VXIK{$@8i;GrnyH{nWuEA-2-}l3}J4o5#c9Cmt z`7_q;Qkcwnbrc}mMwSt)siAq#MVaO|EPmH>{jc15NzJ$>7~$#uS}?+J_bO|(r5e}7 zpiYNzsLe^=^)?Dw{BrHqt4MzkeI1hs%1_ezg@(v#MZCWI?FCJc>zUjgu{ia(6gAYV zuOL3=HLoq##yVP28Y*j?<%EtsPnge1^m)&72`g20E7eUM<02ia<02dh-N#se5!_ea z;mAgVY$QcLAG)_B5zsR6Kb#ij**z%Xc&`h!467k4fT7K>Fm2`4nRQ61j%hVzE*w${ z(^l>$+#!`3merCNhg8C}mFrK>$Yz?iOPt+ftD^4S2xf7~Eu-1Va7`Yv`z4w_1M9Z6 zW{6mGu3j3-rFvm)?$m39vZh`b&6Ik1C`amrnk99Dn)KHs-{q69C!xfJGF8hY6!jpR zRTPSt|Aiovv6qotB3e|eVfkQ8}#T)Xs z)*A9Na1!+|?3Zn*nh&x*P@OL`sA5bW+@`Rz{F>iuk9ViuP_bQq*zWsd71WNi2uB9i z`tpBu!d773n&Vfi?fi*ZtG7lj+%6amJ!a3ji4f&Zhxo%9gXIhW^x;T@hIJTXlF*)!ee!{}<$$OUd#M^BsT5s(S zKX|rPvF{7pZrROIv`ch{dqaJPKh~_QrPLeG3MP^T-IjNbLu{vAJpvN(w~pak@3Ft@tHJtb;<0+dZ88>Cypkl+B}=nmC|TV)s;Y;uFt*3 zX=qq7+u>Y4KT0)`jm?mhv^4 zYwvB;4#HR?u(<{D&%D?VSCgupHM>r{iWRqmW4cvO1`}O8Xu_GRnowsn7i3+fYR;L_ zKy5bY0m2{lXx`+@A1^nEyHkPafu#XqKwpOnn6JK}f-p{fE zpS`BtZr5l3!h4f$fUf(Ws7U^>;li%3ij?X1!u*D;-8HMzW9>&e2>AloA26}I7#ti4 z{j7L%&HuRoSNCUpEPMUITfvvpE# zIa~x@G~x7+sS$<2??v*;0dqGByFWFsb`i=e-nE|_%s)w4K8l~WL=JWXr z`CW6X)b@!s=c~HmXvQf^rr6?Wn9)HC4|d%o6miI@`Iqf(J}2jV*I?IC zWWA$sZ3(-w`P{5C`_i8@*74dyebAx!206@!!EWB!YxzF?)spdEERyGo8MWGlZCgjP z!C^p7V|aJ$1mKapOJLMRaFEwI?Qy3pbyy+!ESm@3hi!5eigB$wIa*T}Gn->Rc8hH* z-kyf3oym4I%|$@_TdIc za_ib#*jcE4QRBIAtj*izc=Haosi}s855;=h8Y=^0spaAK^4tM8zt<+Cyrm3n+IcC- zPAM#&fl)WYw*ouz_CKyJTX12<*#!oIFc{+~azAHn>}g)sl$bx-BeHDX4(0pp2A%wv zI1gEj*vosK?SJ1p^oXAw-es@i%J7oBd)lqKY|Z}I&_Msl{M@1;#^Z8iGGYbe{> z&-*D?Gv~GAGL{8L`3-tMATmsz3)%KUcq>n`#2(TM!jj#zMV&5_VkNSxZR0eW_yvhkN`1 z23s}jn4Qk!uut_I`?(p(G6S*KcHGjX3z=sL&XkwP ze{eKsPY{yh)w2f9))_p_Tx}Bi!w7+dHx=9oG$REat-3Udacj1%BXRX3QtHHfSfb}k zJX(?qBc-S%P6@gsgyLzdlk42vk;>45Qw-Z`+tb8#x^+ye>9m|Tl!&d9HLR+Z^&l5g zadZd2J}}Iw0K2&7oSJG#ya^N%G+M^0>NnDe#;L9&pW);Zp*mrG3_=mqyo~zKUV%Nb z?$T#hbC@X8$C;{CzA;r&rpc@rR6pM?(9ly~UR14++p6EQ(*9zun~?|KOz$nDq~Qz) zthX%+&P!R<*cKn_XAeFa)zr}e7Tl$Hxy>#|xMHIhof3JE?A{dVt&Hi-aj->8;;Ts3u$-*jp9#9=kDpXa&OkSS|fZ z)p;{DZ(AKSQ}wpb&vENste4we`C@%*zV^jBZ&XCp>bFhK8rHvvFHKayh<;Nwu-?Ts zRly)5cx{nU39VP(+vZ!{BSQ{5eG9mu#q3%K+)NOCnF7T+s4}IO&?oiWTi#naxoKZF@j2se zmj-t<5gGR=rFts~a!W%ss;;+Yx|iqovZHRi=Tb;g5$(O$Ads-Qfy3$9&NtOv$LkBj%t!T(;@5Ua~mJ`+1E)OvhrgvVz z&vNnuN=z6t%syo$BR3*Dap*)gjOOufbtYC~PhZP@FDngx<=h5huitSmE>^7lk-g93 z&q&17EaoEP%3Xd|uiiE;Ens*6<4nI`Gw?%iWbtfEFFk)!$Tan52+EXX& z0J--O!-)#Jsa6?{aD6?IOJ}w9pKqPa0K2kF?N7RCpFw!OegyS2obp(&ToaD?MxP&Y z7WirV1UsgR^(Hn(T`XAI3x7UVvsT%TgyVnuBXmAl)ohrTxk{Ph)^;&h*`LT@u_6+z zovic8*VPO6i%!*g;j2Z|iOimC^Q;LZn&(-5F3w&HZ{(JxH(K=kB})p~VV+Wx-)mvD z!1b8TyOkCAGpVH3Ei3Z5npiaoe{0>!_|dM3Z(V6t3nE+rs-35;0*v?EUFZfu*<$bo zYe$|89-J$;Ute30b~D14rZxicIQY%5p!R6f*CtgHdP84`uiruQvGUb1wnEG9NKJ&Q z*%D4%wCrQ@vOZ2xj~cdlw*=^}63Pl3Lu7ei%Pz1vTgMmSFDS^Zhl z%l3icT+U#@47y4UD>q`-_T}p`D9?4+-3DX#H|&77m(ix2XJoC1Utb({2md&KFv<_O zOLj;<65Pr)+#u!o4cp7h%BXmTN35k6aBbHRWhaAxx$+dgh1s7IoxmlB7kh{MhvXL| z?RF>g%pm&@H*4#JDW(bz@TB zhv;sM?($5P?T`GBZUylJz%0g$j12cL9wkG<`ByOcKEnehWUhV3#AK(L?1?;@OS+sn z%^~HTn(=9XidS(;Yg)p=l>5R)40cN7K}&Y3kK9^=lfQnLgZ%xGWzE&QSb6 z?%oG9v+KGS-9stC7-NhH#u(!%iQmMymPgWP#uNWT^Uqc%GxAuP_y%LTPp}9J6!xCay{w?hpCjyEl<&Hfy}26i1Ko22EfZU4A8G&|MB3TUW%Zti2$dhUsQ{bPoh)W6KYURS)M8hYB)f6ll+ zXU#4Ez^w%UWOt9Yd0vVL&Y2Yyx8iD*>WYVLYWzL3Z4Z#gs6xi-wh*(njl-N|S@QQKF+2Yz{XkLw)}Z#n>Nq>R&iZLK_C^A=nomelJ6Gw z&zZe#vwibd4M@FOt!0&vHwD6>Kz3>G?%Kxo)HVEx zrpw#go5QK=NIjBKYb;GeD}EF2`JtRu<(_33?zJ~oZ(vE>E|=RrPMcdi zE=Hwx!DigvhJFE+L>=jm*T8K4wV#qUd@H%86RzRz_Pya7H*egSH6t{dHs_bV_}Uw1 zZy@^T1-|olw(sn3ZQmUVg4{67>yb}!fz?i?t*gZok1IzQcE$|MR@u;V)h*eEwHBr# zUB$z8vD=nuROGTN%2;oK%dx@bXOZz*UGh>9`YKeTLTN6L^B3cx>Pa$dtCiYR*Gi`^ z!CPZ&sUSgcDISA*yPTx6=_D1jS}7ydO=L>o&e|Z%^UrI+kvSdaugfs=IMsrtd0}W% zAPE_6rJ&oCgQS_&EASX{fVJyg$`BMT7Uq$MLjCHlt=(SUX5Q0IpM-lD+?KdYu>`b; zkwsLZQCnxT8?mww@7$6+;*xLAwaP~ zm>!9$kSA^;uq-@%*5+LK6Ot=|x8*Jbc`Iwou%)BU%$Swk-BHkzgK8{Rz@|Sxx%M+B z$80~H!E1%G0z23rFq9`CT|>lX&Wzdql`-3&1-lTK6u;S#XvV^#j|UdDTS#v5N2cqM zu$JEDE!}44M!`Gi;dBMwJjygGV}UbhQK~y4S<0#hbs1 zvqbGFrVt!0ki-~OBd=F|#N)sG#}qF<)AvyAxIMkjKe%2kFnl{~_%t&QR_C*eB5LX( zHnFmwEz_2b&DZRjYHhPT>>8Yj+^7CrL^MhfKLvR%5Ze@DQL?8X8nJRcRi?SaE_vDz zQ|8#O<7wGbP%26H@a6hK?DXHM(_^(R6W0JWZ)~Wj1RE%YzSuaWd8*912k>~UN8(mh z*rzg{)7%K${pZbTsLETnTjaRG)voL0 zWZC)}b7iJ2z+vREMv^Yo=RNT%^TH;B*G&yM)A>9-(|;}(?yOdap!v@J+(^=#?WxSq z3uu#v>2#U*Qqt43H7&N1t7cX?dby7IyG>T^Q`;}X0wm$RjuXK5NpL zK1->l+*kzlhd?zJgZTRB^avKjLm}wu6>|knyi4t)=oE;j*m zQ%~PC+g0korUG|2xbKGMm}^ho#8Q&)SWQ$8}W`pMAPvu+l5tHL_Jf~?xF zCmc4EI~b}TRd%-eHGdO{Y5-LIl=>HILn~LZ>PdBxUDwwl4VQpsTES%ph<_y~Exl9; zE`Jri8Vo1%;6VMoeLA>duQO%2j@b+?{7yB=%bCHV%$>@Wt{|e9uFB3onWYWG((3q@nE!2FFjI65#r2`kj4JeWM$mDq8v<=U(}oTs6_WX@V~- zJJ7M0idcpOUY1o|dihM9HgOZ1bOSdq=*F-AswhVa!QT3x*{m8#84Zbhkg@nS#NLZ~ zYJ&$PXz+k^vZZcX9>)hz40rtB6{+-5g2Oa?M`g)$wh1Cp!15}G*AMNkdgMB*!>K&Q zBUKI6TvV^Ae{kHLCl^|`8h&TLKspvg*xAOZ(rDzyP)WRsRmXYUFAiDM{ZIDfD%lE_ zdt><%8T0%5jc<`W+LUWsvCfU5#%-gwQ`9?om-qvG7#qzt#cH0ad zfPOh_XjeH2cIDV=Xt_eyty2;Fi}p|nxro>Ma_3Pz7LdqU_}kaobJNH5K*8lB3Qg-M{l#A;BZtIF)oMo#6E#do76g~av;yEWnH=p z&c@m$ilNh67qGm&z0WY8`Cvz#g3&8BqTq9dnyR4k+CvMcn#0~{0jM+Ws)(?m9d~zm zw+A?6QitJmnQ5=0xADh2Q#RgNb6r+L@LyDy@CW|Ef8q7=2mWEfpINg1JqI&6Sb?9% z5|1S)n#}>$oL4utRyHm7U){cE|GmDq%0Ia|p zARj|t4VYhC)xWVZ92Eq+b_tCORnNuxx01Gzuk_cp1P@pi_*LZEBo7iJ(B#sOk1=hl_(fvk4~+V ziQ2DDUv2O3d>Ome?%Z#FM$xX=47w0r_ufXOXKe_9$xYvSn#f-J9e%M7DR=8yPM?BI zRwHW>57Y^^!Xs-uOv8?o-pYT4F74Rn6m{K{*c(+Qjqh>mm4y@ovsu;3{aNQnQ47Dz z>P`E#cKel$J0DG5yl*d9g!UL>hmZa(^>MsjH}?$WWR=)Cl&0w-wmfmm*z((3$QDlX zd#mcHjfKfB#M(H>EPc3vlgN17)ykbcuYo>-yE53s&VKN0Wk2l$H@5xh4Q+o{Fmnrv z-zR?3dadm4drzxMR~EW@Gy##nva)q^ZN)&1?hXJV3&{u-bcIyFf}#VvftSrN^Mkco z%{v~pyCihC5Vk|;pWFa~1CUZynUQ_*d|x36f3=o*8pwJS9!rkez+rU^`Q^d>VC~$# z$e*U8DlR=YxV`f626?k$FNPR)O3_F42++yl5w1$bvZt%5|A+=uf0Ft2Z+@qLzcrBh zv!R*4voD-Vxdipt!pbQAt_pURDX+3tZ;wSqF$(>f`C+wwkI-uaE6TK&wmHd*^;3|B`}SeC4S3Ioik3#bm9=Ur;345HwG z&Tf8jkRQU`s(9AM*@Y3ZRid=v;>|nP)KbY-jYb~j{O$lH7Pe4=-$1=3&S-^zI=xe& zlMV65JfL75P4~o!0PDt&-r3&VSe0uI8ehsc7a^6qt9H#oRH1F@KTU0+tCmF3qdK`W zG=tUQbbzfo!JI`du@j71q5Q3O)dmABMnlEd4Uw3{+;}^q!2~K9Li+?lq{Zsy?&GF$ zy+eO^5FhFumhYjMmwji}ZIJlN^&O;VVlq^`#U8P46X)R(&bIehzvWgut=B?=JMIX% z{QA=pv~9dxw;*)LtZ58U@As_a!hUQ6i^`p8{t_kpF7{XxI+EKp2N@4ByfNbiMVQ{L zEu03%Gly*1E8DS?SIYcGlCvu7RU8TjIBT^{1?4^7Ite}_QKRl|Q0dm^16q}I-$DrT z#dCu44O=LTYA&8)oAiYpD6AuP_!Cp)5Kvzc51aqAv%RoG=95UNGmxrT!RhC5lBE!sHNOb+)}YcjRcBnx@6|2YidiTiM%Vs%HGaAA`T)f_QJeG59ha!v@WDl;CCGA-pha zJOT+7kn~>T{NAjoqW-ULa~lA9C*tXhR!f1|F|O~d!O8ZKl+9jrhH?$an$^-r?)8mP z`g_IDCBVJu$kBQJr=22;(Os#^8?3#p%eAFrSGt?7HL?LiF9sqa)w+3UXSNq_5vPqt z$Zw{quv+$N8_zPjTRZEX4CvQp4ytCOf2VLDny}L;7Jb+Y)GCA0hW`k?g1sf{Fu%Fk z1hmxp+4H=ly4X`25NeUHYL69TNE@qF-8S`k#qPJLD!r}BzGV;wmehmK)Y*yR&Qb7J z*0og6E(}3QD?y^atQ-MTH(&N8(kfL>-F`rYx-dMqk35Ji8k1Tc`wBu*LpWsdhtTPqc`a@CK3=P@ z=e8SR?JTJ+v=b4f*aG(zN=HPY&Ta*-XAzg)s_tN~UufqVy4ruO#?Uv;m6mHiL`E}j zp~e@q0L)k9+!0v$e|PWPv zOntXrlVxEgqVS|ugxMZ#CV2sQ`#pjus=B$SN~JdTB&&GE-GTdB1kaBFk~039kVznu zeCjQ=kQxx@+BHnR1zRXj*p4Atl^cl+f8DGe9DWmzB8R)Ujgxye_is$!(2qEj_^6aR z35Pu8r4P}l6hLSEa;98T)I>ESrc^a`t3BNKidP^3m@8pb)+?$draobM!yC6=-4 zvB9Lt3A4WFi9E<2i)nj+Z2Wn!RyVY#S%E;%!@{Ch?fb`~?d%wZ0w)ELJJJlxK z`lkbsZ^3~4hw+X4#edkFJ=BF;vMoo$Y`gA9>%kX=J|oXo2w-O{urfolVjcbpYCOW; zAXMGTLqhHzQCvLPv=+rqyKR!r`phe4P}4NTQag=ST6yLD0=FuYJ7@e@m+%!ef;x-2 zZ^q}oj*hU8SRn8$>5Q)gM``b~aYuWa0*gGtubTBs+dz}VxX<<=B5{|ZlR7tsEmXx| zz5|O~bC|kPBIKGQOiJj{J(uE@1gtpg=TP!^&xO<;I78((yGC zunv%QEA)-W11F6>tUj+-to`3fpLX4-s$A7%H;>ejVRR{hnr2qknDpBeyr!;dhsho_ zgCw&8%3eJ(DVprZh6Cz1B;crmX9u3_v~|FD@aqPq+~s{SX8xVWG!#As@Of= zQ4WeT`-%=PHOI=Oa@CDR)OhS}tTDdf>`ve0c_8Qn|Jay|OR=th5g~Y^F_m})&bv6i zZWjx7$g^+nuHgOv_J@;9ZW?UP-P^B$9LjI7g4a5GyCSjOc6FVuYF z#+1Z~@>4UwOoQrIBeeFUafH^MaTuX>c4CY1=CMRpR<>>Ujk1{%`g7y-805lv7Dc0Y z9`p!=DXh!$qtp>bDO^>Z&iG`0sN+VK%kbzpHnS@ez$yKUT4ou&sAXve+4I$UVpX_F zVkYC^&t%0P*@OIz_AR8%%F`$vWx02hjtW`K4|pBnM;Wm2z>}E_PtRsJvpR*V_7rUy z@h+?LXvDFtK4RrGewfYhRFDNy$Hdz3*$j{SU%TvueC~OzN;m&=xFzaX%J<-qIKY|p z(s|m4{Z|2`M7;N2soxQfH=>Yq67bJzW{2jSUw{&&WGl+t+dPP0m@<_C+AGN+U- zZ2jIrogGde+~xY8-6v^JPD4Q{Z)xFn&&d*%en6Fs+vtlIIhnYYLpJdM2zc5lq$uAEJ^yv-$0?trof!pU;yz13UQ6Wl|c`9P-*8dVos zam=jUv}OzKP8!)fQ{6`8s+qN*o>g9;SX&jNg8w*->h-uwkek&-I z)oB6_3P;Dyw#yED*53yt$$OklWQoS^qM?&6Zr~aKyVe{MnkXT|(yM&{Gds9tPzboO z%4wt;248Ud3GY(4ggp@3yZb2I76o5DMz)~Zx5sI?i*xC*TXh}l6W&j(?%IQ5wG^AL zzk>5j?SYmRw))Q2Jjq57@1HU-qU(X3sl;l&t4p(+<6rrw_x$UA#g@i!`4?L`6g0=p&1g#prNFlV1!I(>2O z^yybFyfi&GKl9S5bF(uqy)t{@{Mk#Nnj4nT8>?1v(#BFzaUbmK zbLNX*+_F_>C-0v=dGh4!sZ%da>u!a&2b-WR4#?7LXa=Hr<0h}52{w2L%HD#lM@)Ig z@^k2@ySSWvWA{JK7#8wdJ_!C`LfS|J`|%L$gqh?aqKmsMlGTFx>%+nB{JQ?C=w^#0 zVhGOyLQ=f#n-zS+saO`q0;qB}f-+{sgEdcK`f=JT^N%be!KE?)+bO52d_{IT^Tv{j zSt=I9-R;vo{YSJLq@@mm6Qiksz4SEBTMcq z#6xexi`Y-Pw{H(>;zWpAb(3oMT{zM8DlII5J%J{@4>~)AX)K=w7zWNeGT%B|zWO1I%rQ%U z&X&{=1(uE(WciZ+UBM=Uehd&12bttZSmvk!sv(vJIMFHP451EtssxI+5qKT@29znM z*zI9b#g@+sB8MnKOcKST^9((2^ht@)bSAmULO5@z@p&0%5c(aC$HUot4B`+E;u7L? zb2my0{7xNonx5r;L3g9pz9WCE#^B5075sVLNN(7^!5 z7+L?TJ{Y3UV%M%Xf#dl$2wdqdyc zi`DdJwXGJxnY~TH_tNO#`M;xGw$2^2DgZlQ?B-k9dozC%+l+B-$2%)~w^7k;FJR}s z(%lX0k~Y7BE8cN)3A{H5uk3+G^C7npRwtIr$e3xYd6}&-)gzCyUq%O z?q1(s`55}Q07zyyTe`D*HajlU75zeTFAODbgMIM`?Xh_oH-On`=efz;+sBXU6OttE zmm{18IF4;+|Hl00y_Nl8y#oMOT6wH0UvjjQ%JcH5;&s0#)YHpN>h^Yk?IB!W_??_0 zb{IzEVxVkQ12#6`o_Cuw?C2nfq1Xcm365egRBs&djM`almIz+j&p9XpQ~Rd!kF})C{l^C4?&vq(rKG(f-Ks;bN>VZ3W5YBd(#RoezfQG8FcCtyKnK9C4{%PvfcZ;_ zRU@heUsJm2Lo_w17}{R7?A^-6W~^h0$mx zagC9cAJnoOEe4r+k{rkxdU_nd+|LNDW{kuDSR}B=1;)psR7ad#WYU?p$VKnXJA>V= zjUl&>BT*5*opNun>(zZ}^P+I=urbTJ*$~?c+gr$2R$f^BV|zHP-{~z!=E62tZO>u5 z3^pijZm+Ci#Q@@k+vq;TiamBt@5(tV%m~8^ac8peFgmLVs@?U~FjhBU@8AVnI0~oJ z>K=@X!(Ht1hfPA;#uxA7LL8jdQ(a(2H%d+^f<>wy+DHU%>i#T_^)CcKE4#ea&@MIU zjR^zx&l4v%d2-DqyT_=$?gV}X4*kR-wtQ^^5B?!jQCECdu%)iJY};_B!H|E+?YY>( z?(O#i7X3CCF>oz{D+D+-EYpIeIB`%AL*gGiN{9+e@mL?x)ineYX=8YlcEck(=SqFj z$}XXYq|qwm6@`sI<;q(2?VdS2Jncz`riLXz zWu)$yDyzHmP(uWngRTzyYrwNWGO<H|4mxAYt>3bg10!yBL$28b3QXAEW z99JI!a%Q58LRcNzX+6~V8HY@>O6;u~vd)iSYlh@8v zqI4!y)wMwR3}J9#?OS@Djhs_z4}z3)tZO)>TvdkGvO^2YG7gB8doygsjT{(?4(&Ra zeWclSFfs}d-6LXBGYtYB_~$ES!=5tYe*D~xQS zVtYt0cZw{6yf#F3`o@i+jmo}w#3#i|^h2+T+JLss6s_QvLo8yixg1vAQB zo6sL`%(6YQo9JX0)5uNwb4W9p*O1AoeZf)a%BsQI4)%;v8P;z&)Abn8nh+jjBD^Ot95}YfJNu#u3>=Ya zKeJv%J(vaKRtNw_+d}%oi*Oxq7BLtdTS|SymR8dS22p1B*O=#;ExNxxW!aPW22|4n z0AH)lbFP?&`^}}++$(=(4mx%pm{-d+)t+zQbTR86pBtdY(G~Qg5^PXsP%ym+mw7JB z;vGF#y6!bDYpM{1+C&?>FP@3JDr$tr-P#&&ekyBSo~1p3frX&VY?`-i^nFyfCfAb6(V>?fD@__RRu?D$LdM1 zz_8!jff0m_(;PSAmTd0i@hUM#plYgRXlU)~u66qV%^-T;!2&jar<70z;MTPsUl(px zWL%)V(%~+jk;M-=9kY;}vDz2z9z+B&xR2|r7|^?-iTaT+CbmskK5-vZ531KSq&0Ur zcDKk|+qlM4Rw{n9D0#M`-G>7+v<9&9k1Y|f)!gnj%`SY5>Qxf>*P_bY)>dP$hX@CvDfnNJtKTF zsv?}5VNtEEL0B5Bvw$7-Z(Q%Mf`#PsIeZ@0<<8BV#xv(a%f=j()zuLJ`sZ!%KnPCV z9!q%Z{yi1X6p|EGh*O0lnDrJ2zif9l8U9QLBv$^%V6xUee#YAR_}R_Ov(?Nq)?dbL z2bpKL@GQXDW@+$hzvMPP%+1c??N_kgf#r_vs%k~5C8}xl zhQ$>t)kE&PAf+jbxQ)p!Rh>-+Ccj*}i?B>TbD|p&W0t&9IBbaZU>&O|a>w;*0sy(K zu~+O9SXmz|-nuo!azn&GUaxU6?c6MxsH9h$udHsj02OhLNJv1cA2>`gDaema-4`%D zGWBtfy+@1nQp-AsU?$TW3Ixz{y)T-z1!vv{vDX(`0s7}x@$J^ z{y3g)n?3xCBWm#9Rh+rEiT@4kyA5*-&-U;=d%TCgxADa)+M=e&n8$bQ^PBejEo1Io zwY_fQyIc0n7XEq*eIW^e|2D(mkFWrUKDJO0{zbGJpsyA5v4PQX^NYC;2-urGF^eI_ zm+&>QBUZ%cPL1O}`WWDi;LUFc>n@)86f#TA{e`q+%RNhtJ9ezQ=w}a567MbBE6*@o z$6w~X3;6FY#{U@qa{N_{jq?rhzZ3ZXann5JJ^P)TDSwWRz3*tw{y9&(=xqi6T?b@@ z;*O<62)R%3`RH5i(LCyUH1EA>zKB`f0MvUHlh@68^so5x%j0WcOhyUz^Ird`O?;_fgb9c>xrIhqKV@$!fchK&*Df@Qa(xvQM;U&3tiFfatbH8al^{lam&BQ&9t3E zN)y}1b0jd#8uJAEq73Yq*KHf~h4{(;fiH&UL-b#NV_W&p%#&>8KLMPtrf|k^D6epg z0E(V%{gKVmxv_ZH2av(RN|?@ zR-@LKDJvz^M1JdduB5GbDK}F5E&Jg}dAORs4(SEB-pq}aVx^-c?a$r@SM7mszieK{ z|29D((Z;l>)OTMtuRu=tzn49pfvsGn-J&g9#aChhILa;PL}#nWvDBmd_c-L^4*pLo zCcg*Jq_lebc!D!WFgjK~;U=7;F|7G7FeEn^p$SHcq8bL8XVzMrvDVZn) z@_dGrG1#}!7Y#QZ8@f)S1gS)Kl2I_(XVmOXXGOX*KiOj_$|` zo)4fxd-ZT;8U2vWdbT@Dw~G^Uzi-PLS5jjm6=PN$R3k%+bkEIDm}=j6WQW)gg94nCViH)ZTi7E0OM{K9=>=9E!;P5E1?NGiMb z>gSAO)?V$t;7=d>ScE9!7E*sApQd$^LBdqoNB;Lw|R6KY(S3} zjPSVo+v=m|s9vZrDDu>})Z9+&%?l0}dc5z$a(qzu<#f}R*TO#I+4g;Zsx#t4hNaD6 zOv1>43`=N5C74IOzZd)WPOp3&J=0Q&8uj{nKJ8BwWI*GKO<&zZpTvmqkw$clHs?`^ zEbjsypYn^C&oau(myMKv*+D5^GP)-A4RiW>_&vF~2R4uJTUvPYBDst_My_O>--1o% z+eUn*(|$WJI?oodXA*N@m~#*%iPO#ixiy2o#6EUl$d>W1ViIse^o775d~x0HgZ!;I z4EiL(<9>APct<6|J>l2X1u)Q$dVgODM`+?XaTzFMty1uL*R$gZ6JgOkMox|yvjx)p z3`d|FvJ1LIx@u4uAlRaaiHduRx-f;N}#+)kk!mn_Vmcnty znV(t;u7rJdQ>%4Gte$gJ>h3K^`wh^l(xK11Yh_hw5pe67@EyH$Iup!J$+-9MuXz2w zl$-b1Zq3@4HE^iR6y?d$JcQdhviwSOSK_n~qD{*eW+{YcBD3@Pc|c0O2r!?e6!|z& zI&T3o$tbPl+PvsPH*a}(6}_mH4f>yszkLx=Y&>Gn;#%B7=YZCQ@H=W0%633afj69$ zT#p^x^n&D7FM@WW$0SE8);z%Hd45Swmy8bcK4}~C(p5{9m#ppY`ufGO@8New_ zby}#NZsA*($Z^WYOw$C3!WVa5Todh^u=8s#0C-UZk1ltY*qO(#pzSIq;BCkNf{iD` z-;x0N-V%HrYQt1p$$Ad`aIwS8)Mz$HH7&L15WWrp6`zS&sQ*;Wx!PK7)%+#VjQv1! z@Wau7Bi)=SK3ow0U^Ea(QOT|m^U$J6j_gpuem%|oan9(iiSO5{Jg>L4=873T3Nk28 z%B}jNC~EezAs>10^|af0faEVsEn1zl7akWpF~4c~(_kOK5i=*Nf-3^iU}cbdBb!TCxe zrmP2|-pZkkdigq_9VA(27uW3KEr}@VO39j)+v}tC)lPA9S=T&CUw$i)kQqpCs>u&6 zzwO{J=C~O}$&_>Tl&Lj7Cp+M*XZ$OZo||2neZT)u&8u>E>fTTEQtO#(ZzC&o!Ok7^ z+5~$1+ITRxz`D>6)|Q^G_;W-K4mDfPSz7JFI31z)JT1kzPoU5D$A!Cv!k7EP+tSyT zgEQ~Rs#n0ZHy5E(6Hu#hcA0^Znh0j>nA4=B(bZ@52PIQ&zS$P#t(GO6sqoiC#@m{l zIU%NWoZX6AsL5eC7RWcuLZz0$uOmq{><0R#C%|}|X3X4hnPa}AiHb*yXUoko=f-y* zmD;O-PHc!-nNF*(V;00_S6n7VxZlTf#D3pO`8cM6+BvDp%25vP|3^8j zL-@j6iqKy|jXtpNVUBIie8nHJE0f_oCb6zuBXO=iDys!7vUH6@r=!3syvtUo z@hyLLOZscT)aH{%!<0BPuSc68>s}Han}u+$#(?hnICN`-FQZ4?T;=n8E@SEFZWdB` zDeuRpk-3ug#Q7p!ou$pwQP*8OxSokKm)^U@@ka_E|H7BS0rYgJp_q?l1t)WTTi}j8 z*sR-FG2}NYTM~daXtC#VUuy0IzQtR7&&W?wNwo3wt7E@FBAKSND*CyWvy#;BVv*z8 zS&m6>B2Lgct}uukq~1#`t1lz#1yeI5M%vP}@UI*&dCbZXZv1<*m2oCcjp8aXB) zgyHUhaW=rHEW{>zN&%QF%GkkEzS**@Ko`v~l#pd|0R06T!uGz*!CxFUVkL9C1Vp6n zoKl1n`~Wz4nNsLSGMpDzJ+6P#ci|lUWgk?gP;M3uI^_);3V@qGXEw({YYK(aYK~ZX zDS~?oGs?NM%zN;&pC4qFEi*DI;vN9T3!IH_mr!U5*+6axU=oty*uZ=h|7UTz@OB)Fvu&=kc2sPBKzM{JPVVS<3q(V^WWCjCJ!K z2*FH0>rff36X`s|{PgDmHJbHWK_C3==Kq7*RK_zwcKV|}LK^e3(<*z={haW7 znDWpn^kc+6%JMs9w7&w}@0)W_OzO+L13($2ErBz+2GNX`Qb$E=DfB z+drYAo&;2^oj+-H)o+eEY+oYCkQ}y=1Y1V|i$nbfeTHLxfbNR!a|)fH(TUN*5x@3e z;By4}tx^CajVcur{jFF?%CLQ4!=5jJ$9!7y75f!0vP6ha)HTi_tYPqQ0s?gmh5Iy^ zgSvmSaTxH#qu8;3;kYsHAI50h`Uc$Y(Ql-Z(qO6YShB?B0?j60)3*vVHoq~Mf&Exr zA|^$o5RenMD;+JnWVF_R!O8{*L=SKs`(w;Op=wbcbh{$TxUme36OEeo*lgHC%uNm+ zAE`pSIT@r%K(b8PQ`{YDC8U-L(}fC>@XJT$)ebE^;B3V8|G8Q%jW) z;RL=G*QAA`9@TGm>qNQ{Rc@mi6k9B^xr;$FHcuRqVz%?-GuXG z=|%9U3mEzi@i*yL=$dnllrc8$Zh#dc`6d5b0wCS-FXR8y_P;Hz`N22JCUendGVUBI zD20q3dhDaphTbqK)IyupGSbjc_?fo%a>bJ# z2){N?#2;p_d?;9GLxkyyxioxSnnx1+Qy&0Wi?$0?q{=OH)GtC}#QbU9Uz3Jr58*1h zdiN=>GH18@fX%HZDK-8Q(4> z|6x>in1{LAvz{8+l#5SpMWn9}SK1eseCB~3?a)4q2~COQoAasHe;E}yslL09K}tc3 z^`%oH&W|eXt1p_hE7N!SX@sczcyLaWl5ya-hZ|}Z=v0O)Cbg%~7d&PYsp1LZJj8a* z>P!lBS7hvfJ^|*GDjIQ@zo{(IUsw(UoIe;H98Mm6M(%*dS%;tzPg$Zcp2xpj?cqAN z3TA0A#i^6sXf5H?!JjJFeW$cv-n^S9`}D^(Eq|5cH%3Kb!ddP*liHVv!Mx0FY*@5(Xqk`mUILSD-J6`)U1-QRn>BGY%db&@4u}su~RDU#5ZX9Jr%CW#_ zqf;~mWi-L4m&!+_#$kv?y`J13s0Sq+KO222OMRvi!6@yE{?|F!LHZfCrt08N6ah!U zvY@GS$ioHyFBJU#Ec4(!;czDYTv6#e6Au|8PwEl^RfPE9_14@Sa9&^ZTsI}GbOKcZ zvJmLnS^s!sU&Qq@*7zYyEx35=P4oq|oIiW5#7&Cv149F#;Ak z9w#DSwM=YxD?A|?UjGTd*z>=6Qc?$mi)V4NxXye&eTH2HnWs2A^g~qx;Y7qK9`;Yt z?;|E+M9wp5nY@dqh$#i86&W}3po5^IwxRH2GGiq*x7&w_S*9AdVVP=F?1X|zoo=)? zJ*>3PZTu@M9*cCKHo=m;&b-rDG>1 zN53~N;Pc=Wqh^#Jjf;{@zoTc!_fGZ2-}Rw;9n_7gQ$nYNzuXddGrP36>VrVN^l=mj z95oBoOCLvz+%9G@UXr8@EoW%Q11#>R+c-ehmd+Wi51j?tT{^S0y8l?-an28%vNt3+ z&$yil-5jQ9>QXcrmw>X*64ycY{D&mdzKGxi4Pm?FG^q%u%G=xbk-V{)vlOThDK~#d zWAFcYT;?1X&6G{mQK7pdL7-m5Awd|oByz_CR|NIjcE9&8$3;?XP&;#l^BCK&_O^W( z^M4#YGL9+J*`lU9Jl#3A6!xFFHe^-nO_F>R}8ka#!01Bne z&Dqb1))cmU4}JnStzNQ0HC2T3EMo7{p_s~`YC(5|b)tY0=-Z=A^B6(P{_un5R zyB;o@u25nkeyB6`{b$yxn|{6YQ9NT?#(tnZSQYfI${Gvjt*mX56g=F+rv1&lSDSOrDG=+ z`?!A2cDA?bqk6_pEVhHvq;8JJJ)dAgst=lOo}6uMZ{KIe#&*X`fqJlWH^GEdJMEj$ zY_^D#^JvD7_r)~yLC`U0N!uQbnVb~G13Te|cih$aW+fHZH8NfvC^W|a>AyEMNkbU_rOCV2qW7)7D zcca_emP^CAt*N}4hrg*;AG%_^?#+W!c<-{D;TZRQ9&;#1t#Qwelo#du_V0Y*X?&!4 z%!N*io5c$W_fUt+o>ShZAXoaZ?nTrcwf|j|`S29ZaJ~qYdHNkoNvbii6!I;k@p&r7 z^rY&r5A%VW1CFQg`(JVGRFtqws5&X9nRU0y-?Z54TeC54?;*EI@3Gu3n-`41eDc5v zJ$FOrH9u#hGAX7vCJ=LODdzK#o0J|Q97^kZxcxKa6djjy8kUOs)HN@c%#G8f=E?ZJ zc+_Af&rpGxJe$otJC%7h2TtM%v)rc^-eix%IWFGD^Y)vbPnkJ$+MK~jHrK4C zukV7Mtk=iM?{Ag%a<-)x;+TQ(3GR~Tj7t49N%9D6YzvM0n^UOS+^AJLwEzU1l0Zu<- z2XJtI1*^G9CCZPsCf(QZ73Y`Q&OCJ<-^gi$f_wG+Ea9ULI&L>-Q!?)02pn=hTl^}< zp+midZ#YYQD-v<+Yb6m2+flM8Ewmc3#S={()oi~%xt@~>?ZG7aR*z1gr%x(YqCSLk zf*2&#*a!b*6ciq=b9n2W(_w*I7Nre829Gs)4?>1DcKFnatQ6)55vO|UH zLRBe(y@Q5y=lCc&--r6cud5q{ecg#yJ&t4jXq1trGP}28trg0@da)$u-%V;r9x~$} z3P4pJ&Y~L77&y1CL-oXYcgdyFJ{z}C_LJ9Cib{Z`#-k;?hkt2ns9PzEQk5w;$|#xB z5mK$uSclogcK1R;#HW#k zkvf^X-n>6PDc;3!w0dRdUiM02e1DR}5DUhPHg~IrGb}m6luWI2^?ce#N)l{i zJUk@EX17PQ2V7`;cwpw}+QfV<47c$PSe6-D0!?2;G^)h1)S}I^MP_F-t@6$Ga>o|s zk@roowfcM8czxTO9A9UM=A?utgfa6%&Xes_Zcb$HyDnneS=-#iI$>gQO#b*Ob1+%xesyyG?7&g zW`JdXs-MdwG?e}wj3+BW=2|>+Q#Sc91_wQ}j1fqe%xIaLBdHJXn3wQ>wZ@^wBagpp zd*u5)bL@kZrfDBOS5VuK!{}bp_24-G{Fj;99nitIBF8d!#`_K@tph1a=d-+5GoQk| zXfC4J}j-HSK^-#f~alTBh&7%$GS0x|Pyj z4h+pSp@?6IK#kfJN* zoXfyuF$Q&{3zty(^xcWa2aA^ClNl`*y<=OG?7b70#dDyLC}=9QzO+i9Ul^}H2d}y2 zN_I47(Qh6T*e;LTqX*q(;wdMNFn*^)$0f!-d{)acE^MVT9lM_eJveFXp5D6voK_*h zlqBk-_1Zn7WU(4;BupQtfYv(VlTFPGIMM-Cp3;}(3qFcwUgyL##Y)vF~|qk%SW z=Gzui1-r4a_t7=eEt$LYqvhXPe&Gc60vd&bIqEWo-Z&+C^6o zXWr~;<)lM0Oi}x{n%bxEs}9Zf6G({qlm0K7GnmDceb0DN!6#km5%WCcdxvt6=2Iwl!~q zRp~(LXFh$}bL6>hoXPuP6k+DmXFbRLf|Oy-2MOIv;25SND91RIbK@#vFXN;-t0e+6-CBU!6#n~+NC-&P&kn!u|=6!6L z$x-A3yyF~%*$FfIF1}U@<^0!78vgz6Hha)Vxk7X2Rouk5^d@KpU9!=<+|6AaUDNUA zgKk(fra2DoAqBW=h6z@}7xLwccpmh=THd>FMMFOJM^#wd*J1uCKLZ<}6ZxF}Uf4IO zc-&sxOi3{>U&Vh@t2_+kfLm6!!8cfzd9NG4J~R2T_S@>?rTGHYu7XV+?VU+;gS1X^ zBBi_`Jlax8>OS zJ(pwa>)+h0&t|d3(;{qVdtl3N%dz!)ZoqbW5tJTSuSEWm2*lTV!@!R*Z^;+sS>y)Y zwUlxdc`C1iw3No_TK(4NM6;0gnaYyS1JoD%Lh4*RZSi_4DQp+o7H6ydIl;z;R~=Pj z&C*HV`4k7;>cR|z%ztz40vafzy9m2bthMEA9&2J3W^foYi2q_TZInwJ+iYD2)fppD z<4R$}BD^y3E!5X?`5eKSlE=($t|n<0l(}UyFp}eCudJE!Kt}nXhuscg%p0u`9ehRs<3)Si1tG(*fuioa*Hrg(=eU!El>(}O(p2_7 z`eGW2A)UGiO(e}Ri8>5~sF_X77g7dg3&K+~#SId2Toplg{1*BYx1GCcgk`X2CaXL+ zQC;HE(&w8gUUY42jBL|cidW(j{yL) z;<=Ip1v!sC;~lcIh=$}RG!Eqw{t$1elO+D-y0efcj5W=R%+@f@7Lkw)h4v%8s-T#c zG-6J-hs&xs?F2V|ks-~iahyr<4SQA?B~K!>uv^f#DEunwzLpEEOX%zS1*){DT(O}p zbQ_=Y^R^Hf>5UnQa6X@<)#+-3|P3%<9bv*#7z)xub!4(`5K&WtfTmm%3W0l8hCBgUv<$lmKLlZuqh#{G{_l8=J0F$n3cu z+f}={m-bH~r@ujNSMN*5BvfrQk%HKv<31AZ=J7ylX@)WjC)M+6kGxvuTQ3* z2)k>`mZCJ_lsD#%w(Jw)Cnk$42K0)2J*1Il$_wT(@v$lc^MwD)t~(z52KU@DITt!v z(m;)aGF+a?n?&2Uf+E^tF>}4JAgK+G(lNx=?tygXe0z_f-ChH!NnjBfRSo8%(m}%< z8lNx)BNe<9@u8g*rnl5wR<8L)rQcY+tfb08`^`~QaY>a=QvhNz!bQ_nEL=;Yvu`6z z+jIxEY*_^TKiS)srbJ15at?#xm*RyQp-= zK2ajjTUgJxRu6oXwk=SjzM9F2RMm-zW&UD6>gW+7@{R1hn!zu^r$sf`nnJOWvRU15DtmGwVhXPs61*!a4N%d_4TpJT9zr z9Tc>o@%nqH_PYdXhTl1lh2lx52^*6Iq}y#gp;)J_8sP{O7{$O}cjaty_8JdVdh)G)8QK8 zoR1Obs0n+A5%vWpt(VRhz6_|m^JlLn5f>|7m&pZ>f;O<5Km;o&VaA;gb4x?=_B ztPj6?qY*+1jVk*7E$i9wAi%0hBLw0`jRHYa%Nl|PO3gM>3hN<_aL!nFZxlG2T6V#C zsu4~cozw{D?8tC7wd{g(t`SabW^07=)W~o)wd{iPbR(RnTi~1<8P2AbU2vXhg!4=b zoTo>Iv#DhloUb&(`AQ3%XGVszsbv?OXB*)>+XCk+Bg5I$vW62iMPheC4L*&np$t*# zx|pZb@_!kJ)xB&(GkSl?Ci)mG_~x;A+nqStgOjsvP8s0>YGAu#aYx* z+IGVm+06i6*sT_Lo9s_*J4a~S4R2(<0(fD+TE=X$LnZJwwe5yCvSITNQVG0GZM)%(tXcps>{<)FP4=k--ln$Q@J80n)}QFn2(t0l z*MS`#{FwzC#YmjQ2wHV#N4rdQSy;g!ahT}XT)ht|~Le@nhx!Sd`J}2n?7r<4& z6yi(|ov9jcKg$zg6o59F6_GTK@%w!Z)NxgsJc3h?I#4{cBARI{M#+9eqzOjz1abG5 z|ILSK`ZfM09V>lOH2M|aez+CO5qoI96{-QUE zWO8Js)z7(%IN~Sih@*0iPkoj9R?b=MnmgCya-E!Q;l#|EV}9$p%$Muk&2cNdnfYgi zjLRdG`#tj|>;~YTc9o;vBMj2n=;pBAqufnL>Ca`oN3~Vm+{a6;BO02cHf12m;X+4d zI{m|wnO~DctmZM1Td})Q+)Pm4Q&Q4AqpnaA3Z|0Tv*t&)nG?N2&Dy6YUwdm$szJ>Q zxkZv34DDa~V;EFGI_tuOGxI*{z=bvNOy>{c+JkDRnb@!QksG3CUC{11erSG9Y^L#UWP-(IeL0w=v)@;F+ ziMxI`KFh7yVRw?xWpJK`DY6|VBdEaBqEfBbs49N2!7ENkKH zZw5jE9|9hn5T4IQ5ho3(eZ_Ps4dWBjR6F~%Q*Z!R!>T+ML8S02wfR;nP}2UJb*UbE z9b@TA5SVZe(^|3f;AY4?m8Y4x(r+A5U5!wGJ~v}#qj`*`o|L1)M2f$MgCoVEiCMai zr#JDOW@18=yVk$Y4k}^GQX7;LrpdYl^5-Cj3_;hB3fWF*!%(|<+}Lf-DOK~tN+hXf zDXtZx0is zncNMRQcq{Jh;kqG#lhDY4vVHSGgRB|J7SJ%J;qz(F z2q{Lb{XY}iss%t(EpBv5ll0s~udFm3eCv|+N0}pV)rhX7GiTPOtBa$Env`z(=2;m< zl`y|rhiY-Lw-k1APgc%s9@|&q$4pJN)l8l?_2n*_WY{D7u2cmPK8YyITx^~l@ncx{ zrfPNY*z)qr-%e6~dZ4tfBnmFh^u$FSW^j)LW1JYlk_uEOx#Gs`6ZHN#{!ywT^%6*;s@Y zq1)=@?ZI!h>jUYSj&n{kkR?aa2)VvcfzoT5d^9GY3(mxh?DyZM4ZhxIe*I3%fG*Mp zy(FqX3>mpkRHxr-Os-n;hlfk6tn7b!xMOxm|9YD4&w1xxf*z+-x?{M-H|Nm-k}ven zAD3@6-lPzk%yMOZ9DY6WD4BAC{3u=6FfQr9Xrq*J?HCn|bnx|gkl8VLtO;@&j$$bZ z6&mPR#d4+5?N=yCsF)|>QO!cw%L002SQe{|T;4xQUwn{~QWF#mo_t6JF9sf(G-B$R zW}6p>`rj%%X5}irW$;8ib6+TYB;skXaI9J{QFaF5=A;?G1fr_V~1P{>m3bCd#{#&$SVN~LOSIgLV-fB7$mlQl7w8Xl8cU%%TWOMm~nF;n1YIVo!w1eT!Pgh%D*2m=nUrr^$1+z&iOa6~oYsbGsQb8#e$j>|`bM{Bb5V^c2X|mWdM#9Xyn%X^qAT29V6hW~ z^j85ZJw@vsEpcpC4!(=ul#6+5ZWr*K<1#&+mpd_;qoa=}v{0_s^uF!$1=m_q*p0hw zGbg0dBFfn|^ogncg|0qz&71xRO*5?&km>-*#&YQp_2Y}9win(d7cdp1x0rCDX36`F zOiT2HyFgQmJd@zco;QGXfbDe$t=1*>!MOqEpjWA8oItOrB#Nbi{*tpKJW_?0oUqj0#6p8125adDgv8 zV?A^5UY{OQv+oC>biV4q?RwvSebH#_^$AjD z&z>iqU;uW72AkOE042n>RAm>3F=Jv3wC=+qLa;yZmz>O?pmd_6_7 zPX|p%`f4Q)28mJ;Ir!lm~XTy=_rkLHMgwq(e_$GJ}46 z8fORDgA-mJgvKWn$JkZXcfRtCmAZcORj6y(5hZGy&zVbPB*gx6M&2xju*B*+hl`)% zV(UwQTB90s@JIbSxjnLx~C!7w)0OsJgCoyzCGLFP8=LsieKju?W z;coLwvk5Q<-)WlRap|jq&_0L0NceN`**IXOw2$c4#UjR=usnoS)5IfWo> zPj{A9khy6yowi9`Ro~AzmbtTuK8^p4zdmZ7_jeOFe)UX~lZ{+0?!0zkKX=5f*m#(^ zKxbVg2Pux|DZrCDhzxk%N!-R+d^>FDpJGSHI5(1DVm_bth)= z#YQ?Nv$5S+Yy*2qFlzqYtz4({0&Jg>Z%4^Sgk|OJ(&2KtU&5?Sn_tF%XHc~DAV#0D zqfbAe(P!Q0?=OQVnU@b~A~|=_3QhAJpEqy^4d9zrICC4=su5KdEd!vAD|p)LIgc(Ph0UH9TiRjYW*N|rdX4dx_c3+A&H z;#~IWd1EqHFwq}i`o+Hm*OAd_|9PAnVV-s_tb22gZ=R&ou2}C&Dsu4bDS5Vr^=i3Q zjEOTmznJ$Qgma5w$($0x8db68TsfACOka=ryy@V#m}Po9H+pZVrJ?twM-mWUCVsi) zSWb!Kd&&$?R^Y6MdYLd&dgKO3o{x;W%j=WqlQxzx$lc_V>XmEq?zDCEx*ftgWw%%A zB?#{VJ4yp7v=`md5>vwYZIqm_&PZcojCXHR<7qWS;kXBXJgI@(1|*}9A;_{DFhJb5 zvWed`N8*@kft%c-Q9@`C?cn>92j1BM>VNVv^LAR%qKItSxmW2>J3tQF213-31n>7^ z@Wh163QA63w0l>M9SXl@DxCA-oEJ6i@tDg1sg$07K5FA;t`F%+1e$LmraerHm{waJpGK^-Xu zJGP1h>#z0WHs3?Ml(@Ul&`b_2G2h~m(!=9vhzqcOA%tohPr&z)6XQ<6HXb|pZ<9wT z6#2=Rni41#Mb7{|P6l%>qS^NQX%@Yb2`ppdzn$EG4~}D89lr3)Kl(^H>V^zoLPLkr zVe?G$TxYoE3383!!koPgv0>$fTtPthQkIb!c+qoy8UNjegSvyoT&gyPM|76V<8PWT z;yvqjUN=Z;zSPyzm(44<0)YR2*_hA0g~F?4)ZQ#to_h>gs$3Q z;`K{9o<1zYNV;}S%F6Y20t+6Okr0Ct!PTow9q~BGY4a-nt9y{;8Mkh590{a(sgODN zx&n|Qq_x@vnpvn4Q2GK8gFRCKHgf2P2X+|%G1#*OV1wrl59~4kEZEP+Y%nx$LP*xY zHeiUBx2VzonsUoH?0OXpxQDzFGhxiuTBy!T&*Va<2$;lU9?fT3+E=cv)4ECx`w8qG zuzehSTfv(QGmj4v($v4yOm3#7v8D3^g?b#Ko`cSlBR!oR5TgA0yp1tWSZZ;{jH4g3 zJan!YfUo2K^aMY)sR%jAHaCHR8CYiZ0+Ju8CuS~Au_rbgZ|CmDVCF&n}-1@ z%M#$1cD*`-*kYF1A`Q(6q(A z!LRUmKIaHvwJJam9&pc7CSijyUb3`RCcoF ztI15AFv282gGOzcAb3z)lVm!Hi2d_(LZj8jET?d5xsSIjd{RY}O$9fv(kwniE{lMK zDR}%k0*A}^|Dt&h|23Z|(Yd0zVfl}K+siW%Rau3RdA&c+3F=h~NV#B`CRd|w} zr{b+f=1{Uw4Bt2ogEl65{z?a*B(HLb`lwN{^ZohjK>kDgpW7Jkz;_@N<`)-v@yDC7 z&Sen{51s1ezhBmv@ncF-$1(Cq|p38^r7auIzcs+L-*9Ld|4-`pwX}p%$TD zdK>=|rYZc(ZAy|J;+rTvbnt`mL7j?Hz2Vfx2^3`y=dJAmti}cLgFk*y0H$Dx;mpG$ zF(GNruT+b}%$2RW##CyfP6$RQnlbHjYY6{e9)mtI-*3v>kf8;YgrA-~7K2PbPl}u5 zOTK6Fn>N_x>ZplM*zej10@vfSV-Gj_3SAo-DYKOmiO$8J=^!DyJiHvBD|Y*sWmZLs zkMu7O4h^!clnF9?PKy($JeYEFN0S^cs=ko&NtQFRz;oZaf`9t+g(g*Am{9=By?7hw zxCIO`0(5a1K!`i2w#qyoeoInkzB&k&ww#L;vh-Bdd9!|X$qYJQbl$mA;F5bMY{?fB zh+&e%PZ&zIlBzOaL4{HrJ5FR|S6s)qs1PY4$>AjS=w6}7qox2iqoSM_q7jlfWmz9O z%>9QYy-dO3XD&*r3)6L%)NODR=VhU4|FR9@bgb}BzHWNziC9#of4OWqqfEZjp~J!2 z(B#rOZ9h}i3^{LFXI>{!i5yN&Kb3B3@`b%j!EKanGh(XAcybPf6mB!Hks`SP;5!}_ zV7Ru#o|;j%q1xiOdPV&3MhuJbex}nUzM2%_g#x?<5S>`Ys^bAq5jN!KeSGuGQuXFK zpr-+ux2!^$GB0SWWiSoRiyslNI#-{Y!aAF`?KE;dgwd$5HP^LL$#veJlh{3&#%&t6 z4|O)kQk)T1;ixAVD%?;|a=p_3%hSe2<=Z+I6AR)$%0+7eb^p{Q9=OTy@v{cPe zHDk|9IrzQ9 z1;;7J6pX#fTXD7JvAK%_aMEvLS(rTi9Khj(`xGC2^1rXL;B!oV2D;_Kf!Zt&e(hGM z7BUiX@Xu}Fkpku2#lDII*4bX>5Oe27$J5R{F+*G)BCbp$DwP{Jd_km3=ffCR=97W` zQ0d(dA?JD0Xfs5h%Ta=+j;G$I-+s!TBSP12*SZ^@0oQE^ws5tGYKj6Hx zk^(5+By|n57c~CoEF#Rshk7J8Us1*EuZ;?iZ;$%=Yks`*jZp#cXF?V`RzVzY-gJcs z-Q@7pXzdF7i9izByr`~O_m~gBHjpEl6W+h8^bIw~q)e4#u@sEZvWMfRni10R*^@^F z>?90XoFp9|c3Hb+wqIBGK$ML*>F?{tn5ZGcr%qQoNuB_F_Tu;`NGiX}ESHd9VR_do zyylHnsi6rI{Mt`Qsy_UmotA?ikKb_{vC_GV6E1e*bX6bn;Jd z+H%;j8K(x|LJXY;VQGfZvc>Ux3UvGAr|yrhpeJYEAT2Oa7}$FR=Wv%KmE%}y$%Be`?95w?$tyNRy{ zHn|ciyV2F!|EV*2bb9)M8YbKo#wuO%Z$5aY<%pQd2w;kD~ZI(yKPXU#pcjRS04bTctM#^>7YRJXQw)jLME7!(zdZ?N za_8@z2gn4JlfQ{gxl+2#oPS$VKAwk(aQJx($Y`K3=wp%LK4c<3&Ey2uZ}^_pNY;dZ zdYCl)ip>g1`4)w=d1{-2i`b>?5lpuWVH0h~2f2)(A+yD!63u@r>*%o2^feJ@gNbdI zP2dwPyuNA0pP4|(IK5i63hONnTOl+t)gqF`dJ#~{NPqEg&x8+r*F5~u!;Q)U)URAWlg`3Ju9qC>U32h| z%fbc70y7QV4VliuLoN$G@Llt81m14!8#P<^)WL}AWDfpy5~ADgoOgj+?w&h~%?O^w zRlem8*-D7Qv%YB0xohP6lDwgF)`w!O1Y;ZCEK5gD)}hty3yvA#cn#( z>sfN}tPVMy&1pp0A|T`wM2|f>kIbP&g1Dm1iMO)1Vo&_m(IKfI`R9DV>C=rHV>qi} zOQv`HuY_e>4Y%7g6Q)E7iPZSueC5dk8iNpn%)>^=w-R*|cu6NT0{GN?HTjZFbQJyx zm5iU6ZKkiIgRnp@VM(hjwuHwS$wa#>M~X&%&Kl8pl*+hbj+Ny~xY>tpk7AaQs}7tO zl7#Xh&*HH;>)|+(Yxl}=ACWdVORcVkjf<>I^$pKT`9pc>4?7P)d?uyVNpm707*4Vr zgHd7l8==L!&|AE^$93DKg*3D?lC@!Uk6X=SdX)e!mEP>;enLx!MCt=5hdBw0jVpkH z8mMRb;Ack*pgJkC?UE~rB5jV56*Mi`yM?TlQ}D8Rl^K&IY3xCl{;CGc+^F6200 zlv|=kdy(qPSXk+j7S=b$b-hKWqr17Mi6LE0$O2MN-~!S@|8K`?Qw1em^OB+60urOl-)Wl81>kYfdaB&p60=B-mVT@rS`AgaoNn2hO#?@t zo;~Y<8iKf*!Q<9FWMskC69?5%ft2%2TpwV=9k(ZN=&&rx{b-U@?FN;O2whQiNJFqh zrP5JxhqZy8^`4_p254N{W?q=6Ypzpe9>R$6-*2PQrCJ@7ah^{j^u5^D_q(8zTXTr} zPw_*4*T(NJg0NAIYVCZQ^%2Oz*>YcJj$v47g4(spW8XGLaPY#gX@pRd#-rr4M>uBK zKCJ2ZEf?|(P;7h`w!=9=baZzz3d{M0lyA2~f<*NlEwU-wYt-lb5!u@;dk5&*Q{3!6 ziC?;nzuneuJ>PZ{o9W0#z{7Ip6UaY3D737aJu1N3>qcjLY858vSnFJ(gvX+h|Rn?_=ks=U&lc#M_RuYJI!29UKJb}X^$4M zqb6-CH^+{SYY&sODPoqi@DzPLKMDlnNRDy$Nrg^=+y*pB6L!?7S@JgI3fw6PO|Bqg zeOX43{hEKLnltopW1`VTa?yh9eq}Y)JRFg8a6PE9nTFH&tjQy2cce6oDuKzxfVpj` z|FxtG$u~S0w0y1!iQS6Wlg?ATig1UXpm|agd`s{`(!rnVT!nO)G6E_YldMLcfZ!_VAxowi z@>0N+=}1f8tEPvq081D}cb1U6jPwH?V4}(JnMnM06B6%LpEB%FH+?+m7!T0;{FRv6 zDWDG*g&V3)rf^2TOh)<5t?isV8HQ-6vG&20keX59!@(L2BBf) zKT`2~&OfU^UHvzAxp2q~7njS^_sy`U5$r0$lp%VN^N<90ztX@hE|?o#qcVo(F$z>| zdTxlHj(4U&mmjE$k4bLs#7FG|eot;r?oE%Pc*{z*^Vf&5e+nghG-=T$rYHE}4Ut(LOo{ ztmLi}xn&^Ug;~lAF)s_XWWgd>6TX|P1=&JcjMSubk@I}4+MF*b7vP+1LDqzWNWU#> zy*Gdv*J~hsH&Q(JydrxoCm30}x6=N@-K?c_q_(0@<~S}x!$;r7dukS3$mi*Xcn*4S z-J_(TczI^MiHl?2BfWKNiOyILt#(7(ggj1L#T1gv1=k5^2lAV|R6~(_k}aVP+40f) zPZoh2a{Qx@kXa!9+W1rw>LiQD`~7>K!iu3kJF#YQenhM%gC*vJ?~gKc$R^U5H4xIis=hFYCpr0FzoEn{tfEy4hi2oh0gD&`dqyqB9#{w z>@(hxD^-B$J-MF%x=&GR^Nm!mG9+R-AcJN(!7#u4kOH-4br3m5OAaY%1mDjrIFH9w z;9({G7YVd^qz-xCmy$tQf?Y>1YFV2glY_;CUt@A{m2Ja%hc+crU2!ag=A`p4hJ9RM z$@idIEKBecLT0(JSx76Tk9zCuC%BFoF@n4%Ffx?O%-pDeRnJ_Txhf zwRpBmej3B+fotj0M9xU`178LeA6h7AK1JEHvfwV1HLvt;!`&<_SWe1DyFBIc}_Kv7+9_IuInhC z6$gW1+d5JtV(8xiHiXkWqhY~y@Wz^@-m=9Ha{jFTbpi9E!QhR`YciiMTe+ck<&U5) z3TrA-?L>D+TqxyDV(T1PZaJq1r*0NEeP}72E4pC5`G-2ZKRDTmlS9VJ55)3k8b(I? z5*HHyek=I_=Y53zl6;&r-8RpGaOz{hPj?18p}+kxoVg;4lpa*mXeR!+8If`I!`*jo0p&}+ur z{31PSoF=U^D354+^HCXAk{!{KSgFn(acnqIRJdVZ=94lw zMxkz};yA>yXM z(g0~*pSp)LOFgvvFyk9;10#~YXk zbio!PR~jHWU;!uBVLVHtQt}_W@o58!K9!rACZITxFX8_ZksKw}k6kIjPrWB~Uz$vZ zSslN(E_G$L=PmCkC+=7g^-Ut_7casHkIq;@)7=$en^3ion=7CE)6vHxjD&{bOpVI4gYHTgRVdd{0)IHpU~Pkl9cVwvpk!=Z_o5CHJ#xkl zq_IR@-5td8=RoFPoFhpjk_Wjs!@iZzsBUvw>pv?%{D3>?MJe_NMkkA!it9a^CzS1T zcdSFpG0H*viGr5WYNtqQLYZ*X5_g7_ab}CZC{awd(slOHAcuzEZKdI7Bk6HzAzU!OcWzGD$id=3%l zw8wU^iYmKrvDW+O4o*8+0J`}5;2Wu!%zzqvJs&xg(|8_ol$%D{3`yLx_Et8}sO_Nj zrit{=g2EvM?xO}K6PHbzF8$CYg)%@*oD&4@Pu)!ZQFpwuL`aS~0X zBuMwH8?X!Zh&f4)`TkCdMITBX5?GMKnLrL_YdOp?|17YZq#Vlq*6ngA)XVVMq=D%- zKMj0#_&|}9n-ow3P<{BUOo67fYDT;Ps5U%enLHezzL{b%c}f+t_!GJ|r&%6a#pzla zf1qdQHPeO~NRlN?cTj8PR<39Z85mMaaaol$jI#Jt8h7OqH|F5`lLC-#&*Z`T%fkk5 zClkt-QdDe6t_OOYagc5f{%TUlG&4gEn8QNnfy|AcQy7BbTw;WaqV50$k&PTV9;&%H zEOh>OQmob_)?I1YFomV_B;FQvp_Dh}b<%ea8+fVuQQu5ZRM6y?zryYohQ2o`z?ucP z4K!_)2ks|F4V+XAFpJDQm7HQ3Pqbqne_IEAi*JkzZceu82vELh9jP7s1-RVzGprju z$oTku+#KbjGIysu^cc%|J}jVq#G0a;Hp#(^e^VI$V4a#DP7+AR!jts7{`x3D%(47o zc>{klNrY6>rQYsQqV&M#=&-zk2RKKEh0@O^$#zYmewfbA_l^RAHm{=1;rYQNfom4( zHt@7n-s$=2g8*k5`=I{^z)`g}9k}%tn$s;H z*9+zM%vZtdn}7-@0Idsj0$10Z$Fu6Y8yb`5=nigqle{Nftz!{tJ@hHwcau=zvTM(s z01CfgL|KwbInq-r{53dB`nv1)CA5<;R%+lRN5R_vw08${s(QK4Lo|rA3(p!f*qfBs z1pZEhkQ1F;vTq)Icl7m;A3_q2Tq-|Y z`TuOv>_dgXx@;PR~mHda>kA?iygO5#v?YkYL8Ypi6@8 zt_h*9bI{CE9y%$8S2rgVNk=swW>LGdHjnvx%N6)5m|#EO8YAtxauZO3x)d_0MHHcP zht@FVPogY>WU|MSNcxu5XJ(Mh-ISXGOuD=B*t~gi!1GHww&4N00*)d^XPDoK@uVZB zh@|wqg|Fl+ta4=jpqcvWdHXfdd=`gQCG$iDL*PT?x&=5l9_QdUn!$EqOA{x$8Bi)a z$x&vZM2Umv)7_?LWj38?~<02cK>R6%E zdC|ShIWw!O20&i)<38VF#N=yre?DyLWs(k%jA5=ck43H9WzL-vwNB8)db4iOM@_KB z)bx#DZiZ-(iyWcrO(Txy-2AjuNBa1K&<|hz<_Ca z0hfvw1bBS`8Y~@0kPoMs{joLs;`E{Q!SDA&mRTWolPgE18gzi@DQL`R$(jLomy-XQ zRYMcP1a=kukbepE@AdulAiEIekE82N&3G z_wW^Fj}%eN#3x+A;M~YDJIymolH{FPz9COgFf=KbJ5Pw~PeC&4z0~ogwrGRL_YOnf z#$RsyQU8veQuDhN8B_$FpW%mH;#s7v!fZo`7DeFDf#iIIzFlu1KRp~mroApf6*6|^ z(N0syHQA#dGyD9z_@iwa!=TIej4&OU19v7j7Cl1RUw6|vMx3X%y$G42R55)Os(Ob> zUP+;c)#Xa^eCn0-(?x#=mD}%31`ctEN77h22f60A!n3PVINk-7bgcsz-ctRJSaXV@gvUT~63YTG(I={NXfnm->o_6Xn7ayT_XJIFV%$db(S}v@oJvi# zRh|%R>Fkgrzvdy>k7TRE2?00lk4Gx0A6Y>EqW~m82M~CX)$x8 zlEdvlysgDl(FHYk+$uMnqT|Rk{@FQf?WF41Q0d@5XYWo2myDH)hOdXHJyo{>kArXP zpzd+WAe?SNy(`AoFI8ex<+L!w!FLp>HvN*Lvkumue@nos4|I8uwDKqKTMq}FJdi%p zGnT_sm01D6ID-`$Qs&0llY{y<%~$Z0T+TR}QX4a%%AqK0`m)^rz(rqhaKmM=lN>QQ zV*l>pW0^U0|HH!=RcK266x`u{He7t?tjXNOb9Ei_wSjq{ue6SPt+0?X2{5OOblk)W zPWY)Tn~#b5o5KXA4Tw||DMF;B==A)N6^_>Ka6pv|YU~N2G>-{a$MHP0xf92j<_^s; zThi78wY~GJx={MRCo@ZJ05y5>jEH$>n}n21RSgSYa%L^uzui95tG1FC61Gqf3eU+oJ}s4KQ(M%OH9eb0mk~ zhZ0PrCd6FlFoc|3H;QzH3ZtyAeyZdDDWg({X%~1}jGgfB#?za0LF;XP=u4YVScKvKrx%jhI8X zq&e{NDIP9<`Ac3d>#D8?^(|wW_EGyOvHHIEaZ)_I5qK0rC}Ki{_CETdH6d@R9i)db z3jNo~Ft+ocMO=teP|rMOkU8T#pD zKtFHO&0Oy)6@9-&KaeNHR6YO?qxk>XWM;+*aS6g9YvtSao2~!;AkcUaO5jf>gQ$pe z|G7%r^_!;&DS~+v(XeQP3)xLl6*8IMq8G?3T?Ee+{oJ%FibW?h&Ei9HZIp?~9l*U| z%l-HUYhg>HjG*aE87V39xjufMnIfLcqx32eCPg|2-ze$K-T5~F`Su#GsBDX7WKr5b zql=TmNnn1Fi;=%x1`2bAOee1#5*Xht2ZL1~D}a80bCAe@EPD{PZW4zyqzzM`VLwym zs_oA*=yQ5Z1^1nB7Q(r}UB6|3bI(h@izO7L@Ms{BX_1$5L{8Z0Kylv37suBXy8N$eXmr-FS_nCZ!$(=uH4C*YhMcIcr}{7tcSF zC$#-HYmZ7S_-`K$!;tt zO>QT!5k@y95SSAHj&TKroxjO2v3YlXILUC!en&@6CC{(k+rnGtVshWJKiYB3m=qn; z+xp$3nk%QhoN}Nq4^24Y~V^CQs}C1uO9Wt;=$Jan!EjHbo9ElU@06#B&d{FcAwJyJanEPPda~&^CqWA0qM_ChDke zzIC$^${8&Svu$D(oFa&sCq>hVZ zk*c^@MHh>bm^M3AWU)J*aqmRC@lK41XY8J2+Frzfjg2u5Hpa9T9Uul`Yz(xqZNLE> zAO_Mv8|wg_g#*O9`+evByq|jYM@jC%?${Lh{_Z*Fo_p@O=bn4+xjBTzb717$ge?^u zmHcQnLwxXk*rX+yT^gjlw^XyqV+f*JHWMmt(lwRomGu8|?Ko^aE755}uY%wU8RwO= zs4Q3NI1MB3yPP@p&UR$r+(P=&3ALUAozNuhIpe;waDYl?v5VBsxlmCsaXu znVqs@0CjJ6lxbSuw1|>P6M#NICeJc^TZ1#cAc1U!W@l2gf`03$WT~uHmkx*Cx!$_d zh6!)4^(~>FJ|`_WACn}+sr`5YT%!DikhPL6dz~t z4dKzPz!8(B*a17| z=?Rn8I}_Q*ni&_g$JhrAgA~KUY~q1FWI6R+m>OY}O+7=HtZotT*mUvf3~8ksbCt9O z8>BTR)zp+#Gu20T`HPwN{;$6rx#df%KRcbeb^JU3!Abt-ubp}D#{KU;v2i55$xRR8 z&w)fTH87Gs)R)|pN{*xtZ%A(1nA$XwKGKhifz;qgdTb-F22-0y(&GbiIh5Kml0KeP z*IQDlk@WqW^v&=CsjVaFFAv(=^x4$#NIJJU_#l-YN$0l&pCnV;M$(0$(4$SM>qpXa zsqnLnsgaTNW7kC<4x~OYl3v^zeL9%>#Zp@8IG6^&^0anYK6zGs^6Un@Ior?A&klHK ze1O>E_2FY&076C{s~&o?yWJsqsm-1X?hJ$EcT=0d0(F`6Hn^#5CX?CdB{I0!O)S}tNiuZ&5moKZp1aHP+#|F(`S?W{>#A!U%c(U11OeB*LMsE>|Lx&eUAdQ zPnhul+zfgNKHG{rRc?=Z1t#zn{_qvx0tQ(jzw3M0()9yq zX>;+&hKz!1mA7C*?wcL9+7A2o16I!T0cqlCUKFn03I2{ zBZd2s#Kt6=i2qWy@FV}sj8b^xg81YJIs(|FuQqM=`po6VE#3xuJuu|;`!|CrkKAKf>Y$