Bicep0.5가 나왔습니다.
개요
2022/4/9에 기대했던 Bicep 0.5가 나와서 써봤어요.이번에 주목받는 업데이트는 빅 퍼블릭 리지스트리[1]다.나는 기존의 틀로 이것을 시험해 보겠다.
현재 공개된 모듈의 원본은 Bicep Registry Modules에 있다.수량은 아직 적지만 VNet이 있으니 azure-bastion01에 넣어 보세요.
VNet 모듈 시작
VNet은 변경되기 전에 다음bicep에 정의됩니다.
resource vnet 'Microsoft.Network/virtualNetworks@2020-06-01' = {
name: virtualNetworkName
location: location
properties: {
addressSpace: {
addressPrefixes: [
addressPrefix
]
}
subnets: subnets
}
}
publicmodule의 최소한의 매개 변수의 예Virtual Networks module(이하)로 대체합니다.module의name를 끼우지 않으려는 노력이 있었지만, 바꾸기만 하면 갈 수 없을 것 같았다.module vnet 'br/public:network/virtual-network:1.0' = {
name: '${uniqueString(deployment().name, 'WestEurope')}-minvnet'
params: {
name: virtualNetworkName
addressPrefixes: [
'10.0.0.0/16'
]
}
}
이걸 bicep를 통해 보니 금방 틀려서 유감입니다.$ bicep build ./vnet.bicep
vnet.bicep(10,13) : Error BCP192: Unable to restore the module with reference \
"br:mcr.microsoft.com/bicep/network/virtual-network:1.0": The module does not exist in the registry.
vnet.bicep(22,26) : Error BCP062: The referenced declaration with name "vnet" is not valid.
오류는 The module does not exist in the registry
입니다.창고에 모듈이 없는 것 같습니다. mcr에 있는지 확인하세요.평소 이런 문제가 발생했을 때는 Microsoft Container Registry (MCR)에 적힌 방법으로 조사한다.불편하지만 괜찮아요.우선 창고에 등록했는지 조사한다.등록된 것 같은데.
curl -s https://mcr.microsoft.com/v2/_catalog | grep bicep
"bicep/samples/hello-world",
"bicep/samples/array-loop",
"bicep/compute/availability-set",
"bicep/deployment-scripts/import-acr",
"bicep/network/virtual-network",
이렇게 하면 태그가 다를 수 있으니 라벨을 보세요.1.0이 아니라 1.0.1이다.$ curl -s https://mcr.microsoft.com/v2/bicep/network/virtual-network/tags/list
{
"name": "bicep/network/virtual-network",
"tags": [
"1.0.1"
]
}
이 모듈을 사용하여 모듈의 경로를 'br/public:network/virtual-network:1.0.1'
로 변경합니다.subnet의 정의를 추가한 후 이런 느낌.(이하)로 변경됩니다.module vnet 'br/public:network/virtual-network:1.0.1' = {
name: '${uniqueString(deployment().name, location)}-vnet'
params: {
name: virtualNetworkName
location: location
addressPrefixes: [
addressPrefix
]
subnets: subnets
}
}
subnet 정의 일치
또 하나의 변경이 있다.이 VNet의 모듈은subnet에서 받아들이는 형식으로 ARM 현지인과 약간 다르다.원래는 생략
properties.addressPrefix
한 부분을 한 단계 올려 썼다.이것은 vnetpublicmodule의 실현에 달려 있지만, 나는 이것이 디자인 모델로 통일될 수 있다고 생각한다.이 근처는 아직 확인되지 않았습니다.[2] "name": "subnet",
"properties": {
"addressPrefix": "10.1.0.0/24",
vnet public module의 경우"name": "subnet",
"addressPrefix": "10.1.0.0/24",
이렇게 수정하면 디버깅이 가능합니다.최후
일부는 문서의 업데이트가 따라가지 못하기 때문에 VS코드의 플러그인에서 창고가 있는 브라우저를 만들 수 있는 등 노력을 기울이면 충분히 사용할 수 있다고 생각합니다.모듈의 수가 아직 적기 때문에 더 많이 늘릴 수 있기를 기대하고 있다.그 전에 효과적으로 활용할 것이다Common Azure Resource Modules Library.
내 devcontainer도 0.5.6로 업데이트됐다.
각주
Public module registry 공식 문서는 docs.microsoft.com/Public module registry에 있습니다.GitHub Bicep #62 또는 GitHub Bicep #2128도 참고할 수 있습니다.↩︎
properties에 들어가는 평면화(위로 이동?)이 근처에서 이야기를 나누고 있는 것 같다.GitHub Bicep #2052 당연히'이름에 충돌이 있겠죠'라는 말이 나온다.↩︎
Reference
이 문제에 관하여(Bicep0.5가 나왔습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/takekazuomi/articles/bicep-05-released텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)