YAML  For   DevOps

YAML For DevOps

ยท

3 min read

Hello Every One I am Goutham In this blog I would like to explain what is YAML,

why it is used and how to write some of the representations while writing YAML file.

YAML

Yet Another Markup Language or YAML ain't markup language which emphasizes that YAML is for data, not documents. YAML is a popular programming language because it is designed to be easy to read and understand.So basically YAML is for storing data.

For what YAML is used

YAML is a digestible data serialization language often used to create configuration files with any programming language. Designed for human interaction, YAML is a strict superset of JSON, another data serialization language. But because it's a strict superset, it can do everything that JSON can and more. Data stored as key value pair in YAML file.

GitHub Actions use YAML file to establish workflows.

YAML uses strict indentation

How to write some of the representations in YAML file

Here I am going to show YAML syntax and its equivalent JSON syntax to understand better.

Strings

fruits: "Mango"   #Space after colon is necessary
{
"fruits": "Mango"
}

In this syntax key fruits is storing Mango value we can even remove double quotes and can even use single quotes all represents same.

If value contains multiple strings then

fruits: |             # Mango , Apple must follow after fruits  
  Mango          # which means Mango ,Apple belongs to fruits key                             
  Apple
{
"fruits": "Mango\nApple\n"
}

If we want to represent all the following strings as a single string then

fruits: >
  Mango
  Fruits
{
"fruits": "Mango Fruits\n"
}

Arrays

If we want to represent arrays in YAML then

- Apple
- Banana
- Mango
[
"Apple", "Banana" ,"Mango"
]

Objects

Objects in YAML can be represented as

fruits:
 Apple: Red
 Mango: Yellow
{
"fruits":{
"Apple" :"Red",
"Mango": "Yellow"
}
}

Array of Objects

fruits:
 - Name: Apple
   color: red
 - Name: Mango
   color: yellow
{
 "fruits":[
{
"Name": "Apple",
"color": "red"
},
{
"Name": "Mango",
"color": "yellow"
}
]
}

Finally, Let's try to combine everything we have learned let us display 2 students information like RollNo, name, address, Marks in 2 subjects

 Goutham:
     RollNo: 1

     address: >
      M J Colony
      Balaji Nagar
       Kukatpally, Hyderabad
     Marks:
     - maths: 90
       phy : 80

 Akhil :
      RollNo: 2
      address: >
       Plot no 35.Indwell 
       house, Kavuri Hills Phase 3,
       Madhapur,Hyderabad
      Marks:
       - maths: 89
         phy : 90
{
   "Goutham": {
      "RollNo": 1,
      "address": "M J Colony Balaji Nagar Kukatpally, Hyderabad\n",
      "Marks": [
         {
            "maths": 90,
            "phy": 80
         }
      ]
   },
   "Akhil": {
      "RollNo": 2,
      "address": "Plot no 35.Indwell  house, Kavuri Hills Phase 3, Madhapur,Hyderabad\n",
      "Marks": [
         {
            "maths": 89,
            "phy": 90
         }
      ]
   }
}

That's it about what I want to explain YAML in my own words. I am a beginner to DevOps recently started learning it If you find any thing wrong please let me know.

Thanks for reading my blog have a nice day ๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰.

ย