예제 #1
0
        private CodePackageType GetCodePackage(string namePrefix, ComposeServiceTypeDescription serviceTypeDescription)
        {
            var containerCodePackage = new CodePackageType()
            {
                Name    = DockerComposeUtils.GetCodePackageName(namePrefix),
                Version = serviceTypeDescription.TypeVersion,
                EnvironmentVariables = new EnvironmentVariableType[serviceTypeDescription.EnvironmentVariables.Count],
                EntryPoint           = new EntryPointDescriptionType()
                {
                    Item = this.GetContainerHostEntryPointType(serviceTypeDescription)
                }
            };

            var index = 0;

            foreach (var environmentVariable in serviceTypeDescription.EnvironmentVariables)
            {
                var codePackageEnv = new EnvironmentVariableType();

                codePackageEnv.Name  = environmentVariable.Key;
                codePackageEnv.Value = string.Empty;
                containerCodePackage.EnvironmentVariables[index] = codePackageEnv;
                ++index;
            }

            return(containerCodePackage);
        }
        private async Task <CodePackage> GetCodePackageAsync(
            CodePackageType codePackageType,
            ServiceManifest serviceManifest,
            StoreLayoutSpecification storeLayoutSpecification,
            TimeSpan timeout)
        {
            var checksumFile = storeLayoutSpecification.GetCodePackageChecksumFile(
                this.ApplicationTypeName,
                serviceManifest.ServiceManifestType.Name,
                codePackageType.Name,
                codePackageType.Version);
            var checksumTask = await this.ImageStoreWrapper.TryGetFromStoreAsync(checksumFile, timeout);

            return(new CodePackage(codePackageType)
            {
                Checksum = checksumTask.Item1                                       /*checksumValue*/
            });
        }
예제 #3
0
 public CodePackage(CodePackageType codePackageType)
 {
     this.CodePackageType = codePackageType;
 }
예제 #4
0
 private static void ReplaceVersion(ref CodePackageType codePackage, string version)
 {
     codePackage.Version = version;
 }