Welcome to the introductory session of confirmation, what we do with confirmation will be automate
and maintain the state of our eatables cloud resources sounds similar or familiar if you've gone through
terraformed project videos or if you're, you know, terraform, then yes, it may sound similar and
bodyboard, but the tools have similarity in most cases, except for one big difference.
Cloud formation is specific to A.W. as it's an EWR service, whereas Terraformed supports many of the
cloud providers.
There are so many blogs that compares the difference between cloud formation and terraform, and you
can check them in if you need help in making the decision.
But as for me, if you want to automate and maintain the eatables cloud infrastructure and unit AWG
Native Service to do that, then you can go without permission.
But if you want more than eight of us, you want some other providers also, then you can go with TerraForm.
Let's understand terminologies in cloud formation.
Templates, templates are really the text files, or you can see the scripts of confirmation, but they
are really not scripts, any programming language, you can write them either in Yamal or juice format.
So confirmation will lead this template as an input and the output will be the resource that will create
and maintain.
You describe the state of your infrastructure in these text files, templates, they are called, so
are you comfortable with Jason can go with Jason.
If you're comfortable with Yamal, you can go with Yamal.
I recommend Yamal because it's much easier to read and write Yamal.
So what it does is it creates and maintains the stack.
So you want to create any resource or maintaining the sauce on you write template, file and confirmation
will read that and create a stack for you.
If you want to make any change to a resource like, for example, security group rules changes, so
you update your template and then you update your stack.
So you stack will read your changed template.
And make the changes or create or update your stack.
Stant is basically a single unit of multiple resources, or even it could be a single resource as well,
like you want to create easy distance as three bucket ideas, we can put all that in your template,
which will create a stack for you.
And so you can see the input is the template and output is the stack.
Change said, I want to highlight very initially, because when you maintain the state of the infrastructure
through template, you can very easily make changes.
You can update your stack by updating a template.
Before you roll out, that changes, you can call for a change SADIC and generate a change set to change
that will detect the difference between what you what was the state and what you meant and will show
you the impact, what impact will happen if you make all these changes.
This is very, very important thing for life systems, for productions.
For example, if you have an ideas and you're renaming an ideas, which is very easy to do and a template
for, it's a text, you can very easily change the name.
But when you roll out the change in ideas, it's going to create a new artist instance and delete the
old one so it will delete your data.
If you have gone through terraformed plan, it's similar to that you planned forced you, you show the
change set, how it's going to impact.
If you're good with it, then you roll out.
Or else the result will be gitanos.
OK, now let's understand the complete anatomy now that's everything, really, of cloud formation,
you really need to learn the template.
So it supports Jason and Yamal both let's see first, Jason.
OK, so that's in Jason.
Former first thing you have is a template for Macrovision.
This is what you are to describe.
This is not mandatory.
This is optional.
All of them are optional except resource resources, the only mandatory section in your template.
Vision is optional.
Description, you can give some description about your template.
It's going to be a string metadata, some more information about your template parameters.
If you want some input parameter, when the user is creating the stack like Kebir or select a security
group, you can mention that mappings.
So it will be the mapping of key value store, like a dictionary in Python or the hash table lookup
table and get off on a variable of type maps.
It's similar to that.
So based on the condition, you can pick up the right value talking about conditions, that's the next
thing.
Conditions, you can specify a condition and based on the condition is true.
It can create the stack or make some other decision.
Transforms are good for serverless application, where you can specify the vision of ableism resources.
The only mandatory properties were here that you defined the resources nicita instance or load balancer
history and their properties output.
If you want to print something out once your template is created or what it is creating.
So these are the section and accept resources.
All of them are optional and mostly we just give a little description and resources and if you want,
we can print something.
And of course the parameters.
These are regularly used things.
OK, Cynthiana Yamal format, much easier to read.
And easier to write also.
OK, talking about resources, the most important thing in this is what actually makes your real stack
induce information so resource value and use informatics again, a dictionary, you give a logical hédi.
This will not be the name of your research, but, you know, it's a reference in your template.
This is not going to be the name of the resource that you create.
Like if you're creating an issue, for instance, logically, if you're here like example, instance.
So the instance name will not be the example instance.
It is just a logical idea to refer in your template.
So use a resource and then you can see, like, for example, some name over here and then use a type
resource type inside, that resource type will be easy, understand or Ezri, Buchard, the services
that you want to use.
And then property is offered like forestry bucket, any key that you want to create, any encryption
that you want to enable.
And that is in Miami for Mark.
And we are going to use Yamal format only makes it much easier to read and much easier to write resources
with some examples.
So I want to launch an easy to insurence.
I'm going to resources and it's case sensitive, our capital, the resources.
Then you give a logical whatever name you want to give type eatables, colon, colon, etc., colon,
colon instance and the properties.
So properties like immediate instance, type availability zone, VPC, security group keeper.
All this will be the properties and it's all available in the documentation.
Eatables has all the great documentation, as always, for its services.
Cloud formation documents are also documentation's are also very good.
The Bodeen, Jason and format.
If you see Yamal looks much better.
Let's take a look at the documentation.
OK, some sample from eatables, documentation of confirmation.
So Eatables documentation, confirmation.
Usategui OK, you can find your resource like what you see right now is elastic IP.
OK, so I'm going to screw this up.
So you can read about it, what the resources for syntax, you can see this is in Tucson format and
that's in Yamal format properties domain, Instant Saidy, and you can see all the properties and their
values that he can give.
Instance ID type is a string.
Is it required?
No, that's not mandatory.
Right.
So all the details are given tags and what is going to return written value for reference.
Examples, I directly jump to the examples and example in Dewson format, an example in Yamal former.
So like this, again, scroll through all the resources that you want.
So I'm checking for etc. you can check for other things, X, X, elastic cache, all of this.
So it wouldn't be a big trouble to write, really confirmation templates.
One more example is three Buchard, so resources illogicality, like my I'm giving like my history bucket
type.
Edinburgh, Scotland, coal industry, coal and coal and bucket, you can get that from the documentation
for your resource properties and you can find all the properties in their documentation and what value
you can give.
Here I'm giving Buckett name, some Buckett name, access control, publicly read the configuration
values and other dictionaries, the Web configuration, the indentation in this document and the document.
So this resource is going to create a bucket named chamomile public access, and it's going to put this
file for the website configuration.
Let's see one more example for security group resource analogical type.
Again, get the security group.
Resourcing from the documentation properties and you can find all the properties like group description,
you can give its values a string.
Group name its values, also strong security group ingress and egress value IP Protocol TCBY from Port
Yuda port number to pull together to port number cited IP and you can give the IP address.
I know you're thinking it looks more similar to TerraForm.
So if you had if you have some hanks' on one of the tours or even if your hands on Ansible, you can
learn this very easily.
So I think that much interaction should be fine.
Let's jump into it and start writing some code.