From 7e60651957ceddb68f40a224c272daf7838394db Mon Sep 17 00:00:00 2001 From: SDK Generator Bot Date: Wed, 6 Aug 2025 15:42:27 +0000 Subject: [PATCH 1/2] Generate iaas --- services/iaas/api_default.go | 203 ++++++++++ services/iaas/api_default_test.go | 52 +++ services/iaas/model_area_id.go | 145 ++++++++ services/iaas/model_area_id_test.go | 11 + services/iaas/model_project.go | 408 +++++++++++++++++++++ services/iaas/model_project_test.go | 11 + services/iaas/model_static_area_id.go | 115 ++++++ services/iaas/model_static_area_id_test.go | 11 + 8 files changed, 956 insertions(+) create mode 100644 services/iaas/model_area_id.go create mode 100644 services/iaas/model_area_id_test.go create mode 100644 services/iaas/model_project.go create mode 100644 services/iaas/model_project_test.go create mode 100644 services/iaas/model_static_area_id.go create mode 100644 services/iaas/model_static_area_id_test.go diff --git a/services/iaas/api_default.go b/services/iaas/api_default.go index 2e480bbd2..6c694f2eb 100644 --- a/services/iaas/api_default.go +++ b/services/iaas/api_default.go @@ -970,6 +970,24 @@ type DefaultApi interface { */ GetOrganizationRequestExecute(ctx context.Context, organizationId string, requestId string) (*Request, error) + /* + GetProjectDetails Get project details. + Get details about a STACKIT project. + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @param projectId The identifier (ID) of a STACKIT Project. + @return ApiGetProjectDetailsRequest + */ + GetProjectDetails(ctx context.Context, projectId string) ApiGetProjectDetailsRequest + /* + GetProjectDetailsExecute executes the request + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @param projectId The identifier (ID) of a STACKIT Project. + @return Project + + */ + GetProjectDetailsExecute(ctx context.Context, projectId string) (*Project, error) /* GetProjectNIC Get details about a network interface of a project. Get details about a network interface inside a project. @@ -2461,6 +2479,10 @@ type ApiGetOrganizationRequestRequest interface { Execute() (*Request, error) } +type ApiGetProjectDetailsRequest interface { + Execute() (*Project, error) +} + type ApiGetProjectNICRequest interface { Execute() (*NIC, error) } @@ -13177,6 +13199,187 @@ func (a *APIClient) GetOrganizationRequestExecute(ctx context.Context, organizat return r.Execute() } +type GetProjectDetailsRequest struct { + ctx context.Context + apiService *DefaultApiService + projectId string +} + +func (r GetProjectDetailsRequest) Execute() (*Project, error) { + var ( + localVarHTTPMethod = http.MethodGet + localVarPostBody interface{} + formFiles []formFile + localVarReturnValue *Project + ) + a := r.apiService + client, ok := a.client.(*APIClient) + if !ok { + return localVarReturnValue, fmt.Errorf("could not parse client to type APIClient") + } + localBasePath, err := client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.GetProjectDetails") + if err != nil { + return localVarReturnValue, &oapierror.GenericOpenAPIError{ErrorMessage: err.Error()} + } + + localVarPath := localBasePath + "/v1/projects/{projectId}" + localVarPath = strings.Replace(localVarPath, "{"+"projectId"+"}", url.PathEscape(ParameterValueToString(r.projectId, "projectId")), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + if strlen(r.projectId) < 36 { + return localVarReturnValue, fmt.Errorf("projectId must have at least 36 elements") + } + if strlen(r.projectId) > 36 { + return localVarReturnValue, fmt.Errorf("projectId must have less than 36 elements") + } + + // to determine the Content-Type header + localVarHTTPContentTypes := []string{} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + req, err := client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) + if err != nil { + return localVarReturnValue, err + } + + contextHTTPRequest, ok := r.ctx.Value(config.ContextHTTPRequest).(**http.Request) + if ok { + *contextHTTPRequest = req + } + + localVarHTTPResponse, err := client.callAPI(req) + contextHTTPResponse, ok := r.ctx.Value(config.ContextHTTPResponse).(**http.Response) + if ok { + *contextHTTPResponse = localVarHTTPResponse + } + if err != nil || localVarHTTPResponse == nil { + return localVarReturnValue, err + } + + localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) + localVarHTTPResponse.Body.Close() + localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) + if err != nil { + return localVarReturnValue, err + } + + if localVarHTTPResponse.StatusCode >= 300 { + newErr := &oapierror.GenericOpenAPIError{ + StatusCode: localVarHTTPResponse.StatusCode, + Body: localVarBody, + ErrorMessage: localVarHTTPResponse.Status, + } + if localVarHTTPResponse.StatusCode == 400 { + var v Error + err = client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.ErrorMessage = err.Error() + return localVarReturnValue, newErr + } + newErr.ErrorMessage = oapierror.FormatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.Model = v + return localVarReturnValue, newErr + } + if localVarHTTPResponse.StatusCode == 401 { + var v Error + err = client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.ErrorMessage = err.Error() + return localVarReturnValue, newErr + } + newErr.ErrorMessage = oapierror.FormatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.Model = v + return localVarReturnValue, newErr + } + if localVarHTTPResponse.StatusCode == 403 { + var v Error + err = client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.ErrorMessage = err.Error() + return localVarReturnValue, newErr + } + newErr.ErrorMessage = oapierror.FormatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.Model = v + return localVarReturnValue, newErr + } + if localVarHTTPResponse.StatusCode == 404 { + var v Error + err = client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.ErrorMessage = err.Error() + return localVarReturnValue, newErr + } + newErr.ErrorMessage = oapierror.FormatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.Model = v + return localVarReturnValue, newErr + } + if localVarHTTPResponse.StatusCode == 500 { + var v Error + err = client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr.ErrorMessage = err.Error() + return localVarReturnValue, newErr + } + newErr.ErrorMessage = oapierror.FormatErrorMessage(localVarHTTPResponse.Status, &v) + newErr.Model = v + } + return localVarReturnValue, newErr + } + + err = client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) + if err != nil { + newErr := &oapierror.GenericOpenAPIError{ + StatusCode: localVarHTTPResponse.StatusCode, + Body: localVarBody, + ErrorMessage: err.Error(), + } + return localVarReturnValue, newErr + } + + return localVarReturnValue, nil +} + +/* +GetProjectDetails: Get project details. + +Get details about a STACKIT project. + + @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + @param projectId The identifier (ID) of a STACKIT Project. + @return ApiGetProjectDetailsRequest +*/ +func (a *APIClient) GetProjectDetails(ctx context.Context, projectId string) ApiGetProjectDetailsRequest { + return GetProjectDetailsRequest{ + apiService: a.defaultApi, + ctx: ctx, + projectId: projectId, + } +} + +func (a *APIClient) GetProjectDetailsExecute(ctx context.Context, projectId string) (*Project, error) { + r := GetProjectDetailsRequest{ + apiService: a.defaultApi, + ctx: ctx, + projectId: projectId, + } + return r.Execute() +} + type GetProjectNICRequest struct { ctx context.Context apiService *DefaultApiService diff --git a/services/iaas/api_default_test.go b/services/iaas/api_default_test.go index 9d7b30959..04f123bcd 100644 --- a/services/iaas/api_default_test.go +++ b/services/iaas/api_default_test.go @@ -2827,6 +2827,58 @@ func Test_iaas_DefaultApiService(t *testing.T) { } }) + t.Run("Test DefaultApiService GetProjectDetails", func(t *testing.T) { + _apiUrlPath := "/v1/projects/{projectId}" + projectIdValue := randString(36) + _apiUrlPath = strings.Replace(_apiUrlPath, "{"+"projectId"+"}", url.PathEscape(ParameterValueToString(projectIdValue, "projectId")), -1) + + testDefaultApiServeMux := http.NewServeMux() + testDefaultApiServeMux.HandleFunc(_apiUrlPath, func(w http.ResponseWriter, req *http.Request) { + data := Project{} + w.Header().Add("Content-Type", "application/json") + json.NewEncoder(w).Encode(data) + }) + testServer := httptest.NewServer(testDefaultApiServeMux) + defer testServer.Close() + + configuration := &config.Configuration{ + DefaultHeader: make(map[string]string), + UserAgent: "OpenAPI-Generator/1.0.0/go", + Debug: false, + Region: "test_region", + Servers: config.ServerConfigurations{ + { + URL: testServer.URL, + Description: "Localhost for iaas_DefaultApi", + Variables: map[string]config.ServerVariable{ + "region": { + DefaultValue: "test_region.", + EnumValues: []string{ + "test_region.", + }, + }, + }, + }, + }, + OperationServers: map[string]config.ServerConfigurations{}, + } + apiClient, err := NewAPIClient(config.WithCustomConfiguration(configuration), config.WithoutAuthentication()) + if err != nil { + t.Fatalf("creating API client: %v", err) + } + + projectId := projectIdValue + + resp, reqErr := apiClient.GetProjectDetails(context.Background(), projectId).Execute() + + if reqErr != nil { + t.Fatalf("error in call: %v", reqErr) + } + if IsNil(resp) { + t.Fatalf("response not present") + } + }) + t.Run("Test DefaultApiService GetProjectNIC", func(t *testing.T) { _apiUrlPath := "/v1/projects/{projectId}/nics/{nicId}" projectIdValue := randString(36) diff --git a/services/iaas/model_area_id.go b/services/iaas/model_area_id.go new file mode 100644 index 000000000..3a1b6a9cb --- /dev/null +++ b/services/iaas/model_area_id.go @@ -0,0 +1,145 @@ +/* +IaaS-API + +This API allows you to create and modify IaaS resources. + +API version: 1 +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package iaas + +import ( + "encoding/json" + "fmt" +) + +// AreaId - The identifier (ID) of an area. +type AreaId struct { + StaticAreaID *StaticAreaID + String *string +} + +// StaticAreaIDAsAreaId is a convenience function that returns StaticAreaID wrapped in AreaId +func StaticAreaIDAsAreaId(v *StaticAreaID) AreaId { + return AreaId{ + StaticAreaID: v, + } +} + +// stringAsAreaId is a convenience function that returns string wrapped in AreaId +func StringAsAreaId(v *string) AreaId { + return AreaId{ + String: v, + } +} + +// Unmarshal JSON data into one of the pointers in the struct +func (dst *AreaId) UnmarshalJSON(data []byte) error { + var err error + match := 0 + // try to unmarshal data into StaticAreaID + err = json.Unmarshal(data, &dst.StaticAreaID) + if err == nil { + jsonStaticAreaID, _ := json.Marshal(dst.StaticAreaID) + if string(jsonStaticAreaID) == "{}" { // empty struct + dst.StaticAreaID = nil + } else { + match++ + } + } else { + dst.StaticAreaID = nil + } + + // try to unmarshal data into String + err = json.Unmarshal(data, &dst.String) + if err == nil { + jsonstring, _ := json.Marshal(dst.String) + if string(jsonstring) == "{}" { // empty struct + dst.String = nil + } else { + match++ + } + } else { + dst.String = nil + } + + if match > 1 { // more than 1 match + // reset to nil + dst.StaticAreaID = nil + dst.String = nil + + return fmt.Errorf("data matches more than one schema in oneOf(AreaId)") + } else if match == 1 { + return nil // exactly one match + } else { // no match + return fmt.Errorf("data failed to match schemas in oneOf(AreaId)") + } +} + +// Marshal data from the first non-nil pointers in the struct to JSON +func (src AreaId) MarshalJSON() ([]byte, error) { + if src.StaticAreaID != nil { + return json.Marshal(&src.StaticAreaID) + } + + if src.String != nil { + return json.Marshal(&src.String) + } + + return []byte("{}"), nil // no data in oneOf schemas => empty JSON object +} + +// Get the actual instance +func (obj *AreaId) GetActualInstance() interface{} { + if obj == nil { + return nil + } + if obj.StaticAreaID != nil { + return obj.StaticAreaID + } + + if obj.String != nil { + return obj.String + } + + // all schemas are nil + return nil +} + +type NullableAreaId struct { + value *AreaId + isSet bool +} + +func (v NullableAreaId) Get() *AreaId { + return v.value +} + +func (v *NullableAreaId) Set(val *AreaId) { + v.value = val + v.isSet = true +} + +func (v NullableAreaId) IsSet() bool { + return v.isSet +} + +func (v *NullableAreaId) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableAreaId(val *AreaId) *NullableAreaId { + return &NullableAreaId{value: val, isSet: true} +} + +func (v NullableAreaId) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableAreaId) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} diff --git a/services/iaas/model_area_id_test.go b/services/iaas/model_area_id_test.go new file mode 100644 index 000000000..69a4aa858 --- /dev/null +++ b/services/iaas/model_area_id_test.go @@ -0,0 +1,11 @@ +/* +IaaS-API + +This API allows you to create and modify IaaS resources. + +API version: 1 +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package iaas diff --git a/services/iaas/model_project.go b/services/iaas/model_project.go new file mode 100644 index 000000000..4964e1b93 --- /dev/null +++ b/services/iaas/model_project.go @@ -0,0 +1,408 @@ +/* +IaaS-API + +This API allows you to create and modify IaaS resources. + +API version: 1 +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package iaas + +import ( + "encoding/json" + "time" +) + +// checks if the Project type satisfies the MappedNullable interface at compile time +var _ MappedNullable = &Project{} + +/* + types and functions for areaId +*/ + +// isModel +type ProjectGetAreaIdAttributeType = *AreaId +type ProjectGetAreaIdArgType = AreaId +type ProjectGetAreaIdRetType = AreaId + +func getProjectGetAreaIdAttributeTypeOk(arg ProjectGetAreaIdAttributeType) (ret ProjectGetAreaIdRetType, ok bool) { + if arg == nil { + return ret, false + } + return *arg, true +} + +func setProjectGetAreaIdAttributeType(arg *ProjectGetAreaIdAttributeType, val ProjectGetAreaIdRetType) { + *arg = &val +} + +/* + types and functions for createdAt +*/ + +// isDateTime +type ProjectGetCreatedAtAttributeType = *time.Time +type ProjectGetCreatedAtArgType = time.Time +type ProjectGetCreatedAtRetType = time.Time + +func getProjectGetCreatedAtAttributeTypeOk(arg ProjectGetCreatedAtAttributeType) (ret ProjectGetCreatedAtRetType, ok bool) { + if arg == nil { + return ret, false + } + return *arg, true +} + +func setProjectGetCreatedAtAttributeType(arg *ProjectGetCreatedAtAttributeType, val ProjectGetCreatedAtRetType) { + *arg = &val +} + +/* + types and functions for internetAccess +*/ + +// isBoolean +type ProjectgetInternetAccessAttributeType = *bool +type ProjectgetInternetAccessArgType = bool +type ProjectgetInternetAccessRetType = bool + +func getProjectgetInternetAccessAttributeTypeOk(arg ProjectgetInternetAccessAttributeType) (ret ProjectgetInternetAccessRetType, ok bool) { + if arg == nil { + return ret, false + } + return *arg, true +} + +func setProjectgetInternetAccessAttributeType(arg *ProjectgetInternetAccessAttributeType, val ProjectgetInternetAccessRetType) { + *arg = &val +} + +/* + types and functions for openstackProjectId +*/ + +// isNotNullableString +type ProjectGetOpenstackProjectIdAttributeType = *string + +func getProjectGetOpenstackProjectIdAttributeTypeOk(arg ProjectGetOpenstackProjectIdAttributeType) (ret ProjectGetOpenstackProjectIdRetType, ok bool) { + if arg == nil { + return ret, false + } + return *arg, true +} + +func setProjectGetOpenstackProjectIdAttributeType(arg *ProjectGetOpenstackProjectIdAttributeType, val ProjectGetOpenstackProjectIdRetType) { + *arg = &val +} + +type ProjectGetOpenstackProjectIdArgType = string +type ProjectGetOpenstackProjectIdRetType = string + +/* + types and functions for projectId +*/ + +// isNotNullableString +type ProjectGetProjectIdAttributeType = *string + +func getProjectGetProjectIdAttributeTypeOk(arg ProjectGetProjectIdAttributeType) (ret ProjectGetProjectIdRetType, ok bool) { + if arg == nil { + return ret, false + } + return *arg, true +} + +func setProjectGetProjectIdAttributeType(arg *ProjectGetProjectIdAttributeType, val ProjectGetProjectIdRetType) { + *arg = &val +} + +type ProjectGetProjectIdArgType = string +type ProjectGetProjectIdRetType = string + +/* + types and functions for state +*/ + +// isNotNullableString +type ProjectGetStateAttributeType = *string + +func getProjectGetStateAttributeTypeOk(arg ProjectGetStateAttributeType) (ret ProjectGetStateRetType, ok bool) { + if arg == nil { + return ret, false + } + return *arg, true +} + +func setProjectGetStateAttributeType(arg *ProjectGetStateAttributeType, val ProjectGetStateRetType) { + *arg = &val +} + +type ProjectGetStateArgType = string +type ProjectGetStateRetType = string + +/* + types and functions for updatedAt +*/ + +// isDateTime +type ProjectGetUpdatedAtAttributeType = *time.Time +type ProjectGetUpdatedAtArgType = time.Time +type ProjectGetUpdatedAtRetType = time.Time + +func getProjectGetUpdatedAtAttributeTypeOk(arg ProjectGetUpdatedAtAttributeType) (ret ProjectGetUpdatedAtRetType, ok bool) { + if arg == nil { + return ret, false + } + return *arg, true +} + +func setProjectGetUpdatedAtAttributeType(arg *ProjectGetUpdatedAtAttributeType, val ProjectGetUpdatedAtRetType) { + *arg = &val +} + +// Project Object that represents a STACKIT project. +type Project struct { + // REQUIRED + AreaId ProjectGetAreaIdAttributeType `json:"areaId" required:"true"` + // Date-time when resource was created. + CreatedAt ProjectGetCreatedAtAttributeType `json:"createdAt,omitempty"` + InternetAccess ProjectgetInternetAccessAttributeType `json:"internetAccess,omitempty"` + // The identifier (ID) of an OpenStack project. + OpenstackProjectId ProjectGetOpenstackProjectIdAttributeType `json:"openstackProjectId,omitempty"` + // Universally Unique Identifier (UUID). + // REQUIRED + ProjectId ProjectGetProjectIdAttributeType `json:"projectId" required:"true"` + // The state of a resource object. Possible values: `CREATING`, `CREATED`, `DELETING`, `DELETED`, `FAILED`, `UPDATED`, `UPDATING`. + // REQUIRED + State ProjectGetStateAttributeType `json:"state" required:"true"` + // Date-time when resource was last updated. + UpdatedAt ProjectGetUpdatedAtAttributeType `json:"updatedAt,omitempty"` +} + +type _Project Project + +// NewProject instantiates a new Project object +// This constructor will assign default values to properties that have it defined, +// and makes sure properties required by API are set, but the set of arguments +// will change when the set of required properties is changed +func NewProject(areaId ProjectGetAreaIdArgType, projectId ProjectGetProjectIdArgType, state ProjectGetStateArgType) *Project { + this := Project{} + setProjectGetAreaIdAttributeType(&this.AreaId, areaId) + setProjectGetProjectIdAttributeType(&this.ProjectId, projectId) + setProjectGetStateAttributeType(&this.State, state) + return &this +} + +// NewProjectWithDefaults instantiates a new Project object +// This constructor will only assign default values to properties that have it defined, +// but it doesn't guarantee that properties required by API are set +func NewProjectWithDefaults() *Project { + this := Project{} + return &this +} + +// GetAreaId returns the AreaId field value +func (o *Project) GetAreaId() (ret ProjectGetAreaIdRetType) { + ret, _ = o.GetAreaIdOk() + return ret +} + +// GetAreaIdOk returns a tuple with the AreaId field value +// and a boolean to check if the value has been set. +func (o *Project) GetAreaIdOk() (ret ProjectGetAreaIdRetType, ok bool) { + return getProjectGetAreaIdAttributeTypeOk(o.AreaId) +} + +// SetAreaId sets field value +func (o *Project) SetAreaId(v ProjectGetAreaIdRetType) { + setProjectGetAreaIdAttributeType(&o.AreaId, v) +} + +// GetCreatedAt returns the CreatedAt field value if set, zero value otherwise. +func (o *Project) GetCreatedAt() (res ProjectGetCreatedAtRetType) { + res, _ = o.GetCreatedAtOk() + return +} + +// GetCreatedAtOk returns a tuple with the CreatedAt field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *Project) GetCreatedAtOk() (ret ProjectGetCreatedAtRetType, ok bool) { + return getProjectGetCreatedAtAttributeTypeOk(o.CreatedAt) +} + +// HasCreatedAt returns a boolean if a field has been set. +func (o *Project) HasCreatedAt() bool { + _, ok := o.GetCreatedAtOk() + return ok +} + +// SetCreatedAt gets a reference to the given time.Time and assigns it to the CreatedAt field. +func (o *Project) SetCreatedAt(v ProjectGetCreatedAtRetType) { + setProjectGetCreatedAtAttributeType(&o.CreatedAt, v) +} + +// GetInternetAccess returns the InternetAccess field value if set, zero value otherwise. +func (o *Project) GetInternetAccess() (res ProjectgetInternetAccessRetType) { + res, _ = o.GetInternetAccessOk() + return +} + +// GetInternetAccessOk returns a tuple with the InternetAccess field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *Project) GetInternetAccessOk() (ret ProjectgetInternetAccessRetType, ok bool) { + return getProjectgetInternetAccessAttributeTypeOk(o.InternetAccess) +} + +// HasInternetAccess returns a boolean if a field has been set. +func (o *Project) HasInternetAccess() bool { + _, ok := o.GetInternetAccessOk() + return ok +} + +// SetInternetAccess gets a reference to the given bool and assigns it to the InternetAccess field. +func (o *Project) SetInternetAccess(v ProjectgetInternetAccessRetType) { + setProjectgetInternetAccessAttributeType(&o.InternetAccess, v) +} + +// GetOpenstackProjectId returns the OpenstackProjectId field value if set, zero value otherwise. +func (o *Project) GetOpenstackProjectId() (res ProjectGetOpenstackProjectIdRetType) { + res, _ = o.GetOpenstackProjectIdOk() + return +} + +// GetOpenstackProjectIdOk returns a tuple with the OpenstackProjectId field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *Project) GetOpenstackProjectIdOk() (ret ProjectGetOpenstackProjectIdRetType, ok bool) { + return getProjectGetOpenstackProjectIdAttributeTypeOk(o.OpenstackProjectId) +} + +// HasOpenstackProjectId returns a boolean if a field has been set. +func (o *Project) HasOpenstackProjectId() bool { + _, ok := o.GetOpenstackProjectIdOk() + return ok +} + +// SetOpenstackProjectId gets a reference to the given string and assigns it to the OpenstackProjectId field. +func (o *Project) SetOpenstackProjectId(v ProjectGetOpenstackProjectIdRetType) { + setProjectGetOpenstackProjectIdAttributeType(&o.OpenstackProjectId, v) +} + +// GetProjectId returns the ProjectId field value +func (o *Project) GetProjectId() (ret ProjectGetProjectIdRetType) { + ret, _ = o.GetProjectIdOk() + return ret +} + +// GetProjectIdOk returns a tuple with the ProjectId field value +// and a boolean to check if the value has been set. +func (o *Project) GetProjectIdOk() (ret ProjectGetProjectIdRetType, ok bool) { + return getProjectGetProjectIdAttributeTypeOk(o.ProjectId) +} + +// SetProjectId sets field value +func (o *Project) SetProjectId(v ProjectGetProjectIdRetType) { + setProjectGetProjectIdAttributeType(&o.ProjectId, v) +} + +// GetState returns the State field value +func (o *Project) GetState() (ret ProjectGetStateRetType) { + ret, _ = o.GetStateOk() + return ret +} + +// GetStateOk returns a tuple with the State field value +// and a boolean to check if the value has been set. +func (o *Project) GetStateOk() (ret ProjectGetStateRetType, ok bool) { + return getProjectGetStateAttributeTypeOk(o.State) +} + +// SetState sets field value +func (o *Project) SetState(v ProjectGetStateRetType) { + setProjectGetStateAttributeType(&o.State, v) +} + +// GetUpdatedAt returns the UpdatedAt field value if set, zero value otherwise. +func (o *Project) GetUpdatedAt() (res ProjectGetUpdatedAtRetType) { + res, _ = o.GetUpdatedAtOk() + return +} + +// GetUpdatedAtOk returns a tuple with the UpdatedAt field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *Project) GetUpdatedAtOk() (ret ProjectGetUpdatedAtRetType, ok bool) { + return getProjectGetUpdatedAtAttributeTypeOk(o.UpdatedAt) +} + +// HasUpdatedAt returns a boolean if a field has been set. +func (o *Project) HasUpdatedAt() bool { + _, ok := o.GetUpdatedAtOk() + return ok +} + +// SetUpdatedAt gets a reference to the given time.Time and assigns it to the UpdatedAt field. +func (o *Project) SetUpdatedAt(v ProjectGetUpdatedAtRetType) { + setProjectGetUpdatedAtAttributeType(&o.UpdatedAt, v) +} + +func (o Project) ToMap() (map[string]interface{}, error) { + toSerialize := map[string]interface{}{} + if val, ok := getProjectGetAreaIdAttributeTypeOk(o.AreaId); ok { + toSerialize["AreaId"] = val + } + if val, ok := getProjectGetCreatedAtAttributeTypeOk(o.CreatedAt); ok { + toSerialize["CreatedAt"] = val + } + if val, ok := getProjectgetInternetAccessAttributeTypeOk(o.InternetAccess); ok { + toSerialize["InternetAccess"] = val + } + if val, ok := getProjectGetOpenstackProjectIdAttributeTypeOk(o.OpenstackProjectId); ok { + toSerialize["OpenstackProjectId"] = val + } + if val, ok := getProjectGetProjectIdAttributeTypeOk(o.ProjectId); ok { + toSerialize["ProjectId"] = val + } + if val, ok := getProjectGetStateAttributeTypeOk(o.State); ok { + toSerialize["State"] = val + } + if val, ok := getProjectGetUpdatedAtAttributeTypeOk(o.UpdatedAt); ok { + toSerialize["UpdatedAt"] = val + } + return toSerialize, nil +} + +type NullableProject struct { + value *Project + isSet bool +} + +func (v NullableProject) Get() *Project { + return v.value +} + +func (v *NullableProject) Set(val *Project) { + v.value = val + v.isSet = true +} + +func (v NullableProject) IsSet() bool { + return v.isSet +} + +func (v *NullableProject) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableProject(val *Project) *NullableProject { + return &NullableProject{value: val, isSet: true} +} + +func (v NullableProject) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableProject) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} diff --git a/services/iaas/model_project_test.go b/services/iaas/model_project_test.go new file mode 100644 index 000000000..69a4aa858 --- /dev/null +++ b/services/iaas/model_project_test.go @@ -0,0 +1,11 @@ +/* +IaaS-API + +This API allows you to create and modify IaaS resources. + +API version: 1 +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package iaas diff --git a/services/iaas/model_static_area_id.go b/services/iaas/model_static_area_id.go new file mode 100644 index 000000000..f2a0af07e --- /dev/null +++ b/services/iaas/model_static_area_id.go @@ -0,0 +1,115 @@ +/* +IaaS-API + +This API allows you to create and modify IaaS resources. + +API version: 1 +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package iaas + +import ( + "encoding/json" + "fmt" +) + +// StaticAreaID The identifier (ID) of a static area. +type StaticAreaID string + +// List of StaticAreaID +const ( + STATICAREAID_PUBLIC StaticAreaID = "PUBLIC" + STATICAREAID_SCHWARZ StaticAreaID = "SCHWARZ" +) + +// All allowed values of StaticAreaID enum +var AllowedStaticAreaIDEnumValues = []StaticAreaID{ + "PUBLIC", + "SCHWARZ", +} + +func (v *StaticAreaID) UnmarshalJSON(src []byte) error { + var value string + err := json.Unmarshal(src, &value) + if err != nil { + return err + } + // Allow unmarshalling zero value for testing purposes + var zeroValue string + if value == zeroValue { + return nil + } + enumTypeValue := StaticAreaID(value) + for _, existing := range AllowedStaticAreaIDEnumValues { + if existing == enumTypeValue { + *v = enumTypeValue + return nil + } + } + + return fmt.Errorf("%+v is not a valid StaticAreaID", value) +} + +// NewStaticAreaIDFromValue returns a pointer to a valid StaticAreaID +// for the value passed as argument, or an error if the value passed is not allowed by the enum +func NewStaticAreaIDFromValue(v string) (*StaticAreaID, error) { + ev := StaticAreaID(v) + if ev.IsValid() { + return &ev, nil + } else { + return nil, fmt.Errorf("invalid value '%v' for StaticAreaID: valid values are %v", v, AllowedStaticAreaIDEnumValues) + } +} + +// IsValid return true if the value is valid for the enum, false otherwise +func (v StaticAreaID) IsValid() bool { + for _, existing := range AllowedStaticAreaIDEnumValues { + if existing == v { + return true + } + } + return false +} + +// Ptr returns reference to StaticAreaID value +func (v StaticAreaID) Ptr() *StaticAreaID { + return &v +} + +type NullableStaticAreaID struct { + value *StaticAreaID + isSet bool +} + +func (v NullableStaticAreaID) Get() *StaticAreaID { + return v.value +} + +func (v *NullableStaticAreaID) Set(val *StaticAreaID) { + v.value = val + v.isSet = true +} + +func (v NullableStaticAreaID) IsSet() bool { + return v.isSet +} + +func (v *NullableStaticAreaID) Unset() { + v.value = nil + v.isSet = false +} + +func NewNullableStaticAreaID(val *StaticAreaID) *NullableStaticAreaID { + return &NullableStaticAreaID{value: val, isSet: true} +} + +func (v NullableStaticAreaID) MarshalJSON() ([]byte, error) { + return json.Marshal(v.value) +} + +func (v *NullableStaticAreaID) UnmarshalJSON(src []byte) error { + v.isSet = true + return json.Unmarshal(src, &v.value) +} diff --git a/services/iaas/model_static_area_id_test.go b/services/iaas/model_static_area_id_test.go new file mode 100644 index 000000000..69a4aa858 --- /dev/null +++ b/services/iaas/model_static_area_id_test.go @@ -0,0 +1,11 @@ +/* +IaaS-API + +This API allows you to create and modify IaaS resources. + +API version: 1 +*/ + +// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. + +package iaas From b737a3fb9bbb835435e6564d32cb3be853464d5a Mon Sep 17 00:00:00 2001 From: Marcel Jacek Date: Thu, 7 Aug 2025 09:48:16 +0200 Subject: [PATCH 2/2] update CHANGELOG.md and VERSION --- CHANGELOG.md | 2 ++ services/iaas/CHANGELOG.md | 3 +++ services/iaas/VERSION | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ae10a1c9e..2570de0f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,8 @@ - `git`: [v0.7.1](services/git/CHANGELOG.md#v071) - **Dependencies:** Bump `github.com/golang-jwt/jwt/v5` from `v5.2.2` to `v5.2.3` - `iaas`: + - [v0.29.0](services/iaas/CHANGELOG.md#v0290) + - **Feature:** Add new method to get project details `GetProjectDetails` - [v0.28.0](services/iaas/CHANGELOG.md#v0280) - **Docs:** Improved descriptions of properties in structs with their possible values - **Feature:** Add `Agent` field to `CreateImagePayload`, `UpdateImagePayload` and `Image` model diff --git a/services/iaas/CHANGELOG.md b/services/iaas/CHANGELOG.md index ce9538e90..8f7f31983 100644 --- a/services/iaas/CHANGELOG.md +++ b/services/iaas/CHANGELOG.md @@ -1,3 +1,6 @@ +## v0.29.0 +- **Feature:** Add new method to get project details `GetProjectDetails` + ## v0.28.0 - **Docs:** Improved descriptions of properties in structs with their possible values - **Feature:** Add `Agent` field to `CreateImagePayload`, `UpdateImagePayload` and `Image` model diff --git a/services/iaas/VERSION b/services/iaas/VERSION index e9183beda..5bc296535 100644 --- a/services/iaas/VERSION +++ b/services/iaas/VERSION @@ -1 +1 @@ -v0.28.0 \ No newline at end of file +v0.29.0 \ No newline at end of file