function Find-AzVm { <# .SYNOPSIS Return an Azure VM object if we find exactly one match for a given VM name string. .DESCRIPTION We'll search for all VMs inside the subsctription we are logged into containing the input string. If we find exactly one match, we will output an object as delivered by `az vm list`. .EXAMPLE Find-AzVm -VmName "substring-01" .INPUTS String. The VM name we want to investigate. Part of the name is sufficient if unambiguous inside the active subscription. .OUTPUTS PSCustomObject. `az vm list` object of the resulting Azure virtual machine. #> [OutputType([PSCustomObject])] [Alias( 'azvmidentify', 'azvmf', 'azvmi' )] Param ( [Parameter( Mandatory=$true, ValueFromPipeline=$true, HelpMessage="String that is a VM name or is part of one unambiguous VM", Position=0 ) ] [ValidateLength(1,64)] [string] $VmName ) $ErrorActionPreference = 'Stop' $count = 0 $result = @() foreach ($myvm in (List-AzVms | ConvertFrom-Json) ) { if ($myvm.name.Contains($VmName)) { $count++ $result += $myvm } } switch ($result.Count) { 0 { throw [System.ArgumentNullException]::New("No VM found with its name containing `"$($VmName)`"") } 1 { $true | Out-Null } Default { throw [System.ArgumentException]::New("More than one VM found with their names containing `"$($VmName)`"") } } # We throw exceptions whenever we don't have exactly one element - here we return the first element as there # should be only one at this stage. # Also, Powershell (again!): If you "return" something from a function anything else that produces output # will also be returned. Why, Microsoft, why ლ(ಠ_ಠლ) # > PowerShell has really wacky return semantics - at least when viewed from a more traditional programming perspective. There are two main ideas to wrap your head around: # > * All output is captured, and returned # > * The return keyword really just indicates a logical exit point # ( https://stackoverflow.com/a/10288256 ) # This sorry state of a "shell" or "programming language" ... return $result[0] }kground-color:#333;color:#eee; border-bottom:2px solid #111;font-size:0.9em; } nav>a { display:inline-block;padding:0.5em 2em; font-family:'Alte DIN 1451 Mittelschrift gep','Alte DIN 1451 Mittelschrift','Alte DIN 1451',Futura,'Lucida Grande','Gill Sans',Verdana,Helvetica,sans-serif; text-transform:lowercase;color:#eee; text-decoration:none;text-shadow:0.1em 0.1em #000; font-size:1.3em; width:1em;z-index:99; /*border-left:1px solid #444;border-right:1px solid #444;*/ margin-left:0;margin-right:0; } nav > a:first-child {border-left:none;} nav > a:nth-last-child(1) , nav a:last-child {border-right:none;} nav > a:hover {color:#a0e090;} nav > a:before {font-family:"Elusive Icons";z-index:99;} nav a[title="home"]:before {content:"\e6a3";} nav a[title="links"]:before {content:"\e68f";} nav a[title="about"]:before {content:"\e61f";} nav a[title="contact"]:before {content:"\e6e1";} nav a[title="teamspeak"]:before {content:"\e661";} nav a[title="minecraft"]:before {content:"\e627";} nav a[title="git"]:before {content:"\e6b8";} nav a[title="blog"]:before {content:"\e671";} nav a[title="philosophy"]:before {content:"\262f";} nav a[title="hots"]:before { content:" "; background:transparent url('//lirion.de/heroes-of-the-storm.svg') center center; background-size:1em 1em; width:1em;height:1em;text-align:center;margin:0 auto;padding:0;display:inline-block;} nav a[title="autoconf"]:before {content:"\e604";} nav a[title="redhat"] { background:transparent url('/assets/fedora.png') no-repeat center center; /*background-size:auto 1.3em;*/ margin-right:-1em; } nav a[title="mastodon"]:before {content:"\e72a";} nav a[title="packages"]:before {content:"\e69e";} nav > a >span {display:none;font-size:0;width:1px;} ul {list-style-type: square;} /*section#maint { background-color:rgba(204,204,204,.75);border-radius:8px; -moz-box-shadow: 0 1px 4px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 5px rgba(255,255,255,0.2), inset 0 5px 10px rgba(255,255,255,0.25), inset 0 -8px 15px rgba(0,0,0,0.3); box-shadow: 0 1px 4px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 5px rgba(255,255,255,0.2), inset 0 5px 10px rgba(255,255,255,0.25), inset 0 -8px 15px rgba(0,0,0,0.3); }*/ section,main.page-content,footer,#cgit { /*background-color:rgba(245,245,245,.8); box-shadow: 0 0 3px 0 rgba(0,0,0,0.25);*/ /*background-color:rgba(200,245,205,0.7);*/ background-color:rgba(210,240,216,0.7); box-shadow:0 0 4px 0 rgba(0,10,0,0.4); /*-moz-box-shadow: 0 0 3px 0 rgba(0,0,0,0.25);*/ padding:0.5em 1em; margin:0 auto; margin-top:2em;/*margin-bottom:2em;*/ max-width:70%; } div#cgit { background-color:rgba(210,240,216,0.7)!important; margin: auto; margin-top:2em!important; padding:1em!important; width:75em!important; font-family:"Telex","Helvetica Neue",Helvetica,Arial,sans-serif; } div#cgit div.content {background:#f5f5f5!important;overflow:auto;} div#cgit div.footer {color:#888!important;} div#cgit div.footer a {color:#666!important;} #cgit h1,#cgit h2,#cgit h3 { font-family:"Telex","Helvetica Neue",Helvetica,Arial,sans-serif; } div#cgit table#header td.main {word-spacing:0.1em;} /*div#cgit pre {white-space:pre-wrap;} :( */ footer {margin-bottom:2em;} section:nth-last-child(3) {margin-bottom:5em;} section h2 {text-align:center;margin-top:0;padding-top:0;} section a {text-decoration:none;} section a, section a:visited {color:#007a37;} section a:hover, section a:active {color:#e56b00;} #links ul {list-style-type:none;text-transform:lowercase;} /*#links ul li {border-bottom:1px solid #e0e0e0;padding:0.4em 0 0.3em 0;width:15em;margin:0 auto;text-align:center;}*/ #links ul li {padding:0.2em 0 0.3em 2em;margin:0.1em 0 0.1em 0;width:19em;} #links ul li:nth-child(2n) {float:right;} #links ul li:nth-child(4n) {background:rgba(80,80,80,0.1);} #links ul li:nth-child(2n+1) {float:left;} #links ul li:nth-child(4n-1) {background:rgba(80,80,80,0.1);} #links:after {clear:both;content:" ";display:block;} #teamspeak_srv {background-color:rgba(225,245,220,0.7);} #teamspeak_srv>div.content {margin:0 auto;font-size:13px;width:29.5em;font-family:"Telex","Helvetica Neue",Helvetica,Arial,sans-serif;} #teamspeak_srv div.copy { display:none!important; } #teamspeak_srv .content:last-child { margin-bottom:2em; } aside#ts3remark {margin-top:4em;font-size:66%;text-align:center;font-style:italic;} #validate { transform: rotate(45deg); /*-webkit-transform: rotate(45deg); /*FUCK YOU CHROME, SAFARI AND OPERA*/ /*-ms-transform: rotate(45deg); /*FUCK YOU INTERNET EXPLORER 9 AND BELOW*/ position:fixed;bottom:0;left:0;text-align:center;text-transform:lowercase;width:100%;margin-left:-45.666%;margin-bottom:1.666em; } #validate > p {margin:0;font-weight:bold;} #validate a {text-decoration:none;} #validate a:hover{text-decoration:none;} #validate > p:first-child {/*background:#0092bf;*/color:white;border-top:1px solid;border-color:#058;background:rgba(0,126,178,.8);} #validate > p:nth-child(2) {/*background:#90c140;*/color:white;border-bottom:1px solid;border-color:#591;background:rgba(124,178,54,.8);} #validate > p a { color:white;display:inline-block;padding:0.3em 25px 0.3em 0.3em;box-sizing:content-box;height:100%; background-size:auto 24px; } #validate > p:first-child a { background:transparent url('/flags/html5.png') right center no-repeat scroll; } #validate > p:nth-child(2) a { background:transparent url('/flags/css3.png') right center no-repeat scroll; } #validate > p span:last-child {display:none;} /*#validate > p:last-child a {color:#3e7000;} #validate > p:last-child a:hover {color:#c9910e;}*/ /*#mail h2:before {content:"\2709\fe0f\000a";display:block;font-size:4em;}*/ #mail h2:before {content:"\2709";display:block;font-size:4em;} #mail,#philosophy,#hots {text-align:justify;} #mail h2:before, #philosophy h2:before,#hots h2:before { font-family:"Elusive Icons"; display:block;font-size:3em;font-weight:normal; } #mail h2:before {content:"\e6e1";} #mail .remark,#philosophy .remark,#hots .remark {font-size:80%;margin-top:2em;font-style:italic;} #mail strong,#philosophy strong {color:#a00;} /*#philosophy h2:before {content:"\262f\fe0f\000a";display:block;font-size:4em;}*/ #philosophy h2:before {content:"\262f";} #hots h2:before { content:" "; background:transparent url('//lirion.de/heroes-of-the-storm.svg') center center; background-size:1.5em 1.5em; width:1.5em;height:1.5em;text-align:center;margin:0 auto;padding:0;display:block; } #hots p#hotslogs {text-align:center; margin:0 auto;margin-bottom:1em;} #rebuild {text-decoration:blink;color:#30c000;} #os-releases {/*width:66.6%;*/margin-left:2em;} #os-releases th {text-align:left;} #os-releases tr:nth-child(2n-1) td {background-color:#bcd1c1;} #os-releases tr td,#os-releases tr th {padding:0 0.75em;} #os-releases tr td.hash {font-family:"DejaVu Sans Mono",Monospace,monospace,serif;font-size:90%;} #nowww { position:fixed;top:4em;right:1em;margin:0;padding:0; background:transparent url('/assets/no_www.png') bottom right no-repeat; background-size:80px auto;width:80px;height:80px; } #nowww a { display:block;margin:0;padding:0; width:80px;height:80px; } #nowww a span {display:none;} div.markdown-body p:last-child { padding-bottom:1.5em; } div#cgit {margin-bottom:2em;} @keyframes fadeDown { 0% { opacity: 0; transform: translateY(-20px); } 100% { opacity: 1; transform: translateY(0); } } .fadeDown, header { animation:fadeDown 1s ease; } /* jekyll */ header.post-header { margin-top: 0.1337em; } .post h1 { font-size:2.1337em; text-align: left; } .post h1+p { text-align: left; } ul.post-list { background: #f0f0f0; list-style: none; padding-inline-start: 0; padding: 0.8em; } ul.post-list li { padding:0.4em; } ul.post-list li:nth-child(2n-1) { background-color:#ffffff; } ul.post-list li span.post-meta { font-weight: bold;font-style: oblique;font-size:100%; } ul.post-list li span.post-meta:after { content: ':'; } ul.post-list li h3 { font-size: 100%;font-weight: normal; display: inline; margin-left: 1em; font-family: "Telex","Helvetica Neue",Helvetica,Arial,sans-serif; border-bottom: none; } ul.post-list li h3 a { text-decoration: none; } nav.blog-nav { background: transparent; position: static; border: none; } .blog-nav .nav-trigger { display:none; } .blog-nav .menu-icon { display:none; } .post-content table { margin-bottom: 30px; width: 100%; text-align: left; color: #3f3f3f; border-collapse: collapse; border: 1px solid #d0d0d0; } .post-content table tr:nth-child(odd) { background-color: #e0e0e0; } .post-content table tr:nth-child(even) { background-color: #f0f0f0; } .post-content table th, table td { padding: 10px 15px; } .post-content table th { background-color: #f0f0f0; border: 1px solid #dedede; border-bottom-color: #c9c9c9; } .post-content table td { border: 1px solid #e8e8e8; } .blog-nav a.page-link { text-decoration: none; font-size:110%; border-left: 1px solid; border-right: 1px solid; margin-left: 0.1em;margin-right:0.1em; padding-left:0.7331em;padding-right: 0.7331em; display: inline-block; } .blog-nav a.page-link:first-child { margin-left: 0; border-left: 0; } .blog-nav a.page-link:last-child { margin-right: 0; border-right: 0; } figure.highlight { margin: 0 auto; margin-left: 1em; padding: 0.666em; } figure.highlight pre { margin-top: 0; margin-bottom: 0; overflow-x: auto; overflow-y: hidden; } figure.highlight pre code, code.highlighter-rouge { font-size: 0.8em; } article.post div.post-content, #tocw { background: rgba(251,255,253,0.6); padding: 0.666em; } main.page-content a, footer.site-footer a { text-decoration: none; color: #169b62; font-weight: 550; } main.page-content a:hover, footer.site-footer a:hover, main.page-content a:active, footer.site-footer a:active { color: #ff883e; } .highlight { background: #e8fff0; } #tocw ol { list-style-type: decimal; counter-reset: item; padding-left: 10px; } #tocw ol li { display: block; } #tocw > ol > li { padding-left: 0.5em; } #tocw > ol > li > ol > li { padding-left: 0.666em; } #tocw > ol > li > ol > li > ol > li { padding-left: 1.337em; } #tocw ol li:before { content: counters(item, ".") ". "; counter-increment: item } /*main.page-content h2:before { content: counter(heading)". "; counter-increment: heading; } main.page-content h2 { counter-reset: subheading; } main.page-content h3:before { content: counter(heading)"." counter(subheading)". "; counter-increment: subheading; }*/ /** * Syntax highlighting styles */ .highlight { background: #fff; } .highlighter-rouge .highlight { background: #eef; } .highlight .c { color: #998; font-style: italic; } .highlight .err { color: #a61717; background-color: #e3d2d2; } .highlight .k { font-weight: bold; } .highlight .o { font-weight: bold; } .highlight .cm { color: #998; font-style: italic; } .highlight .cp { color: #999; font-weight: bold; } .highlight .c1 { color: #998; font-style: italic; } .highlight .cs { color: #999; font-weight: bold; font-style: italic; } .highlight .gd { color: #000; background-color: #fdd; } .highlight .gd .x { color: #000; background-color: #faa; } .highlight .ge { font-style: italic; } .highlight .gr { color: #a00; } .highlight .gh { color: #999; } .highlight .gi { color: #000; background-color: #dfd; } .highlight .gi .x { color: #000; background-color: #afa; } .highlight .go { color: #888; } .highlight .gp { color: #555; } .highlight .gs { font-weight: bold; } .highlight .gu { color: #aaa; } .highlight .gt { color: #a00; } .highlight .kc { font-weight: bold; } .highlight .kd { font-weight: bold; } .highlight .kp { font-weight: bold; } .highlight .kr { font-weight: bold; } .highlight .kt { color: #458; font-weight: bold; } .highlight .m { color: #099; } .highlight .s { color: #d14; } .highlight .na { color: #008080; } .highlight .nb { color: #0086B3; } .highlight .nc { color: #458; font-weight: bold; } .highlight .no { color: #008080; } .highlight .ni { color: #800080; } .highlight .ne { color: #900; font-weight: bold; } .highlight .nf { color: #900; font-weight: bold; } .highlight .nn { color: #555; } .highlight .nt { color: #000080; } .highlight .nv { color: #008080; } .highlight .ow { font-weight: bold; } .highlight .w { color: #bbb; } .highlight .mf { color: #099; } .highlight .mh { color: #099; } .highlight .mi { color: #099; } .highlight .mo { color: #099; } .highlight .sb { color: #d14; } .highlight .sc { color: #d14; } .highlight .sd { color: #d14; } .highlight .s2 { color: #d14; } .highlight .se { color: #d14; } .highlight .sh { color: #d14; } .highlight .si { color: #d14; } .highlight .sx { color: #d14; } .highlight .sr { color: #009926; } .highlight .s1 { color: #d14; } .highlight .ss { color: #990073; } .highlight .bp { color: #999; } .highlight .vc { color: #008080; } .highlight .vg { color: #008080; } .highlight .vi { color: #008080; } .highlight .il { color: #099; }

git.lirion.de

Of git, get, and gud

summaryrefslogtreecommitdiffstats
path: root/site/profile/manifests/base.pp
blob: ae85e655024ca0be9f71e76ada22c137ccda5628 (plain)
1
2
3
4
5