@@ -1382,6 +1382,53 @@ func (client VirtualNetworkClient) createInternetGateway(ctx context.Context, re
1382
1382
return response , err
1383
1383
}
1384
1384
1385
+ // CreateIpv6 Creates an IPv6 for the specified VNIC.
1386
+ func (client VirtualNetworkClient ) CreateIpv6 (ctx context.Context , request CreateIpv6Request ) (response CreateIpv6Response , err error ) {
1387
+ var ociResponse common.OCIResponse
1388
+ policy := common .NoRetryPolicy ()
1389
+ if request .RetryPolicy () != nil {
1390
+ policy = * request .RetryPolicy ()
1391
+ }
1392
+
1393
+ if ! (request .OpcRetryToken != nil && * request .OpcRetryToken != "" ) {
1394
+ request .OpcRetryToken = common .String (common .RetryToken ())
1395
+ }
1396
+
1397
+ ociResponse , err = common .Retry (ctx , request , client .createIpv6 , policy )
1398
+ if err != nil {
1399
+ if ociResponse != nil {
1400
+ response = CreateIpv6Response {RawResponse : ociResponse .HTTPResponse ()}
1401
+ }
1402
+ return
1403
+ }
1404
+ if convertedResponse , ok := ociResponse .(CreateIpv6Response ); ok {
1405
+ response = convertedResponse
1406
+ } else {
1407
+ err = fmt .Errorf ("failed to convert OCIResponse into CreateIpv6Response" )
1408
+ }
1409
+ return
1410
+ }
1411
+
1412
+ // createIpv6 implements the OCIOperation interface (enables retrying operations)
1413
+ func (client VirtualNetworkClient ) createIpv6 (ctx context.Context , request common.OCIRequest ) (common.OCIResponse , error ) {
1414
+ httpRequest , err := request .HTTPRequest (http .MethodPost , "/ipv6" )
1415
+ if err != nil {
1416
+ return nil , err
1417
+ }
1418
+
1419
+ var response CreateIpv6Response
1420
+ var httpResponse * http.Response
1421
+ httpResponse , err = client .Call (ctx , & httpRequest )
1422
+ defer common .CloseBodyIfValid (httpResponse )
1423
+ response .RawResponse = httpResponse
1424
+ if err != nil {
1425
+ return response , err
1426
+ }
1427
+
1428
+ err = common .UnmarshalResponse (httpResponse , & response )
1429
+ return response , err
1430
+ }
1431
+
1385
1432
// CreateLocalPeeringGateway Creates a new local peering gateway (LPG) for the specified VCN.
1386
1433
func (client VirtualNetworkClient ) CreateLocalPeeringGateway (ctx context.Context , request CreateLocalPeeringGatewayRequest ) (response CreateLocalPeeringGatewayResponse , err error ) {
1387
1434
var ociResponse common.OCIResponse
@@ -2415,6 +2462,49 @@ func (client VirtualNetworkClient) deleteInternetGateway(ctx context.Context, re
2415
2462
return response , err
2416
2463
}
2417
2464
2465
+ // DeleteIpv6 Unassigns and deletes the specified IPv6. You must specify the object's OCID.
2466
+ // The IPv6 address is returned to the subnet's pool of available addresses.
2467
+ func (client VirtualNetworkClient ) DeleteIpv6 (ctx context.Context , request DeleteIpv6Request ) (response DeleteIpv6Response , err error ) {
2468
+ var ociResponse common.OCIResponse
2469
+ policy := common .NoRetryPolicy ()
2470
+ if request .RetryPolicy () != nil {
2471
+ policy = * request .RetryPolicy ()
2472
+ }
2473
+ ociResponse , err = common .Retry (ctx , request , client .deleteIpv6 , policy )
2474
+ if err != nil {
2475
+ if ociResponse != nil {
2476
+ response = DeleteIpv6Response {RawResponse : ociResponse .HTTPResponse ()}
2477
+ }
2478
+ return
2479
+ }
2480
+ if convertedResponse , ok := ociResponse .(DeleteIpv6Response ); ok {
2481
+ response = convertedResponse
2482
+ } else {
2483
+ err = fmt .Errorf ("failed to convert OCIResponse into DeleteIpv6Response" )
2484
+ }
2485
+ return
2486
+ }
2487
+
2488
+ // deleteIpv6 implements the OCIOperation interface (enables retrying operations)
2489
+ func (client VirtualNetworkClient ) deleteIpv6 (ctx context.Context , request common.OCIRequest ) (common.OCIResponse , error ) {
2490
+ httpRequest , err := request .HTTPRequest (http .MethodDelete , "/ipv6/{ipv6Id}" )
2491
+ if err != nil {
2492
+ return nil , err
2493
+ }
2494
+
2495
+ var response DeleteIpv6Response
2496
+ var httpResponse * http.Response
2497
+ httpResponse , err = client .Call (ctx , & httpRequest )
2498
+ defer common .CloseBodyIfValid (httpResponse )
2499
+ response .RawResponse = httpResponse
2500
+ if err != nil {
2501
+ return response , err
2502
+ }
2503
+
2504
+ err = common .UnmarshalResponse (httpResponse , & response )
2505
+ return response , err
2506
+ }
2507
+
2418
2508
// DeleteLocalPeeringGateway Deletes the specified local peering gateway (LPG).
2419
2509
// This is an asynchronous operation; the local peering gateway's `lifecycleState` changes to TERMINATING temporarily
2420
2510
// until the local peering gateway is completely removed.
@@ -3698,6 +3788,51 @@ func (client VirtualNetworkClient) getInternetGateway(ctx context.Context, reque
3698
3788
return response , err
3699
3789
}
3700
3790
3791
+ // GetIpv6 Gets the specified IPv6. You must specify the object's OCID.
3792
+ // Alternatively, you can get the object by using
3793
+ // ListIpv6s
3794
+ // with the IPv6 address (for example, 2001:0db8:0123:1111:98fe:dcba:9876:4321) and subnet OCID.
3795
+ func (client VirtualNetworkClient ) GetIpv6 (ctx context.Context , request GetIpv6Request ) (response GetIpv6Response , err error ) {
3796
+ var ociResponse common.OCIResponse
3797
+ policy := common .NoRetryPolicy ()
3798
+ if request .RetryPolicy () != nil {
3799
+ policy = * request .RetryPolicy ()
3800
+ }
3801
+ ociResponse , err = common .Retry (ctx , request , client .getIpv6 , policy )
3802
+ if err != nil {
3803
+ if ociResponse != nil {
3804
+ response = GetIpv6Response {RawResponse : ociResponse .HTTPResponse ()}
3805
+ }
3806
+ return
3807
+ }
3808
+ if convertedResponse , ok := ociResponse .(GetIpv6Response ); ok {
3809
+ response = convertedResponse
3810
+ } else {
3811
+ err = fmt .Errorf ("failed to convert OCIResponse into GetIpv6Response" )
3812
+ }
3813
+ return
3814
+ }
3815
+
3816
+ // getIpv6 implements the OCIOperation interface (enables retrying operations)
3817
+ func (client VirtualNetworkClient ) getIpv6 (ctx context.Context , request common.OCIRequest ) (common.OCIResponse , error ) {
3818
+ httpRequest , err := request .HTTPRequest (http .MethodGet , "/ipv6/{ipv6Id}" )
3819
+ if err != nil {
3820
+ return nil , err
3821
+ }
3822
+
3823
+ var response GetIpv6Response
3824
+ var httpResponse * http.Response
3825
+ httpResponse , err = client .Call (ctx , & httpRequest )
3826
+ defer common .CloseBodyIfValid (httpResponse )
3827
+ response .RawResponse = httpResponse
3828
+ if err != nil {
3829
+ return response , err
3830
+ }
3831
+
3832
+ err = common .UnmarshalResponse (httpResponse , & response )
3833
+ return response , err
3834
+ }
3835
+
3701
3836
// GetLocalPeeringGateway Gets the specified local peering gateway's information.
3702
3837
func (client VirtualNetworkClient ) GetLocalPeeringGateway (ctx context.Context , request GetLocalPeeringGatewayRequest ) (response GetLocalPeeringGatewayResponse , err error ) {
3703
3838
var ociResponse common.OCIResponse
@@ -5002,6 +5137,54 @@ func (client VirtualNetworkClient) listInternetGateways(ctx context.Context, req
5002
5137
return response , err
5003
5138
}
5004
5139
5140
+ // ListIpv6s Lists the Ipv6 objects based
5141
+ // on one of these filters:
5142
+ // * Subnet OCID.
5143
+ // * VNIC OCID.
5144
+ // * Both IPv6 address and subnet OCID: This lets you get an `Ipv6` object based on its private
5145
+ // IPv6 address (for example, 2001:0db8:0123:1111:abcd:ef01:2345:6789) and not its OCID. For comparison,
5146
+ // GetIpv6 requires the OCID.
5147
+ func (client VirtualNetworkClient ) ListIpv6s (ctx context.Context , request ListIpv6sRequest ) (response ListIpv6sResponse , err error ) {
5148
+ var ociResponse common.OCIResponse
5149
+ policy := common .NoRetryPolicy ()
5150
+ if request .RetryPolicy () != nil {
5151
+ policy = * request .RetryPolicy ()
5152
+ }
5153
+ ociResponse , err = common .Retry (ctx , request , client .listIpv6s , policy )
5154
+ if err != nil {
5155
+ if ociResponse != nil {
5156
+ response = ListIpv6sResponse {RawResponse : ociResponse .HTTPResponse ()}
5157
+ }
5158
+ return
5159
+ }
5160
+ if convertedResponse , ok := ociResponse .(ListIpv6sResponse ); ok {
5161
+ response = convertedResponse
5162
+ } else {
5163
+ err = fmt .Errorf ("failed to convert OCIResponse into ListIpv6sResponse" )
5164
+ }
5165
+ return
5166
+ }
5167
+
5168
+ // listIpv6s implements the OCIOperation interface (enables retrying operations)
5169
+ func (client VirtualNetworkClient ) listIpv6s (ctx context.Context , request common.OCIRequest ) (common.OCIResponse , error ) {
5170
+ httpRequest , err := request .HTTPRequest (http .MethodGet , "/ipv6" )
5171
+ if err != nil {
5172
+ return nil , err
5173
+ }
5174
+
5175
+ var response ListIpv6sResponse
5176
+ var httpResponse * http.Response
5177
+ httpResponse , err = client .Call (ctx , & httpRequest )
5178
+ defer common .CloseBodyIfValid (httpResponse )
5179
+ response .RawResponse = httpResponse
5180
+ if err != nil {
5181
+ return response , err
5182
+ }
5183
+
5184
+ err = common .UnmarshalResponse (httpResponse , & response )
5185
+ return response , err
5186
+ }
5187
+
5005
5188
// ListLocalPeeringGateways Lists the local peering gateways (LPGs) for the specified VCN and compartment
5006
5189
// (the LPG's compartment).
5007
5190
func (client VirtualNetworkClient ) ListLocalPeeringGateways (ctx context.Context , request ListLocalPeeringGatewaysRequest ) (response ListLocalPeeringGatewaysResponse , err error ) {
@@ -6230,6 +6413,53 @@ func (client VirtualNetworkClient) updateInternetGateway(ctx context.Context, re
6230
6413
return response , err
6231
6414
}
6232
6415
6416
+ // UpdateIpv6 Updates the specified IPv6. You must specify the object's OCID.
6417
+ // Use this operation if you want to:
6418
+ // * Move an IPv6 to a different VNIC in the same subnet.
6419
+ // * Enable/disable internet access for an IPv6.
6420
+ // * Change the display name for an IPv6.
6421
+ // * Update resource tags for an IPv6.
6422
+ func (client VirtualNetworkClient ) UpdateIpv6 (ctx context.Context , request UpdateIpv6Request ) (response UpdateIpv6Response , err error ) {
6423
+ var ociResponse common.OCIResponse
6424
+ policy := common .NoRetryPolicy ()
6425
+ if request .RetryPolicy () != nil {
6426
+ policy = * request .RetryPolicy ()
6427
+ }
6428
+ ociResponse , err = common .Retry (ctx , request , client .updateIpv6 , policy )
6429
+ if err != nil {
6430
+ if ociResponse != nil {
6431
+ response = UpdateIpv6Response {RawResponse : ociResponse .HTTPResponse ()}
6432
+ }
6433
+ return
6434
+ }
6435
+ if convertedResponse , ok := ociResponse .(UpdateIpv6Response ); ok {
6436
+ response = convertedResponse
6437
+ } else {
6438
+ err = fmt .Errorf ("failed to convert OCIResponse into UpdateIpv6Response" )
6439
+ }
6440
+ return
6441
+ }
6442
+
6443
+ // updateIpv6 implements the OCIOperation interface (enables retrying operations)
6444
+ func (client VirtualNetworkClient ) updateIpv6 (ctx context.Context , request common.OCIRequest ) (common.OCIResponse , error ) {
6445
+ httpRequest , err := request .HTTPRequest (http .MethodPut , "/ipv6/{ipv6Id}" )
6446
+ if err != nil {
6447
+ return nil , err
6448
+ }
6449
+
6450
+ var response UpdateIpv6Response
6451
+ var httpResponse * http.Response
6452
+ httpResponse , err = client .Call (ctx , & httpRequest )
6453
+ defer common .CloseBodyIfValid (httpResponse )
6454
+ response .RawResponse = httpResponse
6455
+ if err != nil {
6456
+ return response , err
6457
+ }
6458
+
6459
+ err = common .UnmarshalResponse (httpResponse , & response )
6460
+ return response , err
6461
+ }
6462
+
6233
6463
// UpdateLocalPeeringGateway Updates the specified local peering gateway (LPG).
6234
6464
func (client VirtualNetworkClient ) UpdateLocalPeeringGateway (ctx context.Context , request UpdateLocalPeeringGatewayRequest ) (response UpdateLocalPeeringGatewayResponse , err error ) {
6235
6465
var ociResponse common.OCIResponse
0 commit comments