Post /datacenters/{datacenterId}/natgateways/{natGatewayId}/rules
Create a NAT Gateway Rule
Put /datacenters/{datacenterId}/natgateways/{natGatewayId}/rules/{natGatewayRuleId}
Modify a NAT Gateway Rule by ID
DatacentersNatgatewaysDelete
var result =DatacentersNatgatewaysDelete(ctx, datacenterId, natGatewayId) .Pretty(pretty) .Depth(depth) .XContractNumber(xContractNumber) .Execute()
Delete NAT Gateways
Example
packagemainimport ("context""fmt""os" ionoscloud "github.com/ionos-cloud/sdk-go/v6")funcmain() { datacenterId :="datacenterId_example"// string | The unique ID of the data center. natGatewayId :="natGatewayId_example"// string | The unique ID of the NAT Gateway. pretty := true // bool | Controls whether the response is pretty-printed (with indentations and new lines). (optional) (default to true)
depth := int32(56) // int32 | Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on (optional) (default to 0)
xContractNumber := int32(56) // int32 | Users with multiple contracts must provide the contract number, for which all API requests are to be executed. (optional)
configuration := ionoscloud.NewConfiguration() apiClient := ionoscloud.NewAPIClient(configuration) resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysDelete(context.Background(), datacenterId, natGatewayId).Pretty(pretty).Depth(depth).XContractNumber(xContractNumber).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysDelete``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) }}
Path Parameters
Name
Type
Description
Notes
ctx
context.Context
context for authentication, logging, cancellation, deadlines, tracing, etc.
datacenterId
string
The unique ID of the data center.
natGatewayId
string
The unique ID of the NAT Gateway.
Other Parameters
Other parameters are passed through a pointer to a apiDatacentersNatgatewaysDeleteRequest struct via the builder pattern
Name
Type
Description
Notes
pretty
bool
Controls whether the response is pretty-printed (with indentations and new lines).
[default to true]
depth
int32
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
[default to 0]
xContractNumber
int32
Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
Return type
(empty response body)
HTTP request headers
Content-Type: Not defined
Accept: application/json
DatacentersNatgatewaysFindByNatGatewayId
var result NatGateway=DatacentersNatgatewaysFindByNatGatewayId(ctx, datacenterId, natGatewayId) .Pretty(pretty) .Depth(depth) .XContractNumber(xContractNumber) .Execute()
Retrieve NAT Gateways
Example
packagemainimport ("context""fmt""os" ionoscloud "github.com/ionos-cloud/sdk-go/v6")funcmain() { datacenterId :="datacenterId_example"// string | The unique ID of the data center. natGatewayId :="natGatewayId_example"// string | The unique ID of the NAT Gateway. pretty := true // bool | Controls whether the response is pretty-printed (with indentations and new lines). (optional) (default to true)
depth := int32(56) // int32 | Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on (optional) (default to 0)
xContractNumber := int32(56) // int32 | Users with multiple contracts must provide the contract number, for which all API requests are to be executed. (optional)
configuration := ionoscloud.NewConfiguration() apiClient := ionoscloud.NewAPIClient(configuration) resource, resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysFindByNatGatewayId(context.Background(), datacenterId, natGatewayId).Pretty(pretty).Depth(depth).XContractNumber(xContractNumber).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysFindByNatGatewayId``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) }// response from `DatacentersNatgatewaysFindByNatGatewayId`: NatGateway fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysFindByNatGatewayId`: %v\n", resp)}
Path Parameters
Name
Type
Description
Notes
ctx
context.Context
context for authentication, logging, cancellation, deadlines, tracing, etc.
datacenterId
string
The unique ID of the data center.
natGatewayId
string
The unique ID of the NAT Gateway.
Other Parameters
Other parameters are passed through a pointer to a apiDatacentersNatgatewaysFindByNatGatewayIdRequest struct via the builder pattern
Name
Type
Description
Notes
pretty
bool
Controls whether the response is pretty-printed (with indentations and new lines).
[default to true]
depth
int32
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
[default to 0]
xContractNumber
int32
Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
var result =DatacentersNatgatewaysFlowlogsDelete(ctx, datacenterId, natGatewayId, flowLogId) .Pretty(pretty) .Depth(depth) .Execute()
Delete NAT Gateway Flow Logs
Example
packagemainimport ("context""fmt""os" ionoscloud "github.com/ionos-cloud/sdk-go/v6")funcmain() { datacenterId :="datacenterId_example"// string | The unique ID of the data center. natGatewayId :="natGatewayId_example"// string | The unique ID of the NAT Gateway. flowLogId :="flowLogId_example"// string | The unique ID of the Flow Log. pretty := true // bool | Controls whether the response is pretty-printed (with indentations and new lines). (optional) (default to true)
depth := int32(56) // int32 | Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on (optional) (default to 0)
configuration := ionoscloud.NewConfiguration() apiClient := ionoscloud.NewAPIClient(configuration) resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysFlowlogsDelete(context.Background(), datacenterId, natGatewayId, flowLogId).Pretty(pretty).Depth(depth).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysFlowlogsDelete``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) }}
Path Parameters
Name
Type
Description
Notes
ctx
context.Context
context for authentication, logging, cancellation, deadlines, tracing, etc.
datacenterId
string
The unique ID of the data center.
natGatewayId
string
The unique ID of the NAT Gateway.
flowLogId
string
The unique ID of the Flow Log.
Other Parameters
Other parameters are passed through a pointer to a apiDatacentersNatgatewaysFlowlogsDeleteRequest struct via the builder pattern
Name
Type
Description
Notes
pretty
bool
Controls whether the response is pretty-printed (with indentations and new lines).
[default to true]
depth
int32
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
[default to 0]
Return type
(empty response body)
HTTP request headers
Content-Type: Not defined
Accept: application/json
DatacentersNatgatewaysFlowlogsFindByFlowLogId
var result FlowLog=DatacentersNatgatewaysFlowlogsFindByFlowLogId(ctx, datacenterId, natGatewayId, flowLogId) .Pretty(pretty) .Depth(depth) .Execute()
Retrieve NAT Gateway Flow Logs
Example
packagemainimport ("context""fmt""os" ionoscloud "github.com/ionos-cloud/sdk-go/v6")funcmain() { datacenterId :="datacenterId_example"// string | The unique ID of the data center. natGatewayId :="natGatewayId_example"// string | The unique ID of the NAT Gateway. flowLogId :="flowLogId_example"// string | The unique ID of the Flow Log. pretty := true // bool | Controls whether the response is pretty-printed (with indentations and new lines). (optional) (default to true)
depth := int32(56) // int32 | Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on (optional) (default to 0)
configuration := ionoscloud.NewConfiguration() apiClient := ionoscloud.NewAPIClient(configuration) resource, resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysFlowlogsFindByFlowLogId(context.Background(), datacenterId, natGatewayId, flowLogId).Pretty(pretty).Depth(depth).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysFlowlogsFindByFlowLogId``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) }// response from `DatacentersNatgatewaysFlowlogsFindByFlowLogId`: FlowLog fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysFlowlogsFindByFlowLogId`: %v\n", resp)}
Path Parameters
Name
Type
Description
Notes
ctx
context.Context
context for authentication, logging, cancellation, deadlines, tracing, etc.
datacenterId
string
The unique ID of the data center.
natGatewayId
string
The unique ID of the NAT Gateway.
flowLogId
string
The unique ID of the Flow Log.
Other Parameters
Other parameters are passed through a pointer to a apiDatacentersNatgatewaysFlowlogsFindByFlowLogIdRequest struct via the builder pattern
Name
Type
Description
Notes
pretty
bool
Controls whether the response is pretty-printed (with indentations and new lines).
[default to true]
depth
int32
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
var result FlowLogs=DatacentersNatgatewaysFlowlogsGet(ctx, datacenterId, natGatewayId) .Pretty(pretty) .Depth(depth) .Offset(offset) .Limit(limit) .Execute()
List NAT Gateway Flow Logs
Example
packagemainimport ("context""fmt""os" ionoscloud "github.com/ionos-cloud/sdk-go/v6")funcmain() { datacenterId :="datacenterId_example"// string | The unique ID of the data center. natGatewayId :="natGatewayId_example"// string | The unique ID of the NAT Gateway. pretty := true // bool | Controls whether the response is pretty-printed (with indentations and new lines). (optional) (default to true)
depth := int32(56) // int32 | Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on (optional) (default to 0)
offset := int32(56) // int32 | The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination). (optional) (default to 0)
limit := int32(56) // int32 | The maximum number of elements to return (use together with offset for pagination). (optional) (default to 1000)
configuration := ionoscloud.NewConfiguration() apiClient := ionoscloud.NewAPIClient(configuration) resource, resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysFlowlogsGet(context.Background(), datacenterId, natGatewayId).Pretty(pretty).Depth(depth).Offset(offset).Limit(limit).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysFlowlogsGet``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) }// response from `DatacentersNatgatewaysFlowlogsGet`: FlowLogs fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysFlowlogsGet`: %v\n", resp)}
Path Parameters
Name
Type
Description
Notes
ctx
context.Context
context for authentication, logging, cancellation, deadlines, tracing, etc.
datacenterId
string
The unique ID of the data center.
natGatewayId
string
The unique ID of the NAT Gateway.
Other Parameters
Other parameters are passed through a pointer to a apiDatacentersNatgatewaysFlowlogsGetRequest struct via the builder pattern
Name
Type
Description
Notes
pretty
bool
Controls whether the response is pretty-printed (with indentations and new lines).
[default to true]
depth
int32
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
[default to 0]
offset
int32
The first element (from the complete list of the elements) to include in the response (used together with <b><i>limit</i></b> for pagination).
[default to 0]
limit
int32
The maximum number of elements to return (use together with offset for pagination).
var result FlowLog=DatacentersNatgatewaysFlowlogsPatch(ctx, datacenterId, natGatewayId, flowLogId) .NatGatewayFlowLogProperties(natGatewayFlowLogProperties) .Pretty(pretty) .Depth(depth) .Execute()
Partially modify NAT Gateway Flow Logs
Example
packagemainimport ("context""fmt""os" ionoscloud "github.com/ionos-cloud/sdk-go/v6")funcmain() { datacenterId :="datacenterId_example"// string | The unique ID of the data center. natGatewayId :="natGatewayId_example"// string | The unique ID of the NAT Gateway. flowLogId :="flowLogId_example"// string | The unique ID of the Flow Log. natGatewayFlowLogProperties := *openapiclient.NewFlowLogProperties("ACCEPTED", "bucketName/key", "INGRESS", "My resource") // FlowLogProperties | The properties of the Flow Log to be updated.
pretty := true // bool | Controls whether the response is pretty-printed (with indentations and new lines). (optional) (default to true)
depth := int32(56) // int32 | Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on (optional) (default to 0)
configuration := ionoscloud.NewConfiguration() apiClient := ionoscloud.NewAPIClient(configuration) resource, resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysFlowlogsPatch(context.Background(), datacenterId, natGatewayId, flowLogId).NatGatewayFlowLogProperties(natGatewayFlowLogProperties).Pretty(pretty).Depth(depth).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysFlowlogsPatch``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) }// response from `DatacentersNatgatewaysFlowlogsPatch`: FlowLog fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysFlowlogsPatch`: %v\n", resp)}
Path Parameters
Name
Type
Description
Notes
ctx
context.Context
context for authentication, logging, cancellation, deadlines, tracing, etc.
datacenterId
string
The unique ID of the data center.
natGatewayId
string
The unique ID of the NAT Gateway.
flowLogId
string
The unique ID of the Flow Log.
Other Parameters
Other parameters are passed through a pointer to a apiDatacentersNatgatewaysFlowlogsPatchRequest struct via the builder pattern
Name
Type
Description
Notes
natGatewayFlowLogProperties
The properties of the Flow Log to be updated.
pretty
bool
Controls whether the response is pretty-printed (with indentations and new lines).
[default to true]
depth
int32
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
var result FlowLog=DatacentersNatgatewaysFlowlogsPost(ctx, datacenterId, natGatewayId) .NatGatewayFlowLog(natGatewayFlowLog) .Pretty(pretty) .Depth(depth) .Execute()
Create a NAT Gateway Flow Log
Example
packagemainimport ("context""fmt""os" ionoscloud "github.com/ionos-cloud/sdk-go/v6")funcmain() { datacenterId :="datacenterId_example"// string | The unique ID of the data center. natGatewayId :="natGatewayId_example"// string | The unique ID of the NAT Gateway. natGatewayFlowLog := *openapiclient.NewFlowLog(*openapiclient.NewFlowLogProperties("ACCEPTED", "bucketName/key", "INGRESS", "My resource")) // FlowLog | The Flow Log to create.
pretty := true // bool | Controls whether the response is pretty-printed (with indentations and new lines). (optional) (default to true)
depth := int32(56) // int32 | Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on (optional) (default to 0)
configuration := ionoscloud.NewConfiguration() apiClient := ionoscloud.NewAPIClient(configuration) resource, resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysFlowlogsPost(context.Background(), datacenterId, natGatewayId).NatGatewayFlowLog(natGatewayFlowLog).Pretty(pretty).Depth(depth).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysFlowlogsPost``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) }// response from `DatacentersNatgatewaysFlowlogsPost`: FlowLog fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysFlowlogsPost`: %v\n", resp)}
Path Parameters
Name
Type
Description
Notes
ctx
context.Context
context for authentication, logging, cancellation, deadlines, tracing, etc.
datacenterId
string
The unique ID of the data center.
natGatewayId
string
The unique ID of the NAT Gateway.
Other Parameters
Other parameters are passed through a pointer to a apiDatacentersNatgatewaysFlowlogsPostRequest struct via the builder pattern
Name
Type
Description
Notes
natGatewayFlowLog
The Flow Log to create.
pretty
bool
Controls whether the response is pretty-printed (with indentations and new lines).
[default to true]
depth
int32
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
var result FlowLog=DatacentersNatgatewaysFlowlogsPut(ctx, datacenterId, natGatewayId, flowLogId) .NatGatewayFlowLog(natGatewayFlowLog) .Pretty(pretty) .Depth(depth) .Execute()
Modify NAT Gateway Flow Logs
Example
packagemainimport ("context""fmt""os" ionoscloud "github.com/ionos-cloud/sdk-go/v6")funcmain() { datacenterId :="datacenterId_example"// string | The unique ID of the data center. natGatewayId :="natGatewayId_example"// string | The unique ID of the NAT Gateway. flowLogId :="flowLogId_example"// string | The unique ID of the Flow Log. natGatewayFlowLog := *openapiclient.NewFlowLogPut(*openapiclient.NewFlowLogProperties("ACCEPTED", "bucketName/key", "INGRESS", "My resource")) // FlowLogPut | The modified NAT Gateway Flow Log.
pretty := true // bool | Controls whether the response is pretty-printed (with indentations and new lines). (optional) (default to true)
depth := int32(56) // int32 | Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on (optional) (default to 0)
configuration := ionoscloud.NewConfiguration() apiClient := ionoscloud.NewAPIClient(configuration) resource, resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysFlowlogsPut(context.Background(), datacenterId, natGatewayId, flowLogId).NatGatewayFlowLog(natGatewayFlowLog).Pretty(pretty).Depth(depth).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysFlowlogsPut``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) }// response from `DatacentersNatgatewaysFlowlogsPut`: FlowLog fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysFlowlogsPut`: %v\n", resp)}
Path Parameters
Name
Type
Description
Notes
ctx
context.Context
context for authentication, logging, cancellation, deadlines, tracing, etc.
datacenterId
string
The unique ID of the data center.
natGatewayId
string
The unique ID of the NAT Gateway.
flowLogId
string
The unique ID of the Flow Log.
Other Parameters
Other parameters are passed through a pointer to a apiDatacentersNatgatewaysFlowlogsPutRequest struct via the builder pattern
Name
Type
Description
Notes
natGatewayFlowLog
The modified NAT Gateway Flow Log.
pretty
bool
Controls whether the response is pretty-printed (with indentations and new lines).
[default to true]
depth
int32
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
var result NatGateways=DatacentersNatgatewaysGet(ctx, datacenterId) .Pretty(pretty) .Depth(depth) .XContractNumber(xContractNumber) .Execute()
List NAT Gateways
Example
packagemainimport ("context""fmt""os" ionoscloud "github.com/ionos-cloud/sdk-go/v6")funcmain() { datacenterId :="datacenterId_example"// string | The unique ID of the data center. pretty := true // bool | Controls whether the response is pretty-printed (with indentations and new lines). (optional) (default to true)
depth := int32(56) // int32 | Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on (optional) (default to 0)
xContractNumber := int32(56) // int32 | Users with multiple contracts must provide the contract number, for which all API requests are to be executed. (optional)
configuration := ionoscloud.NewConfiguration() apiClient := ionoscloud.NewAPIClient(configuration) resource, resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysGet(context.Background(), datacenterId).Pretty(pretty).Depth(depth).XContractNumber(xContractNumber).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysGet``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) }// response from `DatacentersNatgatewaysGet`: NatGateways fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysGet`: %v\n", resp)}
Path Parameters
Name
Type
Description
Notes
ctx
context.Context
context for authentication, logging, cancellation, deadlines, tracing, etc.
datacenterId
string
The unique ID of the data center.
Other Parameters
Other parameters are passed through a pointer to a apiDatacentersNatgatewaysGetRequest struct via the builder pattern
Name
Type
Description
Notes
pretty
bool
Controls whether the response is pretty-printed (with indentations and new lines).
[default to true]
depth
int32
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
[default to 0]
xContractNumber
int32
Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
var result NatGateway=DatacentersNatgatewaysPatch(ctx, datacenterId, natGatewayId) .NatGatewayProperties(natGatewayProperties) .Pretty(pretty) .Depth(depth) .XContractNumber(xContractNumber) .Execute()
Partially modify NAT Gateways
Example
packagemainimport ("context""fmt""os" ionoscloud "github.com/ionos-cloud/sdk-go/v6")funcmain() { datacenterId :="datacenterId_example"// string | The unique ID of the data center. natGatewayId :="natGatewayId_example"// string | The unique ID of the NAT Gateway. natGatewayProperties := *openapiclient.NewNatGatewayProperties("My NAT Gateway", []string{"PublicIps_example"}) // NatGatewayProperties | The properties of the NAT Gateway to be updated.
pretty := true // bool | Controls whether the response is pretty-printed (with indentations and new lines). (optional) (default to true)
depth := int32(56) // int32 | Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on (optional) (default to 0)
xContractNumber := int32(56) // int32 | Users with multiple contracts must provide the contract number, for which all API requests are to be executed. (optional)
configuration := ionoscloud.NewConfiguration() apiClient := ionoscloud.NewAPIClient(configuration) resource, resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysPatch(context.Background(), datacenterId, natGatewayId).NatGatewayProperties(natGatewayProperties).Pretty(pretty).Depth(depth).XContractNumber(xContractNumber).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysPatch``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) }// response from `DatacentersNatgatewaysPatch`: NatGateway fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysPatch`: %v\n", resp)}
Path Parameters
Name
Type
Description
Notes
ctx
context.Context
context for authentication, logging, cancellation, deadlines, tracing, etc.
datacenterId
string
The unique ID of the data center.
natGatewayId
string
The unique ID of the NAT Gateway.
Other Parameters
Other parameters are passed through a pointer to a apiDatacentersNatgatewaysPatchRequest struct via the builder pattern
Name
Type
Description
Notes
natGatewayProperties
The properties of the NAT Gateway to be updated.
pretty
bool
Controls whether the response is pretty-printed (with indentations and new lines).
[default to true]
depth
int32
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
[default to 0]
xContractNumber
int32
Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
var result NatGateway=DatacentersNatgatewaysPost(ctx, datacenterId) .NatGateway(natGateway) .Pretty(pretty) .Depth(depth) .XContractNumber(xContractNumber) .Execute()
Create a NAT Gateway
Example
packagemainimport ("context""fmt""os" ionoscloud "github.com/ionos-cloud/sdk-go/v6")funcmain() { datacenterId :="datacenterId_example"// string | The unique ID of the data center. natGateway := *openapiclient.NewNatGateway(*openapiclient.NewNatGatewayProperties("My NAT Gateway", []string{"PublicIps_example"})) // NatGateway | The NAT Gateway to create.
pretty := true // bool | Controls whether the response is pretty-printed (with indentations and new lines). (optional) (default to true)
depth := int32(56) // int32 | Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on (optional) (default to 0)
xContractNumber := int32(56) // int32 | Users with multiple contracts must provide the contract number, for which all API requests are to be executed. (optional)
configuration := ionoscloud.NewConfiguration() apiClient := ionoscloud.NewAPIClient(configuration) resource, resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysPost(context.Background(), datacenterId).NatGateway(natGateway).Pretty(pretty).Depth(depth).XContractNumber(xContractNumber).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysPost``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) }// response from `DatacentersNatgatewaysPost`: NatGateway fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysPost`: %v\n", resp)}
Path Parameters
Name
Type
Description
Notes
ctx
context.Context
context for authentication, logging, cancellation, deadlines, tracing, etc.
datacenterId
string
The unique ID of the data center.
Other Parameters
Other parameters are passed through a pointer to a apiDatacentersNatgatewaysPostRequest struct via the builder pattern
Name
Type
Description
Notes
natGateway
The NAT Gateway to create.
pretty
bool
Controls whether the response is pretty-printed (with indentations and new lines).
[default to true]
depth
int32
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
[default to 0]
xContractNumber
int32
Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
var result NatGateway=DatacentersNatgatewaysPut(ctx, datacenterId, natGatewayId) .NatGateway(natGateway) .Pretty(pretty) .Depth(depth) .XContractNumber(xContractNumber) .Execute()
Modify NAT Gateways
Example
packagemainimport ("context""fmt""os" ionoscloud "github.com/ionos-cloud/sdk-go/v6")funcmain() { datacenterId :="datacenterId_example"// string | The unique ID of the data center. natGatewayId :="natGatewayId_example"// string | The unique ID of the NAT Gateway. natGateway := *openapiclient.NewNatGatewayPut(*openapiclient.NewNatGatewayProperties("My NAT Gateway", []string{"PublicIps_example"})) // NatGatewayPut | The modified NAT Gateway.
pretty := true // bool | Controls whether the response is pretty-printed (with indentations and new lines). (optional) (default to true)
depth := int32(56) // int32 | Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on (optional) (default to 0)
xContractNumber := int32(56) // int32 | Users with multiple contracts must provide the contract number, for which all API requests are to be executed. (optional)
configuration := ionoscloud.NewConfiguration() apiClient := ionoscloud.NewAPIClient(configuration) resource, resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysPut(context.Background(), datacenterId, natGatewayId).NatGateway(natGateway).Pretty(pretty).Depth(depth).XContractNumber(xContractNumber).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysPut``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) }// response from `DatacentersNatgatewaysPut`: NatGateway fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysPut`: %v\n", resp)}
Path Parameters
Name
Type
Description
Notes
ctx
context.Context
context for authentication, logging, cancellation, deadlines, tracing, etc.
datacenterId
string
The unique ID of the data center.
natGatewayId
string
The unique ID of the NAT Gateway.
Other Parameters
Other parameters are passed through a pointer to a apiDatacentersNatgatewaysPutRequest struct via the builder pattern
Name
Type
Description
Notes
natGateway
The modified NAT Gateway.
pretty
bool
Controls whether the response is pretty-printed (with indentations and new lines).
[default to true]
depth
int32
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
[default to 0]
xContractNumber
int32
Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
var result =DatacentersNatgatewaysRulesDelete(ctx, datacenterId, natGatewayId, natGatewayRuleId) .Pretty(pretty) .Depth(depth) .XContractNumber(xContractNumber) .Execute()
Delete NAT Gateway rules
Example
packagemainimport ("context""fmt""os" ionoscloud "github.com/ionos-cloud/sdk-go/v6")funcmain() { datacenterId :="datacenterId_example"// string | The unique ID of the data center. natGatewayId :="natGatewayId_example"// string | The unique ID of the NAT Gateway. natGatewayRuleId :="natGatewayRuleId_example"// string | The unique ID of the NAT Gateway rule. pretty := true // bool | Controls whether the response is pretty-printed (with indentations and new lines). (optional) (default to true)
depth := int32(56) // int32 | Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on (optional) (default to 0)
xContractNumber := int32(56) // int32 | Users with multiple contracts must provide the contract number, for which all API requests are to be executed. (optional)
configuration := ionoscloud.NewConfiguration() apiClient := ionoscloud.NewAPIClient(configuration) resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysRulesDelete(context.Background(), datacenterId, natGatewayId, natGatewayRuleId).Pretty(pretty).Depth(depth).XContractNumber(xContractNumber).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysRulesDelete``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) }}
Path Parameters
Name
Type
Description
Notes
ctx
context.Context
context for authentication, logging, cancellation, deadlines, tracing, etc.
datacenterId
string
The unique ID of the data center.
natGatewayId
string
The unique ID of the NAT Gateway.
natGatewayRuleId
string
The unique ID of the NAT Gateway rule.
Other Parameters
Other parameters are passed through a pointer to a apiDatacentersNatgatewaysRulesDeleteRequest struct via the builder pattern
Name
Type
Description
Notes
pretty
bool
Controls whether the response is pretty-printed (with indentations and new lines).
[default to true]
depth
int32
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
[default to 0]
xContractNumber
int32
Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
Return type
(empty response body)
HTTP request headers
Content-Type: Not defined
Accept: application/json
DatacentersNatgatewaysRulesFindByNatGatewayRuleId
var result NatGatewayRule = DatacentersNatgatewaysRulesFindByNatGatewayRuleId(ctx, datacenterId, natGatewayId, natGatewayRuleId)
.Pretty(pretty) .Depth(depth) .XContractNumber(xContractNumber) .Execute()
Retrieve NAT Gateway rules
Example
packagemainimport ("context""fmt""os" ionoscloud "github.com/ionos-cloud/sdk-go/v6")funcmain() { datacenterId :="datacenterId_example"// string | The unique ID of the data center. natGatewayId :="natGatewayId_example"// string | The unique ID of the NAT Gateway. natGatewayRuleId :="natGatewayRuleId_example"// string | The unique ID of the NAT Gateway rule. pretty := true // bool | Controls whether the response is pretty-printed (with indentations and new lines). (optional) (default to true)
depth := int32(56) // int32 | Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on (optional) (default to 0)
xContractNumber := int32(56) // int32 | Users with multiple contracts must provide the contract number, for which all API requests are to be executed. (optional)
configuration := ionoscloud.NewConfiguration() apiClient := ionoscloud.NewAPIClient(configuration) resource, resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysRulesFindByNatGatewayRuleId(context.Background(), datacenterId, natGatewayId, natGatewayRuleId).Pretty(pretty).Depth(depth).XContractNumber(xContractNumber).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysRulesFindByNatGatewayRuleId``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) }// response from `DatacentersNatgatewaysRulesFindByNatGatewayRuleId`: NatGatewayRule fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysRulesFindByNatGatewayRuleId`: %v\n", resp)
}
Path Parameters
Name
Type
Description
Notes
ctx
context.Context
context for authentication, logging, cancellation, deadlines, tracing, etc.
datacenterId
string
The unique ID of the data center.
natGatewayId
string
The unique ID of the NAT Gateway.
natGatewayRuleId
string
The unique ID of the NAT Gateway rule.
Other Parameters
Other parameters are passed through a pointer to a apiDatacentersNatgatewaysRulesFindByNatGatewayRuleIdRequest struct via the builder pattern
Name
Type
Description
Notes
pretty
bool
Controls whether the response is pretty-printed (with indentations and new lines).
[default to true]
depth
int32
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
[default to 0]
xContractNumber
int32
Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
var result NatGatewayRules=DatacentersNatgatewaysRulesGet(ctx, datacenterId, natGatewayId) .Pretty(pretty) .Depth(depth) .XContractNumber(xContractNumber) .Execute()
List NAT Gateway rules
Example
packagemainimport ("context""fmt""os" ionoscloud "github.com/ionos-cloud/sdk-go/v6")funcmain() { datacenterId :="datacenterId_example"// string | The unique ID of the data center. natGatewayId :="natGatewayId_example"// string | The unique ID of the NAT Gateway. pretty := true // bool | Controls whether the response is pretty-printed (with indentations and new lines). (optional) (default to true)
depth := int32(56) // int32 | Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on (optional) (default to 0)
xContractNumber := int32(56) // int32 | Users with multiple contracts must provide the contract number, for which all API requests are to be executed. (optional)
configuration := ionoscloud.NewConfiguration() apiClient := ionoscloud.NewAPIClient(configuration) resource, resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysRulesGet(context.Background(), datacenterId, natGatewayId).Pretty(pretty).Depth(depth).XContractNumber(xContractNumber).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysRulesGet``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) }// response from `DatacentersNatgatewaysRulesGet`: NatGatewayRules fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysRulesGet`: %v\n", resp)}
Path Parameters
Name
Type
Description
Notes
ctx
context.Context
context for authentication, logging, cancellation, deadlines, tracing, etc.
datacenterId
string
The unique ID of the data center.
natGatewayId
string
The unique ID of the NAT Gateway.
Other Parameters
Other parameters are passed through a pointer to a apiDatacentersNatgatewaysRulesGetRequest struct via the builder pattern
Name
Type
Description
Notes
pretty
bool
Controls whether the response is pretty-printed (with indentations and new lines).
[default to true]
depth
int32
Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on
[default to 0]
xContractNumber
int32
Users with multiple contracts must provide the contract number, for which all API requests are to be executed.
var result NatGatewayRule=DatacentersNatgatewaysRulesPatch(ctx, datacenterId, natGatewayId, natGatewayRuleId) .NatGatewayRuleProperties(natGatewayRuleProperties) .Pretty(pretty) .Depth(depth) .XContractNumber(xContractNumber) .Execute()
Partially Modify a NAT Gateway Rule by ID
Example
packagemainimport ("context""fmt""os" ionoscloud "github.com/ionos-cloud/sdk-go/v6")funcmain() { datacenterId :="datacenterId_example"// string | The unique ID of the data center. natGatewayId :="natGatewayId_example"// string | The unique ID of the NAT Gateway. natGatewayRuleId :="natGatewayRuleId_example"// string | The unique ID of the NAT Gateway rule. natGatewayRuleProperties := *openapiclient.NewNatGatewayRuleProperties("My NAT Gateway rule", "192.18.7.17", "10.0.1.0/24") // NatGatewayRuleProperties | The properties of the NAT Gateway rule to be updated.
pretty := true // bool | Controls whether the response is pretty-printed (with indentations and new lines). (optional) (default to true)
depth := int32(56) // int32 | Controls the detail depth of the response objects. GET /datacenters/[ID] - depth=0: Only direct properties are included; children (servers and other elements) are not included. - depth=1: Direct properties and children references are included. - depth=2: Direct properties and children properties are included. - depth=3: Direct properties and children properties and children's children are included. - depth=... and so on (optional) (default to 0)
xContractNumber := int32(56) // int32 | Users with multiple contracts must provide the contract number, for which all API requests are to be executed. (optional)
configuration := ionoscloud.NewConfiguration() apiClient := ionoscloud.NewAPIClient(configuration) resource, resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysRulesPatch(context.Background(), datacenterId, natGatewayId, natGatewayRuleId).NatGatewayRuleProperties(natGatewayRuleProperties).Pretty(pretty).Depth(depth).XContractNumber(xContractNumber).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysRulesPatch``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r) }// response from `DatacentersNatgatewaysRulesPatch`: NatGatewayRule fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysRulesPatch`: %v\n", resp)}