diff --git a/transitgatewayapisv1/transit_gateway_apis_v1.go b/transitgatewayapisv1/transit_gateway_apis_v1.go index ba61f79..e0aedbb 100644 --- a/transitgatewayapisv1/transit_gateway_apis_v1.go +++ b/transitgatewayapisv1/transit_gateway_apis_v1.go @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2023. + * (C) Copyright IBM Corp. 2024. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -716,6 +716,9 @@ func (transitGatewayApis *TransitGatewayApisV1) CreateTransitGatewayConnectionWi if createTransitGatewayConnectionOptions.RemoteTunnelIp != nil { body["remote_tunnel_ip"] = createTransitGatewayConnectionOptions.RemoteTunnelIp } + if createTransitGatewayConnectionOptions.Tunnels != nil { + body["tunnels"] = createTransitGatewayConnectionOptions.Tunnels + } if createTransitGatewayConnectionOptions.Zone != nil { body["zone"] = createTransitGatewayConnectionOptions.Zone } @@ -765,7 +768,7 @@ func (transitGatewayApis *TransitGatewayApisV1) DeleteTransitGatewayConnectionWi pathParamsMap := map[string]string{ "transit_gateway_id": *deleteTransitGatewayConnectionOptions.TransitGatewayID, - "id": *deleteTransitGatewayConnectionOptions.ID, + "id": *deleteTransitGatewayConnectionOptions.ID, } builder := core.NewRequestBuilder(core.DELETE) @@ -816,7 +819,7 @@ func (transitGatewayApis *TransitGatewayApisV1) GetTransitGatewayConnectionWithC pathParamsMap := map[string]string{ "transit_gateway_id": *getTransitGatewayConnectionOptions.TransitGatewayID, - "id": *getTransitGatewayConnectionOptions.ID, + "id": *getTransitGatewayConnectionOptions.ID, } builder := core.NewRequestBuilder(core.GET) @@ -879,7 +882,7 @@ func (transitGatewayApis *TransitGatewayApisV1) UpdateTransitGatewayConnectionWi pathParamsMap := map[string]string{ "transit_gateway_id": *updateTransitGatewayConnectionOptions.TransitGatewayID, - "id": *updateTransitGatewayConnectionOptions.ID, + "id": *updateTransitGatewayConnectionOptions.ID, } builder := core.NewRequestBuilder(core.PATCH) @@ -955,7 +958,7 @@ func (transitGatewayApis *TransitGatewayApisV1) CreateTransitGatewayConnectionAc pathParamsMap := map[string]string{ "transit_gateway_id": *createTransitGatewayConnectionActionsOptions.TransitGatewayID, - "id": *createTransitGatewayConnectionActionsOptions.ID, + "id": *createTransitGatewayConnectionActionsOptions.ID, } builder := core.NewRequestBuilder(core.POST) @@ -997,32 +1000,41 @@ func (transitGatewayApis *TransitGatewayApisV1) CreateTransitGatewayConnectionAc return } -// ListGatewayLocations : List all locations that support Transit Gateways -// List all locations that support Transit Gateways. -func (transitGatewayApis *TransitGatewayApisV1) ListGatewayLocations(listGatewayLocationsOptions *ListGatewayLocationsOptions) (result *TSCollection, response *core.DetailedResponse, err error) { - return transitGatewayApis.ListGatewayLocationsWithContext(context.Background(), listGatewayLocationsOptions) +// GetTransitGatewayGreTunnel : Retrieves specified Transit Gateway redundant gre connection tunnels +// This request retrieves a list of all the tunnels for the redundant gre conneciton. +func (transitGatewayApis *TransitGatewayApisV1) GetTransitGatewayGreTunnel(getTransitGatewayGreTunnelOptions *GetTransitGatewayGreTunnelOptions) (result *RedundantGRETunnelCollection, response *core.DetailedResponse, err error) { + return transitGatewayApis.GetTransitGatewayGreTunnelWithContext(context.Background(), getTransitGatewayGreTunnelOptions) } -// ListGatewayLocationsWithContext is an alternate form of the ListGatewayLocations method which supports a Context parameter -func (transitGatewayApis *TransitGatewayApisV1) ListGatewayLocationsWithContext(ctx context.Context, listGatewayLocationsOptions *ListGatewayLocationsOptions) (result *TSCollection, response *core.DetailedResponse, err error) { - err = core.ValidateStruct(listGatewayLocationsOptions, "listGatewayLocationsOptions") +// GetTransitGatewayGreTunnelWithContext is an alternate form of the GetTransitGatewayGreTunnel method which supports a Context parameter +func (transitGatewayApis *TransitGatewayApisV1) GetTransitGatewayGreTunnelWithContext(ctx context.Context, getTransitGatewayGreTunnelOptions *GetTransitGatewayGreTunnelOptions) (result *RedundantGRETunnelCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getTransitGatewayGreTunnelOptions, "getTransitGatewayGreTunnelOptions cannot be nil") if err != nil { return } + err = core.ValidateStruct(getTransitGatewayGreTunnelOptions, "getTransitGatewayGreTunnelOptions") + if err != nil { + return + } + + pathParamsMap := map[string]string{ + "transit_gateway_id": *getTransitGatewayGreTunnelOptions.TransitGatewayID, + "id": *getTransitGatewayGreTunnelOptions.ID, + } builder := core.NewRequestBuilder(core.GET) builder = builder.WithContext(ctx) builder.EnableGzipCompression = transitGatewayApis.GetEnableGzipCompression() - _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/locations`, nil) + _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/transit_gateways/{transit_gateway_id}/connections/{id}/tunnels`, pathParamsMap) if err != nil { return } - for headerName, headerValue := range listGatewayLocationsOptions.Headers { + for headerName, headerValue := range getTransitGatewayGreTunnelOptions.Headers { builder.AddHeader(headerName, headerValue) } - sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "ListGatewayLocations") + sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "GetTransitGatewayGreTunnel") for headerName, headerValue := range sdkHeaders { builder.AddHeader(headerName, headerValue) } @@ -1041,7 +1053,7 @@ func (transitGatewayApis *TransitGatewayApisV1) ListGatewayLocationsWithContext( return } if rawResponse != nil { - err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalTSCollection) + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRedundantGRETunnelCollection) if err != nil { return } @@ -1051,47 +1063,76 @@ func (transitGatewayApis *TransitGatewayApisV1) ListGatewayLocationsWithContext( return } -// GetGatewayLocation : Show the details of a given Transit Gateway location -// Get the details of a Transit Gateway Location. -func (transitGatewayApis *TransitGatewayApisV1) GetGatewayLocation(getGatewayLocationOptions *GetGatewayLocationOptions) (result *TSLocation, response *core.DetailedResponse, err error) { - return transitGatewayApis.GetGatewayLocationWithContext(context.Background(), getGatewayLocationOptions) +// CreateTransitGatewayGreTunnel : Create Transit Gateway redundant GRE tunnel +// Add a tunnel to an existing Redundant GRE connection. +func (transitGatewayApis *TransitGatewayApisV1) CreateTransitGatewayGreTunnel(createTransitGatewayGreTunnelOptions *CreateTransitGatewayGreTunnelOptions) (result *RedundantGRETunnelReference, response *core.DetailedResponse, err error) { + return transitGatewayApis.CreateTransitGatewayGreTunnelWithContext(context.Background(), createTransitGatewayGreTunnelOptions) } -// GetGatewayLocationWithContext is an alternate form of the GetGatewayLocation method which supports a Context parameter -func (transitGatewayApis *TransitGatewayApisV1) GetGatewayLocationWithContext(ctx context.Context, getGatewayLocationOptions *GetGatewayLocationOptions) (result *TSLocation, response *core.DetailedResponse, err error) { - err = core.ValidateNotNil(getGatewayLocationOptions, "getGatewayLocationOptions cannot be nil") +// CreateTransitGatewayGreTunnelWithContext is an alternate form of the CreateTransitGatewayGreTunnel method which supports a Context parameter +func (transitGatewayApis *TransitGatewayApisV1) CreateTransitGatewayGreTunnelWithContext(ctx context.Context, createTransitGatewayGreTunnelOptions *CreateTransitGatewayGreTunnelOptions) (result *RedundantGRETunnelReference, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createTransitGatewayGreTunnelOptions, "createTransitGatewayGreTunnelOptions cannot be nil") if err != nil { return } - err = core.ValidateStruct(getGatewayLocationOptions, "getGatewayLocationOptions") + err = core.ValidateStruct(createTransitGatewayGreTunnelOptions, "createTransitGatewayGreTunnelOptions") if err != nil { return } pathParamsMap := map[string]string{ - "name": *getGatewayLocationOptions.Name, + "transit_gateway_id": *createTransitGatewayGreTunnelOptions.TransitGatewayID, + "id": *createTransitGatewayGreTunnelOptions.ID, } - builder := core.NewRequestBuilder(core.GET) + builder := core.NewRequestBuilder(core.POST) builder = builder.WithContext(ctx) builder.EnableGzipCompression = transitGatewayApis.GetEnableGzipCompression() - _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/locations/{name}`, pathParamsMap) + _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/transit_gateways/{transit_gateway_id}/connections/{id}/tunnels`, pathParamsMap) if err != nil { return } - for headerName, headerValue := range getGatewayLocationOptions.Headers { + for headerName, headerValue := range createTransitGatewayGreTunnelOptions.Headers { builder.AddHeader(headerName, headerValue) } - sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "GetGatewayLocation") + sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "CreateTransitGatewayGreTunnel") for headerName, headerValue := range sdkHeaders { builder.AddHeader(headerName, headerValue) } builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") builder.AddQuery("version", fmt.Sprint(*transitGatewayApis.Version)) + body := make(map[string]interface{}) + if createTransitGatewayGreTunnelOptions.LocalGatewayIp != nil { + body["local_gateway_ip"] = createTransitGatewayGreTunnelOptions.LocalGatewayIp + } + if createTransitGatewayGreTunnelOptions.LocalTunnelIp != nil { + body["local_tunnel_ip"] = createTransitGatewayGreTunnelOptions.LocalTunnelIp + } + if createTransitGatewayGreTunnelOptions.Name != nil { + body["name"] = createTransitGatewayGreTunnelOptions.Name + } + if createTransitGatewayGreTunnelOptions.RemoteGatewayIp != nil { + body["remote_gateway_ip"] = createTransitGatewayGreTunnelOptions.RemoteGatewayIp + } + if createTransitGatewayGreTunnelOptions.RemoteTunnelIp != nil { + body["remote_tunnel_ip"] = createTransitGatewayGreTunnelOptions.RemoteTunnelIp + } + if createTransitGatewayGreTunnelOptions.Zone != nil { + body["zone"] = createTransitGatewayGreTunnelOptions.Zone + } + if createTransitGatewayGreTunnelOptions.RemoteBgpAsn != nil { + body["remote_bgp_asn"] = createTransitGatewayGreTunnelOptions.RemoteBgpAsn + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + request, err := builder.Build() if err != nil { return @@ -1103,7 +1144,7 @@ func (transitGatewayApis *TransitGatewayApisV1) GetGatewayLocationWithContext(ct return } if rawResponse != nil { - err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalTSLocation) + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRedundantGRETunnelReference) if err != nil { return } @@ -1113,45 +1154,45 @@ func (transitGatewayApis *TransitGatewayApisV1) GetGatewayLocationWithContext(ct return } -// ListTransitGatewayConnectionPrefixFilters : Retrieves all prefix filters in a Transit Gateway connection -// This request retrieves all prefix filters in a Transit Gateway connection. -func (transitGatewayApis *TransitGatewayApisV1) ListTransitGatewayConnectionPrefixFilters(listTransitGatewayConnectionPrefixFiltersOptions *ListTransitGatewayConnectionPrefixFiltersOptions) (result *PrefixFilterCollection, response *core.DetailedResponse, err error) { - return transitGatewayApis.ListTransitGatewayConnectionPrefixFiltersWithContext(context.Background(), listTransitGatewayConnectionPrefixFiltersOptions) +// DeleteTransitGatewayConnectionTunnels : Delete specified Transit Gateway redundant GRE tunnel +// Remove a tunnel from a redundant GRE connection. +func (transitGatewayApis *TransitGatewayApisV1) DeleteTransitGatewayConnectionTunnels(deleteTransitGatewayConnectionTunnelsOptions *DeleteTransitGatewayConnectionTunnelsOptions) (response *core.DetailedResponse, err error) { + return transitGatewayApis.DeleteTransitGatewayConnectionTunnelsWithContext(context.Background(), deleteTransitGatewayConnectionTunnelsOptions) } -// ListTransitGatewayConnectionPrefixFiltersWithContext is an alternate form of the ListTransitGatewayConnectionPrefixFilters method which supports a Context parameter -func (transitGatewayApis *TransitGatewayApisV1) ListTransitGatewayConnectionPrefixFiltersWithContext(ctx context.Context, listTransitGatewayConnectionPrefixFiltersOptions *ListTransitGatewayConnectionPrefixFiltersOptions) (result *PrefixFilterCollection, response *core.DetailedResponse, err error) { - err = core.ValidateNotNil(listTransitGatewayConnectionPrefixFiltersOptions, "listTransitGatewayConnectionPrefixFiltersOptions cannot be nil") +// DeleteTransitGatewayConnectionTunnelsWithContext is an alternate form of the DeleteTransitGatewayConnectionTunnels method which supports a Context parameter +func (transitGatewayApis *TransitGatewayApisV1) DeleteTransitGatewayConnectionTunnelsWithContext(ctx context.Context, deleteTransitGatewayConnectionTunnelsOptions *DeleteTransitGatewayConnectionTunnelsOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteTransitGatewayConnectionTunnelsOptions, "deleteTransitGatewayConnectionTunnelsOptions cannot be nil") if err != nil { return } - err = core.ValidateStruct(listTransitGatewayConnectionPrefixFiltersOptions, "listTransitGatewayConnectionPrefixFiltersOptions") + err = core.ValidateStruct(deleteTransitGatewayConnectionTunnelsOptions, "deleteTransitGatewayConnectionTunnelsOptions") if err != nil { return } pathParamsMap := map[string]string{ - "transit_gateway_id": *listTransitGatewayConnectionPrefixFiltersOptions.TransitGatewayID, - "id": *listTransitGatewayConnectionPrefixFiltersOptions.ID, + "transit_gateway_id": *deleteTransitGatewayConnectionTunnelsOptions.TransitGatewayID, + "id": *deleteTransitGatewayConnectionTunnelsOptions.ID, + "gre_tunnel_id": *deleteTransitGatewayConnectionTunnelsOptions.GreTunnelID, } - builder := core.NewRequestBuilder(core.GET) + builder := core.NewRequestBuilder(core.DELETE) builder = builder.WithContext(ctx) builder.EnableGzipCompression = transitGatewayApis.GetEnableGzipCompression() - _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters`, pathParamsMap) + _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/transit_gateways/{transit_gateway_id}/connections/{id}/tunnels/{gre_tunnel_id}`, pathParamsMap) if err != nil { return } - for headerName, headerValue := range listTransitGatewayConnectionPrefixFiltersOptions.Headers { + for headerName, headerValue := range deleteTransitGatewayConnectionTunnelsOptions.Headers { builder.AddHeader(headerName, headerValue) } - sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "ListTransitGatewayConnectionPrefixFilters") + sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "DeleteTransitGatewayConnectionTunnels") for headerName, headerValue := range sdkHeaders { builder.AddHeader(headerName, headerValue) } - builder.AddHeader("Accept", "application/json") builder.AddQuery("version", fmt.Sprint(*transitGatewayApis.Version)) @@ -1160,86 +1201,54 @@ func (transitGatewayApis *TransitGatewayApisV1) ListTransitGatewayConnectionPref return } - var rawResponse map[string]json.RawMessage - response, err = transitGatewayApis.Service.Request(request, &rawResponse) - if err != nil { - return - } - if rawResponse != nil { - err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrefixFilterCollection) - if err != nil { - return - } - response.Result = result - } + response, err = transitGatewayApis.Service.Request(request, nil) return } -// CreateTransitGatewayConnectionPrefixFilter : Add a prefix filter to a Transit Gateway Connection -// Add a prefix filter to a Transit Gateway Connection. -func (transitGatewayApis *TransitGatewayApisV1) CreateTransitGatewayConnectionPrefixFilter(createTransitGatewayConnectionPrefixFilterOptions *CreateTransitGatewayConnectionPrefixFilterOptions) (result *PrefixFilterCust, response *core.DetailedResponse, err error) { - return transitGatewayApis.CreateTransitGatewayConnectionPrefixFilterWithContext(context.Background(), createTransitGatewayConnectionPrefixFilterOptions) +// GetTransitGatewayConnectionTunnels : Retrieves specified Transit Gateway connection tunnel +// This request retrieves a connection tunnel from the Transit Gateway Connection. +func (transitGatewayApis *TransitGatewayApisV1) GetTransitGatewayConnectionTunnels(getTransitGatewayConnectionTunnelsOptions *GetTransitGatewayConnectionTunnelsOptions) (result *RedundantGRETunnelReference, response *core.DetailedResponse, err error) { + return transitGatewayApis.GetTransitGatewayConnectionTunnelsWithContext(context.Background(), getTransitGatewayConnectionTunnelsOptions) } -// CreateTransitGatewayConnectionPrefixFilterWithContext is an alternate form of the CreateTransitGatewayConnectionPrefixFilter method which supports a Context parameter -func (transitGatewayApis *TransitGatewayApisV1) CreateTransitGatewayConnectionPrefixFilterWithContext(ctx context.Context, createTransitGatewayConnectionPrefixFilterOptions *CreateTransitGatewayConnectionPrefixFilterOptions) (result *PrefixFilterCust, response *core.DetailedResponse, err error) { - err = core.ValidateNotNil(createTransitGatewayConnectionPrefixFilterOptions, "createTransitGatewayConnectionPrefixFilterOptions cannot be nil") +// GetTransitGatewayConnectionTunnelsWithContext is an alternate form of the GetTransitGatewayConnectionTunnels method which supports a Context parameter +func (transitGatewayApis *TransitGatewayApisV1) GetTransitGatewayConnectionTunnelsWithContext(ctx context.Context, getTransitGatewayConnectionTunnelsOptions *GetTransitGatewayConnectionTunnelsOptions) (result *RedundantGRETunnelReference, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getTransitGatewayConnectionTunnelsOptions, "getTransitGatewayConnectionTunnelsOptions cannot be nil") if err != nil { return } - err = core.ValidateStruct(createTransitGatewayConnectionPrefixFilterOptions, "createTransitGatewayConnectionPrefixFilterOptions") + err = core.ValidateStruct(getTransitGatewayConnectionTunnelsOptions, "getTransitGatewayConnectionTunnelsOptions") if err != nil { return } pathParamsMap := map[string]string{ - "transit_gateway_id": *createTransitGatewayConnectionPrefixFilterOptions.TransitGatewayID, - "id": *createTransitGatewayConnectionPrefixFilterOptions.ID, + "transit_gateway_id": *getTransitGatewayConnectionTunnelsOptions.TransitGatewayID, + "id": *getTransitGatewayConnectionTunnelsOptions.ID, + "gre_tunnel_id": *getTransitGatewayConnectionTunnelsOptions.GreTunnelID, } - builder := core.NewRequestBuilder(core.POST) + builder := core.NewRequestBuilder(core.GET) builder = builder.WithContext(ctx) builder.EnableGzipCompression = transitGatewayApis.GetEnableGzipCompression() - _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters`, pathParamsMap) + _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/transit_gateways/{transit_gateway_id}/connections/{id}/tunnels/{gre_tunnel_id}`, pathParamsMap) if err != nil { return } - for headerName, headerValue := range createTransitGatewayConnectionPrefixFilterOptions.Headers { + for headerName, headerValue := range getTransitGatewayConnectionTunnelsOptions.Headers { builder.AddHeader(headerName, headerValue) } - sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "CreateTransitGatewayConnectionPrefixFilter") + sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "GetTransitGatewayConnectionTunnels") for headerName, headerValue := range sdkHeaders { builder.AddHeader(headerName, headerValue) } builder.AddHeader("Accept", "application/json") - builder.AddHeader("Content-Type", "application/json") builder.AddQuery("version", fmt.Sprint(*transitGatewayApis.Version)) - body := make(map[string]interface{}) - if createTransitGatewayConnectionPrefixFilterOptions.Action != nil { - body["action"] = createTransitGatewayConnectionPrefixFilterOptions.Action - } - if createTransitGatewayConnectionPrefixFilterOptions.Prefix != nil { - body["prefix"] = createTransitGatewayConnectionPrefixFilterOptions.Prefix - } - if createTransitGatewayConnectionPrefixFilterOptions.Before != nil { - body["before"] = createTransitGatewayConnectionPrefixFilterOptions.Before - } - if createTransitGatewayConnectionPrefixFilterOptions.Ge != nil { - body["ge"] = createTransitGatewayConnectionPrefixFilterOptions.Ge - } - if createTransitGatewayConnectionPrefixFilterOptions.Le != nil { - body["le"] = createTransitGatewayConnectionPrefixFilterOptions.Le - } - _, err = builder.SetBodyContentJSON(body) - if err != nil { - return - } - request, err := builder.Build() if err != nil { return @@ -1251,7 +1260,7 @@ func (transitGatewayApis *TransitGatewayApisV1) CreateTransitGatewayConnectionPr return } if rawResponse != nil { - err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrefixFilterCust) + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRedundantGRETunnelReference) if err != nil { return } @@ -1261,41 +1270,42 @@ func (transitGatewayApis *TransitGatewayApisV1) CreateTransitGatewayConnectionPr return } -// ReplaceTransitGatewayConnectionPrefixFilter : Replaces the prefix filters of the Transit Gateway Connection -// Replaces the prefix filters of the Transit Gateway Connection. -func (transitGatewayApis *TransitGatewayApisV1) ReplaceTransitGatewayConnectionPrefixFilter(replaceTransitGatewayConnectionPrefixFilterOptions *ReplaceTransitGatewayConnectionPrefixFilterOptions) (result *PrefixFilterCollection, response *core.DetailedResponse, err error) { - return transitGatewayApis.ReplaceTransitGatewayConnectionPrefixFilterWithContext(context.Background(), replaceTransitGatewayConnectionPrefixFilterOptions) +// UpdateTransitGatewayConnectionTunnels : Updates specified Transit Gateway redundant GRE tunnel +// Update the name of a connection tunnel. +func (transitGatewayApis *TransitGatewayApisV1) UpdateTransitGatewayConnectionTunnels(updateTransitGatewayConnectionTunnelsOptions *UpdateTransitGatewayConnectionTunnelsOptions) (result *RedundantGRETunnelReference, response *core.DetailedResponse, err error) { + return transitGatewayApis.UpdateTransitGatewayConnectionTunnelsWithContext(context.Background(), updateTransitGatewayConnectionTunnelsOptions) } -// ReplaceTransitGatewayConnectionPrefixFilterWithContext is an alternate form of the ReplaceTransitGatewayConnectionPrefixFilter method which supports a Context parameter -func (transitGatewayApis *TransitGatewayApisV1) ReplaceTransitGatewayConnectionPrefixFilterWithContext(ctx context.Context, replaceTransitGatewayConnectionPrefixFilterOptions *ReplaceTransitGatewayConnectionPrefixFilterOptions) (result *PrefixFilterCollection, response *core.DetailedResponse, err error) { - err = core.ValidateNotNil(replaceTransitGatewayConnectionPrefixFilterOptions, "replaceTransitGatewayConnectionPrefixFilterOptions cannot be nil") +// UpdateTransitGatewayConnectionTunnelsWithContext is an alternate form of the UpdateTransitGatewayConnectionTunnels method which supports a Context parameter +func (transitGatewayApis *TransitGatewayApisV1) UpdateTransitGatewayConnectionTunnelsWithContext(ctx context.Context, updateTransitGatewayConnectionTunnelsOptions *UpdateTransitGatewayConnectionTunnelsOptions) (result *RedundantGRETunnelReference, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateTransitGatewayConnectionTunnelsOptions, "updateTransitGatewayConnectionTunnelsOptions cannot be nil") if err != nil { return } - err = core.ValidateStruct(replaceTransitGatewayConnectionPrefixFilterOptions, "replaceTransitGatewayConnectionPrefixFilterOptions") + err = core.ValidateStruct(updateTransitGatewayConnectionTunnelsOptions, "updateTransitGatewayConnectionTunnelsOptions") if err != nil { return } pathParamsMap := map[string]string{ - "transit_gateway_id": *replaceTransitGatewayConnectionPrefixFilterOptions.TransitGatewayID, - "id": *replaceTransitGatewayConnectionPrefixFilterOptions.ID, + "transit_gateway_id": *updateTransitGatewayConnectionTunnelsOptions.TransitGatewayID, + "id": *updateTransitGatewayConnectionTunnelsOptions.ID, + "gre_tunnel_id": *updateTransitGatewayConnectionTunnelsOptions.GreTunnelID, } - builder := core.NewRequestBuilder(core.PUT) + builder := core.NewRequestBuilder(core.PATCH) builder = builder.WithContext(ctx) builder.EnableGzipCompression = transitGatewayApis.GetEnableGzipCompression() - _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters`, pathParamsMap) + _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/transit_gateways/{transit_gateway_id}/connections/{id}/tunnels/{gre_tunnel_id}`, pathParamsMap) if err != nil { return } - for headerName, headerValue := range replaceTransitGatewayConnectionPrefixFilterOptions.Headers { + for headerName, headerValue := range updateTransitGatewayConnectionTunnelsOptions.Headers { builder.AddHeader(headerName, headerValue) } - sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "ReplaceTransitGatewayConnectionPrefixFilter") + sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "UpdateTransitGatewayConnectionTunnels") for headerName, headerValue := range sdkHeaders { builder.AddHeader(headerName, headerValue) } @@ -1305,8 +1315,8 @@ func (transitGatewayApis *TransitGatewayApisV1) ReplaceTransitGatewayConnectionP builder.AddQuery("version", fmt.Sprint(*transitGatewayApis.Version)) body := make(map[string]interface{}) - if replaceTransitGatewayConnectionPrefixFilterOptions.PrefixFilters != nil { - body["prefix_filters"] = replaceTransitGatewayConnectionPrefixFilterOptions.PrefixFilters + if updateTransitGatewayConnectionTunnelsOptions.Name != nil { + body["name"] = updateTransitGatewayConnectionTunnelsOptions.Name } _, err = builder.SetBodyContentJSON(body) if err != nil { @@ -1324,7 +1334,7 @@ func (transitGatewayApis *TransitGatewayApisV1) ReplaceTransitGatewayConnectionP return } if rawResponse != nil { - err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrefixFilterCollection) + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalRedundantGRETunnelReference) if err != nil { return } @@ -1334,45 +1344,36 @@ func (transitGatewayApis *TransitGatewayApisV1) ReplaceTransitGatewayConnectionP return } -// DeleteTransitGatewayConnectionPrefixFilter : Remove prefix filter from Transit Gateway Connection -// Delete a prefix filter. -func (transitGatewayApis *TransitGatewayApisV1) DeleteTransitGatewayConnectionPrefixFilter(deleteTransitGatewayConnectionPrefixFilterOptions *DeleteTransitGatewayConnectionPrefixFilterOptions) (response *core.DetailedResponse, err error) { - return transitGatewayApis.DeleteTransitGatewayConnectionPrefixFilterWithContext(context.Background(), deleteTransitGatewayConnectionPrefixFilterOptions) +// ListGatewayLocations : List all locations that support Transit Gateways +// List all locations that support Transit Gateways. +func (transitGatewayApis *TransitGatewayApisV1) ListGatewayLocations(listGatewayLocationsOptions *ListGatewayLocationsOptions) (result *TSCollection, response *core.DetailedResponse, err error) { + return transitGatewayApis.ListGatewayLocationsWithContext(context.Background(), listGatewayLocationsOptions) } -// DeleteTransitGatewayConnectionPrefixFilterWithContext is an alternate form of the DeleteTransitGatewayConnectionPrefixFilter method which supports a Context parameter -func (transitGatewayApis *TransitGatewayApisV1) DeleteTransitGatewayConnectionPrefixFilterWithContext(ctx context.Context, deleteTransitGatewayConnectionPrefixFilterOptions *DeleteTransitGatewayConnectionPrefixFilterOptions) (response *core.DetailedResponse, err error) { - err = core.ValidateNotNil(deleteTransitGatewayConnectionPrefixFilterOptions, "deleteTransitGatewayConnectionPrefixFilterOptions cannot be nil") - if err != nil { - return - } - err = core.ValidateStruct(deleteTransitGatewayConnectionPrefixFilterOptions, "deleteTransitGatewayConnectionPrefixFilterOptions") +// ListGatewayLocationsWithContext is an alternate form of the ListGatewayLocations method which supports a Context parameter +func (transitGatewayApis *TransitGatewayApisV1) ListGatewayLocationsWithContext(ctx context.Context, listGatewayLocationsOptions *ListGatewayLocationsOptions) (result *TSCollection, response *core.DetailedResponse, err error) { + err = core.ValidateStruct(listGatewayLocationsOptions, "listGatewayLocationsOptions") if err != nil { return } - pathParamsMap := map[string]string{ - "transit_gateway_id": *deleteTransitGatewayConnectionPrefixFilterOptions.TransitGatewayID, - "id": *deleteTransitGatewayConnectionPrefixFilterOptions.ID, - "filter_id": *deleteTransitGatewayConnectionPrefixFilterOptions.FilterID, - } - - builder := core.NewRequestBuilder(core.DELETE) + builder := core.NewRequestBuilder(core.GET) builder = builder.WithContext(ctx) builder.EnableGzipCompression = transitGatewayApis.GetEnableGzipCompression() - _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters/{filter_id}`, pathParamsMap) + _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/locations`, nil) if err != nil { return } - for headerName, headerValue := range deleteTransitGatewayConnectionPrefixFilterOptions.Headers { + for headerName, headerValue := range listGatewayLocationsOptions.Headers { builder.AddHeader(headerName, headerValue) } - sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "DeleteTransitGatewayConnectionPrefixFilter") + sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "ListGatewayLocations") for headerName, headerValue := range sdkHeaders { builder.AddHeader(headerName, headerValue) } + builder.AddHeader("Accept", "application/json") builder.AddQuery("version", fmt.Sprint(*transitGatewayApis.Version)) @@ -1381,47 +1382,56 @@ func (transitGatewayApis *TransitGatewayApisV1) DeleteTransitGatewayConnectionPr return } - response, err = transitGatewayApis.Service.Request(request, nil) + var rawResponse map[string]json.RawMessage + response, err = transitGatewayApis.Service.Request(request, &rawResponse) + if err != nil { + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalTSCollection) + if err != nil { + return + } + response.Result = result + } return } -// GetTransitGatewayConnectionPrefixFilter : Retrieves specified Transit Gateway connection prefix filter -// This request retrieves a prefix filter from the Transit Gateway Connection. -func (transitGatewayApis *TransitGatewayApisV1) GetTransitGatewayConnectionPrefixFilter(getTransitGatewayConnectionPrefixFilterOptions *GetTransitGatewayConnectionPrefixFilterOptions) (result *PrefixFilterCust, response *core.DetailedResponse, err error) { - return transitGatewayApis.GetTransitGatewayConnectionPrefixFilterWithContext(context.Background(), getTransitGatewayConnectionPrefixFilterOptions) +// GetGatewayLocation : Show the details of a given Transit Gateway location +// Get the details of a Transit Gateway Location. +func (transitGatewayApis *TransitGatewayApisV1) GetGatewayLocation(getGatewayLocationOptions *GetGatewayLocationOptions) (result *TSLocation, response *core.DetailedResponse, err error) { + return transitGatewayApis.GetGatewayLocationWithContext(context.Background(), getGatewayLocationOptions) } -// GetTransitGatewayConnectionPrefixFilterWithContext is an alternate form of the GetTransitGatewayConnectionPrefixFilter method which supports a Context parameter -func (transitGatewayApis *TransitGatewayApisV1) GetTransitGatewayConnectionPrefixFilterWithContext(ctx context.Context, getTransitGatewayConnectionPrefixFilterOptions *GetTransitGatewayConnectionPrefixFilterOptions) (result *PrefixFilterCust, response *core.DetailedResponse, err error) { - err = core.ValidateNotNil(getTransitGatewayConnectionPrefixFilterOptions, "getTransitGatewayConnectionPrefixFilterOptions cannot be nil") +// GetGatewayLocationWithContext is an alternate form of the GetGatewayLocation method which supports a Context parameter +func (transitGatewayApis *TransitGatewayApisV1) GetGatewayLocationWithContext(ctx context.Context, getGatewayLocationOptions *GetGatewayLocationOptions) (result *TSLocation, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getGatewayLocationOptions, "getGatewayLocationOptions cannot be nil") if err != nil { return } - err = core.ValidateStruct(getTransitGatewayConnectionPrefixFilterOptions, "getTransitGatewayConnectionPrefixFilterOptions") + err = core.ValidateStruct(getGatewayLocationOptions, "getGatewayLocationOptions") if err != nil { return } pathParamsMap := map[string]string{ - "transit_gateway_id": *getTransitGatewayConnectionPrefixFilterOptions.TransitGatewayID, - "id": *getTransitGatewayConnectionPrefixFilterOptions.ID, - "filter_id": *getTransitGatewayConnectionPrefixFilterOptions.FilterID, + "name": *getGatewayLocationOptions.Name, } builder := core.NewRequestBuilder(core.GET) builder = builder.WithContext(ctx) builder.EnableGzipCompression = transitGatewayApis.GetEnableGzipCompression() - _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters/{filter_id}`, pathParamsMap) + _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/locations/{name}`, pathParamsMap) if err != nil { return } - for headerName, headerValue := range getTransitGatewayConnectionPrefixFilterOptions.Headers { + for headerName, headerValue := range getGatewayLocationOptions.Headers { builder.AddHeader(headerName, headerValue) } - sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "GetTransitGatewayConnectionPrefixFilter") + sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "GetGatewayLocation") for headerName, headerValue := range sdkHeaders { builder.AddHeader(headerName, headerValue) } @@ -1440,7 +1450,7 @@ func (transitGatewayApis *TransitGatewayApisV1) GetTransitGatewayConnectionPrefi return } if rawResponse != nil { - err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrefixFilterCust) + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalTSLocation) if err != nil { return } @@ -1450,71 +1460,48 @@ func (transitGatewayApis *TransitGatewayApisV1) GetTransitGatewayConnectionPrefi return } -// UpdateTransitGatewayConnectionPrefixFilter : Updates specified Transit Gateway connection prefix filter -// Update prefix filter for a Transit Gateway Connection. -func (transitGatewayApis *TransitGatewayApisV1) UpdateTransitGatewayConnectionPrefixFilter(updateTransitGatewayConnectionPrefixFilterOptions *UpdateTransitGatewayConnectionPrefixFilterOptions) (result *PrefixFilterCust, response *core.DetailedResponse, err error) { - return transitGatewayApis.UpdateTransitGatewayConnectionPrefixFilterWithContext(context.Background(), updateTransitGatewayConnectionPrefixFilterOptions) +// ListTransitGatewayConnectionPrefixFilters : Retrieves all prefix filters in a Transit Gateway connection +// This request retrieves all prefix filters in a Transit Gateway connection. +func (transitGatewayApis *TransitGatewayApisV1) ListTransitGatewayConnectionPrefixFilters(listTransitGatewayConnectionPrefixFiltersOptions *ListTransitGatewayConnectionPrefixFiltersOptions) (result *PrefixFilterCollection, response *core.DetailedResponse, err error) { + return transitGatewayApis.ListTransitGatewayConnectionPrefixFiltersWithContext(context.Background(), listTransitGatewayConnectionPrefixFiltersOptions) } -// UpdateTransitGatewayConnectionPrefixFilterWithContext is an alternate form of the UpdateTransitGatewayConnectionPrefixFilter method which supports a Context parameter -func (transitGatewayApis *TransitGatewayApisV1) UpdateTransitGatewayConnectionPrefixFilterWithContext(ctx context.Context, updateTransitGatewayConnectionPrefixFilterOptions *UpdateTransitGatewayConnectionPrefixFilterOptions) (result *PrefixFilterCust, response *core.DetailedResponse, err error) { - err = core.ValidateNotNil(updateTransitGatewayConnectionPrefixFilterOptions, "updateTransitGatewayConnectionPrefixFilterOptions cannot be nil") +// ListTransitGatewayConnectionPrefixFiltersWithContext is an alternate form of the ListTransitGatewayConnectionPrefixFilters method which supports a Context parameter +func (transitGatewayApis *TransitGatewayApisV1) ListTransitGatewayConnectionPrefixFiltersWithContext(ctx context.Context, listTransitGatewayConnectionPrefixFiltersOptions *ListTransitGatewayConnectionPrefixFiltersOptions) (result *PrefixFilterCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(listTransitGatewayConnectionPrefixFiltersOptions, "listTransitGatewayConnectionPrefixFiltersOptions cannot be nil") if err != nil { return } - err = core.ValidateStruct(updateTransitGatewayConnectionPrefixFilterOptions, "updateTransitGatewayConnectionPrefixFilterOptions") + err = core.ValidateStruct(listTransitGatewayConnectionPrefixFiltersOptions, "listTransitGatewayConnectionPrefixFiltersOptions") if err != nil { return } pathParamsMap := map[string]string{ - "transit_gateway_id": *updateTransitGatewayConnectionPrefixFilterOptions.TransitGatewayID, - "id": *updateTransitGatewayConnectionPrefixFilterOptions.ID, - "filter_id": *updateTransitGatewayConnectionPrefixFilterOptions.FilterID, + "transit_gateway_id": *listTransitGatewayConnectionPrefixFiltersOptions.TransitGatewayID, + "id": *listTransitGatewayConnectionPrefixFiltersOptions.ID, } - builder := core.NewRequestBuilder(core.PATCH) + builder := core.NewRequestBuilder(core.GET) builder = builder.WithContext(ctx) builder.EnableGzipCompression = transitGatewayApis.GetEnableGzipCompression() - _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters/{filter_id}`, pathParamsMap) + _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters`, pathParamsMap) if err != nil { return } - for headerName, headerValue := range updateTransitGatewayConnectionPrefixFilterOptions.Headers { + for headerName, headerValue := range listTransitGatewayConnectionPrefixFiltersOptions.Headers { builder.AddHeader(headerName, headerValue) } - sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "UpdateTransitGatewayConnectionPrefixFilter") + sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "ListTransitGatewayConnectionPrefixFilters") for headerName, headerValue := range sdkHeaders { builder.AddHeader(headerName, headerValue) } builder.AddHeader("Accept", "application/json") - builder.AddHeader("Content-Type", "application/json") builder.AddQuery("version", fmt.Sprint(*transitGatewayApis.Version)) - body := make(map[string]interface{}) - if updateTransitGatewayConnectionPrefixFilterOptions.Action != nil { - body["action"] = updateTransitGatewayConnectionPrefixFilterOptions.Action - } - if updateTransitGatewayConnectionPrefixFilterOptions.Before != nil { - body["before"] = updateTransitGatewayConnectionPrefixFilterOptions.Before - } - if updateTransitGatewayConnectionPrefixFilterOptions.Ge != nil { - body["ge"] = updateTransitGatewayConnectionPrefixFilterOptions.Ge - } - if updateTransitGatewayConnectionPrefixFilterOptions.Le != nil { - body["le"] = updateTransitGatewayConnectionPrefixFilterOptions.Le - } - if updateTransitGatewayConnectionPrefixFilterOptions.Prefix != nil { - body["prefix"] = updateTransitGatewayConnectionPrefixFilterOptions.Prefix - } - _, err = builder.SetBodyContentJSON(body) - if err != nil { - return - } - request, err := builder.Build() if err != nil { return @@ -1526,7 +1513,7 @@ func (transitGatewayApis *TransitGatewayApisV1) UpdateTransitGatewayConnectionPr return } if rawResponse != nil { - err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrefixFilterCust) + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrefixFilterCollection) if err != nil { return } @@ -1536,13 +1523,373 @@ func (transitGatewayApis *TransitGatewayApisV1) UpdateTransitGatewayConnectionPr return } -// ListTransitGatewayRouteReports : List route reports -// Retrieve all route reports for the specified Transit Gateway. There will normally be at most one completed report -// and one pending report. Additionally, completed route reports are written to IBM Cloud Activity Tracker. -func (transitGatewayApis *TransitGatewayApisV1) ListTransitGatewayRouteReports(listTransitGatewayRouteReportsOptions *ListTransitGatewayRouteReportsOptions) (result *RouteReportCollection, response *core.DetailedResponse, err error) { - return transitGatewayApis.ListTransitGatewayRouteReportsWithContext(context.Background(), listTransitGatewayRouteReportsOptions) -} - +// CreateTransitGatewayConnectionPrefixFilter : Add a prefix filter to a Transit Gateway Connection +// Add a prefix filter to a Transit Gateway Connection. +func (transitGatewayApis *TransitGatewayApisV1) CreateTransitGatewayConnectionPrefixFilter(createTransitGatewayConnectionPrefixFilterOptions *CreateTransitGatewayConnectionPrefixFilterOptions) (result *PrefixFilterCust, response *core.DetailedResponse, err error) { + return transitGatewayApis.CreateTransitGatewayConnectionPrefixFilterWithContext(context.Background(), createTransitGatewayConnectionPrefixFilterOptions) +} + +// CreateTransitGatewayConnectionPrefixFilterWithContext is an alternate form of the CreateTransitGatewayConnectionPrefixFilter method which supports a Context parameter +func (transitGatewayApis *TransitGatewayApisV1) CreateTransitGatewayConnectionPrefixFilterWithContext(ctx context.Context, createTransitGatewayConnectionPrefixFilterOptions *CreateTransitGatewayConnectionPrefixFilterOptions) (result *PrefixFilterCust, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(createTransitGatewayConnectionPrefixFilterOptions, "createTransitGatewayConnectionPrefixFilterOptions cannot be nil") + if err != nil { + return + } + err = core.ValidateStruct(createTransitGatewayConnectionPrefixFilterOptions, "createTransitGatewayConnectionPrefixFilterOptions") + if err != nil { + return + } + + pathParamsMap := map[string]string{ + "transit_gateway_id": *createTransitGatewayConnectionPrefixFilterOptions.TransitGatewayID, + "id": *createTransitGatewayConnectionPrefixFilterOptions.ID, + } + + builder := core.NewRequestBuilder(core.POST) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = transitGatewayApis.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters`, pathParamsMap) + if err != nil { + return + } + + for headerName, headerValue := range createTransitGatewayConnectionPrefixFilterOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "CreateTransitGatewayConnectionPrefixFilter") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*transitGatewayApis.Version)) + + body := make(map[string]interface{}) + if createTransitGatewayConnectionPrefixFilterOptions.Action != nil { + body["action"] = createTransitGatewayConnectionPrefixFilterOptions.Action + } + if createTransitGatewayConnectionPrefixFilterOptions.Prefix != nil { + body["prefix"] = createTransitGatewayConnectionPrefixFilterOptions.Prefix + } + if createTransitGatewayConnectionPrefixFilterOptions.Before != nil { + body["before"] = createTransitGatewayConnectionPrefixFilterOptions.Before + } + if createTransitGatewayConnectionPrefixFilterOptions.Ge != nil { + body["ge"] = createTransitGatewayConnectionPrefixFilterOptions.Ge + } + if createTransitGatewayConnectionPrefixFilterOptions.Le != nil { + body["le"] = createTransitGatewayConnectionPrefixFilterOptions.Le + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = transitGatewayApis.Service.Request(request, &rawResponse) + if err != nil { + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrefixFilterCust) + if err != nil { + return + } + response.Result = result + } + + return +} + +// ReplaceTransitGatewayConnectionPrefixFilter : Replaces the prefix filters of the Transit Gateway Connection +// Replaces the prefix filters of the Transit Gateway Connection. +func (transitGatewayApis *TransitGatewayApisV1) ReplaceTransitGatewayConnectionPrefixFilter(replaceTransitGatewayConnectionPrefixFilterOptions *ReplaceTransitGatewayConnectionPrefixFilterOptions) (result *PrefixFilterCollection, response *core.DetailedResponse, err error) { + return transitGatewayApis.ReplaceTransitGatewayConnectionPrefixFilterWithContext(context.Background(), replaceTransitGatewayConnectionPrefixFilterOptions) +} + +// ReplaceTransitGatewayConnectionPrefixFilterWithContext is an alternate form of the ReplaceTransitGatewayConnectionPrefixFilter method which supports a Context parameter +func (transitGatewayApis *TransitGatewayApisV1) ReplaceTransitGatewayConnectionPrefixFilterWithContext(ctx context.Context, replaceTransitGatewayConnectionPrefixFilterOptions *ReplaceTransitGatewayConnectionPrefixFilterOptions) (result *PrefixFilterCollection, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(replaceTransitGatewayConnectionPrefixFilterOptions, "replaceTransitGatewayConnectionPrefixFilterOptions cannot be nil") + if err != nil { + return + } + err = core.ValidateStruct(replaceTransitGatewayConnectionPrefixFilterOptions, "replaceTransitGatewayConnectionPrefixFilterOptions") + if err != nil { + return + } + + pathParamsMap := map[string]string{ + "transit_gateway_id": *replaceTransitGatewayConnectionPrefixFilterOptions.TransitGatewayID, + "id": *replaceTransitGatewayConnectionPrefixFilterOptions.ID, + } + + builder := core.NewRequestBuilder(core.PUT) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = transitGatewayApis.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters`, pathParamsMap) + if err != nil { + return + } + + for headerName, headerValue := range replaceTransitGatewayConnectionPrefixFilterOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "ReplaceTransitGatewayConnectionPrefixFilter") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*transitGatewayApis.Version)) + + body := make(map[string]interface{}) + if replaceTransitGatewayConnectionPrefixFilterOptions.PrefixFilters != nil { + body["prefix_filters"] = replaceTransitGatewayConnectionPrefixFilterOptions.PrefixFilters + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = transitGatewayApis.Service.Request(request, &rawResponse) + if err != nil { + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrefixFilterCollection) + if err != nil { + return + } + response.Result = result + } + + return +} + +// DeleteTransitGatewayConnectionPrefixFilter : Remove prefix filter from Transit Gateway Connection +// Delete a prefix filter. +func (transitGatewayApis *TransitGatewayApisV1) DeleteTransitGatewayConnectionPrefixFilter(deleteTransitGatewayConnectionPrefixFilterOptions *DeleteTransitGatewayConnectionPrefixFilterOptions) (response *core.DetailedResponse, err error) { + return transitGatewayApis.DeleteTransitGatewayConnectionPrefixFilterWithContext(context.Background(), deleteTransitGatewayConnectionPrefixFilterOptions) +} + +// DeleteTransitGatewayConnectionPrefixFilterWithContext is an alternate form of the DeleteTransitGatewayConnectionPrefixFilter method which supports a Context parameter +func (transitGatewayApis *TransitGatewayApisV1) DeleteTransitGatewayConnectionPrefixFilterWithContext(ctx context.Context, deleteTransitGatewayConnectionPrefixFilterOptions *DeleteTransitGatewayConnectionPrefixFilterOptions) (response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(deleteTransitGatewayConnectionPrefixFilterOptions, "deleteTransitGatewayConnectionPrefixFilterOptions cannot be nil") + if err != nil { + return + } + err = core.ValidateStruct(deleteTransitGatewayConnectionPrefixFilterOptions, "deleteTransitGatewayConnectionPrefixFilterOptions") + if err != nil { + return + } + + pathParamsMap := map[string]string{ + "transit_gateway_id": *deleteTransitGatewayConnectionPrefixFilterOptions.TransitGatewayID, + "id": *deleteTransitGatewayConnectionPrefixFilterOptions.ID, + "filter_id": *deleteTransitGatewayConnectionPrefixFilterOptions.FilterID, + } + + builder := core.NewRequestBuilder(core.DELETE) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = transitGatewayApis.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters/{filter_id}`, pathParamsMap) + if err != nil { + return + } + + for headerName, headerValue := range deleteTransitGatewayConnectionPrefixFilterOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "DeleteTransitGatewayConnectionPrefixFilter") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + + builder.AddQuery("version", fmt.Sprint(*transitGatewayApis.Version)) + + request, err := builder.Build() + if err != nil { + return + } + + response, err = transitGatewayApis.Service.Request(request, nil) + + return +} + +// GetTransitGatewayConnectionPrefixFilter : Retrieves specified Transit Gateway connection prefix filter +// This request retrieves a prefix filter from the Transit Gateway Connection. +func (transitGatewayApis *TransitGatewayApisV1) GetTransitGatewayConnectionPrefixFilter(getTransitGatewayConnectionPrefixFilterOptions *GetTransitGatewayConnectionPrefixFilterOptions) (result *PrefixFilterCust, response *core.DetailedResponse, err error) { + return transitGatewayApis.GetTransitGatewayConnectionPrefixFilterWithContext(context.Background(), getTransitGatewayConnectionPrefixFilterOptions) +} + +// GetTransitGatewayConnectionPrefixFilterWithContext is an alternate form of the GetTransitGatewayConnectionPrefixFilter method which supports a Context parameter +func (transitGatewayApis *TransitGatewayApisV1) GetTransitGatewayConnectionPrefixFilterWithContext(ctx context.Context, getTransitGatewayConnectionPrefixFilterOptions *GetTransitGatewayConnectionPrefixFilterOptions) (result *PrefixFilterCust, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(getTransitGatewayConnectionPrefixFilterOptions, "getTransitGatewayConnectionPrefixFilterOptions cannot be nil") + if err != nil { + return + } + err = core.ValidateStruct(getTransitGatewayConnectionPrefixFilterOptions, "getTransitGatewayConnectionPrefixFilterOptions") + if err != nil { + return + } + + pathParamsMap := map[string]string{ + "transit_gateway_id": *getTransitGatewayConnectionPrefixFilterOptions.TransitGatewayID, + "id": *getTransitGatewayConnectionPrefixFilterOptions.ID, + "filter_id": *getTransitGatewayConnectionPrefixFilterOptions.FilterID, + } + + builder := core.NewRequestBuilder(core.GET) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = transitGatewayApis.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters/{filter_id}`, pathParamsMap) + if err != nil { + return + } + + for headerName, headerValue := range getTransitGatewayConnectionPrefixFilterOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "GetTransitGatewayConnectionPrefixFilter") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + + builder.AddQuery("version", fmt.Sprint(*transitGatewayApis.Version)) + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = transitGatewayApis.Service.Request(request, &rawResponse) + if err != nil { + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrefixFilterCust) + if err != nil { + return + } + response.Result = result + } + + return +} + +// UpdateTransitGatewayConnectionPrefixFilter : Updates specified Transit Gateway connection prefix filter +// Update prefix filter for a Transit Gateway Connection. +func (transitGatewayApis *TransitGatewayApisV1) UpdateTransitGatewayConnectionPrefixFilter(updateTransitGatewayConnectionPrefixFilterOptions *UpdateTransitGatewayConnectionPrefixFilterOptions) (result *PrefixFilterCust, response *core.DetailedResponse, err error) { + return transitGatewayApis.UpdateTransitGatewayConnectionPrefixFilterWithContext(context.Background(), updateTransitGatewayConnectionPrefixFilterOptions) +} + +// UpdateTransitGatewayConnectionPrefixFilterWithContext is an alternate form of the UpdateTransitGatewayConnectionPrefixFilter method which supports a Context parameter +func (transitGatewayApis *TransitGatewayApisV1) UpdateTransitGatewayConnectionPrefixFilterWithContext(ctx context.Context, updateTransitGatewayConnectionPrefixFilterOptions *UpdateTransitGatewayConnectionPrefixFilterOptions) (result *PrefixFilterCust, response *core.DetailedResponse, err error) { + err = core.ValidateNotNil(updateTransitGatewayConnectionPrefixFilterOptions, "updateTransitGatewayConnectionPrefixFilterOptions cannot be nil") + if err != nil { + return + } + err = core.ValidateStruct(updateTransitGatewayConnectionPrefixFilterOptions, "updateTransitGatewayConnectionPrefixFilterOptions") + if err != nil { + return + } + + pathParamsMap := map[string]string{ + "transit_gateway_id": *updateTransitGatewayConnectionPrefixFilterOptions.TransitGatewayID, + "id": *updateTransitGatewayConnectionPrefixFilterOptions.ID, + "filter_id": *updateTransitGatewayConnectionPrefixFilterOptions.FilterID, + } + + builder := core.NewRequestBuilder(core.PATCH) + builder = builder.WithContext(ctx) + builder.EnableGzipCompression = transitGatewayApis.GetEnableGzipCompression() + _, err = builder.ResolveRequestURL(transitGatewayApis.Service.Options.URL, `/transit_gateways/{transit_gateway_id}/connections/{id}/prefix_filters/{filter_id}`, pathParamsMap) + if err != nil { + return + } + + for headerName, headerValue := range updateTransitGatewayConnectionPrefixFilterOptions.Headers { + builder.AddHeader(headerName, headerValue) + } + + sdkHeaders := common.GetSdkHeaders("transit_gateway_apis", "V1", "UpdateTransitGatewayConnectionPrefixFilter") + for headerName, headerValue := range sdkHeaders { + builder.AddHeader(headerName, headerValue) + } + builder.AddHeader("Accept", "application/json") + builder.AddHeader("Content-Type", "application/json") + + builder.AddQuery("version", fmt.Sprint(*transitGatewayApis.Version)) + + body := make(map[string]interface{}) + if updateTransitGatewayConnectionPrefixFilterOptions.Action != nil { + body["action"] = updateTransitGatewayConnectionPrefixFilterOptions.Action + } + if updateTransitGatewayConnectionPrefixFilterOptions.Before != nil { + body["before"] = updateTransitGatewayConnectionPrefixFilterOptions.Before + } + if updateTransitGatewayConnectionPrefixFilterOptions.Ge != nil { + body["ge"] = updateTransitGatewayConnectionPrefixFilterOptions.Ge + } + if updateTransitGatewayConnectionPrefixFilterOptions.Le != nil { + body["le"] = updateTransitGatewayConnectionPrefixFilterOptions.Le + } + if updateTransitGatewayConnectionPrefixFilterOptions.Prefix != nil { + body["prefix"] = updateTransitGatewayConnectionPrefixFilterOptions.Prefix + } + _, err = builder.SetBodyContentJSON(body) + if err != nil { + return + } + + request, err := builder.Build() + if err != nil { + return + } + + var rawResponse map[string]json.RawMessage + response, err = transitGatewayApis.Service.Request(request, &rawResponse) + if err != nil { + return + } + if rawResponse != nil { + err = core.UnmarshalModel(rawResponse, "", &result, UnmarshalPrefixFilterCust) + if err != nil { + return + } + response.Result = result + } + + return +} + +// ListTransitGatewayRouteReports : List route reports +// Retrieve all route reports for the specified Transit Gateway. There will normally be at most one completed report +// and one pending report. Additionally, completed route reports are written to IBM Cloud Activity Tracker. +func (transitGatewayApis *TransitGatewayApisV1) ListTransitGatewayRouteReports(listTransitGatewayRouteReportsOptions *ListTransitGatewayRouteReportsOptions) (result *RouteReportCollection, response *core.DetailedResponse, err error) { + return transitGatewayApis.ListTransitGatewayRouteReportsWithContext(context.Background(), listTransitGatewayRouteReportsOptions) +} + // ListTransitGatewayRouteReportsWithContext is an alternate form of the ListTransitGatewayRouteReports method which supports a Context parameter func (transitGatewayApis *TransitGatewayApisV1) ListTransitGatewayRouteReportsWithContext(ctx context.Context, listTransitGatewayRouteReportsOptions *ListTransitGatewayRouteReportsOptions) (result *RouteReportCollection, response *core.DetailedResponse, err error) { err = core.ValidateNotNil(listTransitGatewayRouteReportsOptions, "listTransitGatewayRouteReportsOptions cannot be nil") @@ -1681,7 +2028,7 @@ func (transitGatewayApis *TransitGatewayApisV1) DeleteTransitGatewayRouteReportW pathParamsMap := map[string]string{ "transit_gateway_id": *deleteTransitGatewayRouteReportOptions.TransitGatewayID, - "id": *deleteTransitGatewayRouteReportOptions.ID, + "id": *deleteTransitGatewayRouteReportOptions.ID, } builder := core.NewRequestBuilder(core.DELETE) @@ -1732,7 +2079,7 @@ func (transitGatewayApis *TransitGatewayApisV1) GetTransitGatewayRouteReportWith pathParamsMap := map[string]string{ "transit_gateway_id": *getTransitGatewayRouteReportOptions.TransitGatewayID, - "id": *getTransitGatewayRouteReportOptions.ID, + "id": *getTransitGatewayRouteReportOptions.ID, } builder := core.NewRequestBuilder(core.GET) @@ -1795,15 +2142,15 @@ type CreateTransitGatewayConnectionActionsOptions struct { // The action that is to be performed against the connection request. const ( CreateTransitGatewayConnectionActionsOptions_Action_Approve = "approve" - CreateTransitGatewayConnectionActionsOptions_Action_Reject = "reject" + CreateTransitGatewayConnectionActionsOptions_Action_Reject = "reject" ) // NewCreateTransitGatewayConnectionActionsOptions : Instantiate CreateTransitGatewayConnectionActionsOptions func (*TransitGatewayApisV1) NewCreateTransitGatewayConnectionActionsOptions(transitGatewayID string, id string, action string) *CreateTransitGatewayConnectionActionsOptions { return &CreateTransitGatewayConnectionActionsOptions{ TransitGatewayID: core.StringPtr(transitGatewayID), - ID: core.StringPtr(id), - Action: core.StringPtr(action), + ID: core.StringPtr(id), + Action: core.StringPtr(action), } } @@ -1836,8 +2183,7 @@ type CreateTransitGatewayConnectionOptions struct { // The Transit Gateway identifier. TransitGatewayID *string `json:"transit_gateway_id" validate:"required,ne="` - // Defines what type of network is connected via this connection. For access to gre_tunnel or unbound_gre_tunnel - // connections contact IBM support. + // Defines what type of network is connected via this connection. NetworkType *string `json:"network_type" validate:"required"` // network_type 'gre_tunnel' connections must be created over an existing network_type 'classic' connection. This field @@ -1845,19 +2191,20 @@ type CreateTransitGatewayConnectionOptions struct { // // This field is required for network type 'gre_tunnel' connections. // - // This field is required to be unspecified for network type 'classic', 'directlink', 'vpc', 'power_virtual_server' and - // 'unbound_gre_tunnel' connections. + // This field is required to be unspecified for network type 'classic', 'directlink', 'vpc', + // 'power_virtual_server', 'unbound_gre_tunnel' and 'redundant_gre' connections. // Deprecated: this field is deprecated and may be removed in a future release. BaseConnectionID *string `json:"base_connection_id,omitempty"` // The type of network the Unbound GRE tunnel is targeting. This field is required for network type - // 'unbound_gre_tunnel' connections. This field is required to be unspecified for network type 'classic', 'directlink', + // 'unbound_gre_tunnel' and must be set to 'classic'. For a 'redundant_gre' network type, the value is required and + // can be either VPC or Classic. This field is required to be unspecified for network type 'classic', 'directlink', // 'vpc', 'power_virtual_server' and 'gre_tunnel' connections. BaseNetworkType *string `json:"base_network_type,omitempty"` // Local gateway IP address. This field is required for network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. - // This field is required to be unspecified for network type 'classic', 'directlink', 'vpc' and 'power_virtual_server' - // connections. + // This field is required to be unspecified for network type 'classic', 'directlink', 'vpc', 'power_virtual_server' and + // 'redundant_gre' connections. LocalGatewayIp *string `json:"local_gateway_ip,omitempty"` // Local tunnel IP address. The local_tunnel_ip and remote_tunnel_ip addresses must be in the same /30 network. Neither @@ -1865,27 +2212,29 @@ type CreateTransitGatewayConnectionOptions struct { // // This field is required for network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. // - // This field is required to be unspecified for network type 'classic', 'directlink', 'vpc' and 'power_virtual_server' - // connections. + // This field is required to be unspecified for network type 'classic', 'directlink', 'vpc', 'power_virtual_server' and + // 'redundant_gre' connections. LocalTunnelIp *string `json:"local_tunnel_ip,omitempty"` // The user-defined name for this transit gateway connection. Network type 'vpc' connections are defaulted to the name // of the VPC. Network type 'classic' connections are named 'Classic'. // - // This field is required for network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + // This field is required for network type 'gre_tunnel', 'unbound_gre_tunnel' and 'redundant_gre' connections. // // This field is optional for network type 'classic', 'directlink', 'vpc' and 'power_virtual_server' connections. Name *string `json:"name,omitempty"` // The ID of the account which owns the network that is being connected. Generally only used if the network is in a // different account than the gateway. This field is required for type 'unbound_gre_tunnel' when the - // associated_network_type is 'classic' and the GRE tunnel is in a different account than the gateway. + // associated_network_type is 'classic' or network_type is 'redundant_gre' and the GRE tunnel is in a different account + // than the gateway. NetworkAccountID *string `json:"network_account_id,omitempty"` // The ID of the network being connected via this connection. For network types 'vpc','power_virtual_server' and // 'directlink' this is the CRN of the VPC / PowerVS / Direct Link gateway respectively. This field is required for - // network type 'vpc', 'power_virtual_server' and 'directlink' connections. This field is required to be unspecified - // for network type 'classic', 'gre_tunnel' and 'unbound_gre_tunnel' connections. + // network type 'vpc', 'power_virtual_server' and 'directlink' connections. It is also required for 'redundant_gre' + // connections when the base_network_type is set to VPC. This field is required to be unspecified for network type + // 'classic', 'gre_tunnel' and 'unbound_gre_tunnel' connections. NetworkID *string `json:"network_id,omitempty"` // Array of prefix route filters for a transit gateway connection. Prefix filters can be specified for netowrk type @@ -1893,12 +2242,12 @@ type CreateTransitGatewayConnectionOptions struct { // connections. This is order dependent with those first in the array being applied first, and those at the end of the // array being applied last, or just before applying the default. This field is optional for network type 'classic', // 'vpc', 'directlink', and 'power_virtual_server' connections. This field is required to be unspecified for network - // type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + // type 'gre_tunnel', 'unbound_gre_tunnel' and 'redundant_gre' connections. PrefixFilters []TransitGatewayConnectionPrefixFilter `json:"prefix_filters,omitempty"` // Default setting of permit or deny which applies to any routes that don't match a specified filter. This field is // optional for network type 'classic', 'vpc', 'directlink', and 'power_virtual_server' connections. This field is - // required to be unspecified for network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + // required to be unspecified for network type 'gre_tunnel', 'unbound_gre_tunnel' and 'redundant_gre' connections. PrefixFiltersDefault *string `json:"prefix_filters_default,omitempty"` // Remote network BGP ASN. The following ASN values are reserved and unavailable 0, 13884, 36351, 64512-64513, 65100, @@ -1907,13 +2256,13 @@ type CreateTransitGatewayConnectionOptions struct { // // This field is optional for network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. // - // This field is required to be unspecified for network type 'classic', 'directlink', 'vpc' and 'power_virtual_server' - // connections. + // This field is required to be unspecified for network type 'classic', 'directlink', 'vpc', 'power_virtual_server' and + // 'gre_tunnel' connections. RemoteBgpAsn *int64 `json:"remote_bgp_asn,omitempty"` // Remote gateway IP address. This field is required for network type 'gre_tunnel' and 'unbound_gre_tunnel' - // connections. This field is required to be unspecified for network type 'classic', 'directlink', 'vpc' and - // 'power_virtual_server' connections. + // connections. This field is required to be unspecified for network type 'classic', 'directlink', 'vpc', + // 'power_virtual_server' and 'redundant_gre' connections. RemoteGatewayIp *string `json:"remote_gateway_ip,omitempty"` // Remote tunnel IP address. The local_tunnel_ip and remote_tunnel_ip addresses must be in the same /30 network. @@ -1921,17 +2270,21 @@ type CreateTransitGatewayConnectionOptions struct { // // This field is required for network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. // - // This field is required to be unspecified for network type 'classic', 'directlink', 'vpc' and 'power_virtual_server' - // connections. + // This field is required to be unspecified for network type 'classic', 'directlink', 'vpc', 'power_virtual_server' + // and 'redundant_gre' connections. RemoteTunnelIp *string `json:"remote_tunnel_ip,omitempty"` + // Array of GRE tunnels for a transit gateway redundant GRE tunnel connection. This field is required for + // 'redundant_gre' connections. + Tunnels []TransitGatewayRedundantGRETunnelTemplate `json:"tunnels,omitempty"` + // Specify the connection's location. The specified availability zone must reside in the gateway's region. // Use the IBM Cloud global catalog to list zones within the desired region. // // This field is required for network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. // - // This field is required to be unspecified for network type 'classic', 'directlink', 'vpc' and 'power_virtual_server' - // connections. + // This field is required to be unspecified for network type 'classic', 'directlink', 'vpc', 'power_virtual_server' and + // 'redundant_gre' connections. Zone ZoneIdentityIntf `json:"zone,omitempty"` // Allows users to set headers on API requests @@ -1939,31 +2292,33 @@ type CreateTransitGatewayConnectionOptions struct { } // Constants associated with the CreateTransitGatewayConnectionOptions.NetworkType property. -// Defines what type of network is connected via this connection. For access to gre_tunnel or unbound_gre_tunnel -// connections contact IBM support. +// Defines what type of network is connected via this connection. const ( - CreateTransitGatewayConnectionOptions_NetworkType_Classic = "classic" - CreateTransitGatewayConnectionOptions_NetworkType_Directlink = "directlink" - CreateTransitGatewayConnectionOptions_NetworkType_GreTunnel = "gre_tunnel" + CreateTransitGatewayConnectionOptions_NetworkType_Classic = "classic" + CreateTransitGatewayConnectionOptions_NetworkType_Directlink = "directlink" + CreateTransitGatewayConnectionOptions_NetworkType_GreTunnel = "gre_tunnel" CreateTransitGatewayConnectionOptions_NetworkType_PowerVirtualServer = "power_virtual_server" - CreateTransitGatewayConnectionOptions_NetworkType_UnboundGreTunnel = "unbound_gre_tunnel" - CreateTransitGatewayConnectionOptions_NetworkType_Vpc = "vpc" + CreateTransitGatewayConnectionOptions_NetworkType_RedundantGre = "redundant_gre" + CreateTransitGatewayConnectionOptions_NetworkType_UnboundGreTunnel = "unbound_gre_tunnel" + CreateTransitGatewayConnectionOptions_NetworkType_Vpc = "vpc" ) // Constants associated with the CreateTransitGatewayConnectionOptions.BaseNetworkType property. // The type of network the Unbound GRE tunnel is targeting. This field is required for network type 'unbound_gre_tunnel' -// connections. This field is required to be unspecified for network type 'classic', 'directlink', 'vpc', +// and must be set to 'classic'. For a 'redundant_gre' network type, the value is required and can be either VPC or +// Classic. This field is required to be unspecified for network type 'classic', 'directlink', 'vpc', // 'power_virtual_server' and 'gre_tunnel' connections. const ( CreateTransitGatewayConnectionOptions_BaseNetworkType_Classic = "classic" + CreateTransitGatewayConnectionOptions_BaseNetworkType_Vpc = "vpc" ) // Constants associated with the CreateTransitGatewayConnectionOptions.PrefixFiltersDefault property. // Default setting of permit or deny which applies to any routes that don't match a specified filter. This field is // optional for network type 'classic', 'vpc', 'directlink', and 'power_virtual_server' connections. This field is -// required to be unspecified for network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. +// required to be unspecified for network type 'gre_tunnel', 'unbound_gre_tunnel' and 'redundant_gre' connections. const ( - CreateTransitGatewayConnectionOptions_PrefixFiltersDefault_Deny = "deny" + CreateTransitGatewayConnectionOptions_PrefixFiltersDefault_Deny = "deny" CreateTransitGatewayConnectionOptions_PrefixFiltersDefault_Permit = "permit" ) @@ -1971,7 +2326,7 @@ const ( func (*TransitGatewayApisV1) NewCreateTransitGatewayConnectionOptions(transitGatewayID string, networkType string) *CreateTransitGatewayConnectionOptions { return &CreateTransitGatewayConnectionOptions{ TransitGatewayID: core.StringPtr(transitGatewayID), - NetworkType: core.StringPtr(networkType), + NetworkType: core.StringPtr(networkType), } } @@ -2060,6 +2415,12 @@ func (_options *CreateTransitGatewayConnectionOptions) SetRemoteTunnelIp(remoteT return _options } +// SetTunnels : Allow user to set Tunnels +func (_options *CreateTransitGatewayConnectionOptions) SetTunnels(tunnels []TransitGatewayRedundantGRETunnelTemplate) *CreateTransitGatewayConnectionOptions { + _options.Tunnels = tunnels + return _options +} + // SetZone : Allow user to set Zone func (_options *CreateTransitGatewayConnectionOptions) SetZone(zone ZoneIdentityIntf) *CreateTransitGatewayConnectionOptions { _options.Zone = zone @@ -2121,7 +2482,7 @@ type CreateTransitGatewayConnectionPrefixFilterOptions struct { // Constants associated with the CreateTransitGatewayConnectionPrefixFilterOptions.Action property. // Whether or not this prefix filter should allow or deny prefixes matching this filter's prefix definition. const ( - CreateTransitGatewayConnectionPrefixFilterOptions_Action_Deny = "deny" + CreateTransitGatewayConnectionPrefixFilterOptions_Action_Deny = "deny" CreateTransitGatewayConnectionPrefixFilterOptions_Action_Permit = "permit" ) @@ -2129,9 +2490,9 @@ const ( func (*TransitGatewayApisV1) NewCreateTransitGatewayConnectionPrefixFilterOptions(transitGatewayID string, id string, action string, prefix string) *CreateTransitGatewayConnectionPrefixFilterOptions { return &CreateTransitGatewayConnectionPrefixFilterOptions{ TransitGatewayID: core.StringPtr(transitGatewayID), - ID: core.StringPtr(id), - Action: core.StringPtr(action), - Prefix: core.StringPtr(prefix), + ID: core.StringPtr(id), + Action: core.StringPtr(action), + Prefix: core.StringPtr(prefix), } } @@ -2183,6 +2544,118 @@ func (options *CreateTransitGatewayConnectionPrefixFilterOptions) SetHeaders(par return options } +// CreateTransitGatewayGreTunnelOptions : The CreateTransitGatewayGreTunnel options. +type CreateTransitGatewayGreTunnelOptions struct { + // The Transit Gateway identifier. + TransitGatewayID *string `json:"transit_gateway_id" validate:"required,ne="` + + // The connection identifier. + ID *string `json:"id" validate:"required,ne="` + + // Local gateway IP address. + LocalGatewayIp *string `json:"local_gateway_ip" validate:"required"` + + // Local tunnel IP address. The local_tunnel_ip and remote_tunnel_ip addresses must be in the same /30 network. Neither + // can be the network nor broadcast addresses. + LocalTunnelIp *string `json:"local_tunnel_ip" validate:"required"` + + // The user-defined name for this tunnel connection. + Name *string `json:"name" validate:"required"` + + // Remote gateway IP address. + RemoteGatewayIp *string `json:"remote_gateway_ip" validate:"required"` + + // Remote tunnel IP address. The local_tunnel_ip and remote_tunnel_ip addresses must be in the same /30 network. + // Neither can be the network nor broadcast addresses. + RemoteTunnelIp *string `json:"remote_tunnel_ip" validate:"required"` + + // Specify the connection's location. The specified availability zone must reside in the gateway's region. + // Use the IBM Cloud global catalog to list zones within the desired region. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` + + // Remote network BGP ASN. The following ASN values are reserved and unavailable 0, 13884, 36351, 64512-64513, 65100, + // 65200-65234, 65402-65433, 65500 and 4201065000-4201065999. If 'remote_bgp_asn' is omitted on create requests, IBM + // will assign an ASN. + RemoteBgpAsn *int64 `json:"remote_bgp_asn,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewCreateTransitGatewayGreTunnelOptions : Instantiate CreateTransitGatewayGreTunnelOptions +func (*TransitGatewayApisV1) NewCreateTransitGatewayGreTunnelOptions(transitGatewayID string, id string, localGatewayIp string, localTunnelIp string, name string, remoteGatewayIp string, remoteTunnelIp string, zone ZoneIdentityIntf) *CreateTransitGatewayGreTunnelOptions { + return &CreateTransitGatewayGreTunnelOptions{ + TransitGatewayID: core.StringPtr(transitGatewayID), + ID: core.StringPtr(id), + LocalGatewayIp: core.StringPtr(localGatewayIp), + LocalTunnelIp: core.StringPtr(localTunnelIp), + Name: core.StringPtr(name), + RemoteGatewayIp: core.StringPtr(remoteGatewayIp), + RemoteTunnelIp: core.StringPtr(remoteTunnelIp), + Zone: zone, + } +} + +// SetTransitGatewayID : Allow user to set TransitGatewayID +func (_options *CreateTransitGatewayGreTunnelOptions) SetTransitGatewayID(transitGatewayID string) *CreateTransitGatewayGreTunnelOptions { + _options.TransitGatewayID = core.StringPtr(transitGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *CreateTransitGatewayGreTunnelOptions) SetID(id string) *CreateTransitGatewayGreTunnelOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetLocalGatewayIp : Allow user to set LocalGatewayIp +func (_options *CreateTransitGatewayGreTunnelOptions) SetLocalGatewayIp(localGatewayIp string) *CreateTransitGatewayGreTunnelOptions { + _options.LocalGatewayIp = core.StringPtr(localGatewayIp) + return _options +} + +// SetLocalTunnelIp : Allow user to set LocalTunnelIp +func (_options *CreateTransitGatewayGreTunnelOptions) SetLocalTunnelIp(localTunnelIp string) *CreateTransitGatewayGreTunnelOptions { + _options.LocalTunnelIp = core.StringPtr(localTunnelIp) + return _options +} + +// SetName : Allow user to set Name +func (_options *CreateTransitGatewayGreTunnelOptions) SetName(name string) *CreateTransitGatewayGreTunnelOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetRemoteGatewayIp : Allow user to set RemoteGatewayIp +func (_options *CreateTransitGatewayGreTunnelOptions) SetRemoteGatewayIp(remoteGatewayIp string) *CreateTransitGatewayGreTunnelOptions { + _options.RemoteGatewayIp = core.StringPtr(remoteGatewayIp) + return _options +} + +// SetRemoteTunnelIp : Allow user to set RemoteTunnelIp +func (_options *CreateTransitGatewayGreTunnelOptions) SetRemoteTunnelIp(remoteTunnelIp string) *CreateTransitGatewayGreTunnelOptions { + _options.RemoteTunnelIp = core.StringPtr(remoteTunnelIp) + return _options +} + +// SetZone : Allow user to set Zone +func (_options *CreateTransitGatewayGreTunnelOptions) SetZone(zone ZoneIdentityIntf) *CreateTransitGatewayGreTunnelOptions { + _options.Zone = zone + return _options +} + +// SetRemoteBgpAsn : Allow user to set RemoteBgpAsn +func (_options *CreateTransitGatewayGreTunnelOptions) SetRemoteBgpAsn(remoteBgpAsn int64) *CreateTransitGatewayGreTunnelOptions { + _options.RemoteBgpAsn = core.Int64Ptr(remoteBgpAsn) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *CreateTransitGatewayGreTunnelOptions) SetHeaders(param map[string]string) *CreateTransitGatewayGreTunnelOptions { + options.Headers = param + return options +} + // CreateTransitGatewayOptions : The CreateTransitGateway options. type CreateTransitGatewayOptions struct { // Location of Transit Gateway Services. @@ -2206,7 +2679,7 @@ type CreateTransitGatewayOptions struct { func (*TransitGatewayApisV1) NewCreateTransitGatewayOptions(location string, name string) *CreateTransitGatewayOptions { return &CreateTransitGatewayOptions{ Location: core.StringPtr(location), - Name: core.StringPtr(name), + Name: core.StringPtr(name), } } @@ -2284,7 +2757,7 @@ type DeleteTransitGatewayConnectionOptions struct { func (*TransitGatewayApisV1) NewDeleteTransitGatewayConnectionOptions(transitGatewayID string, id string) *DeleteTransitGatewayConnectionOptions { return &DeleteTransitGatewayConnectionOptions{ TransitGatewayID: core.StringPtr(transitGatewayID), - ID: core.StringPtr(id), + ID: core.StringPtr(id), } } @@ -2325,8 +2798,8 @@ type DeleteTransitGatewayConnectionPrefixFilterOptions struct { func (*TransitGatewayApisV1) NewDeleteTransitGatewayConnectionPrefixFilterOptions(transitGatewayID string, id string, filterID string) *DeleteTransitGatewayConnectionPrefixFilterOptions { return &DeleteTransitGatewayConnectionPrefixFilterOptions{ TransitGatewayID: core.StringPtr(transitGatewayID), - ID: core.StringPtr(id), - FilterID: core.StringPtr(filterID), + ID: core.StringPtr(id), + FilterID: core.StringPtr(filterID), } } @@ -2354,6 +2827,54 @@ func (options *DeleteTransitGatewayConnectionPrefixFilterOptions) SetHeaders(par return options } +// DeleteTransitGatewayConnectionTunnelsOptions : The DeleteTransitGatewayConnectionTunnels options. +type DeleteTransitGatewayConnectionTunnelsOptions struct { + // The Transit Gateway identifier. + TransitGatewayID *string `json:"transit_gateway_id" validate:"required,ne="` + + // The connection identifier. + ID *string `json:"id" validate:"required,ne="` + + // The tunnel identifier. + GreTunnelID *string `json:"gre_tunnel_id" validate:"required,ne="` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewDeleteTransitGatewayConnectionTunnelsOptions : Instantiate DeleteTransitGatewayConnectionTunnelsOptions +func (*TransitGatewayApisV1) NewDeleteTransitGatewayConnectionTunnelsOptions(transitGatewayID string, id string, greTunnelID string) *DeleteTransitGatewayConnectionTunnelsOptions { + return &DeleteTransitGatewayConnectionTunnelsOptions{ + TransitGatewayID: core.StringPtr(transitGatewayID), + ID: core.StringPtr(id), + GreTunnelID: core.StringPtr(greTunnelID), + } +} + +// SetTransitGatewayID : Allow user to set TransitGatewayID +func (_options *DeleteTransitGatewayConnectionTunnelsOptions) SetTransitGatewayID(transitGatewayID string) *DeleteTransitGatewayConnectionTunnelsOptions { + _options.TransitGatewayID = core.StringPtr(transitGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *DeleteTransitGatewayConnectionTunnelsOptions) SetID(id string) *DeleteTransitGatewayConnectionTunnelsOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetGreTunnelID : Allow user to set GreTunnelID +func (_options *DeleteTransitGatewayConnectionTunnelsOptions) SetGreTunnelID(greTunnelID string) *DeleteTransitGatewayConnectionTunnelsOptions { + _options.GreTunnelID = core.StringPtr(greTunnelID) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *DeleteTransitGatewayConnectionTunnelsOptions) SetHeaders(param map[string]string) *DeleteTransitGatewayConnectionTunnelsOptions { + options.Headers = param + return options +} + // DeleteTransitGatewayOptions : The DeleteTransitGateway options. type DeleteTransitGatewayOptions struct { // The Transit Gateway identifier. @@ -2398,7 +2919,7 @@ type DeleteTransitGatewayRouteReportOptions struct { func (*TransitGatewayApisV1) NewDeleteTransitGatewayRouteReportOptions(transitGatewayID string, id string) *DeleteTransitGatewayRouteReportOptions { return &DeleteTransitGatewayRouteReportOptions{ TransitGatewayID: core.StringPtr(transitGatewayID), - ID: core.StringPtr(id), + ID: core.StringPtr(id), } } @@ -2420,116 +2941,202 @@ func (options *DeleteTransitGatewayRouteReportOptions) SetHeaders(param map[stri return options } -// GetGatewayLocationOptions : The GetGatewayLocation options. -type GetGatewayLocationOptions struct { - // The Transit Gateway location Name. - Name *string `json:"name" validate:"required,ne="` - - // Allows users to set headers on API requests - Headers map[string]string +// GetGatewayLocationOptions : The GetGatewayLocation options. +type GetGatewayLocationOptions struct { + // The Transit Gateway location Name. + Name *string `json:"name" validate:"required,ne="` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetGatewayLocationOptions : Instantiate GetGatewayLocationOptions +func (*TransitGatewayApisV1) NewGetGatewayLocationOptions(name string) *GetGatewayLocationOptions { + return &GetGatewayLocationOptions{ + Name: core.StringPtr(name), + } +} + +// SetName : Allow user to set Name +func (_options *GetGatewayLocationOptions) SetName(name string) *GetGatewayLocationOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetGatewayLocationOptions) SetHeaders(param map[string]string) *GetGatewayLocationOptions { + options.Headers = param + return options +} + +// GetTransitGatewayConnectionOptions : The GetTransitGatewayConnection options. +type GetTransitGatewayConnectionOptions struct { + // The Transit Gateway identifier. + TransitGatewayID *string `json:"transit_gateway_id" validate:"required,ne="` + + // The connection identifier. + ID *string `json:"id" validate:"required,ne="` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetTransitGatewayConnectionOptions : Instantiate GetTransitGatewayConnectionOptions +func (*TransitGatewayApisV1) NewGetTransitGatewayConnectionOptions(transitGatewayID string, id string) *GetTransitGatewayConnectionOptions { + return &GetTransitGatewayConnectionOptions{ + TransitGatewayID: core.StringPtr(transitGatewayID), + ID: core.StringPtr(id), + } +} + +// SetTransitGatewayID : Allow user to set TransitGatewayID +func (_options *GetTransitGatewayConnectionOptions) SetTransitGatewayID(transitGatewayID string) *GetTransitGatewayConnectionOptions { + _options.TransitGatewayID = core.StringPtr(transitGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *GetTransitGatewayConnectionOptions) SetID(id string) *GetTransitGatewayConnectionOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *GetTransitGatewayConnectionOptions) SetHeaders(param map[string]string) *GetTransitGatewayConnectionOptions { + options.Headers = param + return options +} + +// GetTransitGatewayConnectionPrefixFilterOptions : The GetTransitGatewayConnectionPrefixFilter options. +type GetTransitGatewayConnectionPrefixFilterOptions struct { + // The Transit Gateway identifier. + TransitGatewayID *string `json:"transit_gateway_id" validate:"required,ne="` + + // The connection identifier. + ID *string `json:"id" validate:"required,ne="` + + // Prefix filter identifier. + FilterID *string `json:"filter_id" validate:"required,ne="` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewGetTransitGatewayConnectionPrefixFilterOptions : Instantiate GetTransitGatewayConnectionPrefixFilterOptions +func (*TransitGatewayApisV1) NewGetTransitGatewayConnectionPrefixFilterOptions(transitGatewayID string, id string, filterID string) *GetTransitGatewayConnectionPrefixFilterOptions { + return &GetTransitGatewayConnectionPrefixFilterOptions{ + TransitGatewayID: core.StringPtr(transitGatewayID), + ID: core.StringPtr(id), + FilterID: core.StringPtr(filterID), + } +} + +// SetTransitGatewayID : Allow user to set TransitGatewayID +func (_options *GetTransitGatewayConnectionPrefixFilterOptions) SetTransitGatewayID(transitGatewayID string) *GetTransitGatewayConnectionPrefixFilterOptions { + _options.TransitGatewayID = core.StringPtr(transitGatewayID) + return _options } -// NewGetGatewayLocationOptions : Instantiate GetGatewayLocationOptions -func (*TransitGatewayApisV1) NewGetGatewayLocationOptions(name string) *GetGatewayLocationOptions { - return &GetGatewayLocationOptions{ - Name: core.StringPtr(name), - } +// SetID : Allow user to set ID +func (_options *GetTransitGatewayConnectionPrefixFilterOptions) SetID(id string) *GetTransitGatewayConnectionPrefixFilterOptions { + _options.ID = core.StringPtr(id) + return _options } -// SetName : Allow user to set Name -func (_options *GetGatewayLocationOptions) SetName(name string) *GetGatewayLocationOptions { - _options.Name = core.StringPtr(name) +// SetFilterID : Allow user to set FilterID +func (_options *GetTransitGatewayConnectionPrefixFilterOptions) SetFilterID(filterID string) *GetTransitGatewayConnectionPrefixFilterOptions { + _options.FilterID = core.StringPtr(filterID) return _options } // SetHeaders : Allow user to set Headers -func (options *GetGatewayLocationOptions) SetHeaders(param map[string]string) *GetGatewayLocationOptions { +func (options *GetTransitGatewayConnectionPrefixFilterOptions) SetHeaders(param map[string]string) *GetTransitGatewayConnectionPrefixFilterOptions { options.Headers = param return options } -// GetTransitGatewayConnectionOptions : The GetTransitGatewayConnection options. -type GetTransitGatewayConnectionOptions struct { +// GetTransitGatewayConnectionTunnelsOptions : The GetTransitGatewayConnectionTunnels options. +type GetTransitGatewayConnectionTunnelsOptions struct { // The Transit Gateway identifier. TransitGatewayID *string `json:"transit_gateway_id" validate:"required,ne="` // The connection identifier. ID *string `json:"id" validate:"required,ne="` + // The tunnel identifier. + GreTunnelID *string `json:"gre_tunnel_id" validate:"required,ne="` + // Allows users to set headers on API requests Headers map[string]string } -// NewGetTransitGatewayConnectionOptions : Instantiate GetTransitGatewayConnectionOptions -func (*TransitGatewayApisV1) NewGetTransitGatewayConnectionOptions(transitGatewayID string, id string) *GetTransitGatewayConnectionOptions { - return &GetTransitGatewayConnectionOptions{ +// NewGetTransitGatewayConnectionTunnelsOptions : Instantiate GetTransitGatewayConnectionTunnelsOptions +func (*TransitGatewayApisV1) NewGetTransitGatewayConnectionTunnelsOptions(transitGatewayID string, id string, greTunnelID string) *GetTransitGatewayConnectionTunnelsOptions { + return &GetTransitGatewayConnectionTunnelsOptions{ TransitGatewayID: core.StringPtr(transitGatewayID), - ID: core.StringPtr(id), + ID: core.StringPtr(id), + GreTunnelID: core.StringPtr(greTunnelID), } } // SetTransitGatewayID : Allow user to set TransitGatewayID -func (_options *GetTransitGatewayConnectionOptions) SetTransitGatewayID(transitGatewayID string) *GetTransitGatewayConnectionOptions { +func (_options *GetTransitGatewayConnectionTunnelsOptions) SetTransitGatewayID(transitGatewayID string) *GetTransitGatewayConnectionTunnelsOptions { _options.TransitGatewayID = core.StringPtr(transitGatewayID) return _options } // SetID : Allow user to set ID -func (_options *GetTransitGatewayConnectionOptions) SetID(id string) *GetTransitGatewayConnectionOptions { +func (_options *GetTransitGatewayConnectionTunnelsOptions) SetID(id string) *GetTransitGatewayConnectionTunnelsOptions { _options.ID = core.StringPtr(id) return _options } +// SetGreTunnelID : Allow user to set GreTunnelID +func (_options *GetTransitGatewayConnectionTunnelsOptions) SetGreTunnelID(greTunnelID string) *GetTransitGatewayConnectionTunnelsOptions { + _options.GreTunnelID = core.StringPtr(greTunnelID) + return _options +} + // SetHeaders : Allow user to set Headers -func (options *GetTransitGatewayConnectionOptions) SetHeaders(param map[string]string) *GetTransitGatewayConnectionOptions { +func (options *GetTransitGatewayConnectionTunnelsOptions) SetHeaders(param map[string]string) *GetTransitGatewayConnectionTunnelsOptions { options.Headers = param return options } -// GetTransitGatewayConnectionPrefixFilterOptions : The GetTransitGatewayConnectionPrefixFilter options. -type GetTransitGatewayConnectionPrefixFilterOptions struct { +// GetTransitGatewayGreTunnelOptions : The GetTransitGatewayGreTunnel options. +type GetTransitGatewayGreTunnelOptions struct { // The Transit Gateway identifier. TransitGatewayID *string `json:"transit_gateway_id" validate:"required,ne="` // The connection identifier. ID *string `json:"id" validate:"required,ne="` - // Prefix filter identifier. - FilterID *string `json:"filter_id" validate:"required,ne="` - // Allows users to set headers on API requests Headers map[string]string } -// NewGetTransitGatewayConnectionPrefixFilterOptions : Instantiate GetTransitGatewayConnectionPrefixFilterOptions -func (*TransitGatewayApisV1) NewGetTransitGatewayConnectionPrefixFilterOptions(transitGatewayID string, id string, filterID string) *GetTransitGatewayConnectionPrefixFilterOptions { - return &GetTransitGatewayConnectionPrefixFilterOptions{ +// NewGetTransitGatewayGreTunnelOptions : Instantiate GetTransitGatewayGreTunnelOptions +func (*TransitGatewayApisV1) NewGetTransitGatewayGreTunnelOptions(transitGatewayID string, id string) *GetTransitGatewayGreTunnelOptions { + return &GetTransitGatewayGreTunnelOptions{ TransitGatewayID: core.StringPtr(transitGatewayID), - ID: core.StringPtr(id), - FilterID: core.StringPtr(filterID), + ID: core.StringPtr(id), } } // SetTransitGatewayID : Allow user to set TransitGatewayID -func (_options *GetTransitGatewayConnectionPrefixFilterOptions) SetTransitGatewayID(transitGatewayID string) *GetTransitGatewayConnectionPrefixFilterOptions { +func (_options *GetTransitGatewayGreTunnelOptions) SetTransitGatewayID(transitGatewayID string) *GetTransitGatewayGreTunnelOptions { _options.TransitGatewayID = core.StringPtr(transitGatewayID) return _options } // SetID : Allow user to set ID -func (_options *GetTransitGatewayConnectionPrefixFilterOptions) SetID(id string) *GetTransitGatewayConnectionPrefixFilterOptions { +func (_options *GetTransitGatewayGreTunnelOptions) SetID(id string) *GetTransitGatewayGreTunnelOptions { _options.ID = core.StringPtr(id) return _options } -// SetFilterID : Allow user to set FilterID -func (_options *GetTransitGatewayConnectionPrefixFilterOptions) SetFilterID(filterID string) *GetTransitGatewayConnectionPrefixFilterOptions { - _options.FilterID = core.StringPtr(filterID) - return _options -} - // SetHeaders : Allow user to set Headers -func (options *GetTransitGatewayConnectionPrefixFilterOptions) SetHeaders(param map[string]string) *GetTransitGatewayConnectionPrefixFilterOptions { +func (options *GetTransitGatewayGreTunnelOptions) SetHeaders(param map[string]string) *GetTransitGatewayGreTunnelOptions { options.Headers = param return options } @@ -2578,7 +3185,7 @@ type GetTransitGatewayRouteReportOptions struct { func (*TransitGatewayApisV1) NewGetTransitGatewayRouteReportOptions(transitGatewayID string, id string) *GetTransitGatewayRouteReportOptions { return &GetTransitGatewayRouteReportOptions{ TransitGatewayID: core.StringPtr(transitGatewayID), - ID: core.StringPtr(id), + ID: core.StringPtr(id), } } @@ -2600,6 +3207,23 @@ func (options *GetTransitGatewayRouteReportOptions) SetHeaders(param map[string] return options } +// GreTunnelZoneReference : Location of GRE tunnel. This field only applies to network type 'gre_tunnel' connections. +type GreTunnelZoneReference struct { + // Availability zone name. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalGreTunnelZoneReference unmarshals an instance of GreTunnelZoneReference from the specified map of raw messages. +func UnmarshalGreTunnelZoneReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(GreTunnelZoneReference) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + // ListConnectionsOptions : The ListConnections options. type ListConnectionsOptions struct { // The maximum number of resources to return per page. @@ -2678,7 +3302,7 @@ type ListTransitGatewayConnectionPrefixFiltersOptions struct { func (*TransitGatewayApisV1) NewListTransitGatewayConnectionPrefixFiltersOptions(transitGatewayID string, id string) *ListTransitGatewayConnectionPrefixFiltersOptions { return &ListTransitGatewayConnectionPrefixFiltersOptions{ TransitGatewayID: core.StringPtr(transitGatewayID), - ID: core.StringPtr(id), + ID: core.StringPtr(id), } } @@ -3008,7 +3632,7 @@ type PrefixFilterCust struct { // Constants associated with the PrefixFilterCust.Action property. // Whether or not this prefix filter should allow or deny prefixes matching this filter's prefix definition. const ( - PrefixFilterCust_Action_Deny = "deny" + PrefixFilterCust_Action_Deny = "deny" PrefixFilterCust_Action_Permit = "permit" ) @@ -3083,7 +3707,7 @@ type PrefixFilterPut struct { // Constants associated with the PrefixFilterPut.Action property. // Whether or not this prefix filter should allow or deny prefixes matching this filter's prefix definition. const ( - PrefixFilterPut_Action_Deny = "deny" + PrefixFilterPut_Action_Deny = "deny" PrefixFilterPut_Action_Permit = "permit" ) @@ -3120,6 +3744,173 @@ func UnmarshalPrefixFilterPut(m map[string]json.RawMessage, result interface{}) return } +// RedundantGRETunnelCollection : Collection of all tunnels for redundant gre connection. +type RedundantGRETunnelCollection struct { + // Collection of all tunnels for redundant gre connection. + Tunnels []RedundantGRETunnelReference `json:"tunnels" validate:"required"` +} + +// UnmarshalRedundantGRETunnelCollection unmarshals an instance of RedundantGRETunnelCollection from the specified map of raw messages. +func UnmarshalRedundantGRETunnelCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RedundantGRETunnelCollection) + err = core.UnmarshalModel(m, "tunnels", &obj.Tunnels, UnmarshalRedundantGRETunnelReference) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RedundantGRETunnelReference : Details for a redundant GRE tunnel. +type RedundantGRETunnelReference struct { + // The type of network the redundant GRE tunnel is targeting. + BaseNetworkType *string `json:"base_network_type" validate:"required"` + + // The date and time that this GRE tunnel was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The unique identifier for this redundant GRE tunnel. + ID *string `json:"id" validate:"required"` + + // Local network BGP ASN. It is assigned by IBM when the tunnel is created. + LocalBgpAsn *int64 `json:"local_bgp_asn" validate:"required"` + + // Local gateway IP address. + LocalGatewayIp *string `json:"local_gateway_ip" validate:"required"` + + // Local tunnel IP address. The local_tunnel_ip and remote_tunnel_ip addresses must be in the same /30 network. Neither + // can be the network nor broadcast addresses. + LocalTunnelIp *string `json:"local_tunnel_ip" validate:"required"` + + // GRE tunnel MTU. + Mtu *int64 `json:"mtu" validate:"required"` + + // The user-defined name for this tunnel. + Name *string `json:"name" validate:"required"` + + // The ID of the account for cross account Classic connections. This field is required when the GRE tunnel is in a + // different account than the gateway and the base network is Classic. + NetworkAccountID *string `json:"network_account_id,omitempty"` + + // The ID of the network VPC being connected via this connection. + NetworkID *string `json:"network_id,omitempty"` + + // Remote network BGP ASN. The following ASN values are reserved and unavailable 0, 13884, 36351, 64512-64513, 65100, + // 65200-65234, 65402-65433, 65500 and 4201065000-4201065999. If 'remote_bgp_asn' is omitted on create requests, IBM + // will assign an ASN. + RemoteBgpAsn *int64 `json:"remote_bgp_asn" validate:"required"` + + // Remote gateway IP address. + RemoteGatewayIp *string `json:"remote_gateway_ip" validate:"required"` + + // Remote tunnel IP address. The local_tunnel_ip and remote_tunnel_ip addresses must be in the same /30 network. + // Neither can be the network nor broadcast addresses. + RemoteTunnelIp *string `json:"remote_tunnel_ip" validate:"required"` + + // Tunnel's current configuration state. The list of enumerated values for this property may expand in the future. Code + // and processes using this field must tolerate unexpected values. + Status *string `json:"status" validate:"required"` + + // The date and time that this tunnel was last updated. + UpdatedAt *strfmt.DateTime `json:"updated_at" validate:"required"` + + // The tunnel's location. The specified availability zone must reside in the gateway's region. Use the IBM Cloud + // global catalog to list zones within the desired region. + Zone *RgreTunnelZoneReference `json:"zone" validate:"required"` +} + +// Constants associated with the RedundantGRETunnelReference.BaseNetworkType property. +// The type of network the redundant GRE tunnel is targeting. +const ( + RedundantGRETunnelReference_BaseNetworkType_Classic = "classic" + RedundantGRETunnelReference_BaseNetworkType_Vpc = "vpc" +) + +// Constants associated with the RedundantGRETunnelReference.Status property. +// Tunnel's current configuration state. The list of enumerated values for this property may expand in the future. Code +// and processes using this field must tolerate unexpected values. +const ( + RedundantGRETunnelReference_Status_Attached = "attached" + RedundantGRETunnelReference_Status_Deleting = "deleting" + RedundantGRETunnelReference_Status_Detached = "detached" + RedundantGRETunnelReference_Status_Detaching = "detaching" + RedundantGRETunnelReference_Status_Failed = "failed" + RedundantGRETunnelReference_Status_Pending = "pending" + RedundantGRETunnelReference_Status_Suspended = "suspended" + RedundantGRETunnelReference_Status_Suspending = "suspending" +) + +// UnmarshalRedundantGRETunnelReference unmarshals an instance of RedundantGRETunnelReference from the specified map of raw messages. +func UnmarshalRedundantGRETunnelReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RedundantGRETunnelReference) + err = core.UnmarshalPrimitive(m, "base_network_type", &obj.BaseNetworkType) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "local_bgp_asn", &obj.LocalBgpAsn) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "local_gateway_ip", &obj.LocalGatewayIp) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "local_tunnel_ip", &obj.LocalTunnelIp) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "mtu", &obj.Mtu) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "network_account_id", &obj.NetworkAccountID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "network_id", &obj.NetworkID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "remote_bgp_asn", &obj.RemoteBgpAsn) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "remote_gateway_ip", &obj.RemoteGatewayIp) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "remote_tunnel_ip", &obj.RemoteTunnelIp) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalRgreTunnelZoneReference) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + // ReplaceTransitGatewayConnectionPrefixFilterOptions : The ReplaceTransitGatewayConnectionPrefixFilter options. type ReplaceTransitGatewayConnectionPrefixFilterOptions struct { // The Transit Gateway identifier. @@ -3139,8 +3930,8 @@ type ReplaceTransitGatewayConnectionPrefixFilterOptions struct { func (*TransitGatewayApisV1) NewReplaceTransitGatewayConnectionPrefixFilterOptions(transitGatewayID string, id string, prefixFilters []PrefixFilterPut) *ReplaceTransitGatewayConnectionPrefixFilterOptions { return &ReplaceTransitGatewayConnectionPrefixFilterOptions{ TransitGatewayID: core.StringPtr(transitGatewayID), - ID: core.StringPtr(id), - PrefixFilters: prefixFilters, + ID: core.StringPtr(id), + PrefixFilters: prefixFilters, } } @@ -3198,21 +3989,39 @@ func UnmarshalResourceGroupIdentity(m map[string]json.RawMessage, result interfa // ResourceGroupReference : The resource group to use. If unspecified, the account's [default resource // group](https://console.bluemix.net/apidocs/resource-manager#introduction) is used. type ResourceGroupReference struct { - // The unique identifier for this resource group. - ID *string `json:"id" validate:"required"` - // The URL for this resource group. Href *string `json:"href" validate:"required"` + + // The unique identifier for this resource group. + ID *string `json:"id" validate:"required"` } // UnmarshalResourceGroupReference unmarshals an instance of ResourceGroupReference from the specified map of raw messages. func UnmarshalResourceGroupReference(m map[string]json.RawMessage, result interface{}) (err error) { obj := new(ResourceGroupReference) + err = core.UnmarshalPrimitive(m, "href", &obj.Href) + if err != nil { + return + } err = core.UnmarshalPrimitive(m, "id", &obj.ID) if err != nil { return } - err = core.UnmarshalPrimitive(m, "href", &obj.Href) + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// RgreTunnelZoneReference : The tunnel's location. The specified availability zone must reside in the gateway's region. Use the IBM Cloud global +// catalog to list zones within the desired region. +type RgreTunnelZoneReference struct { + // Availability zone name. + Name *string `json:"name" validate:"required"` +} + +// UnmarshalRgreTunnelZoneReference unmarshals an instance of RgreTunnelZoneReference from the specified map of raw messages. +func UnmarshalRgreTunnelZoneReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(RgreTunnelZoneReference) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) if err != nil { return } @@ -3247,7 +4056,7 @@ type RouteReport struct { // using this field must tolerate unexpected values. const ( RouteReport_Status_Complete = "complete" - RouteReport_Status_Pending = "pending" + RouteReport_Status_Pending = "pending" ) // UnmarshalRouteReport unmarshals an instance of RouteReport from the specified map of raw messages. @@ -3478,7 +4287,7 @@ type TSLocalLocation struct { // list of enumerated values for this property may expand in the future. Code and processes using this field must // tolerate unexpected values. const ( - TSLocalLocation_Type_Dc = "dc" + TSLocalLocation_Type_Dc = "dc" TSLocalLocation_Type_Region = "region" ) @@ -3518,6 +4327,9 @@ type TSLocation struct { // The set of network locations that are considered local for this Transit Gateway location. LocalConnectionLocations []TSLocalLocation `json:"local_connection_locations" validate:"required"` + + // List of valid zones for GRE tunnels. + Zones []ZoneReferenceCollection `json:"zones" validate:"required"` } // UnmarshalTSLocation unmarshals an instance of TSLocation from the specified map of raw messages. @@ -3539,6 +4351,10 @@ func UnmarshalTSLocation(m map[string]json.RawMessage, result interface{}) (err if err != nil { return } + err = core.UnmarshalModel(m, "zones", &obj.Zones, UnmarshalZoneReferenceCollection) + if err != nil { + return + } reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) return } @@ -3574,99 +4390,123 @@ func UnmarshalTSLocationBasic(m map[string]json.RawMessage, result interface{}) return } -// TransitConnection : Transit gateway connection. +// TransitConnection : Connection included in transit gateway. type TransitConnection struct { - // network_type 'gre_tunnel' connections use 'base_connection_id' to specify the id of a network_type 'classic' + // The type of network the GRE tunnel is targeting. + BaseNetworkType *string `json:"base_network_type,omitempty"` + + // The user-defined name for this transit gateway connection. + Name *string `json:"name" validate:"required"` + + // The ID of the network being connected via this connection. This field is required for some types, such as 'vpc', + // 'power_virtual_server', 'directlink' and 'redundant_gre'. For network types 'vpc', 'redundant_gre', + // 'power_virtual_server' and 'directlink' this is the CRN of the VPC / PowerVS / Direct Link gateway respectively. + NetworkID *string `json:"network_id,omitempty"` + + // Defines what type of network is connected via this connection. The list of enumerated values for this property may + // expand in the future. Code and processes using this field must tolerate unexpected values. + NetworkType *string `json:"network_type" validate:"required"` + + // The unique identifier for this Transit Gateway Connection. + ID *string `json:"id" validate:"required"` + + // network_type 'gre_tunnel' connections use 'base_connection_id' to specify the ID of a network_type 'classic' // connection the tunnel is configured over. The specified connection must reside in the same transit gateway and be in // an active state. The 'classic' connection cannot be deleted until any 'gre_tunnel' connections using it are deleted. // This field only applies to and is required for network type 'gre_tunnel' connections. + // Deprecated: this field is deprecated and may be removed in a future release. BaseConnectionID *string `json:"base_connection_id,omitempty"` // The date and time that this connection was created. CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` - // The unique identifier for this connection. - ID *string `json:"id" validate:"required"` - - // Local network BGP ASN. This field only applies to network type 'gre_tunnel' connections. + // Local network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. LocalBgpAsn *int64 `json:"local_bgp_asn,omitempty"` - // Local gateway IP address. This field only applies to network type 'gre_tunnel' connections. + // Local gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' + // connections. LocalGatewayIp *string `json:"local_gateway_ip,omitempty"` - // Local tunnel IP address. This field only applies to network type 'gre_tunnel' connections. + // Local tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. LocalTunnelIp *string `json:"local_tunnel_ip,omitempty"` - // GRE tunnel MTU. This field only applies to network type 'gre_tunnel' connections. + // GRE tunnel MTU. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. Mtu *int64 `json:"mtu,omitempty"` - // The user-defined name for this transit gateway connection. - Name *string `json:"name" validate:"required"` - // The ID of the account which owns the connected network. Generally only used if the network is in a different IBM // Cloud account than the gateway. NetworkAccountID *string `json:"network_account_id,omitempty"` - // The ID of the network being connected via this connection. This field is required for some types, such as 'vpc', - // 'power_virtual_server' and 'directlink'. For network types 'vpc','power_virtual_server' and 'directlink' this is the - // CRN of the VPC / PowerVS / Direct Link gateway respectively. - NetworkID *string `json:"network_id,omitempty"` - - // Defines what type of network is connected via this connection. The list of enumerated values for this property may - // expand in the future. Code and processes using this field must tolerate unexpected values. - NetworkType *string `json:"network_type" validate:"required"` - // Array of prefix route filters for a transit gateway connection. This is order dependent with those first in the // array being applied first, and those at the end of the array is applied last, or just before the default. + // + // This field does not apply to the 'redundant_gre' network type. PrefixFilters []TransitGatewayConnectionPrefixFilterReference `json:"prefix_filters,omitempty"` // Default setting of permit or deny which applies to any routes that don't match a specified filter. - PrefixFiltersDefault *string `json:"prefix_filters_default" validate:"required"` + // + // This field does not apply to the 'redundant_gre' network type. + PrefixFiltersDefault *string `json:"prefix_filters_default,omitempty"` - // Remote network BGP ASN. This field only applies to network type 'gre_tunnel' connections. + // Remote network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. RemoteBgpAsn *int64 `json:"remote_bgp_asn,omitempty"` - // Remote gateway IP address. This field only applies to network type 'gre_tunnel' connections. + // Remote gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' + // connections. RemoteGatewayIp *string `json:"remote_gateway_ip,omitempty"` - // Remote tunnel IP address. This field only applies to network type 'gre_tunnel' connections. + // Remote tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' + // connections. RemoteTunnelIp *string `json:"remote_tunnel_ip,omitempty"` // Only visible for cross account connections, this field represents the status of a connection request between IBM // Cloud accounts. The list of enumerated values for this property may expand in the future. Code and processes using // this field must tolerate unexpected values. - RequestStatus *string `json:"request_status,omitempty"` + RequestStatus *string `json:"request_status" validate:"required"` - // Connection state. The list of enumerated values for this property may expand in the future. Code and processes using - // this field must tolerate unexpected values. + // Connection's current configuration state. The list of enumerated values for this property may expand in the future. + // Code and processes using this field must tolerate unexpected values. Status *string `json:"status" validate:"required"` - // Reference to the transit gateway that contains this connection. + // Transit gateway reference. TransitGateway *TransitGatewayReference `json:"transit_gateway" validate:"required"` + // Collection of all tunnels for 'redundant_gre' connection. + Tunnels []TransitGatewayRedundantGRETunnelReference `json:"tunnels,omitempty"` + // The date and time that this connection was last updated. - UpdatedAt *strfmt.DateTime `json:"updated_at,omitempty"` + UpdatedAt *strfmt.DateTime `json:"updated_at" validate:"required"` // Location of GRE tunnel. This field only applies to network type 'gre_tunnel' connections. - Zone *ZoneReference `json:"zone,omitempty"` + Zone *GreTunnelZoneReference `json:"zone,omitempty"` } +// Constants associated with the TransitConnection.BaseNetworkType property. +// The type of network the GRE tunnel is targeting. +const ( + TransitConnection_BaseNetworkType_Classic = "classic" + TransitConnection_BaseNetworkType_Vpc = "vpc" +) + // Constants associated with the TransitConnection.NetworkType property. // Defines what type of network is connected via this connection. The list of enumerated values for this property may // expand in the future. Code and processes using this field must tolerate unexpected values. const ( - TransitConnection_NetworkType_Classic = "classic" - TransitConnection_NetworkType_Directlink = "directlink" - TransitConnection_NetworkType_GreTunnel = "gre_tunnel" + TransitConnection_NetworkType_Classic = "classic" + TransitConnection_NetworkType_Directlink = "directlink" + TransitConnection_NetworkType_GreTunnel = "gre_tunnel" TransitConnection_NetworkType_PowerVirtualServer = "power_virtual_server" - TransitConnection_NetworkType_UnboundGreTunnel = "unbound_gre_tunnel" - TransitConnection_NetworkType_Vpc = "vpc" + TransitConnection_NetworkType_RedundantGre = "redundant_gre" + TransitConnection_NetworkType_UnboundGreTunnel = "unbound_gre_tunnel" + TransitConnection_NetworkType_Vpc = "vpc" ) // Constants associated with the TransitConnection.PrefixFiltersDefault property. // Default setting of permit or deny which applies to any routes that don't match a specified filter. +// +// This field does not apply to the 'redundant_gre' network type. const ( - TransitConnection_PrefixFiltersDefault_Deny = "deny" + TransitConnection_PrefixFiltersDefault_Deny = "deny" TransitConnection_PrefixFiltersDefault_Permit = "permit" ) @@ -3677,70 +4517,74 @@ const ( const ( TransitConnection_RequestStatus_Approved = "approved" TransitConnection_RequestStatus_Detached = "detached" - TransitConnection_RequestStatus_Expired = "expired" - TransitConnection_RequestStatus_Pending = "pending" + TransitConnection_RequestStatus_Expired = "expired" + TransitConnection_RequestStatus_Pending = "pending" TransitConnection_RequestStatus_Rejected = "rejected" ) // Constants associated with the TransitConnection.Status property. -// Connection state. The list of enumerated values for this property may expand in the future. Code and processes using -// this field must tolerate unexpected values. +// Connection's current configuration state. The list of enumerated values for this property may expand in the future. +// Code and processes using this field must tolerate unexpected values. const ( - TransitConnection_Status_Attached = "attached" - TransitConnection_Status_Deleting = "deleting" - TransitConnection_Status_Detached = "detached" - TransitConnection_Status_Detaching = "detaching" - TransitConnection_Status_Failed = "failed" + TransitConnection_Status_Attached = "attached" + TransitConnection_Status_Deleting = "deleting" + TransitConnection_Status_Detached = "detached" + TransitConnection_Status_Detaching = "detaching" + TransitConnection_Status_Failed = "failed" TransitConnection_Status_NetworkPending = "network_pending" - TransitConnection_Status_Pending = "pending" - TransitConnection_Status_Suspended = "suspended" - TransitConnection_Status_Suspending = "suspending" + TransitConnection_Status_Pending = "pending" + TransitConnection_Status_Suspended = "suspended" + TransitConnection_Status_Suspending = "suspending" ) // UnmarshalTransitConnection unmarshals an instance of TransitConnection from the specified map of raw messages. func UnmarshalTransitConnection(m map[string]json.RawMessage, result interface{}) (err error) { obj := new(TransitConnection) - err = core.UnmarshalPrimitive(m, "base_connection_id", &obj.BaseConnectionID) + err = core.UnmarshalPrimitive(m, "base_network_type", &obj.BaseNetworkType) if err != nil { return } - err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + err = core.UnmarshalPrimitive(m, "name", &obj.Name) if err != nil { return } - err = core.UnmarshalPrimitive(m, "id", &obj.ID) + err = core.UnmarshalPrimitive(m, "network_id", &obj.NetworkID) if err != nil { return } - err = core.UnmarshalPrimitive(m, "local_bgp_asn", &obj.LocalBgpAsn) + err = core.UnmarshalPrimitive(m, "network_type", &obj.NetworkType) if err != nil { return } - err = core.UnmarshalPrimitive(m, "local_gateway_ip", &obj.LocalGatewayIp) + err = core.UnmarshalPrimitive(m, "id", &obj.ID) if err != nil { return } - err = core.UnmarshalPrimitive(m, "local_tunnel_ip", &obj.LocalTunnelIp) + err = core.UnmarshalPrimitive(m, "base_connection_id", &obj.BaseConnectionID) if err != nil { return } - err = core.UnmarshalPrimitive(m, "mtu", &obj.Mtu) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) if err != nil { return } - err = core.UnmarshalPrimitive(m, "name", &obj.Name) + err = core.UnmarshalPrimitive(m, "local_bgp_asn", &obj.LocalBgpAsn) if err != nil { return } - err = core.UnmarshalPrimitive(m, "network_account_id", &obj.NetworkAccountID) + err = core.UnmarshalPrimitive(m, "local_gateway_ip", &obj.LocalGatewayIp) if err != nil { return } - err = core.UnmarshalPrimitive(m, "network_id", &obj.NetworkID) + err = core.UnmarshalPrimitive(m, "local_tunnel_ip", &obj.LocalTunnelIp) if err != nil { return } - err = core.UnmarshalPrimitive(m, "network_type", &obj.NetworkType) + err = core.UnmarshalPrimitive(m, "mtu", &obj.Mtu) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "network_account_id", &obj.NetworkAccountID) if err != nil { return } @@ -3776,11 +4620,15 @@ func UnmarshalTransitConnection(m map[string]json.RawMessage, result interface{} if err != nil { return } + err = core.UnmarshalModel(m, "tunnels", &obj.Tunnels, UnmarshalTransitGatewayRedundantGRETunnelReference) + if err != nil { + return + } err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) if err != nil { return } - err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneReference) + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalGreTunnelZoneReference) if err != nil { return } @@ -3870,11 +4718,11 @@ type TransitGateway struct { // The status of the Transit Gateway. The list of enumerated values for this property may expand in the future. Code and // processes using this field must tolerate unexpected values. const ( - TransitGateway_Status_Available = "available" - TransitGateway_Status_Deleting = "deleting" - TransitGateway_Status_Failed = "failed" - TransitGateway_Status_Pending = "pending" - TransitGateway_Status_Suspended = "suspended" + TransitGateway_Status_Available = "available" + TransitGateway_Status_Deleting = "deleting" + TransitGateway_Status_Failed = "failed" + TransitGateway_Status_Pending = "pending" + TransitGateway_Status_Suspended = "suspended" TransitGateway_Status_Suspending = "suspending" ) @@ -3897,61 +4745,305 @@ func UnmarshalTransitGateway(m map[string]json.RawMessage, result interface{}) ( if err != nil { return } - err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "global", &obj.Global) + if err != nil { + return + } + err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// TransitGatewayCollection : A list of Transit Gateways. +type TransitGatewayCollection struct { + // A reference to the first page of resources. + First *PaginationFirstTG `json:"first" validate:"required"` + + // The maximum number of gateways returned on one request. + Limit *int64 `json:"limit" validate:"required"` + + // A reference to the next page of resources; this reference is included for all pages except the last page. + Next *PaginationNextTG `json:"next,omitempty"` + + // Collection of Transit Services gateways. + TransitGateways []TransitGateway `json:"transit_gateways" validate:"required"` +} + +// UnmarshalTransitGatewayCollection unmarshals an instance of TransitGatewayCollection from the specified map of raw messages. +func UnmarshalTransitGatewayCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(TransitGatewayCollection) + err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPaginationFirstTG) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + if err != nil { + return + } + err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPaginationNextTG) + if err != nil { + return + } + err = core.UnmarshalModel(m, "transit_gateways", &obj.TransitGateways, UnmarshalTransitGateway) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// Retrieve the value to be passed to a request to access the next page of results +func (resp *TransitGatewayCollection) GetNextStart() (*string, error) { + if core.IsNil(resp.Next) { + return nil, nil + } + return resp.Next.Start, nil +} + +// TransitGatewayConnection : Connection included in transit gateway. +type TransitGatewayConnection struct { + // The type of network the GRE tunnel is targeting. + BaseNetworkType *string `json:"base_network_type,omitempty"` + + // The user-defined name for this transit gateway connection. + Name *string `json:"name" validate:"required"` + + // The ID of the network being connected via this connection. This field is required for some types, such as 'vpc', + // 'power_virtual_server', 'directlink' and 'redundant_gre'. For network types 'vpc', 'redundant_gre', + // 'power_virtual_server' and 'directlink' this is the CRN of the VPC / PowerVS / Direct Link gateway respectively. + NetworkID *string `json:"network_id,omitempty"` + + // Defines what type of network is connected via this connection. The list of enumerated values for this property may + // expand in the future. Code and processes using this field must tolerate unexpected values. + NetworkType *string `json:"network_type" validate:"required"` + + // The unique identifier for this Transit Gateway Connection. + ID *string `json:"id" validate:"required"` + + // network_type 'gre_tunnel' connections use 'base_connection_id' to specify the ID of a network_type 'classic' + // connection the tunnel is configured over. The specified connection must reside in the same transit gateway and be in + // an active state. The 'classic' connection cannot be deleted until any 'gre_tunnel' connections using it are deleted. + // This field only applies to and is required for network type 'gre_tunnel' connections. + // Deprecated: this field is deprecated and may be removed in a future release. + BaseConnectionID *string `json:"base_connection_id,omitempty"` + + // The date and time that this connection was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // Local network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalBgpAsn *int64 `json:"local_bgp_asn,omitempty"` + + // Local gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' + // connections. + LocalGatewayIp *string `json:"local_gateway_ip,omitempty"` + + // Local tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + LocalTunnelIp *string `json:"local_tunnel_ip,omitempty"` + + // GRE tunnel MTU. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + Mtu *int64 `json:"mtu,omitempty"` + + // The ID of the account which owns the connected network. Generally only used if the network is in a different IBM + // Cloud account than the gateway. + NetworkAccountID *string `json:"network_account_id,omitempty"` + + // Array of prefix route filters for a transit gateway connection. This is order dependent with those first in the + // array being applied first, and those at the end of the array is applied last, or just before the default. This field + // does not apply to the 'redundant_gre' network type. + PrefixFilters []TransitGatewayConnectionPrefixFilterReference `json:"prefix_filters,omitempty"` + + // Default setting of permit or deny which applies to any routes that don't match a specified filter. This field does + // not apply to the 'redundant_gre' network type. + PrefixFiltersDefault *string `json:"prefix_filters_default,omitempty"` + + // Remote network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. + RemoteBgpAsn *int64 `json:"remote_bgp_asn,omitempty"` + + // Remote gateway IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' + // connections. + RemoteGatewayIp *string `json:"remote_gateway_ip,omitempty"` + + // Remote tunnel IP address. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' + // connections. + RemoteTunnelIp *string `json:"remote_tunnel_ip,omitempty"` + + // Only visible for cross account connections, this field represents the status of a connection request between IBM + // Cloud accounts. The list of enumerated values for this property may expand in the future. Code and processes using + // this field must tolerate unexpected values. + RequestStatus *string `json:"request_status" validate:"required"` + + // Connection's current configuration state. The list of enumerated values for this property may expand in the future. + // Code and processes using this field must tolerate unexpected values. + Status *string `json:"status" validate:"required"` + + // Collection of all tunnels for 'redundant_gre' connection. + Tunnels []TransitGatewayRedundantGRETunnelReference `json:"tunnels,omitempty"` + + // The date and time that this connection was last updated. + UpdatedAt *strfmt.DateTime `json:"updated_at" validate:"required"` + + // Location of GRE tunnel. This field only applies to network type 'gre_tunnel' connections. + Zone *GreTunnelZoneReference `json:"zone,omitempty"` +} + +// Constants associated with the TransitGatewayConnection.BaseNetworkType property. +// The type of network the GRE tunnel is targeting. +const ( + TransitGatewayConnection_BaseNetworkType_Classic = "classic" + TransitGatewayConnection_BaseNetworkType_Vpc = "vpc" +) + +// Constants associated with the TransitGatewayConnection.NetworkType property. +// Defines what type of network is connected via this connection. The list of enumerated values for this property may +// expand in the future. Code and processes using this field must tolerate unexpected values. +const ( + TransitGatewayConnection_NetworkType_Classic = "classic" + TransitGatewayConnection_NetworkType_Directlink = "directlink" + TransitGatewayConnection_NetworkType_GreTunnel = "gre_tunnel" + TransitGatewayConnection_NetworkType_PowerVirtualServer = "power_virtual_server" + TransitGatewayConnection_NetworkType_RedundantGre = "redundant_gre" + TransitGatewayConnection_NetworkType_UnboundGreTunnel = "unbound_gre_tunnel" + TransitGatewayConnection_NetworkType_Vpc = "vpc" +) + +// Constants associated with the TransitGatewayConnection.PrefixFiltersDefault property. +// Default setting of permit or deny which applies to any routes that don't match a specified filter. This field does +// not apply to the 'redundant_gre' network type. +const ( + TransitGatewayConnection_PrefixFiltersDefault_Deny = "deny" + TransitGatewayConnection_PrefixFiltersDefault_Permit = "permit" +) + +// Constants associated with the TransitGatewayConnection.RequestStatus property. +// Only visible for cross account connections, this field represents the status of a connection request between IBM +// Cloud accounts. The list of enumerated values for this property may expand in the future. Code and processes using +// this field must tolerate unexpected values. +const ( + TransitGatewayConnection_RequestStatus_Approved = "approved" + TransitGatewayConnection_RequestStatus_Detached = "detached" + TransitGatewayConnection_RequestStatus_Expired = "expired" + TransitGatewayConnection_RequestStatus_Pending = "pending" + TransitGatewayConnection_RequestStatus_Rejected = "rejected" +) + +// Constants associated with the TransitGatewayConnection.Status property. +// Connection's current configuration state. The list of enumerated values for this property may expand in the future. +// Code and processes using this field must tolerate unexpected values. +const ( + TransitGatewayConnection_Status_Attached = "attached" + TransitGatewayConnection_Status_Deleting = "deleting" + TransitGatewayConnection_Status_Detached = "detached" + TransitGatewayConnection_Status_Detaching = "detaching" + TransitGatewayConnection_Status_Failed = "failed" + TransitGatewayConnection_Status_NetworkPending = "network_pending" + TransitGatewayConnection_Status_Pending = "pending" + TransitGatewayConnection_Status_Suspended = "suspended" + TransitGatewayConnection_Status_Suspending = "suspending" +) + +// UnmarshalTransitGatewayConnection unmarshals an instance of TransitGatewayConnection from the specified map of raw messages. +func UnmarshalTransitGatewayConnection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(TransitGatewayConnection) + err = core.UnmarshalPrimitive(m, "base_network_type", &obj.BaseNetworkType) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "network_id", &obj.NetworkID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "network_type", &obj.NetworkType) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "base_connection_id", &obj.BaseConnectionID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "local_bgp_asn", &obj.LocalBgpAsn) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "local_gateway_ip", &obj.LocalGatewayIp) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "local_tunnel_ip", &obj.LocalTunnelIp) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "mtu", &obj.Mtu) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "network_account_id", &obj.NetworkAccountID) + if err != nil { + return + } + err = core.UnmarshalModel(m, "prefix_filters", &obj.PrefixFilters, UnmarshalTransitGatewayConnectionPrefixFilterReference) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "prefix_filters_default", &obj.PrefixFiltersDefault) if err != nil { return } - err = core.UnmarshalPrimitive(m, "global", &obj.Global) + err = core.UnmarshalPrimitive(m, "remote_bgp_asn", &obj.RemoteBgpAsn) if err != nil { return } - err = core.UnmarshalModel(m, "resource_group", &obj.ResourceGroup, UnmarshalResourceGroupReference) + err = core.UnmarshalPrimitive(m, "remote_gateway_ip", &obj.RemoteGatewayIp) if err != nil { return } - err = core.UnmarshalPrimitive(m, "status", &obj.Status) + err = core.UnmarshalPrimitive(m, "remote_tunnel_ip", &obj.RemoteTunnelIp) if err != nil { return } - err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + err = core.UnmarshalPrimitive(m, "request_status", &obj.RequestStatus) if err != nil { return } - reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) - return -} - -// TransitGatewayCollection : A list of Transit Gateways. -type TransitGatewayCollection struct { - // A reference to the first page of resources. - First *PaginationFirstTG `json:"first" validate:"required"` - - // The maximum number of gateways returned on one request. - Limit *int64 `json:"limit" validate:"required"` - - // A reference to the next page of resources; this reference is included for all pages except the last page. - Next *PaginationNextTG `json:"next,omitempty"` - - // Collection of Transit Services gateways. - TransitGateways []TransitGateway `json:"transit_gateways" validate:"required"` -} - -// UnmarshalTransitGatewayCollection unmarshals an instance of TransitGatewayCollection from the specified map of raw messages. -func UnmarshalTransitGatewayCollection(m map[string]json.RawMessage, result interface{}) (err error) { - obj := new(TransitGatewayCollection) - err = core.UnmarshalModel(m, "first", &obj.First, UnmarshalPaginationFirstTG) + err = core.UnmarshalPrimitive(m, "status", &obj.Status) if err != nil { return } - err = core.UnmarshalPrimitive(m, "limit", &obj.Limit) + err = core.UnmarshalModel(m, "tunnels", &obj.Tunnels, UnmarshalTransitGatewayRedundantGRETunnelReference) if err != nil { return } - err = core.UnmarshalModel(m, "next", &obj.Next, UnmarshalPaginationNextTG) + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) if err != nil { return } - err = core.UnmarshalModel(m, "transit_gateways", &obj.TransitGateways, UnmarshalTransitGateway) + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalGreTunnelZoneReference) if err != nil { return } @@ -3959,38 +5051,30 @@ func UnmarshalTransitGatewayCollection(m map[string]json.RawMessage, result inte return } -// Retrieve the value to be passed to a request to access the next page of results -func (resp *TransitGatewayCollection) GetNextStart() (*string, error) { - if core.IsNil(resp.Next) { - return nil, nil - } - return resp.Next.Start, nil -} - // TransitGatewayConnectionCollection : A set of Transit Gateway network connections. type TransitGatewayConnectionCollection struct { // Array of transit gateways network Connections. - Connections []TransitGatewayConnectionCust `json:"connections" validate:"required"` + Connections []TransitGatewayConnection `json:"connections" validate:"required"` // A reference to the first page of resources. // This will be returned when number of connections in response are greater than max page limit. - First *PaginationFirstTGWConnection `json:"first,omitempty"` + First *PaginationFirstTGWConnection `json:"first" validate:"required"` // The maximum number of connections returned on one request. This will be returned when number of connections in // response are greater than max page limit. - Limit *int64 `json:"limit,omitempty"` + Limit *int64 `json:"limit" validate:"required"` // A reference to the next page of resources; this reference is included for all pages except the last page. Next *PaginationNextTGWConnection `json:"next,omitempty"` // total number of resources across all pages (considering the supplied query parameter filters). - TotalCount *int64 `json:"total_count,omitempty"` + TotalCount *int64 `json:"total_count" validate:"required"` } // UnmarshalTransitGatewayConnectionCollection unmarshals an instance of TransitGatewayConnectionCollection from the specified map of raw messages. func UnmarshalTransitGatewayConnectionCollection(m map[string]json.RawMessage, result interface{}) (err error) { obj := new(TransitGatewayConnectionCollection) - err = core.UnmarshalModel(m, "connections", &obj.Connections, UnmarshalTransitGatewayConnectionCust) + err = core.UnmarshalModel(m, "connections", &obj.Connections, UnmarshalTransitGatewayConnection) if err != nil { return } @@ -4031,8 +5115,8 @@ type TransitGatewayConnectionCust struct { Name *string `json:"name" validate:"required"` // The ID of the network being connected via this connection. This field is required for some types, such as 'vpc', - // 'power_virtual_server' and 'directlink'. For network types 'vpc','power_virtual_server' and 'directlink' this is the - // CRN of the VPC / PowerVS / Direct Link gateway respectively. + // 'power_virtual_server', 'directlink' and 'redundant_gre'. For network types 'vpc', 'redundant_gre', + // 'power_virtual_server' and 'directlink' this is the CRN of the VPC / PowerVS / Direct Link gateway respectively. NetworkID *string `json:"network_id,omitempty"` // Defines what type of network is connected via this connection. The list of enumerated values for this property may @@ -4070,11 +5154,13 @@ type TransitGatewayConnectionCust struct { NetworkAccountID *string `json:"network_account_id,omitempty"` // Array of prefix route filters for a transit gateway connection. This is order dependent with those first in the - // array being applied first, and those at the end of the array is applied last, or just before the default. + // array being applied first, and those at the end of the array is applied last, or just before the default. This field + // does not apply to the 'redundant_gre' network type. PrefixFilters []TransitGatewayConnectionPrefixFilterReference `json:"prefix_filters,omitempty"` - // Default setting of permit or deny which applies to any routes that don't match a specified filter. - PrefixFiltersDefault *string `json:"prefix_filters_default" validate:"required"` + // Default setting of permit or deny which applies to any routes that don't match a specified filter. This field does + // not apply to the 'redundant_gre' network type. + PrefixFiltersDefault *string `json:"prefix_filters_default,omitempty"` // Remote network BGP ASN. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. RemoteBgpAsn *int64 `json:"remote_bgp_asn,omitempty"` @@ -4090,41 +5176,47 @@ type TransitGatewayConnectionCust struct { // Only visible for cross account connections, this field represents the status of a connection request between IBM // Cloud accounts. The list of enumerated values for this property may expand in the future. Code and processes using // this field must tolerate unexpected values. - RequestStatus *string `json:"request_status,omitempty"` + RequestStatus *string `json:"request_status" validate:"required"` // Connection's current configuration state. The list of enumerated values for this property may expand in the future. // Code and processes using this field must tolerate unexpected values. - Status *string `json:"status,omitempty"` + Status *string `json:"status" validate:"required"` + + // Collection of all tunnels for 'redundant_gre' connection. + Tunnels []TransitGatewayRedundantGRETunnelReference `json:"tunnels,omitempty"` // The date and time that this connection was last updated. - UpdatedAt *strfmt.DateTime `json:"updated_at,omitempty"` + UpdatedAt *strfmt.DateTime `json:"updated_at" validate:"required"` - // Location of GRE tunnel. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. - Zone *TransitGatewayConnectionCustZone `json:"zone,omitempty"` + // Location of GRE tunnel. This field only applies to network type 'gre_tunnel' connections. + Zone *GreTunnelZoneReference `json:"zone,omitempty"` } // Constants associated with the TransitGatewayConnectionCust.BaseNetworkType property. // The type of network the GRE tunnel is targeting. const ( TransitGatewayConnectionCust_BaseNetworkType_Classic = "classic" + TransitGatewayConnectionCust_BaseNetworkType_Vpc = "vpc" ) // Constants associated with the TransitGatewayConnectionCust.NetworkType property. // Defines what type of network is connected via this connection. The list of enumerated values for this property may // expand in the future. Code and processes using this field must tolerate unexpected values. const ( - TransitGatewayConnectionCust_NetworkType_Classic = "classic" - TransitGatewayConnectionCust_NetworkType_Directlink = "directlink" - TransitGatewayConnectionCust_NetworkType_GreTunnel = "gre_tunnel" + TransitGatewayConnectionCust_NetworkType_Classic = "classic" + TransitGatewayConnectionCust_NetworkType_Directlink = "directlink" + TransitGatewayConnectionCust_NetworkType_GreTunnel = "gre_tunnel" TransitGatewayConnectionCust_NetworkType_PowerVirtualServer = "power_virtual_server" - TransitGatewayConnectionCust_NetworkType_UnboundGreTunnel = "unbound_gre_tunnel" - TransitGatewayConnectionCust_NetworkType_Vpc = "vpc" + TransitGatewayConnectionCust_NetworkType_RedundantGre = "redundant_gre" + TransitGatewayConnectionCust_NetworkType_UnboundGreTunnel = "unbound_gre_tunnel" + TransitGatewayConnectionCust_NetworkType_Vpc = "vpc" ) // Constants associated with the TransitGatewayConnectionCust.PrefixFiltersDefault property. -// Default setting of permit or deny which applies to any routes that don't match a specified filter. +// Default setting of permit or deny which applies to any routes that don't match a specified filter. This field does +// not apply to the 'redundant_gre' network type. const ( - TransitGatewayConnectionCust_PrefixFiltersDefault_Deny = "deny" + TransitGatewayConnectionCust_PrefixFiltersDefault_Deny = "deny" TransitGatewayConnectionCust_PrefixFiltersDefault_Permit = "permit" ) @@ -4135,8 +5227,8 @@ const ( const ( TransitGatewayConnectionCust_RequestStatus_Approved = "approved" TransitGatewayConnectionCust_RequestStatus_Detached = "detached" - TransitGatewayConnectionCust_RequestStatus_Expired = "expired" - TransitGatewayConnectionCust_RequestStatus_Pending = "pending" + TransitGatewayConnectionCust_RequestStatus_Expired = "expired" + TransitGatewayConnectionCust_RequestStatus_Pending = "pending" TransitGatewayConnectionCust_RequestStatus_Rejected = "rejected" ) @@ -4144,15 +5236,15 @@ const ( // Connection's current configuration state. The list of enumerated values for this property may expand in the future. // Code and processes using this field must tolerate unexpected values. const ( - TransitGatewayConnectionCust_Status_Attached = "attached" - TransitGatewayConnectionCust_Status_Deleting = "deleting" - TransitGatewayConnectionCust_Status_Detached = "detached" - TransitGatewayConnectionCust_Status_Detaching = "detaching" - TransitGatewayConnectionCust_Status_Failed = "failed" + TransitGatewayConnectionCust_Status_Attached = "attached" + TransitGatewayConnectionCust_Status_Deleting = "deleting" + TransitGatewayConnectionCust_Status_Detached = "detached" + TransitGatewayConnectionCust_Status_Detaching = "detaching" + TransitGatewayConnectionCust_Status_Failed = "failed" TransitGatewayConnectionCust_Status_NetworkPending = "network_pending" - TransitGatewayConnectionCust_Status_Pending = "pending" - TransitGatewayConnectionCust_Status_Suspended = "suspended" - TransitGatewayConnectionCust_Status_Suspending = "suspending" + TransitGatewayConnectionCust_Status_Pending = "pending" + TransitGatewayConnectionCust_Status_Suspended = "suspended" + TransitGatewayConnectionCust_Status_Suspending = "suspending" ) // UnmarshalTransitGatewayConnectionCust unmarshals an instance of TransitGatewayConnectionCust from the specified map of raw messages. @@ -4234,28 +5326,15 @@ func UnmarshalTransitGatewayConnectionCust(m map[string]json.RawMessage, result if err != nil { return } - err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + err = core.UnmarshalModel(m, "tunnels", &obj.Tunnels, UnmarshalTransitGatewayRedundantGRETunnelReference) if err != nil { return } - err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalTransitGatewayConnectionCustZone) + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) if err != nil { return } - reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) - return -} - -// TransitGatewayConnectionCustZone : Location of GRE tunnel. This field only applies to network type 'gre_tunnel' and 'unbound_gre_tunnel' connections. -type TransitGatewayConnectionCustZone struct { - // Availability zone name. - Name *string `json:"name" validate:"required"` -} - -// UnmarshalTransitGatewayConnectionCustZone unmarshals an instance of TransitGatewayConnectionCustZone from the specified map of raw messages. -func UnmarshalTransitGatewayConnectionCustZone(m map[string]json.RawMessage, result interface{}) (err error) { - obj := new(TransitGatewayConnectionCustZone) - err = core.UnmarshalPrimitive(m, "name", &obj.Name) + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalGreTunnelZoneReference) if err != nil { return } @@ -4281,7 +5360,7 @@ type TransitGatewayConnectionPrefixFilter struct { // Constants associated with the TransitGatewayConnectionPrefixFilter.Action property. // Whether to permit or deny prefix filter. const ( - TransitGatewayConnectionPrefixFilter_Action_Deny = "deny" + TransitGatewayConnectionPrefixFilter_Action_Deny = "deny" TransitGatewayConnectionPrefixFilter_Action_Permit = "permit" ) @@ -4363,7 +5442,7 @@ type TransitGatewayConnectionPrefixFilterReference struct { // Constants associated with the TransitGatewayConnectionPrefixFilterReference.Action property. // Whether to permit or deny prefix filter. const ( - TransitGatewayConnectionPrefixFilterReference_Action_Deny = "deny" + TransitGatewayConnectionPrefixFilterReference_Action_Deny = "deny" TransitGatewayConnectionPrefixFilterReference_Action_Permit = "permit" ) @@ -4406,6 +5485,205 @@ func UnmarshalTransitGatewayConnectionPrefixFilterReference(m map[string]json.Ra return } +// TransitGatewayRedundantGRETunnelReference : Details for a redundant GRE tunnel. +type TransitGatewayRedundantGRETunnelReference struct { + // The date and time that this GRE tunnel was created. + CreatedAt *strfmt.DateTime `json:"created_at" validate:"required"` + + // The unique identifier for this redundant GRE tunnel. + ID *string `json:"id" validate:"required"` + + // Local network BGP ASN. It is assigned by IBM when the tunnel is created. + LocalBgpAsn *int64 `json:"local_bgp_asn" validate:"required"` + + // Local gateway IP address. + LocalGatewayIp *string `json:"local_gateway_ip" validate:"required"` + + // Local tunnel IP address. The local_tunnel_ip and remote_tunnel_ip addresses must be in the same /30 network. Neither + // can be the network nor broadcast addresses. + LocalTunnelIp *string `json:"local_tunnel_ip" validate:"required"` + + // GRE tunnel MTU. + Mtu *int64 `json:"mtu" validate:"required"` + + // The user-defined name for this tunnel. + Name *string `json:"name" validate:"required"` + + // Remote network BGP ASN. The following ASN values are reserved and unavailable 0, 13884, 36351, 64512-64513, 65100, + // 65200-65234, 65402-65433, 65500 and 4201065000-4201065999. If 'remote_bgp_asn' is omitted on create requests, IBM + // will assign an ASN. + RemoteBgpAsn *int64 `json:"remote_bgp_asn" validate:"required"` + + // Remote gateway IP address. + RemoteGatewayIp *string `json:"remote_gateway_ip" validate:"required"` + + // Remote tunnel IP address. The local_tunnel_ip and remote_tunnel_ip addresses must be in the same /30 network. + // Neither can be the network nor broadcast addresses. + RemoteTunnelIp *string `json:"remote_tunnel_ip" validate:"required"` + + // Tunnel's current configuration state. The list of enumerated values for this property may expand in the future. Code + // and processes using this field must tolerate unexpected values. + Status *string `json:"status" validate:"required"` + + // The date and time that this tunnel was last updated. + UpdatedAt *strfmt.DateTime `json:"updated_at" validate:"required"` + + // The tunnel's location. The specified availability zone must reside in the gateway's region. Use the IBM Cloud + // global catalog to list zones within the desired region. + Zone *RgreTunnelZoneReference `json:"zone" validate:"required"` +} + +// Constants associated with the TransitGatewayRedundantGRETunnelReference.Status property. +// Tunnel's current configuration state. The list of enumerated values for this property may expand in the future. Code +// and processes using this field must tolerate unexpected values. +const ( + TransitGatewayRedundantGRETunnelReference_Status_Attached = "attached" + TransitGatewayRedundantGRETunnelReference_Status_Deleting = "deleting" + TransitGatewayRedundantGRETunnelReference_Status_Detached = "detached" + TransitGatewayRedundantGRETunnelReference_Status_Detaching = "detaching" + TransitGatewayRedundantGRETunnelReference_Status_Failed = "failed" + TransitGatewayRedundantGRETunnelReference_Status_Pending = "pending" + TransitGatewayRedundantGRETunnelReference_Status_Suspended = "suspended" + TransitGatewayRedundantGRETunnelReference_Status_Suspending = "suspending" +) + +// UnmarshalTransitGatewayRedundantGRETunnelReference unmarshals an instance of TransitGatewayRedundantGRETunnelReference from the specified map of raw messages. +func UnmarshalTransitGatewayRedundantGRETunnelReference(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(TransitGatewayRedundantGRETunnelReference) + err = core.UnmarshalPrimitive(m, "created_at", &obj.CreatedAt) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "id", &obj.ID) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "local_bgp_asn", &obj.LocalBgpAsn) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "local_gateway_ip", &obj.LocalGatewayIp) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "local_tunnel_ip", &obj.LocalTunnelIp) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "mtu", &obj.Mtu) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "remote_bgp_asn", &obj.RemoteBgpAsn) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "remote_gateway_ip", &obj.RemoteGatewayIp) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "remote_tunnel_ip", &obj.RemoteTunnelIp) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "status", &obj.Status) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "updated_at", &obj.UpdatedAt) + if err != nil { + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalRgreTunnelZoneReference) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + +// TransitGatewayRedundantGRETunnelTemplate : A create template with information for redundant GRE tunnel. +type TransitGatewayRedundantGRETunnelTemplate struct { + // Local gateway IP address. + LocalGatewayIp *string `json:"local_gateway_ip" validate:"required"` + + // Local tunnel IP address. The local_tunnel_ip and remote_tunnel_ip addresses must be in the same /30 network. Neither + // can be the network nor broadcast addresses. + LocalTunnelIp *string `json:"local_tunnel_ip" validate:"required"` + + // The user-defined name for this tunnel connection. + Name *string `json:"name" validate:"required"` + + // Remote network BGP ASN. The following ASN values are reserved and unavailable 0, 13884, 36351, 64512-64513, 65100, + // 65200-65234, 65402-65433, 65500 and 4201065000-4201065999. If 'remote_bgp_asn' is omitted on create requests, IBM + // will assign an ASN. + RemoteBgpAsn *int64 `json:"remote_bgp_asn,omitempty"` + + // Remote gateway IP address. + RemoteGatewayIp *string `json:"remote_gateway_ip" validate:"required"` + + // Remote tunnel IP address. The local_tunnel_ip and remote_tunnel_ip addresses must be in the same /30 network. + // Neither can be the network nor broadcast addresses. + RemoteTunnelIp *string `json:"remote_tunnel_ip" validate:"required"` + + // Specify the connection's location. The specified availability zone must reside in the gateway's region. + // Use the IBM Cloud global catalog to list zones within the desired region. + Zone ZoneIdentityIntf `json:"zone" validate:"required"` +} + +// NewTransitGatewayRedundantGRETunnelTemplate : Instantiate TransitGatewayRedundantGRETunnelTemplate (Generic Model Constructor) +func (*TransitGatewayApisV1) NewTransitGatewayRedundantGRETunnelTemplate(localGatewayIp string, localTunnelIp string, name string, remoteGatewayIp string, remoteTunnelIp string, zone ZoneIdentityIntf) (_model *TransitGatewayRedundantGRETunnelTemplate, err error) { + _model = &TransitGatewayRedundantGRETunnelTemplate{ + LocalGatewayIp: core.StringPtr(localGatewayIp), + LocalTunnelIp: core.StringPtr(localTunnelIp), + Name: core.StringPtr(name), + RemoteGatewayIp: core.StringPtr(remoteGatewayIp), + RemoteTunnelIp: core.StringPtr(remoteTunnelIp), + Zone: zone, + } + err = core.ValidateStruct(_model, "required parameters") + return +} + +// UnmarshalTransitGatewayRedundantGRETunnelTemplate unmarshals an instance of TransitGatewayRedundantGRETunnelTemplate from the specified map of raw messages. +func UnmarshalTransitGatewayRedundantGRETunnelTemplate(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(TransitGatewayRedundantGRETunnelTemplate) + err = core.UnmarshalPrimitive(m, "local_gateway_ip", &obj.LocalGatewayIp) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "local_tunnel_ip", &obj.LocalTunnelIp) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "name", &obj.Name) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "remote_bgp_asn", &obj.RemoteBgpAsn) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "remote_gateway_ip", &obj.RemoteGatewayIp) + if err != nil { + return + } + err = core.UnmarshalPrimitive(m, "remote_tunnel_ip", &obj.RemoteTunnelIp) + if err != nil { + return + } + err = core.UnmarshalModel(m, "zone", &obj.Zone, UnmarshalZoneIdentity) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + // TransitGatewayReference : Transit gateway reference. type TransitGatewayReference struct { // gateway CRN. @@ -4460,7 +5738,7 @@ type UpdateTransitGatewayConnectionOptions struct { // Constants associated with the UpdateTransitGatewayConnectionOptions.PrefixFiltersDefault property. // Default setting of permit or deny which applies to any routes that don't match a specified filter. const ( - UpdateTransitGatewayConnectionOptions_PrefixFiltersDefault_Deny = "deny" + UpdateTransitGatewayConnectionOptions_PrefixFiltersDefault_Deny = "deny" UpdateTransitGatewayConnectionOptions_PrefixFiltersDefault_Permit = "permit" ) @@ -4468,7 +5746,7 @@ const ( func (*TransitGatewayApisV1) NewUpdateTransitGatewayConnectionOptions(transitGatewayID string, id string) *UpdateTransitGatewayConnectionOptions { return &UpdateTransitGatewayConnectionOptions{ TransitGatewayID: core.StringPtr(transitGatewayID), - ID: core.StringPtr(id), + ID: core.StringPtr(id), } } @@ -4551,7 +5829,7 @@ type UpdateTransitGatewayConnectionPrefixFilterOptions struct { // Constants associated with the UpdateTransitGatewayConnectionPrefixFilterOptions.Action property. // Whether or not this prefix filter should allow or deny prefixes matching this filter's prefix definition. const ( - UpdateTransitGatewayConnectionPrefixFilterOptions_Action_Deny = "deny" + UpdateTransitGatewayConnectionPrefixFilterOptions_Action_Deny = "deny" UpdateTransitGatewayConnectionPrefixFilterOptions_Action_Permit = "permit" ) @@ -4559,8 +5837,8 @@ const ( func (*TransitGatewayApisV1) NewUpdateTransitGatewayConnectionPrefixFilterOptions(transitGatewayID string, id string, filterID string) *UpdateTransitGatewayConnectionPrefixFilterOptions { return &UpdateTransitGatewayConnectionPrefixFilterOptions{ TransitGatewayID: core.StringPtr(transitGatewayID), - ID: core.StringPtr(id), - FilterID: core.StringPtr(filterID), + ID: core.StringPtr(id), + FilterID: core.StringPtr(filterID), } } @@ -4618,6 +5896,63 @@ func (options *UpdateTransitGatewayConnectionPrefixFilterOptions) SetHeaders(par return options } +// UpdateTransitGatewayConnectionTunnelsOptions : The UpdateTransitGatewayConnectionTunnels options. +type UpdateTransitGatewayConnectionTunnelsOptions struct { + // The Transit Gateway identifier. + TransitGatewayID *string `json:"transit_gateway_id" validate:"required,ne="` + + // The connection identifier. + ID *string `json:"id" validate:"required,ne="` + + // The tunnel identifier. + GreTunnelID *string `json:"gre_tunnel_id" validate:"required,ne="` + + // The user-defined name for this connection tunnel. + Name *string `json:"name,omitempty"` + + // Allows users to set headers on API requests + Headers map[string]string +} + +// NewUpdateTransitGatewayConnectionTunnelsOptions : Instantiate UpdateTransitGatewayConnectionTunnelsOptions +func (*TransitGatewayApisV1) NewUpdateTransitGatewayConnectionTunnelsOptions(transitGatewayID string, id string, greTunnelID string) *UpdateTransitGatewayConnectionTunnelsOptions { + return &UpdateTransitGatewayConnectionTunnelsOptions{ + TransitGatewayID: core.StringPtr(transitGatewayID), + ID: core.StringPtr(id), + GreTunnelID: core.StringPtr(greTunnelID), + } +} + +// SetTransitGatewayID : Allow user to set TransitGatewayID +func (_options *UpdateTransitGatewayConnectionTunnelsOptions) SetTransitGatewayID(transitGatewayID string) *UpdateTransitGatewayConnectionTunnelsOptions { + _options.TransitGatewayID = core.StringPtr(transitGatewayID) + return _options +} + +// SetID : Allow user to set ID +func (_options *UpdateTransitGatewayConnectionTunnelsOptions) SetID(id string) *UpdateTransitGatewayConnectionTunnelsOptions { + _options.ID = core.StringPtr(id) + return _options +} + +// SetGreTunnelID : Allow user to set GreTunnelID +func (_options *UpdateTransitGatewayConnectionTunnelsOptions) SetGreTunnelID(greTunnelID string) *UpdateTransitGatewayConnectionTunnelsOptions { + _options.GreTunnelID = core.StringPtr(greTunnelID) + return _options +} + +// SetName : Allow user to set Name +func (_options *UpdateTransitGatewayConnectionTunnelsOptions) SetName(name string) *UpdateTransitGatewayConnectionTunnelsOptions { + _options.Name = core.StringPtr(name) + return _options +} + +// SetHeaders : Allow user to set Headers +func (options *UpdateTransitGatewayConnectionTunnelsOptions) SetHeaders(param map[string]string) *UpdateTransitGatewayConnectionTunnelsOptions { + options.Headers = param + return options +} + // UpdateTransitGatewayOptions : The UpdateTransitGateway options. type UpdateTransitGatewayOptions struct { // The Transit Gateway identifier. @@ -4671,7 +6006,6 @@ type ZoneIdentity struct { // Availability zone name. Name *string `json:"name,omitempty"` } - func (*ZoneIdentity) isaZoneIdentity() bool { return true } @@ -4708,6 +6042,23 @@ func UnmarshalZoneReference(m map[string]json.RawMessage, result interface{}) (e return } +// ZoneReferenceCollection : Collection of availability zones. +type ZoneReferenceCollection struct { + // Array of valid zones for GRE tunnels. + Zones []ZoneReference `json:"zones" validate:"required"` +} + +// UnmarshalZoneReferenceCollection unmarshals an instance of ZoneReferenceCollection from the specified map of raw messages. +func UnmarshalZoneReferenceCollection(m map[string]json.RawMessage, result interface{}) (err error) { + obj := new(ZoneReferenceCollection) + err = core.UnmarshalModel(m, "zones", &obj.Zones, UnmarshalZoneReference) + if err != nil { + return + } + reflect.ValueOf(result).Elem().Set(reflect.ValueOf(obj)) + return +} + // ZoneIdentityByName : Availability zone. // This model "extends" ZoneIdentity type ZoneIdentityByName struct { @@ -4734,9 +6085,9 @@ func UnmarshalZoneIdentityByName(m map[string]json.RawMessage, result interface{ // TransitGatewaysPager can be used to simplify the use of the "ListTransitGateways" method. // type TransitGatewaysPager struct { - hasNext bool - options *ListTransitGatewaysOptions - client *TransitGatewayApisV1 + hasNext bool + options *ListTransitGatewaysOptions + client *TransitGatewayApisV1 pageContext struct { next *string } @@ -4815,9 +6166,9 @@ func (pager *TransitGatewaysPager) GetAll() (allItems []TransitGateway, err erro // ConnectionsPager can be used to simplify the use of the "ListConnections" method. // type ConnectionsPager struct { - hasNext bool - options *ListConnectionsOptions - client *TransitGatewayApisV1 + hasNext bool + options *ListConnectionsOptions + client *TransitGatewayApisV1 pageContext struct { next *string } @@ -4896,9 +6247,9 @@ func (pager *ConnectionsPager) GetAll() (allItems []TransitConnection, err error // TransitGatewayConnectionsPager can be used to simplify the use of the "ListTransitGatewayConnections" method. // type TransitGatewayConnectionsPager struct { - hasNext bool - options *ListTransitGatewayConnectionsOptions - client *TransitGatewayApisV1 + hasNext bool + options *ListTransitGatewayConnectionsOptions + client *TransitGatewayApisV1 pageContext struct { next *string } @@ -4926,7 +6277,7 @@ func (pager *TransitGatewayConnectionsPager) HasNext() bool { } // GetNextWithContext returns the next page of results using the specified Context. -func (pager *TransitGatewayConnectionsPager) GetNextWithContext(ctx context.Context) (page []TransitGatewayConnectionCust, err error) { +func (pager *TransitGatewayConnectionsPager) GetNextWithContext(ctx context.Context) (page []TransitGatewayConnection, err error) { if !pager.HasNext() { return nil, fmt.Errorf("no more results available") } @@ -4951,9 +6302,9 @@ func (pager *TransitGatewayConnectionsPager) GetNextWithContext(ctx context.Cont // GetAllWithContext returns all results by invoking GetNextWithContext() repeatedly // until all pages of results have been retrieved. -func (pager *TransitGatewayConnectionsPager) GetAllWithContext(ctx context.Context) (allItems []TransitGatewayConnectionCust, err error) { +func (pager *TransitGatewayConnectionsPager) GetAllWithContext(ctx context.Context) (allItems []TransitGatewayConnection, err error) { for pager.HasNext() { - var nextPage []TransitGatewayConnectionCust + var nextPage []TransitGatewayConnection nextPage, err = pager.GetNextWithContext(ctx) if err != nil { return @@ -4964,11 +6315,11 @@ func (pager *TransitGatewayConnectionsPager) GetAllWithContext(ctx context.Conte } // GetNext invokes GetNextWithContext() using context.Background() as the Context parameter. -func (pager *TransitGatewayConnectionsPager) GetNext() (page []TransitGatewayConnectionCust, err error) { +func (pager *TransitGatewayConnectionsPager) GetNext() (page []TransitGatewayConnection, err error) { return pager.GetNextWithContext(context.Background()) } // GetAll invokes GetAllWithContext() using context.Background() as the Context parameter. -func (pager *TransitGatewayConnectionsPager) GetAll() (allItems []TransitGatewayConnectionCust, err error) { +func (pager *TransitGatewayConnectionsPager) GetAll() (allItems []TransitGatewayConnection, err error) { return pager.GetAllWithContext(context.Background()) } diff --git a/transitgatewayapisv1/transit_gateway_apis_v1_suite_test.go b/transitgatewayapisv1/transit_gateway_apis_v1_suite_test.go index ad784b2..f0a9dda 100644 --- a/transitgatewayapisv1/transit_gateway_apis_v1_suite_test.go +++ b/transitgatewayapisv1/transit_gateway_apis_v1_suite_test.go @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2023. + * (C) Copyright IBM Corp. 2024. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/transitgatewayapisv1/transit_gateway_apis_v1_test.go b/transitgatewayapisv1/transit_gateway_apis_v1_test.go index b3c3723..8224628 100644 --- a/transitgatewayapisv1/transit_gateway_apis_v1_test.go +++ b/transitgatewayapisv1/transit_gateway_apis_v1_test.go @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2023. + * (C) Copyright IBM Corp. 2024. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -40,14 +40,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { It(`Instantiate service client`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(transitGatewayApisService).ToNot(BeNil()) Expect(serviceErr).To(BeNil()) }) It(`Instantiate service client with error: Invalid URL`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ - URL: "{BAD_URL_STRING", + URL: "{BAD_URL_STRING", Version: core.StringPtr(version), }) Expect(transitGatewayApisService).To(BeNil()) @@ -55,7 +55,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { }) It(`Instantiate service client with error: Invalid Auth`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ - URL: "https://transitgatewayapisv1/api", + URL: "https://transitgatewayapisv1/api", Version: core.StringPtr(version), Authenticator: &core.BasicAuthenticator{ Username: "", @@ -76,7 +76,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { Context(`Using external config, construct service client instances`, func() { // Map containing environment variables used in testing. var testEnvironment = map[string]string{ - "TRANSIT_GATEWAY_APIS_URL": "https://transitgatewayapisv1/api", + "TRANSIT_GATEWAY_APIS_URL": "https://transitgatewayapisv1/api", "TRANSIT_GATEWAY_APIS_AUTH_TYPE": "noauth", } @@ -98,7 +98,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { It(`Create service client using external config and set url from constructor successfully`, func() { SetTestEnvironment(testEnvironment) transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1UsingExternalConfig(&transitgatewayapisv1.TransitGatewayApisV1Options{ - URL: "https://testService/api", + URL: "https://testService/api", Version: core.StringPtr(version), }) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -134,7 +134,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { Context(`Using external config, construct service client instances with error: Invalid Auth`, func() { // Map containing environment variables used in testing. var testEnvironment = map[string]string{ - "TRANSIT_GATEWAY_APIS_URL": "https://transitgatewayapisv1/api", + "TRANSIT_GATEWAY_APIS_URL": "https://transitgatewayapisv1/api", "TRANSIT_GATEWAY_APIS_AUTH_TYPE": "someOtherAuth", } @@ -152,12 +152,12 @@ var _ = Describe(`TransitGatewayApisV1`, func() { Context(`Using external config, construct service client instances with error: Invalid URL`, func() { // Map containing environment variables used in testing. var testEnvironment = map[string]string{ - "TRANSIT_GATEWAY_APIS_AUTH_TYPE": "NOAuth", + "TRANSIT_GATEWAY_APIS_AUTH_TYPE": "NOAuth", } SetTestEnvironment(testEnvironment) transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1UsingExternalConfig(&transitgatewayapisv1.TransitGatewayApisV1Options{ - URL: "{BAD_URL_STRING", + URL: "{BAD_URL_STRING", Version: core.StringPtr(version), }) @@ -201,7 +201,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -250,14 +250,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"first": {"href": "https://transit.cloud.ibm.com/v1/transit_gateways?limit=50"}, "limit": 50, "next": {"href": "https://transit.cloud.ibm.com/v1/transit_gateways?start=MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa&limit=50", "start": "MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa"}, "transit_gateways": [{"id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "crn": "crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "name": "my-transit-gateway-in-TransitGateway", "location": "us-south", "created_at": "2019-01-01T12:00:00.000Z", "global": true, "resource_group": {"id": "56969d6043e9465c883cb9f7363e78e8", "href": "https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8"}, "status": "available", "updated_at": "2019-01-01T12:00:00.000Z"}]}`) + fmt.Fprintf(res, "%s", `{"first": {"href": "https://transit.cloud.ibm.com/v1/transit_gateways?limit=50"}, "limit": 50, "next": {"href": "https://transit.cloud.ibm.com/v1/transit_gateways?start=MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa&limit=50", "start": "MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa"}, "transit_gateways": [{"id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "crn": "crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "name": "my-transit-gateway-in-TransitGateway", "location": "us-south", "created_at": "2019-01-01T12:00:00.000Z", "global": true, "resource_group": {"href": "https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8", "id": "56969d6043e9465c883cb9f7363e78e8"}, "status": "available", "updated_at": "2019-01-01T12:00:00.000Z"}]}`) })) }) It(`Invoke ListTransitGateways successfully with retries`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -309,14 +309,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"first": {"href": "https://transit.cloud.ibm.com/v1/transit_gateways?limit=50"}, "limit": 50, "next": {"href": "https://transit.cloud.ibm.com/v1/transit_gateways?start=MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa&limit=50", "start": "MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa"}, "transit_gateways": [{"id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "crn": "crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "name": "my-transit-gateway-in-TransitGateway", "location": "us-south", "created_at": "2019-01-01T12:00:00.000Z", "global": true, "resource_group": {"id": "56969d6043e9465c883cb9f7363e78e8", "href": "https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8"}, "status": "available", "updated_at": "2019-01-01T12:00:00.000Z"}]}`) + fmt.Fprintf(res, "%s", `{"first": {"href": "https://transit.cloud.ibm.com/v1/transit_gateways?limit=50"}, "limit": 50, "next": {"href": "https://transit.cloud.ibm.com/v1/transit_gateways?start=MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa&limit=50", "start": "MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa"}, "transit_gateways": [{"id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "crn": "crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "name": "my-transit-gateway-in-TransitGateway", "location": "us-south", "created_at": "2019-01-01T12:00:00.000Z", "global": true, "resource_group": {"href": "https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8", "id": "56969d6043e9465c883cb9f7363e78e8"}, "status": "available", "updated_at": "2019-01-01T12:00:00.000Z"}]}`) })) }) It(`Invoke ListTransitGateways successfully`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -344,7 +344,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -380,7 +380,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -409,14 +409,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { nextObject := new(transitgatewayapisv1.PaginationNextTG) nextObject.Start = core.StringPtr("abc-123") responseObject.Next = nextObject - + value, err := responseObject.GetNextStart() Expect(err).To(BeNil()) Expect(value).To(Equal(core.StringPtr("abc-123"))) }) It(`Invoke GetNextStart without a "Next" property in the response`, func() { responseObject := new(transitgatewayapisv1.TransitGatewayCollection) - + value, err := responseObject.GetNextStart() Expect(err).To(BeNil()) Expect(value).To(BeNil()) @@ -437,9 +437,9 @@ var _ = Describe(`TransitGatewayApisV1`, func() { res.WriteHeader(200) requestNumber++ if requestNumber == 1 { - fmt.Fprintf(res, "%s", `{"next":{"start":"1"},"transit_gateways":[{"id":"ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4","crn":"crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4","name":"my-transit-gateway-in-TransitGateway","location":"us-south","created_at":"2019-01-01T12:00:00.000Z","global":true,"resource_group":{"id":"56969d6043e9465c883cb9f7363e78e8","href":"https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8"},"status":"available","updated_at":"2019-01-01T12:00:00.000Z"}],"total_count":2,"limit":1}`) + fmt.Fprintf(res, "%s", `{"next":{"start":"1"},"transit_gateways":[{"id":"ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4","crn":"crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4","name":"my-transit-gateway-in-TransitGateway","location":"us-south","created_at":"2019-01-01T12:00:00.000Z","global":true,"resource_group":{"href":"https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8","id":"56969d6043e9465c883cb9f7363e78e8"},"status":"available","updated_at":"2019-01-01T12:00:00.000Z"}],"total_count":2,"limit":1}`) } else if requestNumber == 2 { - fmt.Fprintf(res, "%s", `{"transit_gateways":[{"id":"ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4","crn":"crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4","name":"my-transit-gateway-in-TransitGateway","location":"us-south","created_at":"2019-01-01T12:00:00.000Z","global":true,"resource_group":{"id":"56969d6043e9465c883cb9f7363e78e8","href":"https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8"},"status":"available","updated_at":"2019-01-01T12:00:00.000Z"}],"total_count":2,"limit":1}`) + fmt.Fprintf(res, "%s", `{"transit_gateways":[{"id":"ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4","crn":"crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4","name":"my-transit-gateway-in-TransitGateway","location":"us-south","created_at":"2019-01-01T12:00:00.000Z","global":true,"resource_group":{"href":"https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8","id":"56969d6043e9465c883cb9f7363e78e8"},"status":"available","updated_at":"2019-01-01T12:00:00.000Z"}],"total_count":2,"limit":1}`) } else { res.WriteHeader(400) } @@ -449,7 +449,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -475,7 +475,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -516,7 +516,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -585,14 +585,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(201) - fmt.Fprintf(res, "%s", `{"id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "crn": "crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "name": "my-transit-gateway-in-TransitGateway", "location": "us-south", "created_at": "2019-01-01T12:00:00.000Z", "global": true, "resource_group": {"id": "56969d6043e9465c883cb9f7363e78e8", "href": "https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8"}, "status": "available", "updated_at": "2019-01-01T12:00:00.000Z"}`) + fmt.Fprintf(res, "%s", `{"id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "crn": "crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "name": "my-transit-gateway-in-TransitGateway", "location": "us-south", "created_at": "2019-01-01T12:00:00.000Z", "global": true, "resource_group": {"href": "https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8", "id": "56969d6043e9465c883cb9f7363e78e8"}, "status": "available", "updated_at": "2019-01-01T12:00:00.000Z"}`) })) }) It(`Invoke CreateTransitGateway successfully with retries`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -664,14 +664,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(201) - fmt.Fprintf(res, "%s", `{"id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "crn": "crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "name": "my-transit-gateway-in-TransitGateway", "location": "us-south", "created_at": "2019-01-01T12:00:00.000Z", "global": true, "resource_group": {"id": "56969d6043e9465c883cb9f7363e78e8", "href": "https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8"}, "status": "available", "updated_at": "2019-01-01T12:00:00.000Z"}`) + fmt.Fprintf(res, "%s", `{"id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "crn": "crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "name": "my-transit-gateway-in-TransitGateway", "location": "us-south", "created_at": "2019-01-01T12:00:00.000Z", "global": true, "resource_group": {"href": "https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8", "id": "56969d6043e9465c883cb9f7363e78e8"}, "status": "available", "updated_at": "2019-01-01T12:00:00.000Z"}`) })) }) It(`Invoke CreateTransitGateway successfully`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -705,7 +705,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -754,7 +754,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -804,7 +804,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -828,7 +828,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -877,7 +877,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -923,14 +923,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "crn": "crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "name": "my-transit-gateway-in-TransitGateway", "location": "us-south", "created_at": "2019-01-01T12:00:00.000Z", "global": true, "resource_group": {"id": "56969d6043e9465c883cb9f7363e78e8", "href": "https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8"}, "status": "available", "updated_at": "2019-01-01T12:00:00.000Z"}`) + fmt.Fprintf(res, "%s", `{"id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "crn": "crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "name": "my-transit-gateway-in-TransitGateway", "location": "us-south", "created_at": "2019-01-01T12:00:00.000Z", "global": true, "resource_group": {"href": "https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8", "id": "56969d6043e9465c883cb9f7363e78e8"}, "status": "available", "updated_at": "2019-01-01T12:00:00.000Z"}`) })) }) It(`Invoke GetTransitGateway successfully with retries`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -979,14 +979,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "crn": "crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "name": "my-transit-gateway-in-TransitGateway", "location": "us-south", "created_at": "2019-01-01T12:00:00.000Z", "global": true, "resource_group": {"id": "56969d6043e9465c883cb9f7363e78e8", "href": "https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8"}, "status": "available", "updated_at": "2019-01-01T12:00:00.000Z"}`) + fmt.Fprintf(res, "%s", `{"id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "crn": "crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "name": "my-transit-gateway-in-TransitGateway", "location": "us-south", "created_at": "2019-01-01T12:00:00.000Z", "global": true, "resource_group": {"href": "https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8", "id": "56969d6043e9465c883cb9f7363e78e8"}, "status": "available", "updated_at": "2019-01-01T12:00:00.000Z"}`) })) }) It(`Invoke GetTransitGateway successfully`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1013,7 +1013,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1055,7 +1055,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1099,7 +1099,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1163,14 +1163,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "crn": "crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "name": "my-transit-gateway-in-TransitGateway", "location": "us-south", "created_at": "2019-01-01T12:00:00.000Z", "global": true, "resource_group": {"id": "56969d6043e9465c883cb9f7363e78e8", "href": "https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8"}, "status": "available", "updated_at": "2019-01-01T12:00:00.000Z"}`) + fmt.Fprintf(res, "%s", `{"id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "crn": "crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "name": "my-transit-gateway-in-TransitGateway", "location": "us-south", "created_at": "2019-01-01T12:00:00.000Z", "global": true, "resource_group": {"href": "https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8", "id": "56969d6043e9465c883cb9f7363e78e8"}, "status": "available", "updated_at": "2019-01-01T12:00:00.000Z"}`) })) }) It(`Invoke UpdateTransitGateway successfully with retries`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1237,14 +1237,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "crn": "crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "name": "my-transit-gateway-in-TransitGateway", "location": "us-south", "created_at": "2019-01-01T12:00:00.000Z", "global": true, "resource_group": {"id": "56969d6043e9465c883cb9f7363e78e8", "href": "https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8"}, "status": "available", "updated_at": "2019-01-01T12:00:00.000Z"}`) + fmt.Fprintf(res, "%s", `{"id": "ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "crn": "crn:v1:bluemix:public:transit:dal03:a/57a7d05f36894e3cb9b46a43556d903e::gateway:ef4dcb1a-fee4-41c7-9e11-9cd99e65c1f4", "name": "my-transit-gateway-in-TransitGateway", "location": "us-south", "created_at": "2019-01-01T12:00:00.000Z", "global": true, "resource_group": {"href": "https://resource-manager.bluemix.net/v1/resource_groups/56969d6043e9465c883cb9f7363e78e8", "id": "56969d6043e9465c883cb9f7363e78e8"}, "status": "available", "updated_at": "2019-01-01T12:00:00.000Z"}`) })) }) It(`Invoke UpdateTransitGateway successfully`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1273,7 +1273,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1317,7 +1317,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1366,7 +1366,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1417,14 +1417,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"connections": [{"base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "name": "Transit_Service_SJ_DL", "network_account_id": "28e4d90ac7504be694471ee66e70d0d5", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "transit_gateway": {"crn": "crn:v1:bluemix:public:transit:us-south:a/123456::gateway:456f58c1-afe7-123a-0a0a-7f3d720f1a44", "id": "456f58c1-afe7-123a-0a0a-7f3d720f1a44", "name": "my-transit-gw100"}, "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "first": {"href": "https://transit.cloud.ibm.com/v1/connections?limit=50"}, "limit": 50, "next": {"href": "https://transit.cloud.ibm.com/v1/connections?start=MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa&limit=50", "start": "MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa"}}`) + fmt.Fprintf(res, "%s", `{"connections": [{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "NetworkAccountID", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "transit_gateway": {"crn": "crn:v1:bluemix:public:transit:us-south:a/123456::gateway:456f58c1-afe7-123a-0a0a-7f3d720f1a44", "id": "456f58c1-afe7-123a-0a0a-7f3d720f1a44", "name": "my-transit-gw100"}, "tunnels": [{"created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "first": {"href": "https://transit.cloud.ibm.com/v1/connections?limit=50"}, "limit": 50, "next": {"href": "https://transit.cloud.ibm.com/v1/connections?start=MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa&limit=50", "start": "MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa"}}`) })) }) It(`Invoke ListConnections successfully with retries`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1478,14 +1478,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"connections": [{"base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "name": "Transit_Service_SJ_DL", "network_account_id": "28e4d90ac7504be694471ee66e70d0d5", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "transit_gateway": {"crn": "crn:v1:bluemix:public:transit:us-south:a/123456::gateway:456f58c1-afe7-123a-0a0a-7f3d720f1a44", "id": "456f58c1-afe7-123a-0a0a-7f3d720f1a44", "name": "my-transit-gw100"}, "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "first": {"href": "https://transit.cloud.ibm.com/v1/connections?limit=50"}, "limit": 50, "next": {"href": "https://transit.cloud.ibm.com/v1/connections?start=MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa&limit=50", "start": "MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa"}}`) + fmt.Fprintf(res, "%s", `{"connections": [{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "NetworkAccountID", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "transit_gateway": {"crn": "crn:v1:bluemix:public:transit:us-south:a/123456::gateway:456f58c1-afe7-123a-0a0a-7f3d720f1a44", "id": "456f58c1-afe7-123a-0a0a-7f3d720f1a44", "name": "my-transit-gw100"}, "tunnels": [{"created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "first": {"href": "https://transit.cloud.ibm.com/v1/connections?limit=50"}, "limit": 50, "next": {"href": "https://transit.cloud.ibm.com/v1/connections?start=MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa&limit=50", "start": "MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa"}}`) })) }) It(`Invoke ListConnections successfully`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1514,7 +1514,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1551,7 +1551,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1581,14 +1581,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { nextObject := new(transitgatewayapisv1.PaginationNextConnection) nextObject.Start = core.StringPtr("abc-123") responseObject.Next = nextObject - + value, err := responseObject.GetNextStart() Expect(err).To(BeNil()) Expect(value).To(Equal(core.StringPtr("abc-123"))) }) It(`Invoke GetNextStart without a "Next" property in the response`, func() { responseObject := new(transitgatewayapisv1.TransitConnectionCollection) - + value, err := responseObject.GetNextStart() Expect(err).To(BeNil()) Expect(value).To(BeNil()) @@ -1609,9 +1609,9 @@ var _ = Describe(`TransitGatewayApisV1`, func() { res.WriteHeader(200) requestNumber++ if requestNumber == 1 { - fmt.Fprintf(res, "%s", `{"next":{"start":"1"},"total_count":2,"limit":1,"connections":[{"base_connection_id":"975f58c1-afe7-469a-9727-7f3d720f2d32","created_at":"2019-01-01T12:00:00.000Z","id":"1a15dca5-7e33-45e1-b7c5-bc690e569531","local_bgp_asn":64490,"local_gateway_ip":"192.168.100.1","local_tunnel_ip":"192.168.129.2","mtu":9000,"name":"Transit_Service_SJ_DL","network_account_id":"28e4d90ac7504be694471ee66e70d0d5","network_id":"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b","network_type":"vpc","prefix_filters":[{"action":"permit","before":"1a15dcab-7e40-45e1-b7c5-bc690eaa9782","created_at":"2019-01-01T12:00:00.000Z","ge":0,"id":"1a15dcab-7e30-45e1-b7c5-bc690eaa9865","le":32,"prefix":"192.168.100.0/24","updated_at":"2019-01-01T12:00:00.000Z"}],"prefix_filters_default":"permit","remote_bgp_asn":65010,"remote_gateway_ip":"10.242.63.12","remote_tunnel_ip":"192.168.129.1","request_status":"pending","status":"attached","transit_gateway":{"crn":"crn:v1:bluemix:public:transit:us-south:a/123456::gateway:456f58c1-afe7-123a-0a0a-7f3d720f1a44","id":"456f58c1-afe7-123a-0a0a-7f3d720f1a44","name":"my-transit-gw100"},"updated_at":"2019-01-01T12:00:00.000Z","zone":{"name":"us-south-1"}}]}`) + fmt.Fprintf(res, "%s", `{"next":{"start":"1"},"total_count":2,"limit":1,"connections":[{"base_network_type":"classic","name":"Transit_Service_BWTN_SJ_DL","network_id":"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b","network_type":"vpc","id":"1a15dca5-7e33-45e1-b7c5-bc690e569531","base_connection_id":"975f58c1-afe7-469a-9727-7f3d720f2d32","created_at":"2019-01-01T12:00:00.000Z","local_bgp_asn":64490,"local_gateway_ip":"192.168.100.1","local_tunnel_ip":"192.168.129.2","mtu":9000,"network_account_id":"NetworkAccountID","prefix_filters":[{"action":"permit","before":"1a15dcab-7e40-45e1-b7c5-bc690eaa9782","created_at":"2019-01-01T12:00:00.000Z","ge":0,"id":"1a15dcab-7e30-45e1-b7c5-bc690eaa9865","le":32,"prefix":"192.168.100.0/24","updated_at":"2019-01-01T12:00:00.000Z"}],"prefix_filters_default":"permit","remote_bgp_asn":65010,"remote_gateway_ip":"10.242.63.12","remote_tunnel_ip":"192.168.129.1","request_status":"pending","status":"attached","transit_gateway":{"crn":"crn:v1:bluemix:public:transit:us-south:a/123456::gateway:456f58c1-afe7-123a-0a0a-7f3d720f1a44","id":"456f58c1-afe7-123a-0a0a-7f3d720f1a44","name":"my-transit-gw100"},"tunnels":[{"created_at":"2019-01-01T12:00:00.000Z","id":"1a15dca5-7e33-45e1-b7c5-bc690e569531","local_bgp_asn":11,"local_gateway_ip":"10.242.63.12","local_tunnel_ip":"192.168.100.20","mtu":9000,"name":"gre1","remote_bgp_asn":65010,"remote_gateway_ip":"10.242.33.22","remote_tunnel_ip":"192.168.129.1","status":"attached","updated_at":"2019-01-01T12:00:00.000Z","zone":{"name":"us-south-1"}}],"updated_at":"2019-01-01T12:00:00.000Z","zone":{"name":"us-south-1"}}]}`) } else if requestNumber == 2 { - fmt.Fprintf(res, "%s", `{"total_count":2,"limit":1,"connections":[{"base_connection_id":"975f58c1-afe7-469a-9727-7f3d720f2d32","created_at":"2019-01-01T12:00:00.000Z","id":"1a15dca5-7e33-45e1-b7c5-bc690e569531","local_bgp_asn":64490,"local_gateway_ip":"192.168.100.1","local_tunnel_ip":"192.168.129.2","mtu":9000,"name":"Transit_Service_SJ_DL","network_account_id":"28e4d90ac7504be694471ee66e70d0d5","network_id":"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b","network_type":"vpc","prefix_filters":[{"action":"permit","before":"1a15dcab-7e40-45e1-b7c5-bc690eaa9782","created_at":"2019-01-01T12:00:00.000Z","ge":0,"id":"1a15dcab-7e30-45e1-b7c5-bc690eaa9865","le":32,"prefix":"192.168.100.0/24","updated_at":"2019-01-01T12:00:00.000Z"}],"prefix_filters_default":"permit","remote_bgp_asn":65010,"remote_gateway_ip":"10.242.63.12","remote_tunnel_ip":"192.168.129.1","request_status":"pending","status":"attached","transit_gateway":{"crn":"crn:v1:bluemix:public:transit:us-south:a/123456::gateway:456f58c1-afe7-123a-0a0a-7f3d720f1a44","id":"456f58c1-afe7-123a-0a0a-7f3d720f1a44","name":"my-transit-gw100"},"updated_at":"2019-01-01T12:00:00.000Z","zone":{"name":"us-south-1"}}]}`) + fmt.Fprintf(res, "%s", `{"total_count":2,"limit":1,"connections":[{"base_network_type":"classic","name":"Transit_Service_BWTN_SJ_DL","network_id":"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b","network_type":"vpc","id":"1a15dca5-7e33-45e1-b7c5-bc690e569531","base_connection_id":"975f58c1-afe7-469a-9727-7f3d720f2d32","created_at":"2019-01-01T12:00:00.000Z","local_bgp_asn":64490,"local_gateway_ip":"192.168.100.1","local_tunnel_ip":"192.168.129.2","mtu":9000,"network_account_id":"NetworkAccountID","prefix_filters":[{"action":"permit","before":"1a15dcab-7e40-45e1-b7c5-bc690eaa9782","created_at":"2019-01-01T12:00:00.000Z","ge":0,"id":"1a15dcab-7e30-45e1-b7c5-bc690eaa9865","le":32,"prefix":"192.168.100.0/24","updated_at":"2019-01-01T12:00:00.000Z"}],"prefix_filters_default":"permit","remote_bgp_asn":65010,"remote_gateway_ip":"10.242.63.12","remote_tunnel_ip":"192.168.129.1","request_status":"pending","status":"attached","transit_gateway":{"crn":"crn:v1:bluemix:public:transit:us-south:a/123456::gateway:456f58c1-afe7-123a-0a0a-7f3d720f1a44","id":"456f58c1-afe7-123a-0a0a-7f3d720f1a44","name":"my-transit-gw100"},"tunnels":[{"created_at":"2019-01-01T12:00:00.000Z","id":"1a15dca5-7e33-45e1-b7c5-bc690e569531","local_bgp_asn":11,"local_gateway_ip":"10.242.63.12","local_tunnel_ip":"192.168.100.20","mtu":9000,"name":"gre1","remote_bgp_asn":65010,"remote_gateway_ip":"10.242.33.22","remote_tunnel_ip":"192.168.129.1","status":"attached","updated_at":"2019-01-01T12:00:00.000Z","zone":{"name":"us-south-1"}}],"updated_at":"2019-01-01T12:00:00.000Z","zone":{"name":"us-south-1"}}]}`) } else { res.WriteHeader(400) } @@ -1621,13 +1621,13 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) listConnectionsOptionsModel := &transitgatewayapisv1.ListConnectionsOptions{ - Limit: core.Int64Ptr(int64(10)), + Limit: core.Int64Ptr(int64(10)), NetworkID: core.StringPtr("testString"), } @@ -1648,13 +1648,13 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) listConnectionsOptionsModel := &transitgatewayapisv1.ListConnectionsOptions{ - Limit: core.Int64Ptr(int64(10)), + Limit: core.Int64Ptr(int64(10)), NetworkID: core.StringPtr("testString"), } @@ -1693,7 +1693,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1745,14 +1745,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"connections": [{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "28e4d90ac7504be694471ee66e70d0d5", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "first": {"href": "https://transit.cloud.ibm.com/v1/transit_gateways/{transit_gateway_id}/connections?limit=50"}, "limit": 50, "next": {"href": "https://transit.cloud.ibm.com/v1/transit_gateways/{transit_gateway_id}/connections?start=MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa&limit=50", "start": "MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa"}, "total_count": 500}`) + fmt.Fprintf(res, "%s", `{"connections": [{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "NetworkAccountID", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "tunnels": [{"created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "first": {"href": "https://transit.cloud.ibm.com/v1/transit_gateways/{transit_gateway_id}/connections?limit=50"}, "limit": 50, "next": {"href": "https://transit.cloud.ibm.com/v1/transit_gateways/{transit_gateway_id}/connections?start=MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa&limit=50", "start": "MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa"}, "total_count": 500}`) })) }) It(`Invoke ListTransitGatewayConnections successfully with retries`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1807,14 +1807,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"connections": [{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "28e4d90ac7504be694471ee66e70d0d5", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "first": {"href": "https://transit.cloud.ibm.com/v1/transit_gateways/{transit_gateway_id}/connections?limit=50"}, "limit": 50, "next": {"href": "https://transit.cloud.ibm.com/v1/transit_gateways/{transit_gateway_id}/connections?start=MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa&limit=50", "start": "MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa"}, "total_count": 500}`) + fmt.Fprintf(res, "%s", `{"connections": [{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "NetworkAccountID", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "tunnels": [{"created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "first": {"href": "https://transit.cloud.ibm.com/v1/transit_gateways/{transit_gateway_id}/connections?limit=50"}, "limit": 50, "next": {"href": "https://transit.cloud.ibm.com/v1/transit_gateways/{transit_gateway_id}/connections?start=MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa&limit=50", "start": "MjAyMC0wNS0wOFQxNDoxNzowMy45NzQ5NzNa"}, "total_count": 500}`) })) }) It(`Invoke ListTransitGatewayConnections successfully`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1844,7 +1844,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1889,7 +1889,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -1920,14 +1920,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { nextObject := new(transitgatewayapisv1.PaginationNextTGWConnection) nextObject.Start = core.StringPtr("abc-123") responseObject.Next = nextObject - + value, err := responseObject.GetNextStart() Expect(err).To(BeNil()) Expect(value).To(Equal(core.StringPtr("abc-123"))) }) It(`Invoke GetNextStart without a "Next" property in the response`, func() { responseObject := new(transitgatewayapisv1.TransitGatewayConnectionCollection) - + value, err := responseObject.GetNextStart() Expect(err).To(BeNil()) Expect(value).To(BeNil()) @@ -1948,9 +1948,9 @@ var _ = Describe(`TransitGatewayApisV1`, func() { res.WriteHeader(200) requestNumber++ if requestNumber == 1 { - fmt.Fprintf(res, "%s", `{"next":{"start":"1"},"total_count":2,"limit":1,"connections":[{"base_network_type":"classic","name":"Transit_Service_BWTN_SJ_DL","network_id":"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b","network_type":"vpc","id":"1a15dca5-7e33-45e1-b7c5-bc690e569531","base_connection_id":"975f58c1-afe7-469a-9727-7f3d720f2d32","created_at":"2019-01-01T12:00:00.000Z","local_bgp_asn":64490,"local_gateway_ip":"192.168.100.1","local_tunnel_ip":"192.168.129.2","mtu":9000,"network_account_id":"28e4d90ac7504be694471ee66e70d0d5","prefix_filters":[{"action":"permit","before":"1a15dcab-7e40-45e1-b7c5-bc690eaa9782","created_at":"2019-01-01T12:00:00.000Z","ge":0,"id":"1a15dcab-7e30-45e1-b7c5-bc690eaa9865","le":32,"prefix":"192.168.100.0/24","updated_at":"2019-01-01T12:00:00.000Z"}],"prefix_filters_default":"permit","remote_bgp_asn":65010,"remote_gateway_ip":"10.242.63.12","remote_tunnel_ip":"192.168.129.1","request_status":"pending","status":"attached","updated_at":"2019-01-01T12:00:00.000Z","zone":{"name":"us-south-1"}}]}`) + fmt.Fprintf(res, "%s", `{"next":{"start":"1"},"total_count":2,"limit":1,"connections":[{"base_network_type":"classic","name":"Transit_Service_BWTN_SJ_DL","network_id":"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b","network_type":"vpc","id":"1a15dca5-7e33-45e1-b7c5-bc690e569531","base_connection_id":"975f58c1-afe7-469a-9727-7f3d720f2d32","created_at":"2019-01-01T12:00:00.000Z","local_bgp_asn":64490,"local_gateway_ip":"192.168.100.1","local_tunnel_ip":"192.168.129.2","mtu":9000,"network_account_id":"NetworkAccountID","prefix_filters":[{"action":"permit","before":"1a15dcab-7e40-45e1-b7c5-bc690eaa9782","created_at":"2019-01-01T12:00:00.000Z","ge":0,"id":"1a15dcab-7e30-45e1-b7c5-bc690eaa9865","le":32,"prefix":"192.168.100.0/24","updated_at":"2019-01-01T12:00:00.000Z"}],"prefix_filters_default":"permit","remote_bgp_asn":65010,"remote_gateway_ip":"10.242.63.12","remote_tunnel_ip":"192.168.129.1","request_status":"pending","status":"attached","tunnels":[{"created_at":"2019-01-01T12:00:00.000Z","id":"1a15dca5-7e33-45e1-b7c5-bc690e569531","local_bgp_asn":11,"local_gateway_ip":"10.242.63.12","local_tunnel_ip":"192.168.100.20","mtu":9000,"name":"gre1","remote_bgp_asn":65010,"remote_gateway_ip":"10.242.33.22","remote_tunnel_ip":"192.168.129.1","status":"attached","updated_at":"2019-01-01T12:00:00.000Z","zone":{"name":"us-south-1"}}],"updated_at":"2019-01-01T12:00:00.000Z","zone":{"name":"us-south-1"}}]}`) } else if requestNumber == 2 { - fmt.Fprintf(res, "%s", `{"total_count":2,"limit":1,"connections":[{"base_network_type":"classic","name":"Transit_Service_BWTN_SJ_DL","network_id":"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b","network_type":"vpc","id":"1a15dca5-7e33-45e1-b7c5-bc690e569531","base_connection_id":"975f58c1-afe7-469a-9727-7f3d720f2d32","created_at":"2019-01-01T12:00:00.000Z","local_bgp_asn":64490,"local_gateway_ip":"192.168.100.1","local_tunnel_ip":"192.168.129.2","mtu":9000,"network_account_id":"28e4d90ac7504be694471ee66e70d0d5","prefix_filters":[{"action":"permit","before":"1a15dcab-7e40-45e1-b7c5-bc690eaa9782","created_at":"2019-01-01T12:00:00.000Z","ge":0,"id":"1a15dcab-7e30-45e1-b7c5-bc690eaa9865","le":32,"prefix":"192.168.100.0/24","updated_at":"2019-01-01T12:00:00.000Z"}],"prefix_filters_default":"permit","remote_bgp_asn":65010,"remote_gateway_ip":"10.242.63.12","remote_tunnel_ip":"192.168.129.1","request_status":"pending","status":"attached","updated_at":"2019-01-01T12:00:00.000Z","zone":{"name":"us-south-1"}}]}`) + fmt.Fprintf(res, "%s", `{"total_count":2,"limit":1,"connections":[{"base_network_type":"classic","name":"Transit_Service_BWTN_SJ_DL","network_id":"crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b","network_type":"vpc","id":"1a15dca5-7e33-45e1-b7c5-bc690e569531","base_connection_id":"975f58c1-afe7-469a-9727-7f3d720f2d32","created_at":"2019-01-01T12:00:00.000Z","local_bgp_asn":64490,"local_gateway_ip":"192.168.100.1","local_tunnel_ip":"192.168.129.2","mtu":9000,"network_account_id":"NetworkAccountID","prefix_filters":[{"action":"permit","before":"1a15dcab-7e40-45e1-b7c5-bc690eaa9782","created_at":"2019-01-01T12:00:00.000Z","ge":0,"id":"1a15dcab-7e30-45e1-b7c5-bc690eaa9865","le":32,"prefix":"192.168.100.0/24","updated_at":"2019-01-01T12:00:00.000Z"}],"prefix_filters_default":"permit","remote_bgp_asn":65010,"remote_gateway_ip":"10.242.63.12","remote_tunnel_ip":"192.168.129.1","request_status":"pending","status":"attached","tunnels":[{"created_at":"2019-01-01T12:00:00.000Z","id":"1a15dca5-7e33-45e1-b7c5-bc690e569531","local_bgp_asn":11,"local_gateway_ip":"10.242.63.12","local_tunnel_ip":"192.168.100.20","mtu":9000,"name":"gre1","remote_bgp_asn":65010,"remote_gateway_ip":"10.242.33.22","remote_tunnel_ip":"192.168.129.1","status":"attached","updated_at":"2019-01-01T12:00:00.000Z","zone":{"name":"us-south-1"}}],"updated_at":"2019-01-01T12:00:00.000Z","zone":{"name":"us-south-1"}}]}`) } else { res.WriteHeader(400) } @@ -1960,22 +1960,22 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) listTransitGatewayConnectionsOptionsModel := &transitgatewayapisv1.ListTransitGatewayConnectionsOptions{ TransitGatewayID: core.StringPtr("testString"), - Limit: core.Int64Ptr(int64(10)), - Name: core.StringPtr("testString"), + Limit: core.Int64Ptr(int64(10)), + Name: core.StringPtr("testString"), } pager, err := transitGatewayApisService.NewTransitGatewayConnectionsPager(listTransitGatewayConnectionsOptionsModel) Expect(err).To(BeNil()) Expect(pager).ToNot(BeNil()) - var allResults []transitgatewayapisv1.TransitGatewayConnectionCust + var allResults []transitgatewayapisv1.TransitGatewayConnection for pager.HasNext() { nextPage, err := pager.GetNext() Expect(err).To(BeNil()) @@ -1988,15 +1988,15 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) listTransitGatewayConnectionsOptionsModel := &transitgatewayapisv1.ListTransitGatewayConnectionsOptions{ TransitGatewayID: core.StringPtr("testString"), - Limit: core.Int64Ptr(int64(10)), - Name: core.StringPtr("testString"), + Limit: core.Int64Ptr(int64(10)), + Name: core.StringPtr("testString"), } pager, err := transitGatewayApisService.NewTransitGatewayConnectionsPager(listTransitGatewayConnectionsOptionsModel) @@ -2031,7 +2031,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -2047,6 +2047,16 @@ var _ = Describe(`TransitGatewayApisV1`, func() { zoneIdentityModel := new(transitgatewayapisv1.ZoneIdentityByName) zoneIdentityModel.Name = core.StringPtr("us-south-1") + // Construct an instance of the TransitGatewayRedundantGRETunnelTemplate model + transitGatewayRedundantGreTunnelTemplateModel := new(transitgatewayapisv1.TransitGatewayRedundantGRETunnelTemplate) + transitGatewayRedundantGreTunnelTemplateModel.LocalGatewayIp = core.StringPtr("10.242.63.12") + transitGatewayRedundantGreTunnelTemplateModel.LocalTunnelIp = core.StringPtr("192.168.100.20") + transitGatewayRedundantGreTunnelTemplateModel.Name = core.StringPtr("gre1") + transitGatewayRedundantGreTunnelTemplateModel.RemoteBgpAsn = core.Int64Ptr(int64(65010)) + transitGatewayRedundantGreTunnelTemplateModel.RemoteGatewayIp = core.StringPtr("10.242.33.22") + transitGatewayRedundantGreTunnelTemplateModel.RemoteTunnelIp = core.StringPtr("192.168.129.1") + transitGatewayRedundantGreTunnelTemplateModel.Zone = zoneIdentityModel + // Construct an instance of the CreateTransitGatewayConnectionOptions model createTransitGatewayConnectionOptionsModel := new(transitgatewayapisv1.CreateTransitGatewayConnectionOptions) createTransitGatewayConnectionOptionsModel.TransitGatewayID = core.StringPtr("testString") @@ -2056,13 +2066,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { createTransitGatewayConnectionOptionsModel.LocalGatewayIp = core.StringPtr("192.168.100.1") createTransitGatewayConnectionOptionsModel.LocalTunnelIp = core.StringPtr("192.168.129.2") createTransitGatewayConnectionOptionsModel.Name = core.StringPtr("Transit_Service_BWTN_SJ_DL") - createTransitGatewayConnectionOptionsModel.NetworkAccountID = core.StringPtr("28e4d90ac7504be694471ee66e70d0d5") + createTransitGatewayConnectionOptionsModel.NetworkAccountID = core.StringPtr("testString") createTransitGatewayConnectionOptionsModel.NetworkID = core.StringPtr("crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b") createTransitGatewayConnectionOptionsModel.PrefixFilters = []transitgatewayapisv1.TransitGatewayConnectionPrefixFilter{*transitGatewayConnectionPrefixFilterModel} createTransitGatewayConnectionOptionsModel.PrefixFiltersDefault = core.StringPtr("permit") createTransitGatewayConnectionOptionsModel.RemoteBgpAsn = core.Int64Ptr(int64(65010)) createTransitGatewayConnectionOptionsModel.RemoteGatewayIp = core.StringPtr("10.242.63.12") createTransitGatewayConnectionOptionsModel.RemoteTunnelIp = core.StringPtr("192.168.129.1") + createTransitGatewayConnectionOptionsModel.Tunnels = []transitgatewayapisv1.TransitGatewayRedundantGRETunnelTemplate{*transitGatewayRedundantGreTunnelTemplateModel} createTransitGatewayConnectionOptionsModel.Zone = zoneIdentityModel createTransitGatewayConnectionOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} // Expect response parsing to fail since we are receiving a text/plain response @@ -2118,14 +2129,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(201) - fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "28e4d90ac7504be694471ee66e70d0d5", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) + fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "NetworkAccountID", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "tunnels": [{"created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) })) }) It(`Invoke CreateTransitGatewayConnection successfully with retries`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -2142,6 +2153,16 @@ var _ = Describe(`TransitGatewayApisV1`, func() { zoneIdentityModel := new(transitgatewayapisv1.ZoneIdentityByName) zoneIdentityModel.Name = core.StringPtr("us-south-1") + // Construct an instance of the TransitGatewayRedundantGRETunnelTemplate model + transitGatewayRedundantGreTunnelTemplateModel := new(transitgatewayapisv1.TransitGatewayRedundantGRETunnelTemplate) + transitGatewayRedundantGreTunnelTemplateModel.LocalGatewayIp = core.StringPtr("10.242.63.12") + transitGatewayRedundantGreTunnelTemplateModel.LocalTunnelIp = core.StringPtr("192.168.100.20") + transitGatewayRedundantGreTunnelTemplateModel.Name = core.StringPtr("gre1") + transitGatewayRedundantGreTunnelTemplateModel.RemoteBgpAsn = core.Int64Ptr(int64(65010)) + transitGatewayRedundantGreTunnelTemplateModel.RemoteGatewayIp = core.StringPtr("10.242.33.22") + transitGatewayRedundantGreTunnelTemplateModel.RemoteTunnelIp = core.StringPtr("192.168.129.1") + transitGatewayRedundantGreTunnelTemplateModel.Zone = zoneIdentityModel + // Construct an instance of the CreateTransitGatewayConnectionOptions model createTransitGatewayConnectionOptionsModel := new(transitgatewayapisv1.CreateTransitGatewayConnectionOptions) createTransitGatewayConnectionOptionsModel.TransitGatewayID = core.StringPtr("testString") @@ -2151,13 +2172,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { createTransitGatewayConnectionOptionsModel.LocalGatewayIp = core.StringPtr("192.168.100.1") createTransitGatewayConnectionOptionsModel.LocalTunnelIp = core.StringPtr("192.168.129.2") createTransitGatewayConnectionOptionsModel.Name = core.StringPtr("Transit_Service_BWTN_SJ_DL") - createTransitGatewayConnectionOptionsModel.NetworkAccountID = core.StringPtr("28e4d90ac7504be694471ee66e70d0d5") + createTransitGatewayConnectionOptionsModel.NetworkAccountID = core.StringPtr("testString") createTransitGatewayConnectionOptionsModel.NetworkID = core.StringPtr("crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b") createTransitGatewayConnectionOptionsModel.PrefixFilters = []transitgatewayapisv1.TransitGatewayConnectionPrefixFilter{*transitGatewayConnectionPrefixFilterModel} createTransitGatewayConnectionOptionsModel.PrefixFiltersDefault = core.StringPtr("permit") createTransitGatewayConnectionOptionsModel.RemoteBgpAsn = core.Int64Ptr(int64(65010)) createTransitGatewayConnectionOptionsModel.RemoteGatewayIp = core.StringPtr("10.242.63.12") createTransitGatewayConnectionOptionsModel.RemoteTunnelIp = core.StringPtr("192.168.129.1") + createTransitGatewayConnectionOptionsModel.Tunnels = []transitgatewayapisv1.TransitGatewayRedundantGRETunnelTemplate{*transitGatewayRedundantGreTunnelTemplateModel} createTransitGatewayConnectionOptionsModel.Zone = zoneIdentityModel createTransitGatewayConnectionOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} @@ -2215,14 +2237,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(201) - fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "28e4d90ac7504be694471ee66e70d0d5", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) + fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "NetworkAccountID", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "tunnels": [{"created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) })) }) It(`Invoke CreateTransitGatewayConnection successfully`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -2244,6 +2266,16 @@ var _ = Describe(`TransitGatewayApisV1`, func() { zoneIdentityModel := new(transitgatewayapisv1.ZoneIdentityByName) zoneIdentityModel.Name = core.StringPtr("us-south-1") + // Construct an instance of the TransitGatewayRedundantGRETunnelTemplate model + transitGatewayRedundantGreTunnelTemplateModel := new(transitgatewayapisv1.TransitGatewayRedundantGRETunnelTemplate) + transitGatewayRedundantGreTunnelTemplateModel.LocalGatewayIp = core.StringPtr("10.242.63.12") + transitGatewayRedundantGreTunnelTemplateModel.LocalTunnelIp = core.StringPtr("192.168.100.20") + transitGatewayRedundantGreTunnelTemplateModel.Name = core.StringPtr("gre1") + transitGatewayRedundantGreTunnelTemplateModel.RemoteBgpAsn = core.Int64Ptr(int64(65010)) + transitGatewayRedundantGreTunnelTemplateModel.RemoteGatewayIp = core.StringPtr("10.242.33.22") + transitGatewayRedundantGreTunnelTemplateModel.RemoteTunnelIp = core.StringPtr("192.168.129.1") + transitGatewayRedundantGreTunnelTemplateModel.Zone = zoneIdentityModel + // Construct an instance of the CreateTransitGatewayConnectionOptions model createTransitGatewayConnectionOptionsModel := new(transitgatewayapisv1.CreateTransitGatewayConnectionOptions) createTransitGatewayConnectionOptionsModel.TransitGatewayID = core.StringPtr("testString") @@ -2253,13 +2285,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { createTransitGatewayConnectionOptionsModel.LocalGatewayIp = core.StringPtr("192.168.100.1") createTransitGatewayConnectionOptionsModel.LocalTunnelIp = core.StringPtr("192.168.129.2") createTransitGatewayConnectionOptionsModel.Name = core.StringPtr("Transit_Service_BWTN_SJ_DL") - createTransitGatewayConnectionOptionsModel.NetworkAccountID = core.StringPtr("28e4d90ac7504be694471ee66e70d0d5") + createTransitGatewayConnectionOptionsModel.NetworkAccountID = core.StringPtr("testString") createTransitGatewayConnectionOptionsModel.NetworkID = core.StringPtr("crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b") createTransitGatewayConnectionOptionsModel.PrefixFilters = []transitgatewayapisv1.TransitGatewayConnectionPrefixFilter{*transitGatewayConnectionPrefixFilterModel} createTransitGatewayConnectionOptionsModel.PrefixFiltersDefault = core.StringPtr("permit") createTransitGatewayConnectionOptionsModel.RemoteBgpAsn = core.Int64Ptr(int64(65010)) createTransitGatewayConnectionOptionsModel.RemoteGatewayIp = core.StringPtr("10.242.63.12") createTransitGatewayConnectionOptionsModel.RemoteTunnelIp = core.StringPtr("192.168.129.1") + createTransitGatewayConnectionOptionsModel.Tunnels = []transitgatewayapisv1.TransitGatewayRedundantGRETunnelTemplate{*transitGatewayRedundantGreTunnelTemplateModel} createTransitGatewayConnectionOptionsModel.Zone = zoneIdentityModel createTransitGatewayConnectionOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} @@ -2274,7 +2307,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -2290,6 +2323,16 @@ var _ = Describe(`TransitGatewayApisV1`, func() { zoneIdentityModel := new(transitgatewayapisv1.ZoneIdentityByName) zoneIdentityModel.Name = core.StringPtr("us-south-1") + // Construct an instance of the TransitGatewayRedundantGRETunnelTemplate model + transitGatewayRedundantGreTunnelTemplateModel := new(transitgatewayapisv1.TransitGatewayRedundantGRETunnelTemplate) + transitGatewayRedundantGreTunnelTemplateModel.LocalGatewayIp = core.StringPtr("10.242.63.12") + transitGatewayRedundantGreTunnelTemplateModel.LocalTunnelIp = core.StringPtr("192.168.100.20") + transitGatewayRedundantGreTunnelTemplateModel.Name = core.StringPtr("gre1") + transitGatewayRedundantGreTunnelTemplateModel.RemoteBgpAsn = core.Int64Ptr(int64(65010)) + transitGatewayRedundantGreTunnelTemplateModel.RemoteGatewayIp = core.StringPtr("10.242.33.22") + transitGatewayRedundantGreTunnelTemplateModel.RemoteTunnelIp = core.StringPtr("192.168.129.1") + transitGatewayRedundantGreTunnelTemplateModel.Zone = zoneIdentityModel + // Construct an instance of the CreateTransitGatewayConnectionOptions model createTransitGatewayConnectionOptionsModel := new(transitgatewayapisv1.CreateTransitGatewayConnectionOptions) createTransitGatewayConnectionOptionsModel.TransitGatewayID = core.StringPtr("testString") @@ -2299,13 +2342,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { createTransitGatewayConnectionOptionsModel.LocalGatewayIp = core.StringPtr("192.168.100.1") createTransitGatewayConnectionOptionsModel.LocalTunnelIp = core.StringPtr("192.168.129.2") createTransitGatewayConnectionOptionsModel.Name = core.StringPtr("Transit_Service_BWTN_SJ_DL") - createTransitGatewayConnectionOptionsModel.NetworkAccountID = core.StringPtr("28e4d90ac7504be694471ee66e70d0d5") + createTransitGatewayConnectionOptionsModel.NetworkAccountID = core.StringPtr("testString") createTransitGatewayConnectionOptionsModel.NetworkID = core.StringPtr("crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b") createTransitGatewayConnectionOptionsModel.PrefixFilters = []transitgatewayapisv1.TransitGatewayConnectionPrefixFilter{*transitGatewayConnectionPrefixFilterModel} createTransitGatewayConnectionOptionsModel.PrefixFiltersDefault = core.StringPtr("permit") createTransitGatewayConnectionOptionsModel.RemoteBgpAsn = core.Int64Ptr(int64(65010)) createTransitGatewayConnectionOptionsModel.RemoteGatewayIp = core.StringPtr("10.242.63.12") createTransitGatewayConnectionOptionsModel.RemoteTunnelIp = core.StringPtr("192.168.129.1") + createTransitGatewayConnectionOptionsModel.Tunnels = []transitgatewayapisv1.TransitGatewayRedundantGRETunnelTemplate{*transitGatewayRedundantGreTunnelTemplateModel} createTransitGatewayConnectionOptionsModel.Zone = zoneIdentityModel createTransitGatewayConnectionOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} // Invoke operation with empty URL (negative test) @@ -2341,7 +2385,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -2357,6 +2401,16 @@ var _ = Describe(`TransitGatewayApisV1`, func() { zoneIdentityModel := new(transitgatewayapisv1.ZoneIdentityByName) zoneIdentityModel.Name = core.StringPtr("us-south-1") + // Construct an instance of the TransitGatewayRedundantGRETunnelTemplate model + transitGatewayRedundantGreTunnelTemplateModel := new(transitgatewayapisv1.TransitGatewayRedundantGRETunnelTemplate) + transitGatewayRedundantGreTunnelTemplateModel.LocalGatewayIp = core.StringPtr("10.242.63.12") + transitGatewayRedundantGreTunnelTemplateModel.LocalTunnelIp = core.StringPtr("192.168.100.20") + transitGatewayRedundantGreTunnelTemplateModel.Name = core.StringPtr("gre1") + transitGatewayRedundantGreTunnelTemplateModel.RemoteBgpAsn = core.Int64Ptr(int64(65010)) + transitGatewayRedundantGreTunnelTemplateModel.RemoteGatewayIp = core.StringPtr("10.242.33.22") + transitGatewayRedundantGreTunnelTemplateModel.RemoteTunnelIp = core.StringPtr("192.168.129.1") + transitGatewayRedundantGreTunnelTemplateModel.Zone = zoneIdentityModel + // Construct an instance of the CreateTransitGatewayConnectionOptions model createTransitGatewayConnectionOptionsModel := new(transitgatewayapisv1.CreateTransitGatewayConnectionOptions) createTransitGatewayConnectionOptionsModel.TransitGatewayID = core.StringPtr("testString") @@ -2366,13 +2420,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { createTransitGatewayConnectionOptionsModel.LocalGatewayIp = core.StringPtr("192.168.100.1") createTransitGatewayConnectionOptionsModel.LocalTunnelIp = core.StringPtr("192.168.129.2") createTransitGatewayConnectionOptionsModel.Name = core.StringPtr("Transit_Service_BWTN_SJ_DL") - createTransitGatewayConnectionOptionsModel.NetworkAccountID = core.StringPtr("28e4d90ac7504be694471ee66e70d0d5") + createTransitGatewayConnectionOptionsModel.NetworkAccountID = core.StringPtr("testString") createTransitGatewayConnectionOptionsModel.NetworkID = core.StringPtr("crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b") createTransitGatewayConnectionOptionsModel.PrefixFilters = []transitgatewayapisv1.TransitGatewayConnectionPrefixFilter{*transitGatewayConnectionPrefixFilterModel} createTransitGatewayConnectionOptionsModel.PrefixFiltersDefault = core.StringPtr("permit") createTransitGatewayConnectionOptionsModel.RemoteBgpAsn = core.Int64Ptr(int64(65010)) createTransitGatewayConnectionOptionsModel.RemoteGatewayIp = core.StringPtr("10.242.63.12") createTransitGatewayConnectionOptionsModel.RemoteTunnelIp = core.StringPtr("192.168.129.1") + createTransitGatewayConnectionOptionsModel.Tunnels = []transitgatewayapisv1.TransitGatewayRedundantGRETunnelTemplate{*transitGatewayRedundantGreTunnelTemplateModel} createTransitGatewayConnectionOptionsModel.Zone = zoneIdentityModel createTransitGatewayConnectionOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} @@ -2409,7 +2464,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -2434,7 +2489,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -2484,7 +2539,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -2531,14 +2586,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "28e4d90ac7504be694471ee66e70d0d5", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) + fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "NetworkAccountID", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "tunnels": [{"created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) })) }) It(`Invoke GetTransitGatewayConnection successfully with retries`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -2588,14 +2643,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "28e4d90ac7504be694471ee66e70d0d5", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) + fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "NetworkAccountID", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "tunnels": [{"created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) })) }) It(`Invoke GetTransitGatewayConnection successfully`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -2623,7 +2678,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -2666,7 +2721,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -2711,7 +2766,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -2776,14 +2831,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "28e4d90ac7504be694471ee66e70d0d5", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) + fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "NetworkAccountID", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "tunnels": [{"created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) })) }) It(`Invoke UpdateTransitGatewayConnection successfully with retries`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -2851,14 +2906,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "28e4d90ac7504be694471ee66e70d0d5", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) + fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "name": "Transit_Service_BWTN_SJ_DL", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "network_type": "vpc", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "base_connection_id": "975f58c1-afe7-469a-9727-7f3d720f2d32", "created_at": "2019-01-01T12:00:00.000Z", "local_bgp_asn": 64490, "local_gateway_ip": "192.168.100.1", "local_tunnel_ip": "192.168.129.2", "mtu": 9000, "network_account_id": "NetworkAccountID", "prefix_filters": [{"action": "permit", "before": "1a15dcab-7e40-45e1-b7c5-bc690eaa9782", "created_at": "2019-01-01T12:00:00.000Z", "ge": 0, "id": "1a15dcab-7e30-45e1-b7c5-bc690eaa9865", "le": 32, "prefix": "192.168.100.0/24", "updated_at": "2019-01-01T12:00:00.000Z"}], "prefix_filters_default": "permit", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.63.12", "remote_tunnel_ip": "192.168.129.1", "request_status": "pending", "status": "attached", "tunnels": [{"created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}], "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) })) }) It(`Invoke UpdateTransitGatewayConnection successfully`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -2888,7 +2943,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -2933,7 +2988,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -2995,7 +3050,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -3021,7 +3076,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -3051,16 +3106,16 @@ var _ = Describe(`TransitGatewayApisV1`, func() { }) }) }) - Describe(`ListGatewayLocations(listGatewayLocationsOptions *ListGatewayLocationsOptions) - Operation response error`, func() { + Describe(`GetTransitGatewayGreTunnel(getTransitGatewayGreTunnelOptions *GetTransitGatewayGreTunnelOptions) - Operation response error`, func() { version := "testString" - listGatewayLocationsPath := "/locations" + getTransitGatewayGreTunnelPath := "/transit_gateways/testString/connections/testString/tunnels" Context(`Using mock server endpoint with invalid JSON response`, func() { BeforeEach(func() { testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { defer GinkgoRecover() // Verify the contents of the request - Expect(req.URL.EscapedPath()).To(Equal(listGatewayLocationsPath)) + Expect(req.URL.EscapedPath()).To(Equal(getTransitGatewayGreTunnelPath)) Expect(req.Method).To(Equal("GET")) Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) res.Header().Set("Content-type", "application/json") @@ -3068,27 +3123,29 @@ var _ = Describe(`TransitGatewayApisV1`, func() { fmt.Fprint(res, `} this is not valid json {`) })) }) - It(`Invoke ListGatewayLocations with error: Operation response processing error`, func() { + It(`Invoke GetTransitGatewayGreTunnel with error: Operation response processing error`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) - // Construct an instance of the ListGatewayLocationsOptions model - listGatewayLocationsOptionsModel := new(transitgatewayapisv1.ListGatewayLocationsOptions) - listGatewayLocationsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Construct an instance of the GetTransitGatewayGreTunnelOptions model + getTransitGatewayGreTunnelOptionsModel := new(transitgatewayapisv1.GetTransitGatewayGreTunnelOptions) + getTransitGatewayGreTunnelOptionsModel.TransitGatewayID = core.StringPtr("testString") + getTransitGatewayGreTunnelOptionsModel.ID = core.StringPtr("testString") + getTransitGatewayGreTunnelOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} // Expect response parsing to fail since we are receiving a text/plain response - result, response, operationErr := transitGatewayApisService.ListGatewayLocations(listGatewayLocationsOptionsModel) + result, response, operationErr := transitGatewayApisService.GetTransitGatewayGreTunnel(getTransitGatewayGreTunnelOptionsModel) Expect(operationErr).ToNot(BeNil()) Expect(response).ToNot(BeNil()) Expect(result).To(BeNil()) // Enable retries and test again transitGatewayApisService.EnableRetries(0, 0) - result, response, operationErr = transitGatewayApisService.ListGatewayLocations(listGatewayLocationsOptionsModel) + result, response, operationErr = transitGatewayApisService.GetTransitGatewayGreTunnel(getTransitGatewayGreTunnelOptionsModel) Expect(operationErr).ToNot(BeNil()) Expect(response).ToNot(BeNil()) Expect(result).To(BeNil()) @@ -3098,16 +3155,16 @@ var _ = Describe(`TransitGatewayApisV1`, func() { }) }) }) - Describe(`ListGatewayLocations(listGatewayLocationsOptions *ListGatewayLocationsOptions)`, func() { + Describe(`GetTransitGatewayGreTunnel(getTransitGatewayGreTunnelOptions *GetTransitGatewayGreTunnelOptions)`, func() { version := "testString" - listGatewayLocationsPath := "/locations" + getTransitGatewayGreTunnelPath := "/transit_gateways/testString/connections/testString/tunnels" Context(`Using mock server endpoint with timeout`, func() { BeforeEach(func() { testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { defer GinkgoRecover() // Verify the contents of the request - Expect(req.URL.EscapedPath()).To(Equal(listGatewayLocationsPath)) + Expect(req.URL.EscapedPath()).To(Equal(getTransitGatewayGreTunnelPath)) Expect(req.Method).To(Equal("GET")) Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) @@ -3117,33 +3174,35 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"locations": [{"billing_location": "us", "name": "us-south", "type": "region"}]}`) + fmt.Fprintf(res, "%s", `{"tunnels": [{"base_network_type": "classic", "created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "network_account_id": "NetworkAccountID", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}]}`) })) }) - It(`Invoke ListGatewayLocations successfully with retries`, func() { + It(`Invoke GetTransitGatewayGreTunnel successfully with retries`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) transitGatewayApisService.EnableRetries(0, 0) - // Construct an instance of the ListGatewayLocationsOptions model - listGatewayLocationsOptionsModel := new(transitgatewayapisv1.ListGatewayLocationsOptions) - listGatewayLocationsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Construct an instance of the GetTransitGatewayGreTunnelOptions model + getTransitGatewayGreTunnelOptionsModel := new(transitgatewayapisv1.GetTransitGatewayGreTunnelOptions) + getTransitGatewayGreTunnelOptionsModel.TransitGatewayID = core.StringPtr("testString") + getTransitGatewayGreTunnelOptionsModel.ID = core.StringPtr("testString") + getTransitGatewayGreTunnelOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} // Invoke operation with a Context to test a timeout error ctx, cancelFunc := context.WithTimeout(context.Background(), 80*time.Millisecond) defer cancelFunc() - _, _, operationErr := transitGatewayApisService.ListGatewayLocationsWithContext(ctx, listGatewayLocationsOptionsModel) + _, _, operationErr := transitGatewayApisService.GetTransitGatewayGreTunnelWithContext(ctx, getTransitGatewayGreTunnelOptionsModel) Expect(operationErr).ToNot(BeNil()) Expect(operationErr.Error()).To(ContainSubstring("deadline exceeded")) // Disable retries and test again transitGatewayApisService.DisableRetries() - result, response, operationErr := transitGatewayApisService.ListGatewayLocations(listGatewayLocationsOptionsModel) + result, response, operationErr := transitGatewayApisService.GetTransitGatewayGreTunnel(getTransitGatewayGreTunnelOptionsModel) Expect(operationErr).To(BeNil()) Expect(response).ToNot(BeNil()) Expect(result).ToNot(BeNil()) @@ -3151,7 +3210,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Re-test the timeout error with retries disabled ctx, cancelFunc2 := context.WithTimeout(context.Background(), 80*time.Millisecond) defer cancelFunc2() - _, _, operationErr = transitGatewayApisService.ListGatewayLocationsWithContext(ctx, listGatewayLocationsOptionsModel) + _, _, operationErr = transitGatewayApisService.GetTransitGatewayGreTunnelWithContext(ctx, getTransitGatewayGreTunnelOptionsModel) Expect(operationErr).ToNot(BeNil()) Expect(operationErr.Error()).To(ContainSubstring("deadline exceeded")) }) @@ -3165,62 +3224,73 @@ var _ = Describe(`TransitGatewayApisV1`, func() { defer GinkgoRecover() // Verify the contents of the request - Expect(req.URL.EscapedPath()).To(Equal(listGatewayLocationsPath)) + Expect(req.URL.EscapedPath()).To(Equal(getTransitGatewayGreTunnelPath)) Expect(req.Method).To(Equal("GET")) Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) // Set mock response res.Header().Set("Content-type", "application/json") res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"locations": [{"billing_location": "us", "name": "us-south", "type": "region"}]}`) + fmt.Fprintf(res, "%s", `{"tunnels": [{"base_network_type": "classic", "created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "network_account_id": "NetworkAccountID", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}]}`) })) }) - It(`Invoke ListGatewayLocations successfully`, func() { + It(`Invoke GetTransitGatewayGreTunnel successfully`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) // Invoke operation with nil options model (negative test) - result, response, operationErr := transitGatewayApisService.ListGatewayLocations(nil) + result, response, operationErr := transitGatewayApisService.GetTransitGatewayGreTunnel(nil) Expect(operationErr).NotTo(BeNil()) Expect(response).To(BeNil()) Expect(result).To(BeNil()) - // Construct an instance of the ListGatewayLocationsOptions model - listGatewayLocationsOptionsModel := new(transitgatewayapisv1.ListGatewayLocationsOptions) - listGatewayLocationsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Construct an instance of the GetTransitGatewayGreTunnelOptions model + getTransitGatewayGreTunnelOptionsModel := new(transitgatewayapisv1.GetTransitGatewayGreTunnelOptions) + getTransitGatewayGreTunnelOptionsModel.TransitGatewayID = core.StringPtr("testString") + getTransitGatewayGreTunnelOptionsModel.ID = core.StringPtr("testString") + getTransitGatewayGreTunnelOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} // Invoke operation with valid options model (positive test) - result, response, operationErr = transitGatewayApisService.ListGatewayLocations(listGatewayLocationsOptionsModel) + result, response, operationErr = transitGatewayApisService.GetTransitGatewayGreTunnel(getTransitGatewayGreTunnelOptionsModel) Expect(operationErr).To(BeNil()) Expect(response).ToNot(BeNil()) Expect(result).ToNot(BeNil()) }) - It(`Invoke ListGatewayLocations with error: Operation request error`, func() { + It(`Invoke GetTransitGatewayGreTunnel with error: Operation validation and request error`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) - // Construct an instance of the ListGatewayLocationsOptions model - listGatewayLocationsOptionsModel := new(transitgatewayapisv1.ListGatewayLocationsOptions) - listGatewayLocationsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Construct an instance of the GetTransitGatewayGreTunnelOptions model + getTransitGatewayGreTunnelOptionsModel := new(transitgatewayapisv1.GetTransitGatewayGreTunnelOptions) + getTransitGatewayGreTunnelOptionsModel.TransitGatewayID = core.StringPtr("testString") + getTransitGatewayGreTunnelOptionsModel.ID = core.StringPtr("testString") + getTransitGatewayGreTunnelOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} // Invoke operation with empty URL (negative test) err := transitGatewayApisService.SetServiceURL("") Expect(err).To(BeNil()) - result, response, operationErr := transitGatewayApisService.ListGatewayLocations(listGatewayLocationsOptionsModel) + result, response, operationErr := transitGatewayApisService.GetTransitGatewayGreTunnel(getTransitGatewayGreTunnelOptionsModel) Expect(operationErr).ToNot(BeNil()) Expect(operationErr.Error()).To(ContainSubstring(core.ERRORMSG_SERVICE_URL_MISSING)) Expect(response).To(BeNil()) Expect(result).To(BeNil()) + // Construct a second instance of the GetTransitGatewayGreTunnelOptions model with no property values + getTransitGatewayGreTunnelOptionsModelNew := new(transitgatewayapisv1.GetTransitGatewayGreTunnelOptions) + // Invoke operation with invalid model (negative test) + result, response, operationErr = transitGatewayApisService.GetTransitGatewayGreTunnel(getTransitGatewayGreTunnelOptionsModelNew) + Expect(operationErr).ToNot(BeNil()) + Expect(response).To(BeNil()) + Expect(result).To(BeNil()) }) AfterEach(func() { testServer.Close() @@ -3235,21 +3305,23 @@ var _ = Describe(`TransitGatewayApisV1`, func() { res.WriteHeader(200) })) }) - It(`Invoke ListGatewayLocations successfully`, func() { + It(`Invoke GetTransitGatewayGreTunnel successfully`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) - // Construct an instance of the ListGatewayLocationsOptions model - listGatewayLocationsOptionsModel := new(transitgatewayapisv1.ListGatewayLocationsOptions) - listGatewayLocationsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Construct an instance of the GetTransitGatewayGreTunnelOptions model + getTransitGatewayGreTunnelOptionsModel := new(transitgatewayapisv1.GetTransitGatewayGreTunnelOptions) + getTransitGatewayGreTunnelOptionsModel.TransitGatewayID = core.StringPtr("testString") + getTransitGatewayGreTunnelOptionsModel.ID = core.StringPtr("testString") + getTransitGatewayGreTunnelOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} // Invoke operation - result, response, operationErr := transitGatewayApisService.ListGatewayLocations(listGatewayLocationsOptionsModel) + result, response, operationErr := transitGatewayApisService.GetTransitGatewayGreTunnel(getTransitGatewayGreTunnelOptionsModel) Expect(operationErr).To(BeNil()) Expect(response).ToNot(BeNil()) @@ -3261,45 +3333,57 @@ var _ = Describe(`TransitGatewayApisV1`, func() { }) }) }) - Describe(`GetGatewayLocation(getGatewayLocationOptions *GetGatewayLocationOptions) - Operation response error`, func() { + Describe(`CreateTransitGatewayGreTunnel(createTransitGatewayGreTunnelOptions *CreateTransitGatewayGreTunnelOptions) - Operation response error`, func() { version := "testString" - getGatewayLocationPath := "/locations/testString" + createTransitGatewayGreTunnelPath := "/transit_gateways/testString/connections/testString/tunnels" Context(`Using mock server endpoint with invalid JSON response`, func() { BeforeEach(func() { testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { defer GinkgoRecover() // Verify the contents of the request - Expect(req.URL.EscapedPath()).To(Equal(getGatewayLocationPath)) - Expect(req.Method).To(Equal("GET")) + Expect(req.URL.EscapedPath()).To(Equal(createTransitGatewayGreTunnelPath)) + Expect(req.Method).To(Equal("POST")) Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) res.Header().Set("Content-type", "application/json") - res.WriteHeader(200) + res.WriteHeader(201) fmt.Fprint(res, `} this is not valid json {`) })) }) - It(`Invoke GetGatewayLocation with error: Operation response processing error`, func() { + It(`Invoke CreateTransitGatewayGreTunnel with error: Operation response processing error`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) - // Construct an instance of the GetGatewayLocationOptions model - getGatewayLocationOptionsModel := new(transitgatewayapisv1.GetGatewayLocationOptions) - getGatewayLocationOptionsModel.Name = core.StringPtr("testString") - getGatewayLocationOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Construct an instance of the ZoneIdentityByName model + zoneIdentityModel := new(transitgatewayapisv1.ZoneIdentityByName) + zoneIdentityModel.Name = core.StringPtr("us-south-1") + + // Construct an instance of the CreateTransitGatewayGreTunnelOptions model + createTransitGatewayGreTunnelOptionsModel := new(transitgatewayapisv1.CreateTransitGatewayGreTunnelOptions) + createTransitGatewayGreTunnelOptionsModel.TransitGatewayID = core.StringPtr("testString") + createTransitGatewayGreTunnelOptionsModel.ID = core.StringPtr("testString") + createTransitGatewayGreTunnelOptionsModel.LocalGatewayIp = core.StringPtr("10.242.63.12") + createTransitGatewayGreTunnelOptionsModel.LocalTunnelIp = core.StringPtr("192.168.100.20") + createTransitGatewayGreTunnelOptionsModel.Name = core.StringPtr("gre1") + createTransitGatewayGreTunnelOptionsModel.RemoteGatewayIp = core.StringPtr("10.242.33.22") + createTransitGatewayGreTunnelOptionsModel.RemoteTunnelIp = core.StringPtr("192.168.129.1") + createTransitGatewayGreTunnelOptionsModel.Zone = zoneIdentityModel + createTransitGatewayGreTunnelOptionsModel.RemoteBgpAsn = core.Int64Ptr(int64(65010)) + createTransitGatewayGreTunnelOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} // Expect response parsing to fail since we are receiving a text/plain response - result, response, operationErr := transitGatewayApisService.GetGatewayLocation(getGatewayLocationOptionsModel) + result, response, operationErr := transitGatewayApisService.CreateTransitGatewayGreTunnel(createTransitGatewayGreTunnelOptionsModel) Expect(operationErr).ToNot(BeNil()) Expect(response).ToNot(BeNil()) Expect(result).To(BeNil()) // Enable retries and test again transitGatewayApisService.EnableRetries(0, 0) - result, response, operationErr = transitGatewayApisService.GetGatewayLocation(getGatewayLocationOptionsModel) + result, response, operationErr = transitGatewayApisService.CreateTransitGatewayGreTunnel(createTransitGatewayGreTunnelOptionsModel) Expect(operationErr).ToNot(BeNil()) Expect(response).ToNot(BeNil()) Expect(result).To(BeNil()) @@ -3309,17 +3393,33 @@ var _ = Describe(`TransitGatewayApisV1`, func() { }) }) }) - Describe(`GetGatewayLocation(getGatewayLocationOptions *GetGatewayLocationOptions)`, func() { + Describe(`CreateTransitGatewayGreTunnel(createTransitGatewayGreTunnelOptions *CreateTransitGatewayGreTunnelOptions)`, func() { version := "testString" - getGatewayLocationPath := "/locations/testString" + createTransitGatewayGreTunnelPath := "/transit_gateways/testString/connections/testString/tunnels" Context(`Using mock server endpoint with timeout`, func() { BeforeEach(func() { testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { defer GinkgoRecover() // Verify the contents of the request - Expect(req.URL.EscapedPath()).To(Equal(getGatewayLocationPath)) - Expect(req.Method).To(Equal("GET")) + Expect(req.URL.EscapedPath()).To(Equal(createTransitGatewayGreTunnelPath)) + Expect(req.Method).To(Equal("POST")) + + // For gzip-disabled operation, verify Content-Encoding is not set. + Expect(req.Header.Get("Content-Encoding")).To(BeEmpty()) + + // If there is a body, then make sure we can read it + bodyBuf := new(bytes.Buffer) + if req.Header.Get("Content-Encoding") == "gzip" { + body, err := core.NewGzipDecompressionReader(req.Body) + Expect(err).To(BeNil()) + _, err = bodyBuf.ReadFrom(body) + Expect(err).To(BeNil()) + } else { + _, err := bodyBuf.ReadFrom(req.Body) + Expect(err).To(BeNil()) + } + fmt.Fprintf(GinkgoWriter, " Request body: %s", bodyBuf.String()) Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) // Sleep a short time to support a timeout test @@ -3327,35 +3427,47 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Set mock response res.Header().Set("Content-type", "application/json") - res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"billing_location": "us", "name": "us-south", "type": "region", "local_connection_locations": [{"display_name": "Dallas", "name": "us-south", "supported_connection_types": ["SupportedConnectionTypes"], "type": "region"}]}`) + res.WriteHeader(201) + fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "network_account_id": "NetworkAccountID", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) })) }) - It(`Invoke GetGatewayLocation successfully with retries`, func() { + It(`Invoke CreateTransitGatewayGreTunnel successfully with retries`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) transitGatewayApisService.EnableRetries(0, 0) - // Construct an instance of the GetGatewayLocationOptions model - getGatewayLocationOptionsModel := new(transitgatewayapisv1.GetGatewayLocationOptions) - getGatewayLocationOptionsModel.Name = core.StringPtr("testString") - getGatewayLocationOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Construct an instance of the ZoneIdentityByName model + zoneIdentityModel := new(transitgatewayapisv1.ZoneIdentityByName) + zoneIdentityModel.Name = core.StringPtr("us-south-1") + + // Construct an instance of the CreateTransitGatewayGreTunnelOptions model + createTransitGatewayGreTunnelOptionsModel := new(transitgatewayapisv1.CreateTransitGatewayGreTunnelOptions) + createTransitGatewayGreTunnelOptionsModel.TransitGatewayID = core.StringPtr("testString") + createTransitGatewayGreTunnelOptionsModel.ID = core.StringPtr("testString") + createTransitGatewayGreTunnelOptionsModel.LocalGatewayIp = core.StringPtr("10.242.63.12") + createTransitGatewayGreTunnelOptionsModel.LocalTunnelIp = core.StringPtr("192.168.100.20") + createTransitGatewayGreTunnelOptionsModel.Name = core.StringPtr("gre1") + createTransitGatewayGreTunnelOptionsModel.RemoteGatewayIp = core.StringPtr("10.242.33.22") + createTransitGatewayGreTunnelOptionsModel.RemoteTunnelIp = core.StringPtr("192.168.129.1") + createTransitGatewayGreTunnelOptionsModel.Zone = zoneIdentityModel + createTransitGatewayGreTunnelOptionsModel.RemoteBgpAsn = core.Int64Ptr(int64(65010)) + createTransitGatewayGreTunnelOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} // Invoke operation with a Context to test a timeout error ctx, cancelFunc := context.WithTimeout(context.Background(), 80*time.Millisecond) defer cancelFunc() - _, _, operationErr := transitGatewayApisService.GetGatewayLocationWithContext(ctx, getGatewayLocationOptionsModel) + _, _, operationErr := transitGatewayApisService.CreateTransitGatewayGreTunnelWithContext(ctx, createTransitGatewayGreTunnelOptionsModel) Expect(operationErr).ToNot(BeNil()) Expect(operationErr.Error()).To(ContainSubstring("deadline exceeded")) // Disable retries and test again transitGatewayApisService.DisableRetries() - result, response, operationErr := transitGatewayApisService.GetGatewayLocation(getGatewayLocationOptionsModel) + result, response, operationErr := transitGatewayApisService.CreateTransitGatewayGreTunnel(createTransitGatewayGreTunnelOptionsModel) Expect(operationErr).To(BeNil()) Expect(response).ToNot(BeNil()) Expect(result).ToNot(BeNil()) @@ -3363,7 +3475,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { // Re-test the timeout error with retries disabled ctx, cancelFunc2 := context.WithTimeout(context.Background(), 80*time.Millisecond) defer cancelFunc2() - _, _, operationErr = transitGatewayApisService.GetGatewayLocationWithContext(ctx, getGatewayLocationOptionsModel) + _, _, operationErr = transitGatewayApisService.CreateTransitGatewayGreTunnelWithContext(ctx, createTransitGatewayGreTunnelOptionsModel) Expect(operationErr).ToNot(BeNil()) Expect(operationErr.Error()).To(ContainSubstring("deadline exceeded")) }) @@ -3377,68 +3489,108 @@ var _ = Describe(`TransitGatewayApisV1`, func() { defer GinkgoRecover() // Verify the contents of the request - Expect(req.URL.EscapedPath()).To(Equal(getGatewayLocationPath)) - Expect(req.Method).To(Equal("GET")) + Expect(req.URL.EscapedPath()).To(Equal(createTransitGatewayGreTunnelPath)) + Expect(req.Method).To(Equal("POST")) + + // For gzip-disabled operation, verify Content-Encoding is not set. + Expect(req.Header.Get("Content-Encoding")).To(BeEmpty()) + + // If there is a body, then make sure we can read it + bodyBuf := new(bytes.Buffer) + if req.Header.Get("Content-Encoding") == "gzip" { + body, err := core.NewGzipDecompressionReader(req.Body) + Expect(err).To(BeNil()) + _, err = bodyBuf.ReadFrom(body) + Expect(err).To(BeNil()) + } else { + _, err := bodyBuf.ReadFrom(req.Body) + Expect(err).To(BeNil()) + } + fmt.Fprintf(GinkgoWriter, " Request body: %s", bodyBuf.String()) Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) // Set mock response res.Header().Set("Content-type", "application/json") - res.WriteHeader(200) - fmt.Fprintf(res, "%s", `{"billing_location": "us", "name": "us-south", "type": "region", "local_connection_locations": [{"display_name": "Dallas", "name": "us-south", "supported_connection_types": ["SupportedConnectionTypes"], "type": "region"}]}`) + res.WriteHeader(201) + fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "network_account_id": "NetworkAccountID", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) })) }) - It(`Invoke GetGatewayLocation successfully`, func() { + It(`Invoke CreateTransitGatewayGreTunnel successfully`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) // Invoke operation with nil options model (negative test) - result, response, operationErr := transitGatewayApisService.GetGatewayLocation(nil) + result, response, operationErr := transitGatewayApisService.CreateTransitGatewayGreTunnel(nil) Expect(operationErr).NotTo(BeNil()) Expect(response).To(BeNil()) Expect(result).To(BeNil()) - // Construct an instance of the GetGatewayLocationOptions model - getGatewayLocationOptionsModel := new(transitgatewayapisv1.GetGatewayLocationOptions) - getGatewayLocationOptionsModel.Name = core.StringPtr("testString") - getGatewayLocationOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Construct an instance of the ZoneIdentityByName model + zoneIdentityModel := new(transitgatewayapisv1.ZoneIdentityByName) + zoneIdentityModel.Name = core.StringPtr("us-south-1") + + // Construct an instance of the CreateTransitGatewayGreTunnelOptions model + createTransitGatewayGreTunnelOptionsModel := new(transitgatewayapisv1.CreateTransitGatewayGreTunnelOptions) + createTransitGatewayGreTunnelOptionsModel.TransitGatewayID = core.StringPtr("testString") + createTransitGatewayGreTunnelOptionsModel.ID = core.StringPtr("testString") + createTransitGatewayGreTunnelOptionsModel.LocalGatewayIp = core.StringPtr("10.242.63.12") + createTransitGatewayGreTunnelOptionsModel.LocalTunnelIp = core.StringPtr("192.168.100.20") + createTransitGatewayGreTunnelOptionsModel.Name = core.StringPtr("gre1") + createTransitGatewayGreTunnelOptionsModel.RemoteGatewayIp = core.StringPtr("10.242.33.22") + createTransitGatewayGreTunnelOptionsModel.RemoteTunnelIp = core.StringPtr("192.168.129.1") + createTransitGatewayGreTunnelOptionsModel.Zone = zoneIdentityModel + createTransitGatewayGreTunnelOptionsModel.RemoteBgpAsn = core.Int64Ptr(int64(65010)) + createTransitGatewayGreTunnelOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} // Invoke operation with valid options model (positive test) - result, response, operationErr = transitGatewayApisService.GetGatewayLocation(getGatewayLocationOptionsModel) + result, response, operationErr = transitGatewayApisService.CreateTransitGatewayGreTunnel(createTransitGatewayGreTunnelOptionsModel) Expect(operationErr).To(BeNil()) Expect(response).ToNot(BeNil()) Expect(result).ToNot(BeNil()) }) - It(`Invoke GetGatewayLocation with error: Operation validation and request error`, func() { + It(`Invoke CreateTransitGatewayGreTunnel with error: Operation validation and request error`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) - // Construct an instance of the GetGatewayLocationOptions model - getGatewayLocationOptionsModel := new(transitgatewayapisv1.GetGatewayLocationOptions) - getGatewayLocationOptionsModel.Name = core.StringPtr("testString") - getGatewayLocationOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Construct an instance of the ZoneIdentityByName model + zoneIdentityModel := new(transitgatewayapisv1.ZoneIdentityByName) + zoneIdentityModel.Name = core.StringPtr("us-south-1") + + // Construct an instance of the CreateTransitGatewayGreTunnelOptions model + createTransitGatewayGreTunnelOptionsModel := new(transitgatewayapisv1.CreateTransitGatewayGreTunnelOptions) + createTransitGatewayGreTunnelOptionsModel.TransitGatewayID = core.StringPtr("testString") + createTransitGatewayGreTunnelOptionsModel.ID = core.StringPtr("testString") + createTransitGatewayGreTunnelOptionsModel.LocalGatewayIp = core.StringPtr("10.242.63.12") + createTransitGatewayGreTunnelOptionsModel.LocalTunnelIp = core.StringPtr("192.168.100.20") + createTransitGatewayGreTunnelOptionsModel.Name = core.StringPtr("gre1") + createTransitGatewayGreTunnelOptionsModel.RemoteGatewayIp = core.StringPtr("10.242.33.22") + createTransitGatewayGreTunnelOptionsModel.RemoteTunnelIp = core.StringPtr("192.168.129.1") + createTransitGatewayGreTunnelOptionsModel.Zone = zoneIdentityModel + createTransitGatewayGreTunnelOptionsModel.RemoteBgpAsn = core.Int64Ptr(int64(65010)) + createTransitGatewayGreTunnelOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} // Invoke operation with empty URL (negative test) err := transitGatewayApisService.SetServiceURL("") Expect(err).To(BeNil()) - result, response, operationErr := transitGatewayApisService.GetGatewayLocation(getGatewayLocationOptionsModel) + result, response, operationErr := transitGatewayApisService.CreateTransitGatewayGreTunnel(createTransitGatewayGreTunnelOptionsModel) Expect(operationErr).ToNot(BeNil()) Expect(operationErr.Error()).To(ContainSubstring(core.ERRORMSG_SERVICE_URL_MISSING)) Expect(response).To(BeNil()) Expect(result).To(BeNil()) - // Construct a second instance of the GetGatewayLocationOptions model with no property values - getGatewayLocationOptionsModelNew := new(transitgatewayapisv1.GetGatewayLocationOptions) + // Construct a second instance of the CreateTransitGatewayGreTunnelOptions model with no property values + createTransitGatewayGreTunnelOptionsModelNew := new(transitgatewayapisv1.CreateTransitGatewayGreTunnelOptions) // Invoke operation with invalid model (negative test) - result, response, operationErr = transitGatewayApisService.GetGatewayLocation(getGatewayLocationOptionsModelNew) + result, response, operationErr = transitGatewayApisService.CreateTransitGatewayGreTunnel(createTransitGatewayGreTunnelOptionsModelNew) Expect(operationErr).ToNot(BeNil()) Expect(response).To(BeNil()) Expect(result).To(BeNil()) @@ -3453,25 +3605,37 @@ var _ = Describe(`TransitGatewayApisV1`, func() { defer GinkgoRecover() // Set success status code with no respoonse body - res.WriteHeader(200) + res.WriteHeader(201) })) }) - It(`Invoke GetGatewayLocation successfully`, func() { + It(`Invoke CreateTransitGatewayGreTunnel successfully`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) - // Construct an instance of the GetGatewayLocationOptions model - getGatewayLocationOptionsModel := new(transitgatewayapisv1.GetGatewayLocationOptions) - getGatewayLocationOptionsModel.Name = core.StringPtr("testString") - getGatewayLocationOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Construct an instance of the ZoneIdentityByName model + zoneIdentityModel := new(transitgatewayapisv1.ZoneIdentityByName) + zoneIdentityModel.Name = core.StringPtr("us-south-1") + + // Construct an instance of the CreateTransitGatewayGreTunnelOptions model + createTransitGatewayGreTunnelOptionsModel := new(transitgatewayapisv1.CreateTransitGatewayGreTunnelOptions) + createTransitGatewayGreTunnelOptionsModel.TransitGatewayID = core.StringPtr("testString") + createTransitGatewayGreTunnelOptionsModel.ID = core.StringPtr("testString") + createTransitGatewayGreTunnelOptionsModel.LocalGatewayIp = core.StringPtr("10.242.63.12") + createTransitGatewayGreTunnelOptionsModel.LocalTunnelIp = core.StringPtr("192.168.100.20") + createTransitGatewayGreTunnelOptionsModel.Name = core.StringPtr("gre1") + createTransitGatewayGreTunnelOptionsModel.RemoteGatewayIp = core.StringPtr("10.242.33.22") + createTransitGatewayGreTunnelOptionsModel.RemoteTunnelIp = core.StringPtr("192.168.129.1") + createTransitGatewayGreTunnelOptionsModel.Zone = zoneIdentityModel + createTransitGatewayGreTunnelOptionsModel.RemoteBgpAsn = core.Int64Ptr(int64(65010)) + createTransitGatewayGreTunnelOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} // Invoke operation - result, response, operationErr := transitGatewayApisService.GetGatewayLocation(getGatewayLocationOptionsModel) + result, response, operationErr := transitGatewayApisService.CreateTransitGatewayGreTunnel(createTransitGatewayGreTunnelOptionsModel) Expect(operationErr).To(BeNil()) Expect(response).ToNot(BeNil()) @@ -3483,39 +3647,1048 @@ var _ = Describe(`TransitGatewayApisV1`, func() { }) }) }) - Describe(`ListTransitGatewayConnectionPrefixFilters(listTransitGatewayConnectionPrefixFiltersOptions *ListTransitGatewayConnectionPrefixFiltersOptions) - Operation response error`, func() { + Describe(`DeleteTransitGatewayConnectionTunnels(deleteTransitGatewayConnectionTunnelsOptions *DeleteTransitGatewayConnectionTunnelsOptions)`, func() { version := "testString" - listTransitGatewayConnectionPrefixFiltersPath := "/transit_gateways/testString/connections/testString/prefix_filters" - Context(`Using mock server endpoint with invalid JSON response`, func() { + deleteTransitGatewayConnectionTunnelsPath := "/transit_gateways/testString/connections/testString/tunnels/testString" + Context(`Using mock server endpoint`, func() { BeforeEach(func() { testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { defer GinkgoRecover() // Verify the contents of the request - Expect(req.URL.EscapedPath()).To(Equal(listTransitGatewayConnectionPrefixFiltersPath)) - Expect(req.Method).To(Equal("GET")) + Expect(req.URL.EscapedPath()).To(Equal(deleteTransitGatewayConnectionTunnelsPath)) + Expect(req.Method).To(Equal("DELETE")) + Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) - res.Header().Set("Content-type", "application/json") - res.WriteHeader(200) - fmt.Fprint(res, `} this is not valid json {`) + res.WriteHeader(204) })) }) - It(`Invoke ListTransitGatewayConnectionPrefixFilters with error: Operation response processing error`, func() { + It(`Invoke DeleteTransitGatewayConnectionTunnels successfully`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) - // Construct an instance of the ListTransitGatewayConnectionPrefixFiltersOptions model - listTransitGatewayConnectionPrefixFiltersOptionsModel := new(transitgatewayapisv1.ListTransitGatewayConnectionPrefixFiltersOptions) - listTransitGatewayConnectionPrefixFiltersOptionsModel.TransitGatewayID = core.StringPtr("testString") - listTransitGatewayConnectionPrefixFiltersOptionsModel.ID = core.StringPtr("testString") - listTransitGatewayConnectionPrefixFiltersOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} - // Expect response parsing to fail since we are receiving a text/plain response - result, response, operationErr := transitGatewayApisService.ListTransitGatewayConnectionPrefixFilters(listTransitGatewayConnectionPrefixFiltersOptionsModel) + // Invoke operation with nil options model (negative test) + response, operationErr := transitGatewayApisService.DeleteTransitGatewayConnectionTunnels(nil) + Expect(operationErr).NotTo(BeNil()) + Expect(response).To(BeNil()) + + // Construct an instance of the DeleteTransitGatewayConnectionTunnelsOptions model + deleteTransitGatewayConnectionTunnelsOptionsModel := new(transitgatewayapisv1.DeleteTransitGatewayConnectionTunnelsOptions) + deleteTransitGatewayConnectionTunnelsOptionsModel.TransitGatewayID = core.StringPtr("testString") + deleteTransitGatewayConnectionTunnelsOptionsModel.ID = core.StringPtr("testString") + deleteTransitGatewayConnectionTunnelsOptionsModel.GreTunnelID = core.StringPtr("testString") + deleteTransitGatewayConnectionTunnelsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + + // Invoke operation with valid options model (positive test) + response, operationErr = transitGatewayApisService.DeleteTransitGatewayConnectionTunnels(deleteTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).To(BeNil()) + Expect(response).ToNot(BeNil()) + }) + It(`Invoke DeleteTransitGatewayConnectionTunnels with error: Operation validation and request error`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Construct an instance of the DeleteTransitGatewayConnectionTunnelsOptions model + deleteTransitGatewayConnectionTunnelsOptionsModel := new(transitgatewayapisv1.DeleteTransitGatewayConnectionTunnelsOptions) + deleteTransitGatewayConnectionTunnelsOptionsModel.TransitGatewayID = core.StringPtr("testString") + deleteTransitGatewayConnectionTunnelsOptionsModel.ID = core.StringPtr("testString") + deleteTransitGatewayConnectionTunnelsOptionsModel.GreTunnelID = core.StringPtr("testString") + deleteTransitGatewayConnectionTunnelsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Invoke operation with empty URL (negative test) + err := transitGatewayApisService.SetServiceURL("") + Expect(err).To(BeNil()) + response, operationErr := transitGatewayApisService.DeleteTransitGatewayConnectionTunnels(deleteTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(operationErr.Error()).To(ContainSubstring(core.ERRORMSG_SERVICE_URL_MISSING)) + Expect(response).To(BeNil()) + // Construct a second instance of the DeleteTransitGatewayConnectionTunnelsOptions model with no property values + deleteTransitGatewayConnectionTunnelsOptionsModelNew := new(transitgatewayapisv1.DeleteTransitGatewayConnectionTunnelsOptions) + // Invoke operation with invalid model (negative test) + response, operationErr = transitGatewayApisService.DeleteTransitGatewayConnectionTunnels(deleteTransitGatewayConnectionTunnelsOptionsModelNew) + Expect(operationErr).ToNot(BeNil()) + Expect(response).To(BeNil()) + }) + AfterEach(func() { + testServer.Close() + }) + }) + }) + Describe(`GetTransitGatewayConnectionTunnels(getTransitGatewayConnectionTunnelsOptions *GetTransitGatewayConnectionTunnelsOptions) - Operation response error`, func() { + version := "testString" + getTransitGatewayConnectionTunnelsPath := "/transit_gateways/testString/connections/testString/tunnels/testString" + Context(`Using mock server endpoint with invalid JSON response`, func() { + BeforeEach(func() { + testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { + defer GinkgoRecover() + + // Verify the contents of the request + Expect(req.URL.EscapedPath()).To(Equal(getTransitGatewayConnectionTunnelsPath)) + Expect(req.Method).To(Equal("GET")) + Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) + res.Header().Set("Content-type", "application/json") + res.WriteHeader(200) + fmt.Fprint(res, `} this is not valid json {`) + })) + }) + It(`Invoke GetTransitGatewayConnectionTunnels with error: Operation response processing error`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Construct an instance of the GetTransitGatewayConnectionTunnelsOptions model + getTransitGatewayConnectionTunnelsOptionsModel := new(transitgatewayapisv1.GetTransitGatewayConnectionTunnelsOptions) + getTransitGatewayConnectionTunnelsOptionsModel.TransitGatewayID = core.StringPtr("testString") + getTransitGatewayConnectionTunnelsOptionsModel.ID = core.StringPtr("testString") + getTransitGatewayConnectionTunnelsOptionsModel.GreTunnelID = core.StringPtr("testString") + getTransitGatewayConnectionTunnelsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Expect response parsing to fail since we are receiving a text/plain response + result, response, operationErr := transitGatewayApisService.GetTransitGatewayConnectionTunnels(getTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(response).ToNot(BeNil()) + Expect(result).To(BeNil()) + + // Enable retries and test again + transitGatewayApisService.EnableRetries(0, 0) + result, response, operationErr = transitGatewayApisService.GetTransitGatewayConnectionTunnels(getTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(response).ToNot(BeNil()) + Expect(result).To(BeNil()) + }) + AfterEach(func() { + testServer.Close() + }) + }) + }) + Describe(`GetTransitGatewayConnectionTunnels(getTransitGatewayConnectionTunnelsOptions *GetTransitGatewayConnectionTunnelsOptions)`, func() { + version := "testString" + getTransitGatewayConnectionTunnelsPath := "/transit_gateways/testString/connections/testString/tunnels/testString" + Context(`Using mock server endpoint with timeout`, func() { + BeforeEach(func() { + testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { + defer GinkgoRecover() + + // Verify the contents of the request + Expect(req.URL.EscapedPath()).To(Equal(getTransitGatewayConnectionTunnelsPath)) + Expect(req.Method).To(Equal("GET")) + + Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) + // Sleep a short time to support a timeout test + time.Sleep(100 * time.Millisecond) + + // Set mock response + res.Header().Set("Content-type", "application/json") + res.WriteHeader(200) + fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "network_account_id": "NetworkAccountID", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) + })) + }) + It(`Invoke GetTransitGatewayConnectionTunnels successfully with retries`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + transitGatewayApisService.EnableRetries(0, 0) + + // Construct an instance of the GetTransitGatewayConnectionTunnelsOptions model + getTransitGatewayConnectionTunnelsOptionsModel := new(transitgatewayapisv1.GetTransitGatewayConnectionTunnelsOptions) + getTransitGatewayConnectionTunnelsOptionsModel.TransitGatewayID = core.StringPtr("testString") + getTransitGatewayConnectionTunnelsOptionsModel.ID = core.StringPtr("testString") + getTransitGatewayConnectionTunnelsOptionsModel.GreTunnelID = core.StringPtr("testString") + getTransitGatewayConnectionTunnelsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + + // Invoke operation with a Context to test a timeout error + ctx, cancelFunc := context.WithTimeout(context.Background(), 80*time.Millisecond) + defer cancelFunc() + _, _, operationErr := transitGatewayApisService.GetTransitGatewayConnectionTunnelsWithContext(ctx, getTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(operationErr.Error()).To(ContainSubstring("deadline exceeded")) + + // Disable retries and test again + transitGatewayApisService.DisableRetries() + result, response, operationErr := transitGatewayApisService.GetTransitGatewayConnectionTunnels(getTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).To(BeNil()) + Expect(response).ToNot(BeNil()) + Expect(result).ToNot(BeNil()) + + // Re-test the timeout error with retries disabled + ctx, cancelFunc2 := context.WithTimeout(context.Background(), 80*time.Millisecond) + defer cancelFunc2() + _, _, operationErr = transitGatewayApisService.GetTransitGatewayConnectionTunnelsWithContext(ctx, getTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(operationErr.Error()).To(ContainSubstring("deadline exceeded")) + }) + AfterEach(func() { + testServer.Close() + }) + }) + Context(`Using mock server endpoint`, func() { + BeforeEach(func() { + testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { + defer GinkgoRecover() + + // Verify the contents of the request + Expect(req.URL.EscapedPath()).To(Equal(getTransitGatewayConnectionTunnelsPath)) + Expect(req.Method).To(Equal("GET")) + + Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) + // Set mock response + res.Header().Set("Content-type", "application/json") + res.WriteHeader(200) + fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "network_account_id": "NetworkAccountID", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) + })) + }) + It(`Invoke GetTransitGatewayConnectionTunnels successfully`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Invoke operation with nil options model (negative test) + result, response, operationErr := transitGatewayApisService.GetTransitGatewayConnectionTunnels(nil) + Expect(operationErr).NotTo(BeNil()) + Expect(response).To(BeNil()) + Expect(result).To(BeNil()) + + // Construct an instance of the GetTransitGatewayConnectionTunnelsOptions model + getTransitGatewayConnectionTunnelsOptionsModel := new(transitgatewayapisv1.GetTransitGatewayConnectionTunnelsOptions) + getTransitGatewayConnectionTunnelsOptionsModel.TransitGatewayID = core.StringPtr("testString") + getTransitGatewayConnectionTunnelsOptionsModel.ID = core.StringPtr("testString") + getTransitGatewayConnectionTunnelsOptionsModel.GreTunnelID = core.StringPtr("testString") + getTransitGatewayConnectionTunnelsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + + // Invoke operation with valid options model (positive test) + result, response, operationErr = transitGatewayApisService.GetTransitGatewayConnectionTunnels(getTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).To(BeNil()) + Expect(response).ToNot(BeNil()) + Expect(result).ToNot(BeNil()) + + }) + It(`Invoke GetTransitGatewayConnectionTunnels with error: Operation validation and request error`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Construct an instance of the GetTransitGatewayConnectionTunnelsOptions model + getTransitGatewayConnectionTunnelsOptionsModel := new(transitgatewayapisv1.GetTransitGatewayConnectionTunnelsOptions) + getTransitGatewayConnectionTunnelsOptionsModel.TransitGatewayID = core.StringPtr("testString") + getTransitGatewayConnectionTunnelsOptionsModel.ID = core.StringPtr("testString") + getTransitGatewayConnectionTunnelsOptionsModel.GreTunnelID = core.StringPtr("testString") + getTransitGatewayConnectionTunnelsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Invoke operation with empty URL (negative test) + err := transitGatewayApisService.SetServiceURL("") + Expect(err).To(BeNil()) + result, response, operationErr := transitGatewayApisService.GetTransitGatewayConnectionTunnels(getTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(operationErr.Error()).To(ContainSubstring(core.ERRORMSG_SERVICE_URL_MISSING)) + Expect(response).To(BeNil()) + Expect(result).To(BeNil()) + // Construct a second instance of the GetTransitGatewayConnectionTunnelsOptions model with no property values + getTransitGatewayConnectionTunnelsOptionsModelNew := new(transitgatewayapisv1.GetTransitGatewayConnectionTunnelsOptions) + // Invoke operation with invalid model (negative test) + result, response, operationErr = transitGatewayApisService.GetTransitGatewayConnectionTunnels(getTransitGatewayConnectionTunnelsOptionsModelNew) + Expect(operationErr).ToNot(BeNil()) + Expect(response).To(BeNil()) + Expect(result).To(BeNil()) + }) + AfterEach(func() { + testServer.Close() + }) + }) + Context(`Using mock server endpoint with missing response body`, func() { + BeforeEach(func() { + testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { + defer GinkgoRecover() + + // Set success status code with no respoonse body + res.WriteHeader(200) + })) + }) + It(`Invoke GetTransitGatewayConnectionTunnels successfully`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Construct an instance of the GetTransitGatewayConnectionTunnelsOptions model + getTransitGatewayConnectionTunnelsOptionsModel := new(transitgatewayapisv1.GetTransitGatewayConnectionTunnelsOptions) + getTransitGatewayConnectionTunnelsOptionsModel.TransitGatewayID = core.StringPtr("testString") + getTransitGatewayConnectionTunnelsOptionsModel.ID = core.StringPtr("testString") + getTransitGatewayConnectionTunnelsOptionsModel.GreTunnelID = core.StringPtr("testString") + getTransitGatewayConnectionTunnelsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + + // Invoke operation + result, response, operationErr := transitGatewayApisService.GetTransitGatewayConnectionTunnels(getTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).To(BeNil()) + Expect(response).ToNot(BeNil()) + + // Verify a nil result + Expect(result).To(BeNil()) + }) + AfterEach(func() { + testServer.Close() + }) + }) + }) + Describe(`UpdateTransitGatewayConnectionTunnels(updateTransitGatewayConnectionTunnelsOptions *UpdateTransitGatewayConnectionTunnelsOptions) - Operation response error`, func() { + version := "testString" + updateTransitGatewayConnectionTunnelsPath := "/transit_gateways/testString/connections/testString/tunnels/testString" + Context(`Using mock server endpoint with invalid JSON response`, func() { + BeforeEach(func() { + testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { + defer GinkgoRecover() + + // Verify the contents of the request + Expect(req.URL.EscapedPath()).To(Equal(updateTransitGatewayConnectionTunnelsPath)) + Expect(req.Method).To(Equal("PATCH")) + Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) + res.Header().Set("Content-type", "application/json") + res.WriteHeader(200) + fmt.Fprint(res, `} this is not valid json {`) + })) + }) + It(`Invoke UpdateTransitGatewayConnectionTunnels with error: Operation response processing error`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Construct an instance of the UpdateTransitGatewayConnectionTunnelsOptions model + updateTransitGatewayConnectionTunnelsOptionsModel := new(transitgatewayapisv1.UpdateTransitGatewayConnectionTunnelsOptions) + updateTransitGatewayConnectionTunnelsOptionsModel.TransitGatewayID = core.StringPtr("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.ID = core.StringPtr("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.GreTunnelID = core.StringPtr("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.Name = core.StringPtr("gre2") + updateTransitGatewayConnectionTunnelsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Expect response parsing to fail since we are receiving a text/plain response + result, response, operationErr := transitGatewayApisService.UpdateTransitGatewayConnectionTunnels(updateTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(response).ToNot(BeNil()) + Expect(result).To(BeNil()) + + // Enable retries and test again + transitGatewayApisService.EnableRetries(0, 0) + result, response, operationErr = transitGatewayApisService.UpdateTransitGatewayConnectionTunnels(updateTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(response).ToNot(BeNil()) + Expect(result).To(BeNil()) + }) + AfterEach(func() { + testServer.Close() + }) + }) + }) + Describe(`UpdateTransitGatewayConnectionTunnels(updateTransitGatewayConnectionTunnelsOptions *UpdateTransitGatewayConnectionTunnelsOptions)`, func() { + version := "testString" + updateTransitGatewayConnectionTunnelsPath := "/transit_gateways/testString/connections/testString/tunnels/testString" + Context(`Using mock server endpoint with timeout`, func() { + BeforeEach(func() { + testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { + defer GinkgoRecover() + + // Verify the contents of the request + Expect(req.URL.EscapedPath()).To(Equal(updateTransitGatewayConnectionTunnelsPath)) + Expect(req.Method).To(Equal("PATCH")) + + // For gzip-disabled operation, verify Content-Encoding is not set. + Expect(req.Header.Get("Content-Encoding")).To(BeEmpty()) + + // If there is a body, then make sure we can read it + bodyBuf := new(bytes.Buffer) + if req.Header.Get("Content-Encoding") == "gzip" { + body, err := core.NewGzipDecompressionReader(req.Body) + Expect(err).To(BeNil()) + _, err = bodyBuf.ReadFrom(body) + Expect(err).To(BeNil()) + } else { + _, err := bodyBuf.ReadFrom(req.Body) + Expect(err).To(BeNil()) + } + fmt.Fprintf(GinkgoWriter, " Request body: %s", bodyBuf.String()) + + Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) + // Sleep a short time to support a timeout test + time.Sleep(100 * time.Millisecond) + + // Set mock response + res.Header().Set("Content-type", "application/json") + res.WriteHeader(200) + fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "network_account_id": "NetworkAccountID", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) + })) + }) + It(`Invoke UpdateTransitGatewayConnectionTunnels successfully with retries`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + transitGatewayApisService.EnableRetries(0, 0) + + // Construct an instance of the UpdateTransitGatewayConnectionTunnelsOptions model + updateTransitGatewayConnectionTunnelsOptionsModel := new(transitgatewayapisv1.UpdateTransitGatewayConnectionTunnelsOptions) + updateTransitGatewayConnectionTunnelsOptionsModel.TransitGatewayID = core.StringPtr("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.ID = core.StringPtr("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.GreTunnelID = core.StringPtr("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.Name = core.StringPtr("gre2") + updateTransitGatewayConnectionTunnelsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + + // Invoke operation with a Context to test a timeout error + ctx, cancelFunc := context.WithTimeout(context.Background(), 80*time.Millisecond) + defer cancelFunc() + _, _, operationErr := transitGatewayApisService.UpdateTransitGatewayConnectionTunnelsWithContext(ctx, updateTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(operationErr.Error()).To(ContainSubstring("deadline exceeded")) + + // Disable retries and test again + transitGatewayApisService.DisableRetries() + result, response, operationErr := transitGatewayApisService.UpdateTransitGatewayConnectionTunnels(updateTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).To(BeNil()) + Expect(response).ToNot(BeNil()) + Expect(result).ToNot(BeNil()) + + // Re-test the timeout error with retries disabled + ctx, cancelFunc2 := context.WithTimeout(context.Background(), 80*time.Millisecond) + defer cancelFunc2() + _, _, operationErr = transitGatewayApisService.UpdateTransitGatewayConnectionTunnelsWithContext(ctx, updateTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(operationErr.Error()).To(ContainSubstring("deadline exceeded")) + }) + AfterEach(func() { + testServer.Close() + }) + }) + Context(`Using mock server endpoint`, func() { + BeforeEach(func() { + testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { + defer GinkgoRecover() + + // Verify the contents of the request + Expect(req.URL.EscapedPath()).To(Equal(updateTransitGatewayConnectionTunnelsPath)) + Expect(req.Method).To(Equal("PATCH")) + + // For gzip-disabled operation, verify Content-Encoding is not set. + Expect(req.Header.Get("Content-Encoding")).To(BeEmpty()) + + // If there is a body, then make sure we can read it + bodyBuf := new(bytes.Buffer) + if req.Header.Get("Content-Encoding") == "gzip" { + body, err := core.NewGzipDecompressionReader(req.Body) + Expect(err).To(BeNil()) + _, err = bodyBuf.ReadFrom(body) + Expect(err).To(BeNil()) + } else { + _, err := bodyBuf.ReadFrom(req.Body) + Expect(err).To(BeNil()) + } + fmt.Fprintf(GinkgoWriter, " Request body: %s", bodyBuf.String()) + + Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) + // Set mock response + res.Header().Set("Content-type", "application/json") + res.WriteHeader(200) + fmt.Fprintf(res, "%s", `{"base_network_type": "classic", "created_at": "2019-01-01T12:00:00.000Z", "id": "1a15dca5-7e33-45e1-b7c5-bc690e569531", "local_bgp_asn": 11, "local_gateway_ip": "10.242.63.12", "local_tunnel_ip": "192.168.100.20", "mtu": 9000, "name": "gre1", "network_account_id": "NetworkAccountID", "network_id": "crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b", "remote_bgp_asn": 65010, "remote_gateway_ip": "10.242.33.22", "remote_tunnel_ip": "192.168.129.1", "status": "attached", "updated_at": "2019-01-01T12:00:00.000Z", "zone": {"name": "us-south-1"}}`) + })) + }) + It(`Invoke UpdateTransitGatewayConnectionTunnels successfully`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Invoke operation with nil options model (negative test) + result, response, operationErr := transitGatewayApisService.UpdateTransitGatewayConnectionTunnels(nil) + Expect(operationErr).NotTo(BeNil()) + Expect(response).To(BeNil()) + Expect(result).To(BeNil()) + + // Construct an instance of the UpdateTransitGatewayConnectionTunnelsOptions model + updateTransitGatewayConnectionTunnelsOptionsModel := new(transitgatewayapisv1.UpdateTransitGatewayConnectionTunnelsOptions) + updateTransitGatewayConnectionTunnelsOptionsModel.TransitGatewayID = core.StringPtr("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.ID = core.StringPtr("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.GreTunnelID = core.StringPtr("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.Name = core.StringPtr("gre2") + updateTransitGatewayConnectionTunnelsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + + // Invoke operation with valid options model (positive test) + result, response, operationErr = transitGatewayApisService.UpdateTransitGatewayConnectionTunnels(updateTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).To(BeNil()) + Expect(response).ToNot(BeNil()) + Expect(result).ToNot(BeNil()) + + }) + It(`Invoke UpdateTransitGatewayConnectionTunnels with error: Operation validation and request error`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Construct an instance of the UpdateTransitGatewayConnectionTunnelsOptions model + updateTransitGatewayConnectionTunnelsOptionsModel := new(transitgatewayapisv1.UpdateTransitGatewayConnectionTunnelsOptions) + updateTransitGatewayConnectionTunnelsOptionsModel.TransitGatewayID = core.StringPtr("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.ID = core.StringPtr("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.GreTunnelID = core.StringPtr("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.Name = core.StringPtr("gre2") + updateTransitGatewayConnectionTunnelsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Invoke operation with empty URL (negative test) + err := transitGatewayApisService.SetServiceURL("") + Expect(err).To(BeNil()) + result, response, operationErr := transitGatewayApisService.UpdateTransitGatewayConnectionTunnels(updateTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(operationErr.Error()).To(ContainSubstring(core.ERRORMSG_SERVICE_URL_MISSING)) + Expect(response).To(BeNil()) + Expect(result).To(BeNil()) + // Construct a second instance of the UpdateTransitGatewayConnectionTunnelsOptions model with no property values + updateTransitGatewayConnectionTunnelsOptionsModelNew := new(transitgatewayapisv1.UpdateTransitGatewayConnectionTunnelsOptions) + // Invoke operation with invalid model (negative test) + result, response, operationErr = transitGatewayApisService.UpdateTransitGatewayConnectionTunnels(updateTransitGatewayConnectionTunnelsOptionsModelNew) + Expect(operationErr).ToNot(BeNil()) + Expect(response).To(BeNil()) + Expect(result).To(BeNil()) + }) + AfterEach(func() { + testServer.Close() + }) + }) + Context(`Using mock server endpoint with missing response body`, func() { + BeforeEach(func() { + testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { + defer GinkgoRecover() + + // Set success status code with no respoonse body + res.WriteHeader(200) + })) + }) + It(`Invoke UpdateTransitGatewayConnectionTunnels successfully`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Construct an instance of the UpdateTransitGatewayConnectionTunnelsOptions model + updateTransitGatewayConnectionTunnelsOptionsModel := new(transitgatewayapisv1.UpdateTransitGatewayConnectionTunnelsOptions) + updateTransitGatewayConnectionTunnelsOptionsModel.TransitGatewayID = core.StringPtr("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.ID = core.StringPtr("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.GreTunnelID = core.StringPtr("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.Name = core.StringPtr("gre2") + updateTransitGatewayConnectionTunnelsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + + // Invoke operation + result, response, operationErr := transitGatewayApisService.UpdateTransitGatewayConnectionTunnels(updateTransitGatewayConnectionTunnelsOptionsModel) + Expect(operationErr).To(BeNil()) + Expect(response).ToNot(BeNil()) + + // Verify a nil result + Expect(result).To(BeNil()) + }) + AfterEach(func() { + testServer.Close() + }) + }) + }) + Describe(`ListGatewayLocations(listGatewayLocationsOptions *ListGatewayLocationsOptions) - Operation response error`, func() { + version := "testString" + listGatewayLocationsPath := "/locations" + Context(`Using mock server endpoint with invalid JSON response`, func() { + BeforeEach(func() { + testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { + defer GinkgoRecover() + + // Verify the contents of the request + Expect(req.URL.EscapedPath()).To(Equal(listGatewayLocationsPath)) + Expect(req.Method).To(Equal("GET")) + Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) + res.Header().Set("Content-type", "application/json") + res.WriteHeader(200) + fmt.Fprint(res, `} this is not valid json {`) + })) + }) + It(`Invoke ListGatewayLocations with error: Operation response processing error`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Construct an instance of the ListGatewayLocationsOptions model + listGatewayLocationsOptionsModel := new(transitgatewayapisv1.ListGatewayLocationsOptions) + listGatewayLocationsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Expect response parsing to fail since we are receiving a text/plain response + result, response, operationErr := transitGatewayApisService.ListGatewayLocations(listGatewayLocationsOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(response).ToNot(BeNil()) + Expect(result).To(BeNil()) + + // Enable retries and test again + transitGatewayApisService.EnableRetries(0, 0) + result, response, operationErr = transitGatewayApisService.ListGatewayLocations(listGatewayLocationsOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(response).ToNot(BeNil()) + Expect(result).To(BeNil()) + }) + AfterEach(func() { + testServer.Close() + }) + }) + }) + Describe(`ListGatewayLocations(listGatewayLocationsOptions *ListGatewayLocationsOptions)`, func() { + version := "testString" + listGatewayLocationsPath := "/locations" + Context(`Using mock server endpoint with timeout`, func() { + BeforeEach(func() { + testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { + defer GinkgoRecover() + + // Verify the contents of the request + Expect(req.URL.EscapedPath()).To(Equal(listGatewayLocationsPath)) + Expect(req.Method).To(Equal("GET")) + + Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) + // Sleep a short time to support a timeout test + time.Sleep(100 * time.Millisecond) + + // Set mock response + res.Header().Set("Content-type", "application/json") + res.WriteHeader(200) + fmt.Fprintf(res, "%s", `{"locations": [{"billing_location": "us", "name": "us-south", "type": "region"}]}`) + })) + }) + It(`Invoke ListGatewayLocations successfully with retries`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + transitGatewayApisService.EnableRetries(0, 0) + + // Construct an instance of the ListGatewayLocationsOptions model + listGatewayLocationsOptionsModel := new(transitgatewayapisv1.ListGatewayLocationsOptions) + listGatewayLocationsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + + // Invoke operation with a Context to test a timeout error + ctx, cancelFunc := context.WithTimeout(context.Background(), 80*time.Millisecond) + defer cancelFunc() + _, _, operationErr := transitGatewayApisService.ListGatewayLocationsWithContext(ctx, listGatewayLocationsOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(operationErr.Error()).To(ContainSubstring("deadline exceeded")) + + // Disable retries and test again + transitGatewayApisService.DisableRetries() + result, response, operationErr := transitGatewayApisService.ListGatewayLocations(listGatewayLocationsOptionsModel) + Expect(operationErr).To(BeNil()) + Expect(response).ToNot(BeNil()) + Expect(result).ToNot(BeNil()) + + // Re-test the timeout error with retries disabled + ctx, cancelFunc2 := context.WithTimeout(context.Background(), 80*time.Millisecond) + defer cancelFunc2() + _, _, operationErr = transitGatewayApisService.ListGatewayLocationsWithContext(ctx, listGatewayLocationsOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(operationErr.Error()).To(ContainSubstring("deadline exceeded")) + }) + AfterEach(func() { + testServer.Close() + }) + }) + Context(`Using mock server endpoint`, func() { + BeforeEach(func() { + testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { + defer GinkgoRecover() + + // Verify the contents of the request + Expect(req.URL.EscapedPath()).To(Equal(listGatewayLocationsPath)) + Expect(req.Method).To(Equal("GET")) + + Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) + // Set mock response + res.Header().Set("Content-type", "application/json") + res.WriteHeader(200) + fmt.Fprintf(res, "%s", `{"locations": [{"billing_location": "us", "name": "us-south", "type": "region"}]}`) + })) + }) + It(`Invoke ListGatewayLocations successfully`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Invoke operation with nil options model (negative test) + result, response, operationErr := transitGatewayApisService.ListGatewayLocations(nil) + Expect(operationErr).NotTo(BeNil()) + Expect(response).To(BeNil()) + Expect(result).To(BeNil()) + + // Construct an instance of the ListGatewayLocationsOptions model + listGatewayLocationsOptionsModel := new(transitgatewayapisv1.ListGatewayLocationsOptions) + listGatewayLocationsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + + // Invoke operation with valid options model (positive test) + result, response, operationErr = transitGatewayApisService.ListGatewayLocations(listGatewayLocationsOptionsModel) + Expect(operationErr).To(BeNil()) + Expect(response).ToNot(BeNil()) + Expect(result).ToNot(BeNil()) + + }) + It(`Invoke ListGatewayLocations with error: Operation request error`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Construct an instance of the ListGatewayLocationsOptions model + listGatewayLocationsOptionsModel := new(transitgatewayapisv1.ListGatewayLocationsOptions) + listGatewayLocationsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Invoke operation with empty URL (negative test) + err := transitGatewayApisService.SetServiceURL("") + Expect(err).To(BeNil()) + result, response, operationErr := transitGatewayApisService.ListGatewayLocations(listGatewayLocationsOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(operationErr.Error()).To(ContainSubstring(core.ERRORMSG_SERVICE_URL_MISSING)) + Expect(response).To(BeNil()) + Expect(result).To(BeNil()) + }) + AfterEach(func() { + testServer.Close() + }) + }) + Context(`Using mock server endpoint with missing response body`, func() { + BeforeEach(func() { + testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { + defer GinkgoRecover() + + // Set success status code with no respoonse body + res.WriteHeader(200) + })) + }) + It(`Invoke ListGatewayLocations successfully`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Construct an instance of the ListGatewayLocationsOptions model + listGatewayLocationsOptionsModel := new(transitgatewayapisv1.ListGatewayLocationsOptions) + listGatewayLocationsOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + + // Invoke operation + result, response, operationErr := transitGatewayApisService.ListGatewayLocations(listGatewayLocationsOptionsModel) + Expect(operationErr).To(BeNil()) + Expect(response).ToNot(BeNil()) + + // Verify a nil result + Expect(result).To(BeNil()) + }) + AfterEach(func() { + testServer.Close() + }) + }) + }) + Describe(`GetGatewayLocation(getGatewayLocationOptions *GetGatewayLocationOptions) - Operation response error`, func() { + version := "testString" + getGatewayLocationPath := "/locations/testString" + Context(`Using mock server endpoint with invalid JSON response`, func() { + BeforeEach(func() { + testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { + defer GinkgoRecover() + + // Verify the contents of the request + Expect(req.URL.EscapedPath()).To(Equal(getGatewayLocationPath)) + Expect(req.Method).To(Equal("GET")) + Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) + res.Header().Set("Content-type", "application/json") + res.WriteHeader(200) + fmt.Fprint(res, `} this is not valid json {`) + })) + }) + It(`Invoke GetGatewayLocation with error: Operation response processing error`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Construct an instance of the GetGatewayLocationOptions model + getGatewayLocationOptionsModel := new(transitgatewayapisv1.GetGatewayLocationOptions) + getGatewayLocationOptionsModel.Name = core.StringPtr("testString") + getGatewayLocationOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Expect response parsing to fail since we are receiving a text/plain response + result, response, operationErr := transitGatewayApisService.GetGatewayLocation(getGatewayLocationOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(response).ToNot(BeNil()) + Expect(result).To(BeNil()) + + // Enable retries and test again + transitGatewayApisService.EnableRetries(0, 0) + result, response, operationErr = transitGatewayApisService.GetGatewayLocation(getGatewayLocationOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(response).ToNot(BeNil()) + Expect(result).To(BeNil()) + }) + AfterEach(func() { + testServer.Close() + }) + }) + }) + Describe(`GetGatewayLocation(getGatewayLocationOptions *GetGatewayLocationOptions)`, func() { + version := "testString" + getGatewayLocationPath := "/locations/testString" + Context(`Using mock server endpoint with timeout`, func() { + BeforeEach(func() { + testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { + defer GinkgoRecover() + + // Verify the contents of the request + Expect(req.URL.EscapedPath()).To(Equal(getGatewayLocationPath)) + Expect(req.Method).To(Equal("GET")) + + Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) + // Sleep a short time to support a timeout test + time.Sleep(100 * time.Millisecond) + + // Set mock response + res.Header().Set("Content-type", "application/json") + res.WriteHeader(200) + fmt.Fprintf(res, "%s", `{"billing_location": "us", "name": "us-south", "type": "region", "local_connection_locations": [{"display_name": "Dallas", "name": "us-south", "supported_connection_types": ["SupportedConnectionTypes"], "type": "region"}], "zones": [{"zones": [{"name": "us-south-1"}]}]}`) + })) + }) + It(`Invoke GetGatewayLocation successfully with retries`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + transitGatewayApisService.EnableRetries(0, 0) + + // Construct an instance of the GetGatewayLocationOptions model + getGatewayLocationOptionsModel := new(transitgatewayapisv1.GetGatewayLocationOptions) + getGatewayLocationOptionsModel.Name = core.StringPtr("testString") + getGatewayLocationOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + + // Invoke operation with a Context to test a timeout error + ctx, cancelFunc := context.WithTimeout(context.Background(), 80*time.Millisecond) + defer cancelFunc() + _, _, operationErr := transitGatewayApisService.GetGatewayLocationWithContext(ctx, getGatewayLocationOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(operationErr.Error()).To(ContainSubstring("deadline exceeded")) + + // Disable retries and test again + transitGatewayApisService.DisableRetries() + result, response, operationErr := transitGatewayApisService.GetGatewayLocation(getGatewayLocationOptionsModel) + Expect(operationErr).To(BeNil()) + Expect(response).ToNot(BeNil()) + Expect(result).ToNot(BeNil()) + + // Re-test the timeout error with retries disabled + ctx, cancelFunc2 := context.WithTimeout(context.Background(), 80*time.Millisecond) + defer cancelFunc2() + _, _, operationErr = transitGatewayApisService.GetGatewayLocationWithContext(ctx, getGatewayLocationOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(operationErr.Error()).To(ContainSubstring("deadline exceeded")) + }) + AfterEach(func() { + testServer.Close() + }) + }) + Context(`Using mock server endpoint`, func() { + BeforeEach(func() { + testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { + defer GinkgoRecover() + + // Verify the contents of the request + Expect(req.URL.EscapedPath()).To(Equal(getGatewayLocationPath)) + Expect(req.Method).To(Equal("GET")) + + Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) + // Set mock response + res.Header().Set("Content-type", "application/json") + res.WriteHeader(200) + fmt.Fprintf(res, "%s", `{"billing_location": "us", "name": "us-south", "type": "region", "local_connection_locations": [{"display_name": "Dallas", "name": "us-south", "supported_connection_types": ["SupportedConnectionTypes"], "type": "region"}], "zones": [{"zones": [{"name": "us-south-1"}]}]}`) + })) + }) + It(`Invoke GetGatewayLocation successfully`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Invoke operation with nil options model (negative test) + result, response, operationErr := transitGatewayApisService.GetGatewayLocation(nil) + Expect(operationErr).NotTo(BeNil()) + Expect(response).To(BeNil()) + Expect(result).To(BeNil()) + + // Construct an instance of the GetGatewayLocationOptions model + getGatewayLocationOptionsModel := new(transitgatewayapisv1.GetGatewayLocationOptions) + getGatewayLocationOptionsModel.Name = core.StringPtr("testString") + getGatewayLocationOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + + // Invoke operation with valid options model (positive test) + result, response, operationErr = transitGatewayApisService.GetGatewayLocation(getGatewayLocationOptionsModel) + Expect(operationErr).To(BeNil()) + Expect(response).ToNot(BeNil()) + Expect(result).ToNot(BeNil()) + + }) + It(`Invoke GetGatewayLocation with error: Operation validation and request error`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Construct an instance of the GetGatewayLocationOptions model + getGatewayLocationOptionsModel := new(transitgatewayapisv1.GetGatewayLocationOptions) + getGatewayLocationOptionsModel.Name = core.StringPtr("testString") + getGatewayLocationOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Invoke operation with empty URL (negative test) + err := transitGatewayApisService.SetServiceURL("") + Expect(err).To(BeNil()) + result, response, operationErr := transitGatewayApisService.GetGatewayLocation(getGatewayLocationOptionsModel) + Expect(operationErr).ToNot(BeNil()) + Expect(operationErr.Error()).To(ContainSubstring(core.ERRORMSG_SERVICE_URL_MISSING)) + Expect(response).To(BeNil()) + Expect(result).To(BeNil()) + // Construct a second instance of the GetGatewayLocationOptions model with no property values + getGatewayLocationOptionsModelNew := new(transitgatewayapisv1.GetGatewayLocationOptions) + // Invoke operation with invalid model (negative test) + result, response, operationErr = transitGatewayApisService.GetGatewayLocation(getGatewayLocationOptionsModelNew) + Expect(operationErr).ToNot(BeNil()) + Expect(response).To(BeNil()) + Expect(result).To(BeNil()) + }) + AfterEach(func() { + testServer.Close() + }) + }) + Context(`Using mock server endpoint with missing response body`, func() { + BeforeEach(func() { + testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { + defer GinkgoRecover() + + // Set success status code with no respoonse body + res.WriteHeader(200) + })) + }) + It(`Invoke GetGatewayLocation successfully`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Construct an instance of the GetGatewayLocationOptions model + getGatewayLocationOptionsModel := new(transitgatewayapisv1.GetGatewayLocationOptions) + getGatewayLocationOptionsModel.Name = core.StringPtr("testString") + getGatewayLocationOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + + // Invoke operation + result, response, operationErr := transitGatewayApisService.GetGatewayLocation(getGatewayLocationOptionsModel) + Expect(operationErr).To(BeNil()) + Expect(response).ToNot(BeNil()) + + // Verify a nil result + Expect(result).To(BeNil()) + }) + AfterEach(func() { + testServer.Close() + }) + }) + }) + Describe(`ListTransitGatewayConnectionPrefixFilters(listTransitGatewayConnectionPrefixFiltersOptions *ListTransitGatewayConnectionPrefixFiltersOptions) - Operation response error`, func() { + version := "testString" + listTransitGatewayConnectionPrefixFiltersPath := "/transit_gateways/testString/connections/testString/prefix_filters" + Context(`Using mock server endpoint with invalid JSON response`, func() { + BeforeEach(func() { + testServer = httptest.NewServer(http.HandlerFunc(func(res http.ResponseWriter, req *http.Request) { + defer GinkgoRecover() + + // Verify the contents of the request + Expect(req.URL.EscapedPath()).To(Equal(listTransitGatewayConnectionPrefixFiltersPath)) + Expect(req.Method).To(Equal("GET")) + Expect(req.URL.Query()["version"]).To(Equal([]string{"testString"})) + res.Header().Set("Content-type", "application/json") + res.WriteHeader(200) + fmt.Fprint(res, `} this is not valid json {`) + })) + }) + It(`Invoke ListTransitGatewayConnectionPrefixFilters with error: Operation response processing error`, func() { + transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ + URL: testServer.URL, + Authenticator: &core.NoAuthAuthenticator{}, + Version: core.StringPtr(version), + }) + Expect(serviceErr).To(BeNil()) + Expect(transitGatewayApisService).ToNot(BeNil()) + + // Construct an instance of the ListTransitGatewayConnectionPrefixFiltersOptions model + listTransitGatewayConnectionPrefixFiltersOptionsModel := new(transitgatewayapisv1.ListTransitGatewayConnectionPrefixFiltersOptions) + listTransitGatewayConnectionPrefixFiltersOptionsModel.TransitGatewayID = core.StringPtr("testString") + listTransitGatewayConnectionPrefixFiltersOptionsModel.ID = core.StringPtr("testString") + listTransitGatewayConnectionPrefixFiltersOptionsModel.Headers = map[string]string{"x-custom-header": "x-custom-value"} + // Expect response parsing to fail since we are receiving a text/plain response + result, response, operationErr := transitGatewayApisService.ListTransitGatewayConnectionPrefixFilters(listTransitGatewayConnectionPrefixFiltersOptionsModel) Expect(operationErr).ToNot(BeNil()) Expect(response).ToNot(BeNil()) Expect(result).To(BeNil()) @@ -3558,7 +4731,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -3615,7 +4788,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -3643,7 +4816,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -3686,7 +4859,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -3731,7 +4904,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -3806,7 +4979,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -3884,7 +5057,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -3917,7 +5090,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -3965,7 +5138,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4015,7 +5188,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4093,7 +5266,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4174,7 +5347,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4210,7 +5383,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4261,7 +5434,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4313,7 +5486,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4339,7 +5512,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4390,7 +5563,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4445,7 +5618,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4503,7 +5676,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4532,7 +5705,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4576,7 +5749,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4622,7 +5795,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4698,7 +5871,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4777,7 +5950,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4811,7 +5984,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4860,7 +6033,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4911,7 +6084,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -4964,7 +6137,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -5020,7 +6193,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -5047,7 +6220,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -5089,7 +6262,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -5133,7 +6306,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -5186,7 +6359,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -5242,7 +6415,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -5269,7 +6442,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -5311,7 +6484,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -5354,7 +6527,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -5379,7 +6552,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -5429,7 +6602,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -5483,7 +6656,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -5540,7 +6713,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -5568,7 +6741,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -5611,7 +6784,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, serviceErr := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: testServer.URL, Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) Expect(serviceErr).To(BeNil()) Expect(transitGatewayApisService).ToNot(BeNil()) @@ -5641,7 +6814,7 @@ var _ = Describe(`TransitGatewayApisV1`, func() { transitGatewayApisService, _ := transitgatewayapisv1.NewTransitGatewayApisV1(&transitgatewayapisv1.TransitGatewayApisV1Options{ URL: "http://transitgatewayapisv1modelgenerator.com", Authenticator: &core.NoAuthAuthenticator{}, - Version: core.StringPtr(version), + Version: core.StringPtr(version), }) It(`Invoke NewCreateTransitGatewayConnectionActionsOptions successfully`, func() { // Construct an instance of the CreateTransitGatewayConnectionActionsOptions model @@ -5678,6 +6851,24 @@ var _ = Describe(`TransitGatewayApisV1`, func() { zoneIdentityModel.Name = core.StringPtr("us-south-1") Expect(zoneIdentityModel.Name).To(Equal(core.StringPtr("us-south-1"))) + // Construct an instance of the TransitGatewayRedundantGRETunnelTemplate model + transitGatewayRedundantGreTunnelTemplateModel := new(transitgatewayapisv1.TransitGatewayRedundantGRETunnelTemplate) + Expect(transitGatewayRedundantGreTunnelTemplateModel).ToNot(BeNil()) + transitGatewayRedundantGreTunnelTemplateModel.LocalGatewayIp = core.StringPtr("10.242.63.12") + transitGatewayRedundantGreTunnelTemplateModel.LocalTunnelIp = core.StringPtr("192.168.100.20") + transitGatewayRedundantGreTunnelTemplateModel.Name = core.StringPtr("gre1") + transitGatewayRedundantGreTunnelTemplateModel.RemoteBgpAsn = core.Int64Ptr(int64(65010)) + transitGatewayRedundantGreTunnelTemplateModel.RemoteGatewayIp = core.StringPtr("10.242.33.22") + transitGatewayRedundantGreTunnelTemplateModel.RemoteTunnelIp = core.StringPtr("192.168.129.1") + transitGatewayRedundantGreTunnelTemplateModel.Zone = zoneIdentityModel + Expect(transitGatewayRedundantGreTunnelTemplateModel.LocalGatewayIp).To(Equal(core.StringPtr("10.242.63.12"))) + Expect(transitGatewayRedundantGreTunnelTemplateModel.LocalTunnelIp).To(Equal(core.StringPtr("192.168.100.20"))) + Expect(transitGatewayRedundantGreTunnelTemplateModel.Name).To(Equal(core.StringPtr("gre1"))) + Expect(transitGatewayRedundantGreTunnelTemplateModel.RemoteBgpAsn).To(Equal(core.Int64Ptr(int64(65010)))) + Expect(transitGatewayRedundantGreTunnelTemplateModel.RemoteGatewayIp).To(Equal(core.StringPtr("10.242.33.22"))) + Expect(transitGatewayRedundantGreTunnelTemplateModel.RemoteTunnelIp).To(Equal(core.StringPtr("192.168.129.1"))) + Expect(transitGatewayRedundantGreTunnelTemplateModel.Zone).To(Equal(zoneIdentityModel)) + // Construct an instance of the CreateTransitGatewayConnectionOptions model transitGatewayID := "testString" createTransitGatewayConnectionOptionsNetworkType := "vpc" @@ -5689,13 +6880,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { createTransitGatewayConnectionOptionsModel.SetLocalGatewayIp("192.168.100.1") createTransitGatewayConnectionOptionsModel.SetLocalTunnelIp("192.168.129.2") createTransitGatewayConnectionOptionsModel.SetName("Transit_Service_BWTN_SJ_DL") - createTransitGatewayConnectionOptionsModel.SetNetworkAccountID("28e4d90ac7504be694471ee66e70d0d5") + createTransitGatewayConnectionOptionsModel.SetNetworkAccountID("testString") createTransitGatewayConnectionOptionsModel.SetNetworkID("crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b") createTransitGatewayConnectionOptionsModel.SetPrefixFilters([]transitgatewayapisv1.TransitGatewayConnectionPrefixFilter{*transitGatewayConnectionPrefixFilterModel}) createTransitGatewayConnectionOptionsModel.SetPrefixFiltersDefault("permit") createTransitGatewayConnectionOptionsModel.SetRemoteBgpAsn(int64(65010)) createTransitGatewayConnectionOptionsModel.SetRemoteGatewayIp("10.242.63.12") createTransitGatewayConnectionOptionsModel.SetRemoteTunnelIp("192.168.129.1") + createTransitGatewayConnectionOptionsModel.SetTunnels([]transitgatewayapisv1.TransitGatewayRedundantGRETunnelTemplate{*transitGatewayRedundantGreTunnelTemplateModel}) createTransitGatewayConnectionOptionsModel.SetZone(zoneIdentityModel) createTransitGatewayConnectionOptionsModel.SetHeaders(map[string]string{"foo": "bar"}) Expect(createTransitGatewayConnectionOptionsModel).ToNot(BeNil()) @@ -5706,13 +6898,14 @@ var _ = Describe(`TransitGatewayApisV1`, func() { Expect(createTransitGatewayConnectionOptionsModel.LocalGatewayIp).To(Equal(core.StringPtr("192.168.100.1"))) Expect(createTransitGatewayConnectionOptionsModel.LocalTunnelIp).To(Equal(core.StringPtr("192.168.129.2"))) Expect(createTransitGatewayConnectionOptionsModel.Name).To(Equal(core.StringPtr("Transit_Service_BWTN_SJ_DL"))) - Expect(createTransitGatewayConnectionOptionsModel.NetworkAccountID).To(Equal(core.StringPtr("28e4d90ac7504be694471ee66e70d0d5"))) + Expect(createTransitGatewayConnectionOptionsModel.NetworkAccountID).To(Equal(core.StringPtr("testString"))) Expect(createTransitGatewayConnectionOptionsModel.NetworkID).To(Equal(core.StringPtr("crn:v1:bluemix:public:is:us-south:a/123456::vpc:4727d842-f94f-4a2d-824a-9bc9b02c523b"))) Expect(createTransitGatewayConnectionOptionsModel.PrefixFilters).To(Equal([]transitgatewayapisv1.TransitGatewayConnectionPrefixFilter{*transitGatewayConnectionPrefixFilterModel})) Expect(createTransitGatewayConnectionOptionsModel.PrefixFiltersDefault).To(Equal(core.StringPtr("permit"))) Expect(createTransitGatewayConnectionOptionsModel.RemoteBgpAsn).To(Equal(core.Int64Ptr(int64(65010)))) Expect(createTransitGatewayConnectionOptionsModel.RemoteGatewayIp).To(Equal(core.StringPtr("10.242.63.12"))) Expect(createTransitGatewayConnectionOptionsModel.RemoteTunnelIp).To(Equal(core.StringPtr("192.168.129.1"))) + Expect(createTransitGatewayConnectionOptionsModel.Tunnels).To(Equal([]transitgatewayapisv1.TransitGatewayRedundantGRETunnelTemplate{*transitGatewayRedundantGreTunnelTemplateModel})) Expect(createTransitGatewayConnectionOptionsModel.Zone).To(Equal(zoneIdentityModel)) Expect(createTransitGatewayConnectionOptionsModel.Headers).To(Equal(map[string]string{"foo": "bar"})) }) @@ -5741,6 +6934,45 @@ var _ = Describe(`TransitGatewayApisV1`, func() { Expect(createTransitGatewayConnectionPrefixFilterOptionsModel.Le).To(Equal(core.Int64Ptr(int64(32)))) Expect(createTransitGatewayConnectionPrefixFilterOptionsModel.Headers).To(Equal(map[string]string{"foo": "bar"})) }) + It(`Invoke NewCreateTransitGatewayGreTunnelOptions successfully`, func() { + // Construct an instance of the ZoneIdentityByName model + zoneIdentityModel := new(transitgatewayapisv1.ZoneIdentityByName) + Expect(zoneIdentityModel).ToNot(BeNil()) + zoneIdentityModel.Name = core.StringPtr("us-south-1") + Expect(zoneIdentityModel.Name).To(Equal(core.StringPtr("us-south-1"))) + + // Construct an instance of the CreateTransitGatewayGreTunnelOptions model + transitGatewayID := "testString" + id := "testString" + createTransitGatewayGreTunnelOptionsLocalGatewayIp := "10.242.63.12" + createTransitGatewayGreTunnelOptionsLocalTunnelIp := "192.168.100.20" + createTransitGatewayGreTunnelOptionsName := "gre1" + createTransitGatewayGreTunnelOptionsRemoteGatewayIp := "10.242.33.22" + createTransitGatewayGreTunnelOptionsRemoteTunnelIp := "192.168.129.1" + var createTransitGatewayGreTunnelOptionsZone transitgatewayapisv1.ZoneIdentityIntf = nil + createTransitGatewayGreTunnelOptionsModel := transitGatewayApisService.NewCreateTransitGatewayGreTunnelOptions(transitGatewayID, id, createTransitGatewayGreTunnelOptionsLocalGatewayIp, createTransitGatewayGreTunnelOptionsLocalTunnelIp, createTransitGatewayGreTunnelOptionsName, createTransitGatewayGreTunnelOptionsRemoteGatewayIp, createTransitGatewayGreTunnelOptionsRemoteTunnelIp, createTransitGatewayGreTunnelOptionsZone) + createTransitGatewayGreTunnelOptionsModel.SetTransitGatewayID("testString") + createTransitGatewayGreTunnelOptionsModel.SetID("testString") + createTransitGatewayGreTunnelOptionsModel.SetLocalGatewayIp("10.242.63.12") + createTransitGatewayGreTunnelOptionsModel.SetLocalTunnelIp("192.168.100.20") + createTransitGatewayGreTunnelOptionsModel.SetName("gre1") + createTransitGatewayGreTunnelOptionsModel.SetRemoteGatewayIp("10.242.33.22") + createTransitGatewayGreTunnelOptionsModel.SetRemoteTunnelIp("192.168.129.1") + createTransitGatewayGreTunnelOptionsModel.SetZone(zoneIdentityModel) + createTransitGatewayGreTunnelOptionsModel.SetRemoteBgpAsn(int64(65010)) + createTransitGatewayGreTunnelOptionsModel.SetHeaders(map[string]string{"foo": "bar"}) + Expect(createTransitGatewayGreTunnelOptionsModel).ToNot(BeNil()) + Expect(createTransitGatewayGreTunnelOptionsModel.TransitGatewayID).To(Equal(core.StringPtr("testString"))) + Expect(createTransitGatewayGreTunnelOptionsModel.ID).To(Equal(core.StringPtr("testString"))) + Expect(createTransitGatewayGreTunnelOptionsModel.LocalGatewayIp).To(Equal(core.StringPtr("10.242.63.12"))) + Expect(createTransitGatewayGreTunnelOptionsModel.LocalTunnelIp).To(Equal(core.StringPtr("192.168.100.20"))) + Expect(createTransitGatewayGreTunnelOptionsModel.Name).To(Equal(core.StringPtr("gre1"))) + Expect(createTransitGatewayGreTunnelOptionsModel.RemoteGatewayIp).To(Equal(core.StringPtr("10.242.33.22"))) + Expect(createTransitGatewayGreTunnelOptionsModel.RemoteTunnelIp).To(Equal(core.StringPtr("192.168.129.1"))) + Expect(createTransitGatewayGreTunnelOptionsModel.Zone).To(Equal(zoneIdentityModel)) + Expect(createTransitGatewayGreTunnelOptionsModel.RemoteBgpAsn).To(Equal(core.Int64Ptr(int64(65010)))) + Expect(createTransitGatewayGreTunnelOptionsModel.Headers).To(Equal(map[string]string{"foo": "bar"})) + }) It(`Invoke NewCreateTransitGatewayOptions successfully`, func() { // Construct an instance of the ResourceGroupIdentity model resourceGroupIdentityModel := new(transitgatewayapisv1.ResourceGroupIdentity) @@ -5803,6 +7035,22 @@ var _ = Describe(`TransitGatewayApisV1`, func() { Expect(deleteTransitGatewayConnectionPrefixFilterOptionsModel.FilterID).To(Equal(core.StringPtr("testString"))) Expect(deleteTransitGatewayConnectionPrefixFilterOptionsModel.Headers).To(Equal(map[string]string{"foo": "bar"})) }) + It(`Invoke NewDeleteTransitGatewayConnectionTunnelsOptions successfully`, func() { + // Construct an instance of the DeleteTransitGatewayConnectionTunnelsOptions model + transitGatewayID := "testString" + id := "testString" + greTunnelID := "testString" + deleteTransitGatewayConnectionTunnelsOptionsModel := transitGatewayApisService.NewDeleteTransitGatewayConnectionTunnelsOptions(transitGatewayID, id, greTunnelID) + deleteTransitGatewayConnectionTunnelsOptionsModel.SetTransitGatewayID("testString") + deleteTransitGatewayConnectionTunnelsOptionsModel.SetID("testString") + deleteTransitGatewayConnectionTunnelsOptionsModel.SetGreTunnelID("testString") + deleteTransitGatewayConnectionTunnelsOptionsModel.SetHeaders(map[string]string{"foo": "bar"}) + Expect(deleteTransitGatewayConnectionTunnelsOptionsModel).ToNot(BeNil()) + Expect(deleteTransitGatewayConnectionTunnelsOptionsModel.TransitGatewayID).To(Equal(core.StringPtr("testString"))) + Expect(deleteTransitGatewayConnectionTunnelsOptionsModel.ID).To(Equal(core.StringPtr("testString"))) + Expect(deleteTransitGatewayConnectionTunnelsOptionsModel.GreTunnelID).To(Equal(core.StringPtr("testString"))) + Expect(deleteTransitGatewayConnectionTunnelsOptionsModel.Headers).To(Equal(map[string]string{"foo": "bar"})) + }) It(`Invoke NewDeleteTransitGatewayOptions successfully`, func() { // Construct an instance of the DeleteTransitGatewayOptions model id := "testString" @@ -5865,6 +7113,35 @@ var _ = Describe(`TransitGatewayApisV1`, func() { Expect(getTransitGatewayConnectionPrefixFilterOptionsModel.FilterID).To(Equal(core.StringPtr("testString"))) Expect(getTransitGatewayConnectionPrefixFilterOptionsModel.Headers).To(Equal(map[string]string{"foo": "bar"})) }) + It(`Invoke NewGetTransitGatewayConnectionTunnelsOptions successfully`, func() { + // Construct an instance of the GetTransitGatewayConnectionTunnelsOptions model + transitGatewayID := "testString" + id := "testString" + greTunnelID := "testString" + getTransitGatewayConnectionTunnelsOptionsModel := transitGatewayApisService.NewGetTransitGatewayConnectionTunnelsOptions(transitGatewayID, id, greTunnelID) + getTransitGatewayConnectionTunnelsOptionsModel.SetTransitGatewayID("testString") + getTransitGatewayConnectionTunnelsOptionsModel.SetID("testString") + getTransitGatewayConnectionTunnelsOptionsModel.SetGreTunnelID("testString") + getTransitGatewayConnectionTunnelsOptionsModel.SetHeaders(map[string]string{"foo": "bar"}) + Expect(getTransitGatewayConnectionTunnelsOptionsModel).ToNot(BeNil()) + Expect(getTransitGatewayConnectionTunnelsOptionsModel.TransitGatewayID).To(Equal(core.StringPtr("testString"))) + Expect(getTransitGatewayConnectionTunnelsOptionsModel.ID).To(Equal(core.StringPtr("testString"))) + Expect(getTransitGatewayConnectionTunnelsOptionsModel.GreTunnelID).To(Equal(core.StringPtr("testString"))) + Expect(getTransitGatewayConnectionTunnelsOptionsModel.Headers).To(Equal(map[string]string{"foo": "bar"})) + }) + It(`Invoke NewGetTransitGatewayGreTunnelOptions successfully`, func() { + // Construct an instance of the GetTransitGatewayGreTunnelOptions model + transitGatewayID := "testString" + id := "testString" + getTransitGatewayGreTunnelOptionsModel := transitGatewayApisService.NewGetTransitGatewayGreTunnelOptions(transitGatewayID, id) + getTransitGatewayGreTunnelOptionsModel.SetTransitGatewayID("testString") + getTransitGatewayGreTunnelOptionsModel.SetID("testString") + getTransitGatewayGreTunnelOptionsModel.SetHeaders(map[string]string{"foo": "bar"}) + Expect(getTransitGatewayGreTunnelOptionsModel).ToNot(BeNil()) + Expect(getTransitGatewayGreTunnelOptionsModel.TransitGatewayID).To(Equal(core.StringPtr("testString"))) + Expect(getTransitGatewayGreTunnelOptionsModel.ID).To(Equal(core.StringPtr("testString"))) + Expect(getTransitGatewayGreTunnelOptionsModel.Headers).To(Equal(map[string]string{"foo": "bar"})) + }) It(`Invoke NewGetTransitGatewayOptions successfully`, func() { // Construct an instance of the GetTransitGatewayOptions model id := "testString" @@ -6006,6 +7283,16 @@ var _ = Describe(`TransitGatewayApisV1`, func() { Expect(_model).ToNot(BeNil()) Expect(err).To(BeNil()) }) + It(`Invoke NewTransitGatewayRedundantGRETunnelTemplate successfully`, func() { + localGatewayIp := "10.242.63.12" + localTunnelIp := "192.168.100.20" + name := "gre1" + remoteGatewayIp := "10.242.33.22" + remoteTunnelIp := "192.168.129.1" + var zone transitgatewayapisv1.ZoneIdentityIntf = nil + _, err := transitGatewayApisService.NewTransitGatewayRedundantGRETunnelTemplate(localGatewayIp, localTunnelIp, name, remoteGatewayIp, remoteTunnelIp, zone) + Expect(err).ToNot(BeNil()) + }) It(`Invoke NewUpdateTransitGatewayConnectionOptions successfully`, func() { // Construct an instance of the UpdateTransitGatewayConnectionOptions model transitGatewayID := "testString" @@ -6049,6 +7336,24 @@ var _ = Describe(`TransitGatewayApisV1`, func() { Expect(updateTransitGatewayConnectionPrefixFilterOptionsModel.Prefix).To(Equal(core.StringPtr("192.168.100.0/24"))) Expect(updateTransitGatewayConnectionPrefixFilterOptionsModel.Headers).To(Equal(map[string]string{"foo": "bar"})) }) + It(`Invoke NewUpdateTransitGatewayConnectionTunnelsOptions successfully`, func() { + // Construct an instance of the UpdateTransitGatewayConnectionTunnelsOptions model + transitGatewayID := "testString" + id := "testString" + greTunnelID := "testString" + updateTransitGatewayConnectionTunnelsOptionsModel := transitGatewayApisService.NewUpdateTransitGatewayConnectionTunnelsOptions(transitGatewayID, id, greTunnelID) + updateTransitGatewayConnectionTunnelsOptionsModel.SetTransitGatewayID("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.SetID("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.SetGreTunnelID("testString") + updateTransitGatewayConnectionTunnelsOptionsModel.SetName("gre2") + updateTransitGatewayConnectionTunnelsOptionsModel.SetHeaders(map[string]string{"foo": "bar"}) + Expect(updateTransitGatewayConnectionTunnelsOptionsModel).ToNot(BeNil()) + Expect(updateTransitGatewayConnectionTunnelsOptionsModel.TransitGatewayID).To(Equal(core.StringPtr("testString"))) + Expect(updateTransitGatewayConnectionTunnelsOptionsModel.ID).To(Equal(core.StringPtr("testString"))) + Expect(updateTransitGatewayConnectionTunnelsOptionsModel.GreTunnelID).To(Equal(core.StringPtr("testString"))) + Expect(updateTransitGatewayConnectionTunnelsOptionsModel.Name).To(Equal(core.StringPtr("gre2"))) + Expect(updateTransitGatewayConnectionTunnelsOptionsModel.Headers).To(Equal(map[string]string{"foo": "bar"})) + }) It(`Invoke NewUpdateTransitGatewayOptions successfully`, func() { // Construct an instance of the UpdateTransitGatewayOptions model id := "testString"