pulumi/sdk/dotnet/Pulumi/Resources/DependencyProviderResource.cs
Sean Fausett 3530ba3205
[dotnet] Fix Resharper code issues (#7178)
* Fix resharper code issues for language usage opportunities

* Fix resharper code issues for common practices and code improvements

* Fix resharper code issues for potential code quality issues

* Fix resharper code issues for redundancies in code

* Fix xunit test output

* Update changelog

* Fix resharper code issues for compiler warnings

* Fix resharper code issues for inconsistent naming

* Add resharper solution settings file

* Fix resharper code issues for potential code quality issues

* Fix resharper code issues for redundancies in code

* Fix resharper code issues for redundancies in symbol declarations
2021-06-10 10:32:33 -04:00

37 lines
1.4 KiB
C#

// Copyright 2016-2020, Pulumi Corporation
using System;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
namespace Pulumi
{
/// <summary>
/// <see cref="DependencyProviderResource"/> is a <see cref="Resource"/> that is used by the provider SDK as a
/// stand-in for a provider that is only used for its reference. Its only valid properties are its URN and ID.
/// </summary>
internal sealed class DependencyProviderResource : ProviderResource
{
public DependencyProviderResource(string reference)
: base(package: "", name: "", args: ResourceArgs.Empty, dependency: true)
{
var lastSep = reference.LastIndexOf("::", StringComparison.Ordinal);
if (lastSep == -1)
{
throw new ArgumentException($"Expected \"::\" in provider reference ${reference}.");
}
var urn = reference.Substring(0, lastSep);
var id = reference.Substring(lastSep + 2);
var resources = ImmutableHashSet.Create<Resource>(this);
var urnData = OutputData.Create(resources, urn, isKnown: true, isSecret: false);
this.Urn = new Output<string>(Task.FromResult(urnData));
var idData = OutputData.Create(resources, id, isKnown: true, isSecret: false);
this.Id = new Output<string>(Task.FromResult(idData));
}
}
}