public async Task RunAsync() { var item = _context.CurrentDeploymentItem; LogInfo(StageTypes.Deployment, $"Creating application type {item.ApplicationTypeName}..."); try { var provAppTypeDesc = new ProvisionApplicationTypeDescription( item.ApplicationTypeBuildPath, false, ApplicationPackageCleanupPolicy.Automatic); await _context.AppTypeClient.ProvisionApplicationTypeAsync(provAppTypeDesc); var created = await CheckCreateApplicationTypeStatusAsync(item); LogStatus(created); if (created) { await _innerCommand.RunAsync(); } } catch (Exception error) { LogError( StageTypes.Deployment, $"Failed to create application type {item.ApplicationTypeName}: {error.Message}"); } }
/// <inheritdoc/> protected override void ProcessRecordInternal() { ProvisionApplicationTypeDescriptionBase provisionApplicationTypeDescriptionBase = null; if (this.ImageStorePath.IsPresent) { provisionApplicationTypeDescriptionBase = new ProvisionApplicationTypeDescription( applicationTypeBuildPath: this.ApplicationTypeBuildPath, async: this.Async, applicationPackageCleanupPolicy: this.ApplicationPackageCleanupPolicy); } else if (this.ExternalStore.IsPresent) { provisionApplicationTypeDescriptionBase = new ExternalStoreProvisionApplicationTypeDescription( applicationPackageDownloadUri: this.ApplicationPackageDownloadUri, applicationTypeName: this.ApplicationTypeName, applicationTypeVersion: this.ApplicationTypeVersion, async: this.Async); } this.ServiceFabricClient.ApplicationTypes.ProvisionApplicationTypeAsync( provisionApplicationTypeDescription: provisionApplicationTypeDescriptionBase, serverTimeout: this.ServerTimeout, cancellationToken: this.CancellationToken).GetAwaiter().GetResult(); Console.WriteLine("Success!"); }
public void CreateApplicationTypeAsync(string applicationName) { var provisionApplicationTypeDescriptionBase = new ProvisionApplicationTypeDescription(applicationName); serviceFabricClient .ApplicationTypes .ProvisionApplicationTypeAsync(provisionApplicationTypeDescriptionBase).Wait(); }
/// <summary> /// Serializes the object to JSON. /// </summary> /// <param name="writer">The <see cref="T: Newtonsoft.Json.JsonWriter" /> to write to.</param> /// <param name="obj">The object to serialize to JSON.</param> internal static void Serialize(JsonWriter writer, ProvisionApplicationTypeDescription obj) { // Required properties are always serialized, optional properties are serialized when not null. writer.WriteStartObject(); writer.WriteProperty(obj.Kind, "Kind", ProvisionApplicationTypeKindConverter.Serialize); writer.WriteProperty(obj.ApplicationTypeBuildPath, "ApplicationTypeBuildPath", JsonWriterExtensions.WriteStringValue); writer.WriteProperty(obj.ApplicationPackageCleanupPolicy, "ApplicationPackageCleanupPolicy", ApplicationPackageCleanupPolicyConverter.Serialize); if (obj.Async != null) { writer.WriteProperty(obj.Async, "Async", JsonWriterExtensions.WriteBoolValue); } writer.WriteEndObject(); }
protected override void ProcessRecord() { ProvisionApplicationTypeDescriptionBase description = null; if (this.ParameterSetName == "UseExternalSfpkg") { description = new ExternalStoreProvisionApplicationTypeDescription( this.ApplicationPackageDownloadUri, this.ApplicationTypeName, this.ApplicationTypeVersion); } else { description = new ProvisionApplicationTypeDescription(this.ApplicationPathInImageStore) { ApplicationPackageCleanupPolicy = this.ApplicationPackageCleanupPolicy }; } description.Async = this.Async; this.RegisterApplicationType(description); }