Criar Connection Interface
Nesta página, você encontra o passo a passo para criar Connection Interfaces.
O que é uma Connection Interface?
Connection Interface é um contrato com parâmetros, inputs, variáveis ou lista de atributos que um conjunto de recursos de Nuvem precisa ter para ser conectável ou compatível entre si.
Uma Connection Interface é criada ao usar um Plugin de Infraestrutura que implementa uma Connection Interface Type ao gerar peças de Cloud. Desta forma, qualquer Aplicação compatível com o contrato da Connection Interface pode usar o mesmo conjunto de recursos, já que seguem a mesma interface.
A instância de uma Connection Interface só é gerada que um Plugin é aplicado, e quando há o deploy de uma Infraestrutura ou Aplicação. Confira a imagem a seguir:

Exemplo
Imagine que você tem um ECS Cluster Fargate provisionado na AWS. A forma como você irá utilizá-lo e como esse recurso está provisionado e configurado é chamada de Connection Interface. A partir disso, o nome desta interface será ECS Cluster Fargate Conn.
Como criar uma Connection Interface manualmente no Workspace
Você pode criar uma Connection Interface manualmente no seu Workspace. Siga os passos a seguir:
Passo 1. Faça login no Portal StackSpot EDP e clique em ’Workspaces’;
Passo 2. Acesse o Workspace em que você quer criar a Connection Interface. Depois, clique em 'Connection Interfaces';
Passo 3. Clique na aba Criada por pessoas usuárias;

Passo 4. Agora clique no botão Criar Connection Interface';
Passo 5. Em 'Informações', preencha os campos a seguir:
- 'Nome'
- 'Tipo de Conexão': é preciso selecionar um tipo que tenha parâmetros.
Em seguida, clique no botão 'Próximo';

Passo 6. Em 'Parâmetros', insira os valores dos parâmetros da sua Connection Interface, como arn e name.
Por padrão, os valores serão aplicados a todos os ambientes. Para definir valores específicos por ambiente, escolha a opção 'Definir valores por ambiente' e faça as alterações para cada um.
Confira mais detalhes sobre cada tipo de output para cada tipo de Connection Interface na seção Parâmetros.

Geralmente, os parâmetros são do tipo string. Porém, alguns tipos de Connection Interface possuem parâmetros do tipo Object ou Array e que devem ser inseridos como JSON de acordo com o JSON Schema mostrado no editor de texto.
Para continuar, clique no botão 'Próximo'.
Passo 7. Na tela de 'Resumo', revise as informações e, em seguida, clique no botão 'Concluir'.
Pronto, você criou uma Connection Interface. Para configurá-la, confira o passo a passo a seguir.
Como configurar a visibilidade de uma Connection Interface no Workspace
A visibilidade padrão das Connection Interfaces depende de como você deseja criá-las. Ao serem geradas, as Connection Interfaces têm sua visibilidade definida por Aplicação ou Workspace.
Confira a seguir as regras de visibilidade:
- Workspace: quando a Connection Interface é gerada por uma Infraestrutura. Neste caso, só os membros do Workspace onde a Infraestrutura foi criada podem utilizá-la e visualizá-la.
- Aplicação: quando a Connection Interface é gerada por uma Aplicação. Neste caso, só a Aplicação associada pode acessá-la e utilizá-la.
Para configurar a visibilidade, siga os passos a seguir:
Passo 1. No menu do Workspace, clique em 'Connection Interfaces'
Passo 2. Clique na Connection Interface que você quer configurar;
Passo 3. Agora clique no botão 'Visibilidade' e selecione o nível de visibilidade que deseja configurar. Depois disso, confira se a visibilidade foi alterada no seu Workspace.
Agora você tem a Connection Interface criada, configurada e pronta para ser usada.
Os dados da Connection Interface que serão exibidos na tela não serão tratados como sensíveis.
Parâmetros
Os outputs do Terraform serão expostos como outputs do Connection Interface Type.
Para mais informações, acesse a página Contratos de Connection Interface Types
Como referenciar uma Connection Interface no Jinja
É possível referenciar Jinja na Connection Interface. Confira como a seguir:
V2:
Você pode acessar os atributos das Connection Interfaces usando um connection. Além disso, também é possível incluir um alias na sintaxe. Há duas formas de acessar os atributos, confira a seguir:
- Kebab case: acessar os atributos usando
{e uma string , semelhante a um dicionário. Confira o exemplo a seguir:
{{connections["connection-interface-one"].engine}}
- Snake case: converta o Kebab case para Snake case. Confira o exemplo a seguir:
{{connections.connection_interface_one.is_stackspot_fun}}
Uma opção extra é acessar através de um Camel case. Confira o exemplo a seguir:
{{connections["connectionInterfaceOne"].engine}}
Sincronizar Connection Interfaces no Workspace
Esta Action cria ou atualiza instâncias de Connection Interface por ambiente. Se a instância já existir no ambiente informado, a Connection Interface será apenas atualizada com os novos valores nos atributos. Caso não exista, a instância será criada com os atributos e valores informados.
Pré-requisitos
- Ter o Python instalado.
- Já ter Credenciais de serviço válidas (Client ID e Client Secret) com permissões para editar Workspaces e Ambientes na StackSpot.
Passo a passo
A Action pode ser executada via CLI da StackSpot.
Passo 1. Execute o comando a seguir no STK CLI:
stk run action stackspot-core/stackspot-synchronize-connection-interface
Passo 2. Durante a execução da Action, informe os seguintes inputs:
| name | type | help |
|---|---|---|
workspace_name | text | Informe o nome do Workspace onde a sincronização será realizada. |
environment_name | text | Informe o nome do ambiente relacionado as Connections Interfaces. |
connections_json | textarea | JSON com os atributos das Connections Interfaces. |
Confira a seguir um exemplo do input connections_json:
{
"aws-s3-conn": [
{
"stk_connection_name": "emb-dev-stackspot-files-raw",
"outputs": {
"arn": "arn:aws:s3:::emb-dev-stackspot-files-raw",
"bucket_name": "emb-dev-stackspot-files-raw"
}
}
]
}