Exemple #1
0
        public MasterTemplateResource CreateLinkedMasterTemplateResource(string name, string uriLink, string[] dependsOn)
        {
            MasterTemplateResource masterTemplateResource = new MasterTemplateResource()
            {
                name       = name,
                type       = "Microsoft.Resources/deployments",
                apiVersion = "2018-01-01",
                properties = new MasterTemplateProperties()
                {
                    mode         = "Incremental",
                    templateLink = new MasterTemplateLink()
                    {
                        uri            = uriLink,
                        contentVersion = "1.0.0.0"
                    },
                    parameters = new Dictionary <string, TemplateParameterProperties>
                    {
                        { "ApimServiceName", new TemplateParameterProperties()
                          {
                              value = "[parameters('ApimServiceName')]"
                          } }
                    }
                },
                dependsOn = dependsOn
            };

            return(masterTemplateResource);
        }
        public MasterTemplateResource CreateLinkedMasterTemplateResource(string name, string uriLink, string[] dependsOn)
        {
            // create deployment resource with provided arguments
            MasterTemplateResource masterTemplateResource = new MasterTemplateResource()
            {
                name       = name,
                type       = "Microsoft.Resources/deployments",
                apiVersion = GlobalConstants.LinkedAPIVersion,
                properties = new MasterTemplateProperties()
                {
                    mode         = "Incremental",
                    templateLink = new MasterTemplateLink()
                    {
                        uri            = uriLink,
                        contentVersion = "1.0.0.0"
                    },
                    parameters = new Dictionary <string, TemplateParameterProperties>
                    {
                        { ParameterNames.ApimServiceName, new TemplateParameterProperties()
                          {
                              value = $"[parameters('{ParameterNames.ApimServiceName}')]"
                          } }
                    }
                },
                dependsOn = dependsOn
            };

            return(masterTemplateResource);
        }
