// ------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Runtime Version: 17.0.0.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
//
// ------------------------------------------------------------------------------
namespace ServiceClientGenerator.Generators.Endpoints
{
using System.Linq;
using System.Text;
using System.Collections.Generic;
using ServiceClientGenerator.Endpoints;
using System;
///
/// Class to produce the template output
///
#line 1 "C:\Projects\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointProvider.tt"
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "17.0.0.0")]
public partial class EndpointProvider : BaseGenerator
{
#line hidden
///
/// Create the template output
///
public override string TransformText()
{
#line 7 "C:\Projects\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointProvider.tt"
AddLicenseHeader();
#line default
#line hidden
this.Write("\r\nusing System;\r\nusing System.Collections.Generic;\r\nusing Amazon.Runtime;\r\nusing " +
"Amazon.Runtime.Endpoints;\r\nusing static Amazon.Runtime.Internal.Endpoints.Standa" +
"rdLibrary.Fn;\r\n\r\nnamespace ");
#line 17 "C:\Projects\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointProvider.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Config.Namespace));
#line default
#line hidden
this.Write(".Internal\r\n{\r\n /// \r\n /// Amazon ");
#line 20 "C:\Projects\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointProvider.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Config.ClassName));
#line default
#line hidden
this.Write(" endpoint provider.\r\n /// Resolves endpoint for given set of ");
#line 21 "C:\Projects\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointProvider.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Config.ClassName));
#line default
#line hidden
this.Write("EndpointParameters.\r\n /// Can throw AmazonClientException if endpoint resoluti" +
"on is unsuccessful.\r\n /// \r\n public class Amazon");
#line 24 "C:\Projects\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointProvider.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Config.ClassName));
#line default
#line hidden
this.Write("EndpointProvider : IEndpointProvider\r\n {\r\n /// \r\n /// R" +
"esolve endpoint for ");
#line 27 "C:\Projects\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointProvider.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(this.Config.ClassName));
#line default
#line hidden
this.Write("EndpointParameters\r\n /// \r\n public Endpoint ResolveEndpoi" +
"nt(EndpointParameters parameters)\r\n {\r\n if (parameters == null" +
") \r\n throw new ArgumentNullException(\"parameters\");\r\n\r\n");
#line 34 "C:\Projects\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointProvider.tt"
foreach(var param in this.Config.EndpointsRuleSet.parameters) {
if (param.Value.required) {
#line default
#line hidden
this.Write(" if (parameters[\"");
#line 37 "C:\Projects\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointProvider.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(param.Key));
#line default
#line hidden
this.Write("\"] == null)\r\n throw new AmazonClientException(\"");
#line 38 "C:\Projects\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointProvider.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(param.Key));
#line default
#line hidden
this.Write(" parameter must be set for endpoint resolution\");\r\n");
#line 39 "C:\Projects\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointProvider.tt"
}}
#line default
#line hidden
this.Write("\r\n var refs = new Dictionary()\r\n {\r\n");
#line 43 "C:\Projects\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointProvider.tt"
foreach(var param in this.Config.EndpointsRuleSet.parameters) {
#line default
#line hidden
this.Write(" [\"");
#line 44 "C:\Projects\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointProvider.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(param.Key));
#line default
#line hidden
this.Write("\"] = parameters[\"");
#line 44 "C:\Projects\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointProvider.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(param.Key));
#line default
#line hidden
this.Write("\"],\r\n");
#line 45 "C:\Projects\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointProvider.tt"
}
#line default
#line hidden
this.Write(" };\r\n");
#line 47 "C:\Projects\AWSDotNetPublic\generator\ServiceClientGeneratorLib\Generators\Endpoints\EndpointProvider.tt"
this.Write(this.ToStringHelper.ToStringWithCulture(CodeGen.GenerateRules(this.Config.EndpointsRuleSet)));
#line default
#line hidden
this.Write("\r\n throw new AmazonClientException(\"Cannot resolve endpoint\");\r\n " +
" }\r\n }\r\n}");
return this.GenerationEnvironment.ToString();
}
}
#line default
#line hidden
}