@@ -85,6 +85,46 @@ func Example_listServers() {
8585 fmt .Println (response )
8686}
8787
88+ func Example_createServer () {
89+
90+ // Create a Scaleway client
91+ client , err := scw .NewClient (
92+ scw .WithAuth ("ACCESS_KEY" , "SECRET_KEY" ), // Get your credentials at https://console.scaleway.com/account/credentials
93+ scw .WithDefaultOrganizationID ("ORGANIZATION_ID" ),
94+ scw .WithDefaultZone (scw .ZoneFrPar1 ),
95+ )
96+ if err != nil {
97+ panic (err )
98+ }
99+
100+ // Create SDK objects for Scaleway Instance and marketplace
101+ instanceAPI := instance .NewAPI (client )
102+
103+ serverType := "DEV1-S"
104+ image := "ubuntu-bionic"
105+
106+ // Create a new DEV1-S server
107+ createRes , err := instanceAPI .CreateServer (& instance.CreateServerRequest {
108+ Name : "my-server-01" ,
109+ CommercialType : serverType ,
110+ Image : image ,
111+ DynamicIPRequired : scw .BoolPtr (true ),
112+ })
113+ if err != nil {
114+ panic (err )
115+ }
116+
117+ // Start the server and wait until it's ready.
118+ err = instanceAPI .ServerActionAndWait (& instance.ServerActionAndWaitRequest {
119+ ServerID : createRes .Server .ID ,
120+ Action : instance .ServerActionPoweron ,
121+ Timeout : 5 * time .Minute ,
122+ })
123+ if err != nil {
124+ panic (err )
125+ }
126+ }
127+
88128func Example_rebootAllServers () {
89129
90130 // Create a Scaleway client
0 commit comments