/// <summary> /// Publishes a version of your function from the current snapshot of $LATEST. /// </summary> /// <param name="functionName">The name of an AWS Lambda function.</param> /// <param name="settings">The <see cref="PublishVersionSettings"/> used during the request to AWS.</param> /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param> public async Task <string> PublishVersion(string functionName, PublishVersionSettings settings, CancellationToken cancellationToken = default(CancellationToken)) { if (String.IsNullOrEmpty(functionName)) { throw new ArgumentNullException(nameof(functionName)); } // Create Request AmazonLambdaClient client = this.CreateClient(settings); PublishVersionRequest request = new PublishVersionRequest() { FunctionName = functionName, CodeSha256 = settings.CodeSha256, Description = settings.Description }; // Check Response PublishVersionResponse response = await client.PublishVersionAsync(request, cancellationToken); if (response.HttpStatusCode == HttpStatusCode.OK) { _Log.Verbose("Successfully published function '{0}'", functionName); return(response.Version); } else { _Log.Error("Failed to published function '{0}'", functionName); return(""); } }
/// <summary> /// Unmarshaller the response from the service to the response class. /// </summary> /// <param name="context"></param> /// <returns></returns> public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context) { PublishVersionResponse response = new PublishVersionResponse(); context.Read(); int targetDepth = context.CurrentDepth; while (context.ReadAtDepth(targetDepth)) { if (context.TestExpression("CodeSha256", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.CodeSha256 = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("CodeSize", targetDepth)) { var unmarshaller = LongUnmarshaller.Instance; response.CodeSize = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("DeadLetterConfig", targetDepth)) { var unmarshaller = DeadLetterConfigUnmarshaller.Instance; response.DeadLetterConfig = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Description", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.Description = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Environment", targetDepth)) { var unmarshaller = EnvironmentResponseUnmarshaller.Instance; response.Environment = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("FunctionArn", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.FunctionArn = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("FunctionName", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.FunctionName = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Handler", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.Handler = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("KMSKeyArn", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.KMSKeyArn = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("LastModified", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.LastModified = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("LastUpdateStatus", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.LastUpdateStatus = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("LastUpdateStatusReason", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.LastUpdateStatusReason = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("LastUpdateStatusReasonCode", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.LastUpdateStatusReasonCode = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Layers", targetDepth)) { var unmarshaller = new ListUnmarshaller <Layer, LayerUnmarshaller>(LayerUnmarshaller.Instance); response.Layers = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("MasterArn", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.MasterArn = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("MemorySize", targetDepth)) { var unmarshaller = IntUnmarshaller.Instance; response.MemorySize = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("RevisionId", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.RevisionId = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Role", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.Role = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Runtime", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.Runtime = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("State", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.State = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("StateReason", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.StateReason = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("StateReasonCode", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.StateReasonCode = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Timeout", targetDepth)) { var unmarshaller = IntUnmarshaller.Instance; response.Timeout = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("TracingConfig", targetDepth)) { var unmarshaller = TracingConfigResponseUnmarshaller.Instance; response.TracingConfig = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Version", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.Version = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("VpcConfig", targetDepth)) { var unmarshaller = VpcConfigDetailUnmarshaller.Instance; response.VpcConfig = unmarshaller.Unmarshall(context); continue; } } return(response); }
/// <summary> /// Unmarshaller the response from the service to the response class. /// </summary> /// <param name="context"></param> /// <returns></returns> public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context) { PublishVersionResponse response = new PublishVersionResponse(); context.Read(); int targetDepth = context.CurrentDepth; while (context.ReadAtDepth(targetDepth)) { if (context.TestExpression("CodeSha256", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.CodeSha256 = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("CodeSize", targetDepth)) { var unmarshaller = LongUnmarshaller.Instance; response.CodeSize = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Description", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.Description = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("FunctionArn", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.FunctionArn = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("FunctionName", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.FunctionName = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Handler", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.Handler = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("LastModified", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.LastModified = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("MemorySize", targetDepth)) { var unmarshaller = IntUnmarshaller.Instance; response.MemorySize = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Role", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.Role = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Runtime", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.Runtime = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Timeout", targetDepth)) { var unmarshaller = IntUnmarshaller.Instance; response.Timeout = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Version", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.Version = unmarshaller.Unmarshall(context); continue; } } return(response); }