public AwsAmplifyConfig(AwsSettings awsSettings) { Auth = new auth { identityPoolId = awsSettings["IdentityPoolId"].ToString(), region = awsSettings["Region"].ToString(), identityPoolRegion = awsSettings["Region"].ToString(), userPoolId = awsSettings["UserPoolId"].ToString(), userPoolWebClientId = awsSettings["ClientId"].ToString(), mandatorySignIn = false }; API = new ApiSpec(); var apiGateways = awsSettings["ApiGateways"] as Dictionary <string, AwsSettings.Api>; API.endpoints = new endpointSpec[apiGateways.Count]; int i = 0; foreach (var kvp in apiGateways) { var api = kvp.Value; var endpoint = new endpointSpec(); endpoint.name = kvp.Key; var awshost = $"{api.Id}.{api.Service}.{awsSettings["Region"]}.{api.Host}"; var uriBuilder = (api.Port == 443) ? new UriBuilder(api.Scheme, awshost) : new UriBuilder(api.Scheme, awshost, api.Port); var path = (!string.IsNullOrEmpty(api.Stage)) ? "/" + api.Stage : ""; endpoint.endpoint = new Uri(uriBuilder.Uri, path).AbsoluteUri; endpoint.custom_header = $"#HeadersStatement-{api.SecurityLevel.ToString()}#"; //switch(api.SecurityLevel) //{ // case AwsSettings.SecurityLevel.None: // break; // case AwsSettings.SecurityLevel.JWT: // endpoint.custom_header = @"async () => { return { Authorization : `Bearer ${(await Auth.currentSession()).getIdToken.getJwtToken()}`}}"; // break; // case AwsSettings.SecurityLevel.AwsSignatureVersion4: // endpoint.custom_header = @"async () => { return { LzIdentity : `${(await Auth.currentSession()).getIdToken.getJwtToken()}`}}"; // break; //} API.endpoints[i++] = endpoint; } }
private static void OperationSpec(ApiSpec api, string httpMethod, int index, Action <OperationSpec> applyAssertions) { var operationSpec = api.Operations.Where(op => op.Method == httpMethod).ElementAt(index); applyAssertions(operationSpec); }
public SpecGen(ApiSpec spec) { base.ToStringHelper.FormatProvider = CultureInfo.InvariantCulture; this.SPEC = spec; mCaseCorrections["nodebalancer"] = "NodeBalancer"; mCaseCorrections["nodebalancers"] = "NodeBalancers"; mCaseCorrections["addprivate"] = "AddPrivate"; mCaseCorrections["addpublic"] = "AddPublic"; mCaseCorrections["setrdns"] = "SetRDns"; mCaseCorrections["linodeplans"] = "LinodePlans"; mCaseCorrections["webconsoletoken"] = "WebConsoleToken"; mCaseCorrections["estimateinvoice"] = "EstimateInvoice"; mCaseCorrections["updatecard"] = "UpdateCard"; mCaseCorrections["stackscript"] = "StackScript"; mCaseCorrections["stackscripts"] = "StackScripts"; mCaseCorrections["createfromstackscript"] = "CreateFromStackScript"; mCaseCorrections["createfromimage"] = "CreateFromImage"; mCaseCorrections["getapikey"] = "GetApiKey"; mCaseCorrections["createfromdistribution"] = "CreateFromDistribution"; mCaseCorrections["paybalance"] = "PayBalance"; mReturnType["linode.job.list"] = typeof(Job[]); mReturnType["avail.linodeplans"] = typeof(Plan[]); mReturnType["avail.datacenters"] = typeof(DataCenter[]); mReturnType["avail.distributions"] = typeof(DistributionResponse[]); mReturnType["avail.kernels"] = typeof(KernelResponse[]); mReturnType["linode.boot"] = typeof(JobIdResponse); mReturnType["linode.clone"] = typeof(LinodeIdResponse); mReturnType["linode.create"] = typeof(LinodeIdResponse); mReturnType["linode.delete"] = typeof(LinodeIdResponse); mReturnType["linode.list"] = typeof(Node[]); mReturnType["linode.reboot"] = typeof(JobIdResponse); mReturnType["linode.shutdown"] = typeof(JobIdResponse); mReturnType["linode.update"] = typeof(LinodeIdResponse); mReturnType["linode.config.create"] = typeof(ConfigIdResponse); mReturnType["linode.config.delete"] = typeof(ConfigIdResponse); mReturnType["linode.config.list"] = typeof(ConfigResponse[]); mReturnType["linode.config.update"] = typeof(ConfigIdResponse); mReturnType["linode.disk.create"] = typeof(DiskIdResponse); mReturnType["linode.disk.createfromdistribution"] = typeof(DiskIdResponse); mReturnType["linode.disk.createfromimage"] = typeof(DiskIdResponse); mReturnType["linode.disk.createfromstackscript"] = typeof(DiskIdResponse); mReturnType["linode.disk.delete"] = typeof(DiskIdResponse); mReturnType["linode.disk.duplicate"] = typeof(DiskIdResponse); mReturnType["linode.disk.imagize"] = typeof(ImageIdResponse); mReturnType["linode.disk.list"] = typeof(DiskResponse[]); mReturnType["linode.disk.resize"] = typeof(DiskIdResponse); //mReturnType["linode.disk.update"] = typeof(); //This does not have a jobid? mReturnType["linode.ip.addprivate"] = typeof(IpAddressResponse); mReturnType["linode.ip.addpublic"] = typeof(IpAddressResponse); mReturnType["linode.ip.list"] = typeof(IpAddressListEntry[]); //mReturnType["linode.ip.setrdns"] = typeof(); //mReturnType["linode.ip.swap"] = typeof(); mReturnType["image.list"] = typeof(ImageResponse[]); mReturnType["user.getapikey"] = typeof(ApiKey); }
private void AssertApiOperationSpec(ApiSpec apiSpec, string httpMethod, Action <ApiOperationSpec> applyAssertions) { var operationSpec = apiSpec.operations.Single(op => op.httpMethod == httpMethod); applyAssertions(operationSpec); }