Ejemplo n.º 1
0
        public async Task <InvokeResponse> InvokeAsync(ResourceInvokeRequest request)
        {
            var args = ToDictionary(request.Args);

            if (request.Tok == "pulumi:pulumi:getResource")
            {
                var    urn = (string)args["urn"];
                object?registeredResource;
                lock (_registeredResources)
                {
                    if (!_registeredResources.TryGetValue(urn, out registeredResource))
                    {
                        throw new InvalidOperationException($"Unknown resource {urn}");
                    }
                }
                return(new InvokeResponse {
                    Return = await SerializeAsync(registeredResource).ConfigureAwait(false)
                });
            }

            var result = await _mocks.CallAsync(new MockCallArgs
            {
                Token    = request.Tok,
                Args     = args,
                Provider = request.Provider,
            })
                         .ConfigureAwait(false);

            return(new InvokeResponse {
                Return = await SerializeAsync(result).ConfigureAwait(false)
            });
        }
Ejemplo n.º 2
0
 public async Task <InvokeResponse> InvokeAsync(ResourceInvokeRequest request)
 => await this._client.InvokeAsync(request);