Scripts em nuvem e modelos de script em nuvem
Em Cloud Provisioning and Governance a execução do script é dividida em scripts de nuvem e modelos de script de nuvem. Use scripts em blueprints, blocos de recursos, perfis de SO e scripts de política para definir atributos de formulário de solicitação. Os scripts de política não podem substituir os dados do usuário.
Scripts de nuvem
function evaluateTemplate() {
// Template Resolver is a helper function which we will use to fetch a template and replace its parameters,
// var templateResolver=new TemplateResolver(); this comes inbuild
// templateAttributes below will passed from the user.
var listDir=templateResolver.getTemplate('Install',templateAttributes);
return listDir;
}
Cada script de nuvem contém determinados parâmetros. Os parâmetros são os atributos que você deseja acessar. Um parâmetro contém um nome, um valor padrão e um valor de substituição. O valor padrão pode ser um literal de cadeia de caracteres, um parâmetro de bloco de recursos ou uma expressão de script complexa usada em blocos de recursos.
Um script em nuvem, por padrão, tem acesso ao templateResolverobjeto. . templateResolverPor padrão, o objeto tem um método getTemplate, cujo primeiro parâmetro é o nome do modelo de script em nuvem. templateAttributesos parâmetros de script de nuvem são criados como parte de um script de nuvem. Se necessário, as personalizações podem ser feitas em templateAttributes. Como exemplo, consulte o snippet de código a seguir se o valor de DevNameO parâmetro precisa ser alterado de John para Emily.
function evaluateTemplate() {
// Template Resolver is a helper function which we will use to fetch a template and replace its parameters,
// var templateResolver=new TemplateResolver(); this comes inbuild
// templateAttributes below will passed from the user.
templateAttributes['DevName'] = 'Emily';
var customNodeName;
var now_GR = new GlideRecord('some_custom_table_to_query');
gr.addQuery('some_parameter','some_value');
gr.query();
if(gr.next())
customNodeName=gr.getValue('some_custom_node_name');
templateAttributes['NodeName'] = customNodeName;
var listDir=templateResolver.getTemplate('Install',templateAttributes);
return listDir;
}
evaluateTemplate();
Modelos de script em nuvem
Os modelos de script em nuvem são executáveis reais que são passados para uma máquina virtual de destino para execução. Os modelos de nuvem podem ser de qualquer tipo (Shell/PowerShell/CloudInit), dependendo do contexto de execução. Primeiro, você precisa criar um modelo de nuvem e, em seguida, associá-lo a um script de nuvem.
Scripts de nuvem como CloudInit
- Nível de imagem: No momento da criação de um script de nuvem, você pode especificar uma imagem na qual este script deve ser executado. Quando um perfil de SO que contém esta imagem específica é selecionado, o script de nuvem padrão em relação a esta imagem é executado. No exemplo abaixo, um script de nuvem Apache está associado a uma imagem específica.
- Nível de perfil DO SO: Você pode executar um cloudinit em um provedor de nuvem específico e em uma AMI/imagem específica. Você também pode ser genérico e associar um cloudinit a um perfil de SO, independentemente da imagem subjacente. No exemplo a seguir, várias imagens estão associadas ao perfil do SO. Você pode mapear qualquer script de nuvem para o perfil do SO na guia Mapeamentos de perfil do SO do script em nuvem. O mapeamento de um script em nuvem com um perfil de SO tem precedência sobre a associação de script em nuvem no nível da imagem.
Neste exemplo, o script de nuvem do Apache é mapeado para o perfil do SO CentOS. Se necessário, você pode substituir os parâmetros de script na seção Substituições de mapeamento de perfil do SO. - Blocos de recursos: Ao mapear um script de nuvem para um perfil de SO, você pode escolher se deseja executar o script de nuvem para um bloco de recursos específico usado em um plano gráfico e em relação a um alias de recurso específico. Consulte Crie um perfil de SO.
Scripts em nuvem como Postinit
Você pode usar scripts em nuvem como scripts Postinit em um bloco de recursos. Depois de criar um bloco de recursos com uma máquina virtual a ser provisionada, você pode adicionar uma operação ExecuteScript. A operação ExecuteScript usa um parâmetro de script (um pool de scripts em nuvem) e você pode selecionar qualquer script para executar. Use ScriptParametersAtributo na operação ExecuteScript para substituir qualquer parâmetro de script. Você pode fornecer um mapa JSON do parâmetro de script e seu valor de substituição. Todas as expressões compatíveis com Gestão de nuvem trabalhe no ScriptParamtersatributo.