Exemple #3
0
        public MasterTemplateResource CreateLinkedMasterTemplateResourceForPropertyTemplate(string name, string uriLink, string[] dependsOn, ExtractorParameters extractorParameters)
        {
            if (extractorParameters is null)
            {
                throw new ArgumentNullException(nameof(extractorParameters));
            }

            MasterTemplateResource masterResourceTemplate = this.CreateLinkedMasterTemplateResource(name, uriLink, dependsOn);

            if (extractorParameters.ParameterizeNamedValue)
            {
                masterResourceTemplate.Properties.parameters.Add(ParameterNames.NamedValues, new TemplateParameterProperties()
                {
                    value = $"[parameters('{ParameterNames.NamedValues}')]"
                });
            }
            if (extractorParameters.ParamNamedValuesKeyVaultSecrets)
            {
                masterResourceTemplate.Properties.parameters.Add(ParameterNames.NamedValueKeyVaultSecrets, new TemplateParameterProperties()
                {
                    value = $"[parameters('{ParameterNames.NamedValueKeyVaultSecrets}')]"
                });
            }
            return(masterResourceTemplate);
        }
        static MasterTemplateResource CreateLinkedMasterTemplateResource(string name, string uriLink, string[] dependsOn)
        {
            // create deployment resource with provided arguments
            MasterTemplateResource masterTemplateResource = new MasterTemplateResource()
            {
                Name       = name,
                Type       = ResourceTypeConstants.ArmDeployments,
                ApiVersion = GlobalConstants.ArmApiVersion,
                Properties = new MasterTemplateProperties()
                {
                    Mode         = "Incremental",
                    TemplateLink = new MasterTemplateLink()
                    {
                        Uri            = uriLink,
                        ContentVersion = "1.0.0.0"
                    },
                    Parameters = new Dictionary <string, TemplateParameterProperties>
                    {
                        { ParameterNames.ApimServiceName, new TemplateParameterProperties()
                          {
                              Value = $"[parameters('{ParameterNames.ApimServiceName}')]"
                          } }
                    }
                },
                DependsOn = dependsOn
            };

            return(masterTemplateResource);
        }
        static MasterTemplateResource CreateLinkedMasterTemplateResourceForApiTemplate(string name, string uriLink, string[] dependsOn, ExtractorParameters extractorParameters)
        {
            MasterTemplateResource masterResourceTemplate = CreateLinkedMasterTemplateResource(name, uriLink, dependsOn);

            if (extractorParameters.PolicyXMLBaseUrl != null)
            {
                masterResourceTemplate.Properties.Parameters.Add(ParameterNames.PolicyXMLBaseUrl, new TemplateParameterProperties()
                {
                    Value = $"[parameters('{ParameterNames.PolicyXMLBaseUrl}')]"
                });
            }
            if (extractorParameters.PolicyXMLSasToken != null)
            {
                masterResourceTemplate.Properties.Parameters.Add(ParameterNames.PolicyXMLSasToken, new TemplateParameterProperties()
                {
                    Value = $"[parameters('{ParameterNames.PolicyXMLSasToken}')]"
                });
            }
            if (extractorParameters.ParameterizeServiceUrl)
            {
                masterResourceTemplate.Properties.Parameters.Add(ParameterNames.ServiceUrl, new TemplateParameterProperties()
                {
                    Value = $"[parameters('{ParameterNames.ServiceUrl}')]"
                });
            }
            if (extractorParameters.ParameterizeApiLoggerId)
            {
                masterResourceTemplate.Properties.Parameters.Add(ParameterNames.ApiLoggerId, new TemplateParameterProperties()
                {
                    Value = $"[parameters('{ParameterNames.ApiLoggerId}')]"
                });
            }
            return(masterResourceTemplate);
        }
        public MasterTemplateResource CreateLinkedMasterTemplateResourceForApiTemplate(string name, string uriLink, string[] dependsOn, Extractor exc)
        {
            MasterTemplateResource masterResourceTemplate = this.CreateLinkedMasterTemplateResource(name, uriLink, dependsOn);

            if (exc.policyXMLSasToken != null)
            {
                masterResourceTemplate.properties.parameters.Add(ParameterNames.PolicyXMLSasToken, new TemplateParameterProperties()
                {
                    value = $"[parameters('{ParameterNames.PolicyXMLSasToken}')]"
                });
            }
            if (exc.paramServiceUrl)
            {
                masterResourceTemplate.properties.parameters.Add(ParameterNames.ServiceUrl, new TemplateParameterProperties()
                {
                    value = $"[parameters('{ParameterNames.ServiceUrl}')]"
                });
            }
            if (exc.paramApiLoggerId)
            {
                masterResourceTemplate.properties.parameters.Add(ParameterNames.ApiLoggerId, new TemplateParameterProperties()
                {
                    value = $"[parameters('{ParameterNames.ApiLoggerId}')]"
                });
            }
            return(masterResourceTemplate);
        }
        private MasterTemplateResource CreateLinkedMasterTemplateResource(string name, string uriLink, IEnumerable <string> dependsOn)
        {
            var masterTemplateResource = new MasterTemplateResource()
            {
                Name       = name,
                ApiVersion = GlobalConstants.LinkedAPIVersion,
                Properties = new LinkedProperties()
                {
                    Mode         = GlobalConstants.IncrementalArmDeployment,
                    TemplateLink = new LinkedTemplateLink()
                    {
                        Uri            = uriLink,
                        ContentVersion = "1.0.0.0"
                    },
                    Parameters = new Dictionary <string, TemplateParameterProperties>
                    {
                        { "ApimServiceName", new TemplateParameterProperties()
                          {
                              value = "[parameters('ApimServiceName')]"
                          } }
                    }
                },
                DependsOn = dependsOn.ToArray()
            };

            return(masterTemplateResource);
        }
        static MasterTemplateResource CreateLinkedMasterTemplateResourceForLoggerTemplate(string name, string uriLink, string[] dependsOn, ExtractorParameters extractorParameters)
        {
            MasterTemplateResource masterResourceTemplate = CreateLinkedMasterTemplateResource(name, uriLink, dependsOn);

            if (extractorParameters.ParameterizeLogResourceId)
            {
                masterResourceTemplate.Properties.Parameters.Add(ParameterNames.LoggerResourceId, new TemplateParameterProperties()
                {
                    Value = $"[parameters('{ParameterNames.LoggerResourceId}')]"
                });
            }
            return(masterResourceTemplate);
        }
        public MasterTemplateResource CreateLinkedMasterTemplateResourceForLoggerTemplate(string name, string uriLink, string[] dependsOn, Extractor exc)
        {
            MasterTemplateResource masterResourceTemplate = this.CreateLinkedMasterTemplateResource(name, uriLink, dependsOn);

            if (exc.paramLogResourceId)
            {
                masterResourceTemplate.properties.parameters.Add(ParameterNames.LoggerResourceId, new TemplateParameterProperties()
                {
                    value = $"[parameters('{ParameterNames.LoggerResourceId}')]"
                });
            }
            return(masterResourceTemplate);
        }
 public MasterTemplateResource CreateLinkedMasterTemplateResourceWithPolicyToken(string name, string uriLink, string[] dependsOn, Extractor exc)
 {
     if (exc.policyXMLSasToken == null)
     {
         return(this.CreateLinkedMasterTemplateResource(name, uriLink, dependsOn));
     }
     else
     {
         MasterTemplateResource masterResourceTemplate = this.CreateLinkedMasterTemplateResource(name, uriLink, dependsOn);
         masterResourceTemplate.properties.parameters.Add(ParameterNames.PolicyXMLSasToken, new TemplateParameterProperties()
         {
             value = $"[parameters('{ParameterNames.PolicyXMLSasToken}')]"
         });
         return(masterResourceTemplate);
     }
 }
