Skip to content

Commit 61552a7

Browse files
committed
Update README.md
1 parent f2f1092 commit 61552a7

File tree

1 file changed

+53
-52
lines changed

1 file changed

+53
-52
lines changed

README.md

Lines changed: 53 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,57 @@
1-
# Python-Boto3-API
1+
# Python Boto3 API
22

3-
Flask kütüphanesini kullanarak bir Python API geliştirin. Gelişterecek olduğunuz API, Boto3 kütüphanesini kullanarak, AWS'in EC2 servisi ile haberleşmeli ve listeleme, Instance başlatma ve Instance durdurma yeteneklerine ve aşağıda yer alan 3 endpointe sahip olmalı;
3+
![api](./readme/boto3.jpg)
4+
5+
### Python API uses Flask and Boto3 libraries. It has the features of Instance listing, Instance start and Instance stop; it has 3 endpoints communicate with EC2 service on AWS.
6+
7+
---
8+
9+
## List Instances
10+
11+
You send a request to this endpoint by entering the following parameters, and you can list all the instances in your AWS account in the region you specify and their status.
12+
13+
```
14+
http://<api_host>:<api_port>/ec2/list
15+
```
16+
17+
| Parameter | Type | Description |
18+
| :---------------------- | :------- | :-------------------- |
19+
| `aws_access_key_id` | `string` | AWS Access Key ID |
20+
| `aws_secret_access_key` | `string` | AWS Secret Access Key |
21+
| `region_name` | `string` | AWS Region Name |
22+
23+
---
24+
25+
## Start Instance
26+
27+
You send a request to this endpoint by entering the following parameters, and you can start the instance you specified with `instance_id`, in the region you specified with `region_name` and the status of the instance will be changed to `running`.
28+
29+
```
30+
http://<api_host>:<api_port>/ec2/start
31+
```
32+
33+
| Parameter | Type | Description |
34+
| :---------------------- | :------- | :-------------------- |
35+
| `aws_access_key_id` | `string` | AWS Access Key ID |
36+
| `aws_secret_access_key` | `string` | AWS Secret Access Key |
37+
| `region_name` | `string` | AWS Region Name |
38+
| `instance_id` | `string` | Instance ID Number |
439

540
---
641

7-
- Endpoint-1: http://<api_host>:<api_port>/ec2/list
8-
9-
Bu endpoint kullanıcıdan aşağıda yer alan parametreleri almalı;
10-
aws_access_key_id
11-
aws_secret_access_key
12-
region_name
13-
Parametreler kullanıcıdan 3 farklı yöntem ile alınabilir;
14-
Query Parameter
15-
URL Parameter
16-
JSON Body
17-
Yukarıda yer alan 3 yöntem biri ile kullanıcıdan bu parametreleri almanız yeterli olacaktır. Kullanıcı, bu endpointe ilgili parametreler ile istek atarak, iletmiş olduğu region'da var olan EC2 instancelara ait InstanceId değerlerinin bir listesini alabilmeli.
18-
19-
- Endpoint-2: http://<api_host>:<api_port>/ec2/start
20-
21-
Bu endpoint kullanıcıdan aşağıda yer alan parametreleri almalı;
22-
aws_access_key_id
23-
aws_secret_access_key
24-
region_name
25-
InstanceId
26-
Parametreler kullanıcıdan 3 farklı yöntem ile alınabilir;
27-
Query Parameter
28-
URL Parameter
29-
JSON Body
30-
Yukarıda yer alan 3 yöntem biri ile kullanıcıdan bu parametreleri almanız yeterli olacaktır. Kullanıcı, bu endpointe ilgili parametreler ile istek atarak, iletmiş olduğu InstanceId değerine sahip olan EC2 instance'ı başlatabilmelidir.
31-
32-
- Endpoint-3: http://<api_host>:<api_port>/ec2/stop
33-
34-
Bu endpoint kullanıcıdan aşağıda yer alan parametreleri almalı;
35-
aws_access_key_id
36-
aws_secret_access_key
37-
region_name
38-
InstanceId
39-
Parametreler kullanıcıdan 3 farklı yöntem ile alınabilir;
40-
Query Parameter
41-
URL Parameter
42-
JSON Body
43-
Yukarıda yer alan 3 yöntemden biri ile kullanıcıdan bu parametreleri almanız yeterli olacaktır. Kullanıcı, bu endpointe ilgili parametreler ile istek atarak, iletmiş olduğu InstanceId değerine sahip olan EC2 instance'ı durdurabilmelidir.
44-
45-
## Opsiyonel
46-
47-
Burada yer alan taskleri gerçekleştirmeniz ekstra puan almanızı sağlayacaktır.
48-
Uygun HTTP metotları kullanarak, farklı metotlar ile istek atılmasını engellemek.
49-
API host ve port bilgilerini harici bir config dosyasından okumak.
50-
API'a farklı yöntemler ile parametre alabilme yeteneği kazandırmak.
51-
Kullanıcıya detaylı bilgi içeren JSON formatında response dönebilmek.
52-
API response status codelarını düzenleyerek ilgili durumlarda doğru status code dönebilmek.
53-
Uygulamanızı geliştirirken kullanmış olduğunuz Python paketlerini içeren bir requirements.txt dosyası oluşturmak.
54-
Log dosyası oluşturmak.
55-
Try-Except yapısını kullanarak hata oluşabilecek durumları yakalayarak, karşılaşılan hataları kullanıcıya response olarak dönebilmek.
56-
Kaynak kodları bir versiyon kontrol sistemi uygulamasında (Github, Gitlab etc.) yayınlamak.
42+
## Stop Instance
43+
44+
You send a request to this endpoint by entering the following parameters, and you can stop the instance you specified with `instance_id`, in the region you specified with `region_name` and the status of the instance will be changed to `stopped`.
45+
46+
```
47+
http://<api_host>:<api_port>/ec2/stop
48+
```
49+
50+
| Parameter | Type | Description |
51+
| :---------------------- | :------- | :-------------------- |
52+
| `aws_access_key_id` | `string` | AWS Access Key ID |
53+
| `aws_secret_access_key` | `string` | AWS Secret Access Key |
54+
| `region_name` | `string` | AWS Region Name |
55+
| `instance_id` | `string` | Instance ID Number |
56+
57+
---

0 commit comments

Comments
 (0)