import os
from gcore import Gcore
client = Gcore(
api_key=os.environ.get("GCORE_API_KEY"), # This is the default and can be omitted
)
bucket = client.storage.object_storages.buckets.create(
storage_id=0,
name="my-new-bucket",
)
print(bucket.storage_id)package main
import (
"context"
"fmt"
"github.com/G-Core/gcore-go"
"github.com/G-Core/gcore-go/option"
"github.com/G-Core/gcore-go/storage"
)
func main() {
client := gcore.NewClient(
option.WithAPIKey("My API Key"),
)
bucket, err := client.Storage.ObjectStorages.Buckets.New(
context.TODO(),
0,
storage.ObjectStorageBucketNewParams{
Name: "my-new-bucket",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", bucket.StorageID)
}
curl --request POST \
--url https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "my-new-bucket",
"cors": {
"allowed_origins": [
"https://example.com"
]
},
"lifecycle": {
"expiration_days": 30
},
"policy": {
"is_public": true
}
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'my-new-bucket',
cors: {allowed_origins: ['https://example.com']},
lifecycle: {expiration_days: 30},
policy: {is_public: true}
})
};
fetch('https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'my-new-bucket',
'cors' => [
'allowed_origins' => [
'https://example.com'
]
],
'lifecycle' => [
'expiration_days' => 30
],
'policy' => [
'is_public' => true
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"my-new-bucket\",\n \"cors\": {\n \"allowed_origins\": [\n \"https://example.com\"\n ]\n },\n \"lifecycle\": {\n \"expiration_days\": 30\n },\n \"policy\": {\n \"is_public\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"my-new-bucket\",\n \"cors\": {\n \"allowed_origins\": [\n \"https://example.com\"\n ]\n },\n \"lifecycle\": {\n \"expiration_days\": 30\n },\n \"policy\": {\n \"is_public\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"cors": {
"allowed_origins": [
"https://example.com",
"*"
]
},
"lifecycle": {
"expiration_days": 30
},
"name": "my-bucket",
"policy": {
"is_public": true
},
"storage_id": 123
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Create bucket
Creates a new bucket within an S3-compatible storage.
import os
from gcore import Gcore
client = Gcore(
api_key=os.environ.get("GCORE_API_KEY"), # This is the default and can be omitted
)
bucket = client.storage.object_storages.buckets.create(
storage_id=0,
name="my-new-bucket",
)
print(bucket.storage_id)package main
import (
"context"
"fmt"
"github.com/G-Core/gcore-go"
"github.com/G-Core/gcore-go/option"
"github.com/G-Core/gcore-go/storage"
)
func main() {
client := gcore.NewClient(
option.WithAPIKey("My API Key"),
)
bucket, err := client.Storage.ObjectStorages.Buckets.New(
context.TODO(),
0,
storage.ObjectStorageBucketNewParams{
Name: "my-new-bucket",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", bucket.StorageID)
}
curl --request POST \
--url https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "my-new-bucket",
"cors": {
"allowed_origins": [
"https://example.com"
]
},
"lifecycle": {
"expiration_days": 30
},
"policy": {
"is_public": true
}
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'my-new-bucket',
cors: {allowed_origins: ['https://example.com']},
lifecycle: {expiration_days: 30},
policy: {is_public: true}
})
};
fetch('https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'my-new-bucket',
'cors' => [
'allowed_origins' => [
'https://example.com'
]
],
'lifecycle' => [
'expiration_days' => 30
],
'policy' => [
'is_public' => true
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"my-new-bucket\",\n \"cors\": {\n \"allowed_origins\": [\n \"https://example.com\"\n ]\n },\n \"lifecycle\": {\n \"expiration_days\": 30\n },\n \"policy\": {\n \"is_public\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/storage/v4/object_storages/{storage_id}/buckets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"my-new-bucket\",\n \"cors\": {\n \"allowed_origins\": [\n \"https://example.com\"\n ]\n },\n \"lifecycle\": {\n \"expiration_days\": 30\n },\n \"policy\": {\n \"is_public\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"cors": {
"allowed_origins": [
"https://example.com",
"*"
]
},
"lifecycle": {
"expiration_days": 30
},
"name": "my-bucket",
"policy": {
"is_public": true
},
"storage_id": 123
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
API key for authentication. Make sure to include the word apikey, followed by a single space and then your token.
Example: apikey 1234_abcdef
Path Parameters
Storage ID
Body
BucketCreateBodyV4 Request body for creating a bucket. The optional CORS, lifecycle and policy blocks use the same shapes as the PATCH body and are applied as part of creation.
Name of the bucket to create
"my-new-bucket"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
BucketDetailResV4
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Globally unique bucket name within the storage. Used as the path prefix when accessing objects via S3 API.
"my-bucket"
Show child attributes
Show child attributes
Parent storage this bucket belongs to. Use this ID in the URL path for bucket operations.
123
Was this page helpful?