@@ -1382,6 +1382,53 @@ func (client VirtualNetworkClient) createInternetGateway(ctx context.Context, re
13821382 return response , err
13831383}
13841384
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+
13851432// CreateLocalPeeringGateway Creates a new local peering gateway (LPG) for the specified VCN.
13861433func (client VirtualNetworkClient ) CreateLocalPeeringGateway (ctx context.Context , request CreateLocalPeeringGatewayRequest ) (response CreateLocalPeeringGatewayResponse , err error ) {
13871434 var ociResponse common.OCIResponse
@@ -2415,6 +2462,49 @@ func (client VirtualNetworkClient) deleteInternetGateway(ctx context.Context, re
24152462 return response , err
24162463}
24172464
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+
24182508// DeleteLocalPeeringGateway Deletes the specified local peering gateway (LPG).
24192509// This is an asynchronous operation; the local peering gateway's `lifecycleState` changes to TERMINATING temporarily
24202510// until the local peering gateway is completely removed.
@@ -3698,6 +3788,51 @@ func (client VirtualNetworkClient) getInternetGateway(ctx context.Context, reque
36983788 return response , err
36993789}
37003790
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+
37013836// GetLocalPeeringGateway Gets the specified local peering gateway's information.
37023837func (client VirtualNetworkClient ) GetLocalPeeringGateway (ctx context.Context , request GetLocalPeeringGatewayRequest ) (response GetLocalPeeringGatewayResponse , err error ) {
37033838 var ociResponse common.OCIResponse
@@ -5002,6 +5137,54 @@ func (client VirtualNetworkClient) listInternetGateways(ctx context.Context, req
50025137 return response , err
50035138}
50045139
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+
50055188// ListLocalPeeringGateways Lists the local peering gateways (LPGs) for the specified VCN and compartment
50065189// (the LPG's compartment).
50075190func (client VirtualNetworkClient ) ListLocalPeeringGateways (ctx context.Context , request ListLocalPeeringGatewaysRequest ) (response ListLocalPeeringGatewaysResponse , err error ) {
@@ -6230,6 +6413,53 @@ func (client VirtualNetworkClient) updateInternetGateway(ctx context.Context, re
62306413 return response , err
62316414}
62326415
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+
62336463// UpdateLocalPeeringGateway Updates the specified local peering gateway (LPG).
62346464func (client VirtualNetworkClient ) UpdateLocalPeeringGateway (ctx context.Context , request UpdateLocalPeeringGatewayRequest ) (response UpdateLocalPeeringGatewayResponse , err error ) {
62356465 var ociResponse common.OCIResponse
0 commit comments