Put /datacenters/{datacenterId}/natgateways/{natGatewayId}/rules/{natGatewayRuleId}
Modify NAT Gateway rules
DatacentersNatgatewaysDelete
var result =DatacentersNatgatewaysDelete(ctx, datacenterId, natGatewayId) .Pretty(pretty) .Depth(depth) .XContractNumber(xContractNumber) .Execute()
Delete NAT Gateways
Example
packagemainimport ("context""fmt""os" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.NewAPIClient(configuration) resource, 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", 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 an 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" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.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", resp) }// response from `DatacentersNatgatewaysFindByNatGatewayId`: NatGateway fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysFindByNatGatewayId`: %v\n", resource)}
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 an 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" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.NewAPIClient(configuration) resource, 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", 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 an 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" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.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", resp) }// response from `DatacentersNatgatewaysFlowlogsFindByFlowLogId`: FlowLog fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysFlowlogsFindByFlowLogId`: %v\n", resource)
}
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 an 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" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.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", resp) }// response from `DatacentersNatgatewaysFlowlogsGet`: FlowLogs fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysFlowlogsGet`: %v\n", resource)}
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 an 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" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")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("My resource", "ACCEPTED", "INGRESS", "bucketName/key") // 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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.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", resp) }// response from `DatacentersNatgatewaysFlowlogsPatch`: FlowLog fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysFlowlogsPatch`: %v\n", resource)}
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 an apiDatacentersNatgatewaysFlowlogsPatchRequest struct via the builder pattern
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 NAT Gateway Flow Logs
Example
packagemainimport ("context""fmt""os" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")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("My resource", "ACCEPTED", "INGRESS", "bucketName/key")) // 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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.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", resp) }// response from `DatacentersNatgatewaysFlowlogsPost`: FlowLog fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysFlowlogsPost`: %v\n", resource)}
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 an apiDatacentersNatgatewaysFlowlogsPostRequest struct via the builder pattern
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" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")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("My resource", "ACCEPTED", "INGRESS", "bucketName/key")) // 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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.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", resp) }// response from `DatacentersNatgatewaysFlowlogsPut`: FlowLog fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysFlowlogsPut`: %v\n", resource)}
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 an apiDatacentersNatgatewaysFlowlogsPutRequest struct via the builder pattern
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" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.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", resp) }// response from `DatacentersNatgatewaysGet`: NatGateways fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysGet`: %v\n", resource)}
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 an 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" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.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", resp) }// response from `DatacentersNatgatewaysPatch`: NatGateway fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysPatch`: %v\n", resource)}
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 an apiDatacentersNatgatewaysPatchRequest struct via the builder pattern
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 NAT Gateways
Example
packagemainimport ("context""fmt""os" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.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", resp) }// response from `DatacentersNatgatewaysPost`: NatGateway fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysPost`: %v\n", resource)}
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 an apiDatacentersNatgatewaysPostRequest struct via the builder pattern
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" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.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", resp) }// response from `DatacentersNatgatewaysPut`: NatGateway fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysPut`: %v\n", resource)}
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 an apiDatacentersNatgatewaysPutRequest struct via the builder pattern
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" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.NewAPIClient(configuration) resource, 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", 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 an 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" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.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", resp) }// response from `DatacentersNatgatewaysRulesFindByNatGatewayRuleId`: NatGatewayRule fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysRulesFindByNatGatewayRuleId`: %v\n", resource)
}
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 an 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" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.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", resp) }// response from `DatacentersNatgatewaysRulesGet`: NatGatewayRules fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysRulesGet`: %v\n", resource)}
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 an 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 NAT Gateway rules
Example
packagemainimport ("context""fmt""os" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")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", "10.0.1.0/24", "192.18.7.17") // 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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.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", resp) }// response from `DatacentersNatgatewaysRulesPatch`: NatGatewayRule fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysRulesPatch`: %v\n", resource)}
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 an apiDatacentersNatgatewaysRulesPatchRequest struct via the builder pattern
The properties of the NAT Gateway rule 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 NatGatewayRule=DatacentersNatgatewaysRulesPost(ctx, datacenterId, natGatewayId) .NatGatewayRule(natGatewayRule) .Pretty(pretty) .Depth(depth) .XContractNumber(xContractNumber) .Execute()
Create NAT Gateway rules
Example
packagemainimport ("context""fmt""os" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")funcmain() { datacenterId :="datacenterId_example"// string | The unique ID of the data center. natGatewayId :="natGatewayId_example"// string | The unique ID of the NAT Gateway. natGatewayRule := *openapiclient.NewNatGatewayRule(*openapiclient.NewNatGatewayRuleProperties("My NAT Gateway rule", "10.0.1.0/24", "192.18.7.17")) // NatGatewayRule | The NAT Gateway rule 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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.NewAPIClient(configuration) resource, resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysRulesPost(context.Background(), datacenterId, natGatewayId).NatGatewayRule(natGatewayRule).Pretty(pretty).Depth(depth).XContractNumber(xContractNumber).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysRulesPost``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", resp) }// response from `DatacentersNatgatewaysRulesPost`: NatGatewayRule fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysRulesPost`: %v\n", resource)}
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 an apiDatacentersNatgatewaysRulesPostRequest struct via the builder pattern
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=DatacentersNatgatewaysRulesPut(ctx, datacenterId, natGatewayId, natGatewayRuleId) .NatGatewayRule(natGatewayRule) .Pretty(pretty) .Depth(depth) .XContractNumber(xContractNumber) .Execute()
Modify NAT Gateway rules
Example
packagemainimport ("context""fmt""os" compute "github.com/ionos-cloud/sdk-go-bundle/products/compute""github.com/ionos-cloud/sdk-go-bundle/shared")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. natGatewayRule := *openapiclient.NewNatGatewayRulePut(*openapiclient.NewNatGatewayRuleProperties("My NAT Gateway rule", "10.0.1.0/24", "192.18.7.17")) // NatGatewayRulePut | The modified 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 := shared.NewConfiguration("USERNAME", "PASSWORD", "TOKEN", "HOST_URL") apiClient := compute.NewAPIClient(configuration) resource, resp, err := apiClient.NATGatewaysApi.DatacentersNatgatewaysRulesPut(context.Background(), datacenterId, natGatewayId, natGatewayRuleId).NatGatewayRule(natGatewayRule).Pretty(pretty).Depth(depth).XContractNumber(xContractNumber).Execute()
if err !=nil { fmt.Fprintf(os.Stderr, "Error when calling `NATGatewaysApi.DatacentersNatgatewaysRulesPut``: %v\n", err) fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", resp) }// response from `DatacentersNatgatewaysRulesPut`: NatGatewayRule fmt.Fprintf(os.Stdout, "Response from `NATGatewaysApi.DatacentersNatgatewaysRulesPut`: %v\n", resource)}
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 an apiDatacentersNatgatewaysRulesPutRequest struct via the builder pattern
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.