public async Task CreateOrUpdateAsync(string apiName, ApiSpecificationPayload specification) { var path = $"{GetBasePath()}/apis/{apiName}?api-version=2018-06-01-preview"; await Constants.Azure .PutRestAsync(path, specification, (_tokenLambda).AddIfMatch()); }
public async Task AddRevisionAsync( string apiName, string revision, ApiSpecificationPayload specification) { var path = $"{GetBasePath()}/apis/{apiName};rev={revision}?api-version=2018-06-01-preview"; var response = await Constants.Azure .PutRestAsync(path, specification, (_tokenLambda).AddIfMatch()); }
private async static Task RunAppAsync() { var apim = await ApimClient.BuildAsync(); var apiName = "petstore"; var product = "Unlimited"; // await DeleteAsync(apiName); var petStoreApiSpec = new ApiSpecificationPayload { Properties = new ApSpecCreatePayloadProperties { ContentFormat = "swagger-link-json", ContentValue = "http://petstore.swagger.io/v2/swagger.json", Path = "petstore/v1" } }; await apim.CreateOrUpdateAsync(apiName, petStoreApiSpec); await apim.AddApiToProductAsync(product, apiName); var betaSpec = new ApiSpecificationPayload { Properties = new ApSpecRevisionPayloadProperties { IsOnline = true, DisplayName = "Swagger Petstore", Description = "Changed description", ServiceUrl = "http://petstore.swagger.io/v5", ApiRevisionDescription = "Moved the backend too", Path = "petstore/beta", Protocols = new string[] { "https" } } }; await apim.AddRevisionAsync(apiName, "preview", betaSpec); await apim.ReleaseRevisionAsync(apiName, "preview", "Release this revision"); }