Exemple #11
0
 public MasterTemplateResource CreateLinkedMasterTemplateResourceWithPolicyToken(string name, string uriLink, string[] dependsOn, string sasToken)
 {
     if (sasToken == null)
     {
         return(this.CreateLinkedMasterTemplateResource(name, uriLink, dependsOn));
     }
     else
     {
         MasterTemplateResource masterResourceTemplate = this.CreateLinkedMasterTemplateResource(name, uriLink, dependsOn);
         masterResourceTemplate.properties.parameters.Add("PolicyXMLSasToken", new TemplateParameterProperties()
         {
             value = "[parameters('PolicyXMLSasToken')]"
         });
         return(masterResourceTemplate);
     }
 }
        public void ShouldCreateLinkedMasterTemplateResourceFromValues()
        {
            // arrange
            MasterTemplateCreator masterTemplateCreator = new MasterTemplateCreator();
            string name    = "name";
            string uriLink = "uriLink";

            string[] dependsOn = new string[] { "dependsOn" };

            // act
            MasterTemplateResource masterTemplateResource = masterTemplateCreator.CreateLinkedMasterTemplateResource(name, uriLink, dependsOn);

            // assert
            Assert.Equal(name, masterTemplateResource.name);
            Assert.Equal(uriLink, masterTemplateResource.properties.templateLink.uri);
            Assert.Equal(dependsOn, masterTemplateResource.dependsOn);
        }
Exemple #13
0
        public MasterTemplateResource CreateLinkedMasterTemplateResourceForApiTemplate(string name, string uriLink, string[] dependsOn, Extractor exc)
        {
            MasterTemplateResource masterResourceTemplate = this.CreateLinkedMasterTemplateResource(name, uriLink, dependsOn);

            if (exc.policyXMLSasToken != null)
            {
                masterResourceTemplate.properties.parameters.Add("PolicyXMLSasToken", new TemplateParameterProperties()
                {
                    value = "[parameters('PolicyXMLSasToken')]"
                });
            }
            if (exc.paramServiceUrl)
            {
                masterResourceTemplate.properties.parameters.Add("serviceUrl", new TemplateParameterProperties()
                {
                    value = "[parameters('serviceUrl')]"
                });
            }
            return(masterResourceTemplate);
        }
        public MasterTemplateResource CreateLinkedMasterTemplateResourceForPropertyTemplate(string name, string uriLink, string[] dependsOn, Extractor exc)
        {
            MasterTemplateResource masterResourceTemplate = this.CreateLinkedMasterTemplateResource(name, uriLink, dependsOn);

            if (exc.paramNamedValue)
            {
                masterResourceTemplate.properties.parameters.Add(ParameterNames.NamedValues, new TemplateParameterProperties()
                {
                    value = $"[parameters('{ParameterNames.NamedValues}')]"
                });
            }
            if (exc.paramNamedValuesKeyVaultSecrets)
            {
                masterResourceTemplate.properties.parameters.Add(ParameterNames.NamedValueKeyVaultSecrets, new TemplateParameterProperties()
                {
                    value = $"[parameters('{ParameterNames.NamedValueKeyVaultSecrets}')]"
                });
            }
            return(masterResourceTemplate);
        }
Exemple #15
0
        public MasterTemplateResource CreateLinkedMasterTemplateResourceWithPolicyToken(string name, string uriLink, string[] dependsOn, ExtractorParameters extractorParameters)
        {
            MasterTemplateResource masterResourceTemplate = this.CreateLinkedMasterTemplateResource(name, uriLink, dependsOn);

            if (extractorParameters.PolicyXMLBaseUrl != null)
            {
                masterResourceTemplate.Properties.parameters.Add(ParameterNames.PolicyXMLBaseUrl, new TemplateParameterProperties()
                {
                    value = $"[parameters('{ParameterNames.PolicyXMLBaseUrl}')]"
                });
            }
            if (extractorParameters.PolicyXMLSasToken != null)
            {
                masterResourceTemplate.Properties.parameters.Add(ParameterNames.PolicyXMLSasToken, new TemplateParameterProperties()
                {
                    value = $"[parameters('{ParameterNames.PolicyXMLSasToken}')]"
                });
            }
            return(masterResourceTemplate);
        }
        public MasterTemplateResource CreateLinkedMasterTemplateResource(string name, string uriLink, string[] dependsOn, string apiName, bool isServiceUrlParameterizeInApi)
        {
            // create deployment resource with provided arguments
            MasterTemplateResource masterTemplateResource = new MasterTemplateResource()
            {
                Name       = name,
                Type       = "Microsoft.Resources/deployments",
                ApiVersion = GlobalConstants.ArmApiVersion,
                Properties = new MasterTemplateProperties()
                {
                    Mode         = "Incremental",
                    TemplateLink = new MasterTemplateLink()
                    {
                        Uri            = uriLink,
                        ContentVersion = "1.0.0.0"
                    },
                    Parameters = new Dictionary <string, TemplateParameterProperties>
                    {
                        { ParameterNames.ApimServiceName, new TemplateParameterProperties()
                          {
                              Value = $"[parameters('{ParameterNames.ApimServiceName}')]"
                          } }
                    }
                },
                DependsOn = dependsOn
            };

            if (name.IndexOf("APITemplate") > 0 && isServiceUrlParameterizeInApi)
            {
                TemplateParameterProperties serviceUrlParamProperty = new TemplateParameterProperties()
                {
                    Value = $"[parameters('{apiName}-ServiceUrl')]"
                };
                masterTemplateResource.Properties.Parameters.Add(apiName + "-ServiceUrl", serviceUrlParamProperty);
            }

            return(masterTemplateResource);
        }