diff --git a/go/internal/lightningcloud/openapi/generated/client/projects_service/projects_service_client.go b/go/internal/lightningcloud/openapi/generated/client/projects_service/projects_service_client.go index 15a11007f..87a195d9e 100644 --- a/go/internal/lightningcloud/openapi/generated/client/projects_service/projects_service_client.go +++ b/go/internal/lightningcloud/openapi/generated/client/projects_service/projects_service_client.go @@ -86,8 +86,6 @@ type ClientService interface { ProjectsServiceGetProjectRole(params *ProjectsServiceGetProjectRoleParams, opts ...ClientOption) (*ProjectsServiceGetProjectRoleOK, error) - ProjectsServiceInviteProjectMembership(params *ProjectsServiceInviteProjectMembershipParams, opts ...ClientOption) (*ProjectsServiceInviteProjectMembershipOK, error) - ProjectsServiceListAPIKeys(params *ProjectsServiceListAPIKeysParams, opts ...ClientOption) (*ProjectsServiceListAPIKeysOK, error) ProjectsServiceListMemberships(params *ProjectsServiceListMembershipsParams, opts ...ClientOption) (*ProjectsServiceListMembershipsOK, error) @@ -695,48 +693,6 @@ func (a *Client) ProjectsServiceGetProjectRole(params *ProjectsServiceGetProject return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) } -/* -ProjectsServiceInviteProjectMembership projects service invite project membership API -*/ -func (a *Client) ProjectsServiceInviteProjectMembership(params *ProjectsServiceInviteProjectMembershipParams, opts ...ClientOption) (*ProjectsServiceInviteProjectMembershipOK, error) { - // NOTE: parameters are not validated before sending - if params == nil { - params = NewProjectsServiceInviteProjectMembershipParams() - } - op := &runtime.ClientOperation{ - ID: "ProjectsService_InviteProjectMembership", - Method: "POST", - PathPattern: "/v1/projects/{projectId}/invite", - ProducesMediaTypes: []string{"application/json"}, - ConsumesMediaTypes: []string{"application/json"}, - Schemes: []string{"https"}, - Params: params, - Reader: &ProjectsServiceInviteProjectMembershipReader{formats: a.formats}, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - - // only one success response has to be checked - success, ok := result.(*ProjectsServiceInviteProjectMembershipOK) - if ok { - return success, nil - } - - // unexpected success response. - // - // a default response is provided: fill this and return an error - unexpectedSuccess := result.(*ProjectsServiceInviteProjectMembershipDefault) - - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - /* ProjectsServiceListAPIKeys projects service list API keys API */ diff --git a/go/internal/lightningcloud/openapi/generated/client/projects_service/projects_service_invite_project_membership_parameters.go b/go/internal/lightningcloud/openapi/generated/client/projects_service/projects_service_invite_project_membership_parameters.go deleted file mode 100644 index c759cce36..000000000 --- a/go/internal/lightningcloud/openapi/generated/client/projects_service/projects_service_invite_project_membership_parameters.go +++ /dev/null @@ -1,176 +0,0 @@ -// This file is vendored. -// Do not edit it directly; changes will be overwritten. -// Make changes in the internal upstream repository instead. - -// Code generated by go-swagger; DO NOT EDIT. - -package projects_service - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - - "github.com/lightning-ai/sdk/go/internal/lightningcloud/openapi/generated/models" -) - -// NewProjectsServiceInviteProjectMembershipParams creates a new ProjectsServiceInviteProjectMembershipParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewProjectsServiceInviteProjectMembershipParams() *ProjectsServiceInviteProjectMembershipParams { - return &ProjectsServiceInviteProjectMembershipParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewProjectsServiceInviteProjectMembershipParamsWithTimeout creates a new ProjectsServiceInviteProjectMembershipParams object -// with the ability to set a timeout on a request. -func NewProjectsServiceInviteProjectMembershipParamsWithTimeout(timeout time.Duration) *ProjectsServiceInviteProjectMembershipParams { - return &ProjectsServiceInviteProjectMembershipParams{ - timeout: timeout, - } -} - -// NewProjectsServiceInviteProjectMembershipParamsWithContext creates a new ProjectsServiceInviteProjectMembershipParams object -// with the ability to set a context for a request. -func NewProjectsServiceInviteProjectMembershipParamsWithContext(ctx context.Context) *ProjectsServiceInviteProjectMembershipParams { - return &ProjectsServiceInviteProjectMembershipParams{ - Context: ctx, - } -} - -// NewProjectsServiceInviteProjectMembershipParamsWithHTTPClient creates a new ProjectsServiceInviteProjectMembershipParams object -// with the ability to set a custom HTTPClient for a request. -func NewProjectsServiceInviteProjectMembershipParamsWithHTTPClient(client *http.Client) *ProjectsServiceInviteProjectMembershipParams { - return &ProjectsServiceInviteProjectMembershipParams{ - HTTPClient: client, - } -} - -/* -ProjectsServiceInviteProjectMembershipParams contains all the parameters to send to the API endpoint - - for the projects service invite project membership operation. - - Typically these are written to a http.Request. -*/ -type ProjectsServiceInviteProjectMembershipParams struct { - - // Body. - Body *models.ProjectsServiceInviteProjectMembershipBody - - /* ProjectID. - - project_id to invite to - */ - ProjectID string - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the projects service invite project membership params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *ProjectsServiceInviteProjectMembershipParams) WithDefaults() *ProjectsServiceInviteProjectMembershipParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the projects service invite project membership params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *ProjectsServiceInviteProjectMembershipParams) SetDefaults() { - // no default values defined for this parameter -} - -// WithTimeout adds the timeout to the projects service invite project membership params -func (o *ProjectsServiceInviteProjectMembershipParams) WithTimeout(timeout time.Duration) *ProjectsServiceInviteProjectMembershipParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the projects service invite project membership params -func (o *ProjectsServiceInviteProjectMembershipParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the projects service invite project membership params -func (o *ProjectsServiceInviteProjectMembershipParams) WithContext(ctx context.Context) *ProjectsServiceInviteProjectMembershipParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the projects service invite project membership params -func (o *ProjectsServiceInviteProjectMembershipParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the projects service invite project membership params -func (o *ProjectsServiceInviteProjectMembershipParams) WithHTTPClient(client *http.Client) *ProjectsServiceInviteProjectMembershipParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the projects service invite project membership params -func (o *ProjectsServiceInviteProjectMembershipParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithBody adds the body to the projects service invite project membership params -func (o *ProjectsServiceInviteProjectMembershipParams) WithBody(body *models.ProjectsServiceInviteProjectMembershipBody) *ProjectsServiceInviteProjectMembershipParams { - o.SetBody(body) - return o -} - -// SetBody adds the body to the projects service invite project membership params -func (o *ProjectsServiceInviteProjectMembershipParams) SetBody(body *models.ProjectsServiceInviteProjectMembershipBody) { - o.Body = body -} - -// WithProjectID adds the projectID to the projects service invite project membership params -func (o *ProjectsServiceInviteProjectMembershipParams) WithProjectID(projectID string) *ProjectsServiceInviteProjectMembershipParams { - o.SetProjectID(projectID) - return o -} - -// SetProjectID adds the projectId to the projects service invite project membership params -func (o *ProjectsServiceInviteProjectMembershipParams) SetProjectID(projectID string) { - o.ProjectID = projectID -} - -// WriteToRequest writes these params to a swagger request -func (o *ProjectsServiceInviteProjectMembershipParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - if o.Body != nil { - if err := r.SetBodyParam(o.Body); err != nil { - return err - } - } - - // path param projectId - if err := r.SetPathParam("projectId", o.ProjectID); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} diff --git a/go/internal/lightningcloud/openapi/generated/client/projects_service/projects_service_invite_project_membership_responses.go b/go/internal/lightningcloud/openapi/generated/client/projects_service/projects_service_invite_project_membership_responses.go deleted file mode 100644 index 0b4ba7ed4..000000000 --- a/go/internal/lightningcloud/openapi/generated/client/projects_service/projects_service_invite_project_membership_responses.go +++ /dev/null @@ -1,192 +0,0 @@ -// This file is vendored. -// Do not edit it directly; changes will be overwritten. -// Make changes in the internal upstream repository instead. - -// Code generated by go-swagger; DO NOT EDIT. - -package projects_service - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "encoding/json" - stderrors "errors" - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/lightning-ai/sdk/go/internal/lightningcloud/openapi/generated/models" -) - -// ProjectsServiceInviteProjectMembershipReader is a Reader for the ProjectsServiceInviteProjectMembership structure. -type ProjectsServiceInviteProjectMembershipReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *ProjectsServiceInviteProjectMembershipReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (any, error) { - switch response.Code() { - case 200: - result := NewProjectsServiceInviteProjectMembershipOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - default: - result := NewProjectsServiceInviteProjectMembershipDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewProjectsServiceInviteProjectMembershipOK creates a ProjectsServiceInviteProjectMembershipOK with default headers values -func NewProjectsServiceInviteProjectMembershipOK() *ProjectsServiceInviteProjectMembershipOK { - return &ProjectsServiceInviteProjectMembershipOK{} -} - -/* -ProjectsServiceInviteProjectMembershipOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type ProjectsServiceInviteProjectMembershipOK struct { - Payload *models.V1InviteProjectMembershipResponse -} - -// IsSuccess returns true when this projects service invite project membership o k response has a 2xx status code -func (o *ProjectsServiceInviteProjectMembershipOK) IsSuccess() bool { - return true -} - -// IsRedirect returns true when this projects service invite project membership o k response has a 3xx status code -func (o *ProjectsServiceInviteProjectMembershipOK) IsRedirect() bool { - return false -} - -// IsClientError returns true when this projects service invite project membership o k response has a 4xx status code -func (o *ProjectsServiceInviteProjectMembershipOK) IsClientError() bool { - return false -} - -// IsServerError returns true when this projects service invite project membership o k response has a 5xx status code -func (o *ProjectsServiceInviteProjectMembershipOK) IsServerError() bool { - return false -} - -// IsCode returns true when this projects service invite project membership o k response a status code equal to that given -func (o *ProjectsServiceInviteProjectMembershipOK) IsCode(code int) bool { - return code == 200 -} - -// Code gets the status code for the projects service invite project membership o k response -func (o *ProjectsServiceInviteProjectMembershipOK) Code() int { - return 200 -} - -func (o *ProjectsServiceInviteProjectMembershipOK) Error() string { - payload, _ := json.Marshal(o.Payload) - return fmt.Sprintf("[POST /v1/projects/{projectId}/invite][%d] projectsServiceInviteProjectMembershipOK %s", 200, payload) -} - -func (o *ProjectsServiceInviteProjectMembershipOK) String() string { - payload, _ := json.Marshal(o.Payload) - return fmt.Sprintf("[POST /v1/projects/{projectId}/invite][%d] projectsServiceInviteProjectMembershipOK %s", 200, payload) -} - -func (o *ProjectsServiceInviteProjectMembershipOK) GetPayload() *models.V1InviteProjectMembershipResponse { - return o.Payload -} - -func (o *ProjectsServiceInviteProjectMembershipOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.V1InviteProjectMembershipResponse) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { - return err - } - - return nil -} - -// NewProjectsServiceInviteProjectMembershipDefault creates a ProjectsServiceInviteProjectMembershipDefault with default headers values -func NewProjectsServiceInviteProjectMembershipDefault(code int) *ProjectsServiceInviteProjectMembershipDefault { - return &ProjectsServiceInviteProjectMembershipDefault{ - _statusCode: code, - } -} - -/* -ProjectsServiceInviteProjectMembershipDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type ProjectsServiceInviteProjectMembershipDefault struct { - _statusCode int - - Payload *models.RPCStatus -} - -// IsSuccess returns true when this projects service invite project membership default response has a 2xx status code -func (o *ProjectsServiceInviteProjectMembershipDefault) IsSuccess() bool { - return o._statusCode/100 == 2 -} - -// IsRedirect returns true when this projects service invite project membership default response has a 3xx status code -func (o *ProjectsServiceInviteProjectMembershipDefault) IsRedirect() bool { - return o._statusCode/100 == 3 -} - -// IsClientError returns true when this projects service invite project membership default response has a 4xx status code -func (o *ProjectsServiceInviteProjectMembershipDefault) IsClientError() bool { - return o._statusCode/100 == 4 -} - -// IsServerError returns true when this projects service invite project membership default response has a 5xx status code -func (o *ProjectsServiceInviteProjectMembershipDefault) IsServerError() bool { - return o._statusCode/100 == 5 -} - -// IsCode returns true when this projects service invite project membership default response a status code equal to that given -func (o *ProjectsServiceInviteProjectMembershipDefault) IsCode(code int) bool { - return o._statusCode == code -} - -// Code gets the status code for the projects service invite project membership default response -func (o *ProjectsServiceInviteProjectMembershipDefault) Code() int { - return o._statusCode -} - -func (o *ProjectsServiceInviteProjectMembershipDefault) Error() string { - payload, _ := json.Marshal(o.Payload) - return fmt.Sprintf("[POST /v1/projects/{projectId}/invite][%d] ProjectsService_InviteProjectMembership default %s", o._statusCode, payload) -} - -func (o *ProjectsServiceInviteProjectMembershipDefault) String() string { - payload, _ := json.Marshal(o.Payload) - return fmt.Sprintf("[POST /v1/projects/{projectId}/invite][%d] ProjectsService_InviteProjectMembership default %s", o._statusCode, payload) -} - -func (o *ProjectsServiceInviteProjectMembershipDefault) GetPayload() *models.RPCStatus { - return o.Payload -} - -func (o *ProjectsServiceInviteProjectMembershipDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.RPCStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && !stderrors.Is(err, io.EOF) { - return err - } - - return nil -} diff --git a/go/internal/lightningcloud/openapi/generated/models/jobs_service_create_multi_machine_job_body.go b/go/internal/lightningcloud/openapi/generated/models/jobs_service_create_multi_machine_job_body.go index 5d32f40e7..79a8b884d 100644 --- a/go/internal/lightningcloud/openapi/generated/models/jobs_service_create_multi_machine_job_body.go +++ b/go/internal/lightningcloud/openapi/generated/models/jobs_service_create_multi_machine_job_body.go @@ -32,6 +32,9 @@ type JobsServiceCreateMultiMachineJobBody struct { // Number of machines to use Machines int64 `json:"machines,omitempty"` + // Max number of run attempts for this multi-machine job. 0 means unset (legacy, no retries); 1 means a single attempt (no retries). + MaxRunAttempts int64 `json:"maxRunAttempts,omitempty"` + // Required Name string `json:"name,omitempty"` diff --git a/go/internal/lightningcloud/openapi/generated/models/projects_service_invite_project_membership_body.go b/go/internal/lightningcloud/openapi/generated/models/projects_service_invite_project_membership_body.go deleted file mode 100644 index 51740e6b6..000000000 --- a/go/internal/lightningcloud/openapi/generated/models/projects_service_invite_project_membership_body.go +++ /dev/null @@ -1,60 +0,0 @@ -// This file is vendored. -// Do not edit it directly; changes will be overwritten. -// Make changes in the internal upstream repository instead. - -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// ProjectsServiceInviteProjectMembershipBody projects service invite project membership body -// -// swagger:model ProjectsServiceInviteProjectMembershipBody -type ProjectsServiceInviteProjectMembershipBody struct { - - // role_ids to assign once accepted - RoleIds []string `json:"roleIds"` - - // user_email is used to invite users to the platform & project - UserEmail []string `json:"userEmail"` - - // user_id is used to invite existing platform users to the project - UserID []string `json:"userId"` -} - -// Validate validates this projects service invite project membership body -func (m *ProjectsServiceInviteProjectMembershipBody) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this projects service invite project membership body based on context it is used -func (m *ProjectsServiceInviteProjectMembershipBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *ProjectsServiceInviteProjectMembershipBody) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *ProjectsServiceInviteProjectMembershipBody) UnmarshalBinary(b []byte) error { - var res ProjectsServiceInviteProjectMembershipBody - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/go/internal/lightningcloud/openapi/generated/models/v1_a_w_s_direct_v1.go b/go/internal/lightningcloud/openapi/generated/models/v1_a_w_s_direct_v1.go index 3119bae6c..ab76ef643 100644 --- a/go/internal/lightningcloud/openapi/generated/models/v1_a_w_s_direct_v1.go +++ b/go/internal/lightningcloud/openapi/generated/models/v1_a_w_s_direct_v1.go @@ -72,6 +72,9 @@ type V1AWSDirectV1 struct { // Run instances from launch templates only (JPMC setup) UseLaunchTemplates bool `json:"useLaunchTemplates,omitempty"` + + // If true, use all tagged subnets instead of selecting one subnet per availability zone + UseMultipleSubnetsPerAvailabilityZone bool `json:"useMultipleSubnetsPerAvailabilityZone,omitempty"` } // Validate validates this v1 a w s direct v1 diff --git a/go/internal/lightningcloud/openapi/generated/models/v1_create_multi_machine_job_request.go b/go/internal/lightningcloud/openapi/generated/models/v1_create_multi_machine_job_request.go index 13b0e0ebf..f17ac6fea 100644 --- a/go/internal/lightningcloud/openapi/generated/models/v1_create_multi_machine_job_request.go +++ b/go/internal/lightningcloud/openapi/generated/models/v1_create_multi_machine_job_request.go @@ -32,6 +32,9 @@ type V1CreateMultiMachineJobRequest struct { // Number of machines to use Machines int64 `json:"machines,omitempty"` + // Max number of run attempts for this multi-machine job. 0 means unset (legacy, no retries); 1 means a single attempt (no retries). + MaxRunAttempts int64 `json:"maxRunAttempts,omitempty"` + // Required Name string `json:"name,omitempty"` diff --git a/go/internal/lightningcloud/openapi/generated/models/v1_invite_project_membership_response.go b/go/internal/lightningcloud/openapi/generated/models/v1_invite_project_membership_response.go deleted file mode 100644 index ceca72550..000000000 --- a/go/internal/lightningcloud/openapi/generated/models/v1_invite_project_membership_response.go +++ /dev/null @@ -1,134 +0,0 @@ -// This file is vendored. -// Do not edit it directly; changes will be overwritten. -// Make changes in the internal upstream repository instead. - -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - stderrors "errors" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1InviteProjectMembershipResponse v1 invite project membership response -// -// swagger:model v1InviteProjectMembershipResponse -type V1InviteProjectMembershipResponse struct { - - // invitations - Invitations []*V1ProjectMembershipInvite `json:"invitations"` -} - -// Validate validates this v1 invite project membership response -func (m *V1InviteProjectMembershipResponse) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateInvitations(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1InviteProjectMembershipResponse) validateInvitations(formats strfmt.Registry) error { - if swag.IsZero(m.Invitations) { // not required - return nil - } - - for i := 0; i < len(m.Invitations); i++ { - if swag.IsZero(m.Invitations[i]) { // not required - continue - } - - if m.Invitations[i] != nil { - if err := m.Invitations[i].Validate(formats); err != nil { - ve := new(errors.Validation) - if stderrors.As(err, &ve) { - return ve.ValidateName("invitations" + "." + strconv.Itoa(i)) - } - ce := new(errors.CompositeError) - if stderrors.As(err, &ce) { - return ce.ValidateName("invitations" + "." + strconv.Itoa(i)) - } - - return err - } - } - - } - - return nil -} - -// ContextValidate validate this v1 invite project membership response based on the context it is used -func (m *V1InviteProjectMembershipResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateInvitations(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1InviteProjectMembershipResponse) contextValidateInvitations(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Invitations); i++ { - - if m.Invitations[i] != nil { - - if swag.IsZero(m.Invitations[i]) { // not required - return nil - } - - if err := m.Invitations[i].ContextValidate(ctx, formats); err != nil { - ve := new(errors.Validation) - if stderrors.As(err, &ve) { - return ve.ValidateName("invitations" + "." + strconv.Itoa(i)) - } - ce := new(errors.CompositeError) - if stderrors.As(err, &ce) { - return ce.ValidateName("invitations" + "." + strconv.Itoa(i)) - } - - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1InviteProjectMembershipResponse) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1InviteProjectMembershipResponse) UnmarshalBinary(b []byte) error { - var res V1InviteProjectMembershipResponse - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/go/internal/lightningcloud/openapi/generated/models/v1_multi_machine_job.go b/go/internal/lightningcloud/openapi/generated/models/v1_multi_machine_job.go index 797ef3b43..cd528d529 100644 --- a/go/internal/lightningcloud/openapi/generated/models/v1_multi_machine_job.go +++ b/go/internal/lightningcloud/openapi/generated/models/v1_multi_machine_job.go @@ -31,6 +31,9 @@ type V1MultiMachineJob struct { // Format: date-time CreatedAt strfmt.DateTime `json:"createdAt,omitempty"` + // Current run attempt for this multi-machine job (1-based). First row is 1. + CurrentRunAttempt int64 `json:"currentRunAttempt,omitempty"` + // desired state DesiredState *V1MultiMachineJobState `json:"desiredState,omitempty"` @@ -43,12 +46,18 @@ type V1MultiMachineJob struct { // Number of machines to use Machines int64 `json:"machines,omitempty"` + // Max number of run attempts for this multi-machine job. 0 means unset (legacy, no retries); 1 means a single attempt (no retries). + MaxRunAttempts int64 `json:"maxRunAttempts,omitempty"` + // Human readable message Message string `json:"message,omitempty"` // Required Name string `json:"name,omitempty"` + // Root multi-machine job id. Children copy the root, not the immediate parent. + ParentMultiMachineJobID string `json:"parentMultiMachineJobId,omitempty"` + // The id of the pipeline that this mmt belongs to PipelineID string `json:"pipelineId,omitempty"` diff --git a/go/internal/lightningcloud/openapi/generated/models/v1_project_membership_invite.go b/go/internal/lightningcloud/openapi/generated/models/v1_project_membership_invite.go deleted file mode 100644 index e0e612b27..000000000 --- a/go/internal/lightningcloud/openapi/generated/models/v1_project_membership_invite.go +++ /dev/null @@ -1,75 +0,0 @@ -// This file is vendored. -// Do not edit it directly; changes will be overwritten. -// Make changes in the internal upstream repository instead. - -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1ProjectMembershipInvite ProjectMembershipInvite -// -// swagger:model v1ProjectMembershipInvite -type V1ProjectMembershipInvite struct { - - // for failures, why it failed - InviteReason string `json:"inviteReason,omitempty"` - - // success/ failure - InviteStatus string `json:"inviteStatus,omitempty"` - - // invite_token is used to accept the invite - InviteToken string `json:"inviteToken,omitempty"` - - // absolute URL including invite_token - InviteURL string `json:"inviteUrl,omitempty"` - - // project_id to invite to - ProjectID string `json:"projectId,omitempty"` - - // role_ids to assign once accepted - RoleIds []string `json:"roleIds"` - - // user_email is the receiving email, regardless if the user exists on the platform or not - UserEmail string `json:"userEmail,omitempty"` - - // user_id is used to invite existing platform users to the project - UserID string `json:"userId,omitempty"` -} - -// Validate validates this v1 project membership invite -func (m *V1ProjectMembershipInvite) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 project membership invite based on context it is used -func (m *V1ProjectMembershipInvite) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1ProjectMembershipInvite) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1ProjectMembershipInvite) UnmarshalBinary(b []byte) error { - var res V1ProjectMembershipInvite - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/python/lightning_sdk/lightning_cloud/openapi/__init__.py b/python/lightning_sdk/lightning_cloud/openapi/__init__.py index f634b8d3d..d15fc8c06 100644 --- a/python/lightning_sdk/lightning_cloud/openapi/__init__.py +++ b/python/lightning_sdk/lightning_cloud/openapi/__init__.py @@ -247,7 +247,6 @@ from lightning_sdk.lightning_cloud.openapi.models.projects_service_create_project_membership_body import ProjectsServiceCreateProjectMembershipBody from lightning_sdk.lightning_cloud.openapi.models.projects_service_create_project_membership_role_binding_body import ProjectsServiceCreateProjectMembershipRoleBindingBody from lightning_sdk.lightning_cloud.openapi.models.projects_service_create_project_role_body import ProjectsServiceCreateProjectRoleBody -from lightning_sdk.lightning_cloud.openapi.models.projects_service_invite_project_membership_body import ProjectsServiceInviteProjectMembershipBody from lightning_sdk.lightning_cloud.openapi.models.projects_service_update_project_body import ProjectsServiceUpdateProjectBody from lightning_sdk.lightning_cloud.openapi.models.projects_service_update_project_tab_order_body import ProjectsServiceUpdateProjectTabOrderBody from lightning_sdk.lightning_cloud.openapi.models.protobuf_any import ProtobufAny @@ -735,7 +734,6 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_instance_overprovisioning_spec import V1InstanceOverprovisioningSpec from lightning_sdk.lightning_cloud.openapi.models.v1_interrupt_server_response import V1InterruptServerResponse from lightning_sdk.lightning_cloud.openapi.models.v1_invalidate_cloud_space_instance_code_settings_response import V1InvalidateCloudSpaceInstanceCodeSettingsResponse -from lightning_sdk.lightning_cloud.openapi.models.v1_invite_project_membership_response import V1InviteProjectMembershipResponse from lightning_sdk.lightning_cloud.openapi.models.v1_job import V1Job from lightning_sdk.lightning_cloud.openapi.models.v1_job_action import V1JobAction from lightning_sdk.lightning_cloud.openapi.models.v1_job_event import V1JobEvent @@ -1055,7 +1053,6 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_project_compute_daily_usage import V1ProjectComputeDailyUsage from lightning_sdk.lightning_cloud.openapi.models.v1_project_compute_usage import V1ProjectComputeUsage from lightning_sdk.lightning_cloud.openapi.models.v1_project_membership import V1ProjectMembership -from lightning_sdk.lightning_cloud.openapi.models.v1_project_membership_invite import V1ProjectMembershipInvite from lightning_sdk.lightning_cloud.openapi.models.v1_project_membership_role_binding import V1ProjectMembershipRoleBinding from lightning_sdk.lightning_cloud.openapi.models.v1_project_membership_sort_by import V1ProjectMembershipSortBy from lightning_sdk.lightning_cloud.openapi.models.v1_project_membership_sort_order import V1ProjectMembershipSortOrder diff --git a/python/lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py b/python/lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py index 3acff4c73..28b6aa463 100644 --- a/python/lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py +++ b/python/lightning_sdk/lightning_cloud/openapi/api/billing_service_api.py @@ -1344,6 +1344,8 @@ def billing_service_get_rollup_usage_report(self, **kwargs) -> 'V1UsageReport': :param str time_zone: UTC offset of the user's timezone :param int limit: Optional, max number of entries to return. The UI will always send a limit to ensure we don't crash the grpc client. :param datetime search_after: Optional, only include usage entries strictly after this time. This time will be the time of the last returned usage report item. The API will return the next search_after to use. + :param str search_after_resource_id: Optional, paired with search_after: the resource_id of the last returned usage report item, needed to break ties when multiple resources share the same search_after date. + :param str search_after_resource_type: resource type is necessary since daily rollup table is keyed on resource_id, not billable_resource_id, which is not unique across different resource types Optional, paired with search_after: the resource_type of the last returned usage report item, needed to break ties when multiple resources share the same search_after date. :return: V1UsageReport If the method is called asynchronously, returns the request thread. @@ -1375,12 +1377,14 @@ def billing_service_get_rollup_usage_report_with_http_info(self, **kwargs) -> 'V :param str time_zone: UTC offset of the user's timezone :param int limit: Optional, max number of entries to return. The UI will always send a limit to ensure we don't crash the grpc client. :param datetime search_after: Optional, only include usage entries strictly after this time. This time will be the time of the last returned usage report item. The API will return the next search_after to use. + :param str search_after_resource_id: Optional, paired with search_after: the resource_id of the last returned usage report item, needed to break ties when multiple resources share the same search_after date. + :param str search_after_resource_type: resource type is necessary since daily rollup table is keyed on resource_id, not billable_resource_id, which is not unique across different resource types Optional, paired with search_after: the resource_type of the last returned usage report item, needed to break ties when multiple resources share the same search_after date. :return: V1UsageReport If the method is called asynchronously, returns the request thread. """ - all_params = ['org_id', 'project_id', 'cluster_id', 'resource_type', 'resource_id', '_from', 'to', 'user_id', 'time_zone', 'limit', 'search_after'] # noqa: E501 + all_params = ['org_id', 'project_id', 'cluster_id', 'resource_type', 'resource_id', '_from', 'to', 'user_id', 'time_zone', 'limit', 'search_after', 'search_after_resource_id', 'search_after_resource_type'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -1423,6 +1427,10 @@ def billing_service_get_rollup_usage_report_with_http_info(self, **kwargs) -> 'V query_params.append(('limit', params['limit'])) # noqa: E501 if 'search_after' in params: query_params.append(('searchAfter', params['search_after'])) # noqa: E501 + if 'search_after_resource_id' in params: + query_params.append(('searchAfterResourceId', params['search_after_resource_id'])) # noqa: E501 + if 'search_after_resource_type' in params: + query_params.append(('searchAfterResourceType', params['search_after_resource_type'])) # noqa: E501 header_params = {} @@ -1683,6 +1691,8 @@ def billing_service_get_usage_report(self, **kwargs) -> 'V1UsageReport': # noqa :param str time_zone: UTC offset of the user's timezone :param int limit: Optional, max number of entries to return. The UI will always send a limit to ensure we don't crash the grpc client. :param datetime search_after: Optional, only include usage entries strictly after this time. This time will be the time of the last returned usage report item. The API will return the next search_after to use. + :param str search_after_resource_id: Optional, paired with search_after: the resource_id of the last returned usage report item, needed to break ties when multiple resources share the same search_after date. + :param str search_after_resource_type: resource type is necessary since daily rollup table is keyed on resource_id, not billable_resource_id, which is not unique across different resource types Optional, paired with search_after: the resource_type of the last returned usage report item, needed to break ties when multiple resources share the same search_after date. :return: V1UsageReport If the method is called asynchronously, returns the request thread. @@ -1714,12 +1724,14 @@ def billing_service_get_usage_report_with_http_info(self, **kwargs) -> 'V1UsageR :param str time_zone: UTC offset of the user's timezone :param int limit: Optional, max number of entries to return. The UI will always send a limit to ensure we don't crash the grpc client. :param datetime search_after: Optional, only include usage entries strictly after this time. This time will be the time of the last returned usage report item. The API will return the next search_after to use. + :param str search_after_resource_id: Optional, paired with search_after: the resource_id of the last returned usage report item, needed to break ties when multiple resources share the same search_after date. + :param str search_after_resource_type: resource type is necessary since daily rollup table is keyed on resource_id, not billable_resource_id, which is not unique across different resource types Optional, paired with search_after: the resource_type of the last returned usage report item, needed to break ties when multiple resources share the same search_after date. :return: V1UsageReport If the method is called asynchronously, returns the request thread. """ - all_params = ['org_id', 'project_id', 'cluster_id', 'resource_type', 'resource_id', '_from', 'to', 'user_id', 'time_zone', 'limit', 'search_after'] # noqa: E501 + all_params = ['org_id', 'project_id', 'cluster_id', 'resource_type', 'resource_id', '_from', 'to', 'user_id', 'time_zone', 'limit', 'search_after', 'search_after_resource_id', 'search_after_resource_type'] # noqa: E501 all_params.append('async_req') all_params.append('_return_http_data_only') all_params.append('_preload_content') @@ -1762,6 +1774,10 @@ def billing_service_get_usage_report_with_http_info(self, **kwargs) -> 'V1UsageR query_params.append(('limit', params['limit'])) # noqa: E501 if 'search_after' in params: query_params.append(('searchAfter', params['search_after'])) # noqa: E501 + if 'search_after_resource_id' in params: + query_params.append(('searchAfterResourceId', params['search_after_resource_id'])) # noqa: E501 + if 'search_after_resource_type' in params: + query_params.append(('searchAfterResourceType', params['search_after_resource_type'])) # noqa: E501 header_params = {} diff --git a/python/lightning_sdk/lightning_cloud/openapi/api/projects_service_api.py b/python/lightning_sdk/lightning_cloud/openapi/api/projects_service_api.py index 05ad0eca9..30857c629 100644 --- a/python/lightning_sdk/lightning_cloud/openapi/api/projects_service_api.py +++ b/python/lightning_sdk/lightning_cloud/openapi/api/projects_service_api.py @@ -1477,111 +1477,6 @@ def projects_service_get_project_role_with_http_info(self, project_id: 'str', id _request_timeout=params.get('_request_timeout'), collection_formats=collection_formats) - def projects_service_invite_project_membership(self, body: 'ProjectsServiceInviteProjectMembershipBody', project_id: 'str', **kwargs) -> 'V1InviteProjectMembershipResponse': # noqa: E501 - """projects_service_invite_project_membership # noqa: E501 - - This method makes a synchronous HTTP request by default. To make an - asynchronous HTTP request, please pass async_req=True - >>> thread = api.projects_service_invite_project_membership(body, project_id, async_req=True) - >>> result = thread.get() - - :param async_req bool - :param ProjectsServiceInviteProjectMembershipBody body: (required) - :param str project_id: project_id to invite to (required) - :return: V1InviteProjectMembershipResponse - If the method is called asynchronously, - returns the request thread. - """ - kwargs['_return_http_data_only'] = True - if kwargs.get('async_req'): - return self.projects_service_invite_project_membership_with_http_info(body, project_id, **kwargs) # noqa: E501 - else: - (data) = self.projects_service_invite_project_membership_with_http_info(body, project_id, **kwargs) # noqa: E501 - return data - - def projects_service_invite_project_membership_with_http_info(self, body: 'ProjectsServiceInviteProjectMembershipBody', project_id: 'str', **kwargs) -> 'V1InviteProjectMembershipResponse': # noqa: E501 - """projects_service_invite_project_membership # noqa: E501 - - This method makes a synchronous HTTP request by default. To make an - asynchronous HTTP request, please pass async_req=True - >>> thread = api.projects_service_invite_project_membership_with_http_info(body, project_id, async_req=True) - >>> result = thread.get() - - :param async_req bool - :param ProjectsServiceInviteProjectMembershipBody body: (required) - :param str project_id: project_id to invite to (required) - :return: V1InviteProjectMembershipResponse - If the method is called asynchronously, - returns the request thread. - """ - - all_params = ['body', 'project_id'] # noqa: E501 - all_params.append('async_req') - all_params.append('_return_http_data_only') - all_params.append('_preload_content') - all_params.append('_request_timeout') - - params = locals() - for key, val in six.iteritems(params['kwargs']): - if key not in all_params: - raise TypeError( - "Got an unexpected keyword argument '%s'" - " to method projects_service_invite_project_membership" % key - ) - params[key] = val - del params['kwargs'] - # verify the required parameter 'body' is set - if ('body' not in params or - params['body'] is None): - raise ValueError("Missing the required parameter `body` when calling `projects_service_invite_project_membership`") # noqa: E501 - # verify the required parameter 'project_id' is set - if ('project_id' not in params or - params['project_id'] is None): - raise ValueError("Missing the required parameter `project_id` when calling `projects_service_invite_project_membership`") # noqa: E501 - - collection_formats = {} - - path_params = {} - if 'project_id' in params: - path_params['projectId'] = params['project_id'] # noqa: E501 - - query_params = [] - - header_params = {} - - form_params = [] - local_var_files = {} - - body_params = None - if 'body' in params: - body_params = params['body'] - # HTTP header `Accept` - header_params['Accept'] = self.api_client.select_header_accept( - ['application/json']) # noqa: E501 - - # HTTP header `Content-Type` - header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 - ['application/json']) # noqa: E501 - - # Authentication setting - auth_settings = [] # noqa: E501 - - return self.api_client.call_api( - '/v1/projects/{projectId}/invite', 'POST', - path_params, - query_params, - header_params, - body=body_params, - post_params=form_params, - files=local_var_files, - response_type='V1InviteProjectMembershipResponse', # noqa: E501 - auth_settings=auth_settings, - async_req=params.get('async_req'), - _return_http_data_only=params.get('_return_http_data_only'), - _preload_content=params.get('_preload_content', True), - _request_timeout=params.get('_request_timeout'), - collection_formats=collection_formats) - def projects_service_list_api_keys(self, **kwargs) -> 'V1ListAPIKeysResponse': # noqa: E501 """projects_service_list_api_keys # noqa: E501 diff --git a/python/lightning_sdk/lightning_cloud/openapi/models/__init__.py b/python/lightning_sdk/lightning_cloud/openapi/models/__init__.py index f453e90b1..7a99a57d6 100644 --- a/python/lightning_sdk/lightning_cloud/openapi/models/__init__.py +++ b/python/lightning_sdk/lightning_cloud/openapi/models/__init__.py @@ -208,7 +208,6 @@ from lightning_sdk.lightning_cloud.openapi.models.projects_service_create_project_membership_body import ProjectsServiceCreateProjectMembershipBody from lightning_sdk.lightning_cloud.openapi.models.projects_service_create_project_membership_role_binding_body import ProjectsServiceCreateProjectMembershipRoleBindingBody from lightning_sdk.lightning_cloud.openapi.models.projects_service_create_project_role_body import ProjectsServiceCreateProjectRoleBody -from lightning_sdk.lightning_cloud.openapi.models.projects_service_invite_project_membership_body import ProjectsServiceInviteProjectMembershipBody from lightning_sdk.lightning_cloud.openapi.models.projects_service_update_project_body import ProjectsServiceUpdateProjectBody from lightning_sdk.lightning_cloud.openapi.models.projects_service_update_project_tab_order_body import ProjectsServiceUpdateProjectTabOrderBody from lightning_sdk.lightning_cloud.openapi.models.protobuf_any import ProtobufAny @@ -696,7 +695,6 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_instance_overprovisioning_spec import V1InstanceOverprovisioningSpec from lightning_sdk.lightning_cloud.openapi.models.v1_interrupt_server_response import V1InterruptServerResponse from lightning_sdk.lightning_cloud.openapi.models.v1_invalidate_cloud_space_instance_code_settings_response import V1InvalidateCloudSpaceInstanceCodeSettingsResponse -from lightning_sdk.lightning_cloud.openapi.models.v1_invite_project_membership_response import V1InviteProjectMembershipResponse from lightning_sdk.lightning_cloud.openapi.models.v1_job import V1Job from lightning_sdk.lightning_cloud.openapi.models.v1_job_action import V1JobAction from lightning_sdk.lightning_cloud.openapi.models.v1_job_event import V1JobEvent @@ -1016,7 +1014,6 @@ from lightning_sdk.lightning_cloud.openapi.models.v1_project_compute_daily_usage import V1ProjectComputeDailyUsage from lightning_sdk.lightning_cloud.openapi.models.v1_project_compute_usage import V1ProjectComputeUsage from lightning_sdk.lightning_cloud.openapi.models.v1_project_membership import V1ProjectMembership -from lightning_sdk.lightning_cloud.openapi.models.v1_project_membership_invite import V1ProjectMembershipInvite from lightning_sdk.lightning_cloud.openapi.models.v1_project_membership_role_binding import V1ProjectMembershipRoleBinding from lightning_sdk.lightning_cloud.openapi.models.v1_project_membership_sort_by import V1ProjectMembershipSortBy from lightning_sdk.lightning_cloud.openapi.models.v1_project_membership_sort_order import V1ProjectMembershipSortOrder diff --git a/python/lightning_sdk/lightning_cloud/openapi/models/jobs_service_create_multi_machine_job_body.py b/python/lightning_sdk/lightning_cloud/openapi/models/jobs_service_create_multi_machine_job_body.py index 6a600c72b..1f07f9d76 100644 --- a/python/lightning_sdk/lightning_cloud/openapi/models/jobs_service_create_multi_machine_job_body.py +++ b/python/lightning_sdk/lightning_cloud/openapi/models/jobs_service_create_multi_machine_job_body.py @@ -48,6 +48,7 @@ class JobsServiceCreateMultiMachineJobBody(object): 'cluster_id': 'str', 'fault_tolerance': 'V1MultiMachineJobFaultTolerance', 'machines': 'int', + 'max_run_attempts': 'int', 'name': 'str', 'spec': 'V1JobSpec' } @@ -56,15 +57,17 @@ class JobsServiceCreateMultiMachineJobBody(object): 'cluster_id': 'clusterId', 'fault_tolerance': 'faultTolerance', 'machines': 'machines', + 'max_run_attempts': 'maxRunAttempts', 'name': 'name', 'spec': 'spec' } - def __init__(self, cluster_id: 'str' =None, fault_tolerance: 'V1MultiMachineJobFaultTolerance' =None, machines: 'int' =None, name: 'str' =None, spec: 'V1JobSpec' =None): # noqa: E501 + def __init__(self, cluster_id: 'str' =None, fault_tolerance: 'V1MultiMachineJobFaultTolerance' =None, machines: 'int' =None, max_run_attempts: 'int' =None, name: 'str' =None, spec: 'V1JobSpec' =None): # noqa: E501 """JobsServiceCreateMultiMachineJobBody - a model defined in Swagger""" # noqa: E501 self._cluster_id = None self._fault_tolerance = None self._machines = None + self._max_run_attempts = None self._name = None self._spec = None self.discriminator = None @@ -74,6 +77,8 @@ def __init__(self, cluster_id: 'str' =None, fault_tolerance: 'V1MultiMachineJobF self.fault_tolerance = fault_tolerance if machines is not None: self.machines = machines + if max_run_attempts is not None: + self.max_run_attempts = max_run_attempts if name is not None: self.name = name if spec is not None: @@ -142,6 +147,29 @@ def machines(self, machines: 'int'): self._machines = machines + @property + def max_run_attempts(self) -> 'int': + """Gets the max_run_attempts of this JobsServiceCreateMultiMachineJobBody. # noqa: E501 + + Max number of run attempts for this multi-machine job. 0 means unset (legacy, no retries); 1 means a single attempt (no retries). # noqa: E501 + + :return: The max_run_attempts of this JobsServiceCreateMultiMachineJobBody. # noqa: E501 + :rtype: int + """ + return self._max_run_attempts + + @max_run_attempts.setter + def max_run_attempts(self, max_run_attempts: 'int'): + """Sets the max_run_attempts of this JobsServiceCreateMultiMachineJobBody. + + Max number of run attempts for this multi-machine job. 0 means unset (legacy, no retries); 1 means a single attempt (no retries). # noqa: E501 + + :param max_run_attempts: The max_run_attempts of this JobsServiceCreateMultiMachineJobBody. # noqa: E501 + :type: int + """ + + self._max_run_attempts = max_run_attempts + @property def name(self) -> 'str': """Gets the name of this JobsServiceCreateMultiMachineJobBody. # noqa: E501 diff --git a/python/lightning_sdk/lightning_cloud/openapi/models/projects_service_invite_project_membership_body.py b/python/lightning_sdk/lightning_cloud/openapi/models/projects_service_invite_project_membership_body.py deleted file mode 100644 index 2451e24b9..000000000 --- a/python/lightning_sdk/lightning_cloud/openapi/models/projects_service_invite_project_membership_body.py +++ /dev/null @@ -1,179 +0,0 @@ -# coding: utf-8 -# This file is vendored. -# Do not edit it directly; changes will be overwritten. -# Make changes in the internal upstream repository instead. - - -""" - external/v1/auth_service.proto - - No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 - - OpenAPI spec version: version not set - - Generated by: https://github.com/swagger-api/swagger-codegen.git - - NOTE - ---- - standard swagger-codegen-cli for this python client has been modified - by custom templates. The purpose of these templates is to include - typing information in the API and Model code. Please refer to the - main grid repository for more info -""" - -import pprint -import re # noqa: F401 - -from typing import TYPE_CHECKING - -import six - -if TYPE_CHECKING: - from datetime import datetime - from lightning_sdk.lightning_cloud.openapi.models import * - -class ProjectsServiceInviteProjectMembershipBody(object): - """NOTE: This class is auto generated by the swagger code generator program. - - Do not edit the class manually. - """ - """ - Attributes: - swagger_types (dict): The key is attribute name - and the value is attribute type. - attribute_map (dict): The key is attribute name - and the value is json key in definition. - """ - swagger_types = { - 'role_ids': 'list[str]', - 'user_email': 'list[str]', - 'user_id': 'list[str]' - } - - attribute_map = { - 'role_ids': 'roleIds', - 'user_email': 'userEmail', - 'user_id': 'userId' - } - - def __init__(self, role_ids: 'list[str]' =None, user_email: 'list[str]' =None, user_id: 'list[str]' =None): # noqa: E501 - """ProjectsServiceInviteProjectMembershipBody - a model defined in Swagger""" # noqa: E501 - self._role_ids = None - self._user_email = None - self._user_id = None - self.discriminator = None - if role_ids is not None: - self.role_ids = role_ids - if user_email is not None: - self.user_email = user_email - if user_id is not None: - self.user_id = user_id - - @property - def role_ids(self) -> 'list[str]': - """Gets the role_ids of this ProjectsServiceInviteProjectMembershipBody. # noqa: E501 - - - :return: The role_ids of this ProjectsServiceInviteProjectMembershipBody. # noqa: E501 - :rtype: list[str] - """ - return self._role_ids - - @role_ids.setter - def role_ids(self, role_ids: 'list[str]'): - """Sets the role_ids of this ProjectsServiceInviteProjectMembershipBody. - - - :param role_ids: The role_ids of this ProjectsServiceInviteProjectMembershipBody. # noqa: E501 - :type: list[str] - """ - - self._role_ids = role_ids - - @property - def user_email(self) -> 'list[str]': - """Gets the user_email of this ProjectsServiceInviteProjectMembershipBody. # noqa: E501 - - - :return: The user_email of this ProjectsServiceInviteProjectMembershipBody. # noqa: E501 - :rtype: list[str] - """ - return self._user_email - - @user_email.setter - def user_email(self, user_email: 'list[str]'): - """Sets the user_email of this ProjectsServiceInviteProjectMembershipBody. - - - :param user_email: The user_email of this ProjectsServiceInviteProjectMembershipBody. # noqa: E501 - :type: list[str] - """ - - self._user_email = user_email - - @property - def user_id(self) -> 'list[str]': - """Gets the user_id of this ProjectsServiceInviteProjectMembershipBody. # noqa: E501 - - - :return: The user_id of this ProjectsServiceInviteProjectMembershipBody. # noqa: E501 - :rtype: list[str] - """ - return self._user_id - - @user_id.setter - def user_id(self, user_id: 'list[str]'): - """Sets the user_id of this ProjectsServiceInviteProjectMembershipBody. - - - :param user_id: The user_id of this ProjectsServiceInviteProjectMembershipBody. # noqa: E501 - :type: list[str] - """ - - self._user_id = user_id - - def to_dict(self) -> dict: - """Returns the model properties as a dict""" - result = {} - - for attr, _ in six.iteritems(self.swagger_types): - value = getattr(self, attr) - if isinstance(value, list): - result[attr] = list(map( - lambda x: x.to_dict() if hasattr(x, "to_dict") else x, - value - )) - elif hasattr(value, "to_dict"): - result[attr] = value.to_dict() - elif isinstance(value, dict): - result[attr] = dict(map( - lambda item: (item[0], item[1].to_dict()) - if hasattr(item[1], "to_dict") else item, - value.items() - )) - else: - result[attr] = value - if issubclass(ProjectsServiceInviteProjectMembershipBody, dict): - for key, value in self.items(): - result[key] = value - - return result - - def to_str(self) -> str: - """Returns the string representation of the model""" - return pprint.pformat(self.to_dict()) - - def __repr__(self) -> str: - """For `print` and `pprint`""" - return self.to_str() - - def __eq__(self, other: 'ProjectsServiceInviteProjectMembershipBody') -> bool: - """Returns true if both objects are equal""" - if not isinstance(other, ProjectsServiceInviteProjectMembershipBody): - return False - - return self.__dict__ == other.__dict__ - - def __ne__(self, other: 'ProjectsServiceInviteProjectMembershipBody') -> bool: - """Returns true if both objects are not equal""" - return not self == other diff --git a/python/lightning_sdk/lightning_cloud/openapi/models/v1_aws_direct_v1.py b/python/lightning_sdk/lightning_cloud/openapi/models/v1_aws_direct_v1.py index c330365d3..ef23a2f14 100644 --- a/python/lightning_sdk/lightning_cloud/openapi/models/v1_aws_direct_v1.py +++ b/python/lightning_sdk/lightning_cloud/openapi/models/v1_aws_direct_v1.py @@ -59,7 +59,8 @@ class V1AWSDirectV1(object): 'role_arn': 'str', 'source_cidr_ips': 'list[str]', 'subnet_cidr_prefix': 'str', - 'use_launch_templates': 'bool' + 'use_launch_templates': 'bool', + 'use_multiple_subnets_per_availability_zone': 'bool' } attribute_map = { @@ -77,10 +78,11 @@ class V1AWSDirectV1(object): 'role_arn': 'roleArn', 'source_cidr_ips': 'sourceCidrIps', 'subnet_cidr_prefix': 'subnetCIDRPrefix', - 'use_launch_templates': 'useLaunchTemplates' + 'use_launch_templates': 'useLaunchTemplates', + 'use_multiple_subnets_per_availability_zone': 'useMultipleSubnetsPerAvailabilityZone' } - def __init__(self, ami_owner_id: 'str' =None, bucket_endpoint: 'str' =None, bucket_name: 'str' =None, cloud_formation_disabled: 'bool' =None, efs_enabled: 'bool' =None, external_id: 'str' =None, inventory_database: 'str' =None, inventory_table: 'str' =None, primary_region: 'str' =None, regional_load_balancers: 'list[V1RegionalLoadBalancer]' =None, regions: 'list[str]' =None, role_arn: 'str' =None, source_cidr_ips: 'list[str]' =None, subnet_cidr_prefix: 'str' =None, use_launch_templates: 'bool' =None): # noqa: E501 + def __init__(self, ami_owner_id: 'str' =None, bucket_endpoint: 'str' =None, bucket_name: 'str' =None, cloud_formation_disabled: 'bool' =None, efs_enabled: 'bool' =None, external_id: 'str' =None, inventory_database: 'str' =None, inventory_table: 'str' =None, primary_region: 'str' =None, regional_load_balancers: 'list[V1RegionalLoadBalancer]' =None, regions: 'list[str]' =None, role_arn: 'str' =None, source_cidr_ips: 'list[str]' =None, subnet_cidr_prefix: 'str' =None, use_launch_templates: 'bool' =None, use_multiple_subnets_per_availability_zone: 'bool' =None): # noqa: E501 """V1AWSDirectV1 - a model defined in Swagger""" # noqa: E501 self._ami_owner_id = None self._bucket_endpoint = None @@ -97,6 +99,7 @@ def __init__(self, ami_owner_id: 'str' =None, bucket_endpoint: 'str' =None, buck self._source_cidr_ips = None self._subnet_cidr_prefix = None self._use_launch_templates = None + self._use_multiple_subnets_per_availability_zone = None self.discriminator = None if ami_owner_id is not None: self.ami_owner_id = ami_owner_id @@ -128,6 +131,8 @@ def __init__(self, ami_owner_id: 'str' =None, bucket_endpoint: 'str' =None, buck self.subnet_cidr_prefix = subnet_cidr_prefix if use_launch_templates is not None: self.use_launch_templates = use_launch_templates + if use_multiple_subnets_per_availability_zone is not None: + self.use_multiple_subnets_per_availability_zone = use_multiple_subnets_per_availability_zone @property def ami_owner_id(self) -> 'str': @@ -446,6 +451,27 @@ def use_launch_templates(self, use_launch_templates: 'bool'): self._use_launch_templates = use_launch_templates + @property + def use_multiple_subnets_per_availability_zone(self) -> 'bool': + """Gets the use_multiple_subnets_per_availability_zone of this V1AWSDirectV1. # noqa: E501 + + + :return: The use_multiple_subnets_per_availability_zone of this V1AWSDirectV1. # noqa: E501 + :rtype: bool + """ + return self._use_multiple_subnets_per_availability_zone + + @use_multiple_subnets_per_availability_zone.setter + def use_multiple_subnets_per_availability_zone(self, use_multiple_subnets_per_availability_zone: 'bool'): + """Sets the use_multiple_subnets_per_availability_zone of this V1AWSDirectV1. + + + :param use_multiple_subnets_per_availability_zone: The use_multiple_subnets_per_availability_zone of this V1AWSDirectV1. # noqa: E501 + :type: bool + """ + + self._use_multiple_subnets_per_availability_zone = use_multiple_subnets_per_availability_zone + def to_dict(self) -> dict: """Returns the model properties as a dict""" result = {} diff --git a/python/lightning_sdk/lightning_cloud/openapi/models/v1_create_multi_machine_job_request.py b/python/lightning_sdk/lightning_cloud/openapi/models/v1_create_multi_machine_job_request.py index dccd40234..722b0e858 100644 --- a/python/lightning_sdk/lightning_cloud/openapi/models/v1_create_multi_machine_job_request.py +++ b/python/lightning_sdk/lightning_cloud/openapi/models/v1_create_multi_machine_job_request.py @@ -48,6 +48,7 @@ class V1CreateMultiMachineJobRequest(object): 'cluster_id': 'str', 'fault_tolerance': 'V1MultiMachineJobFaultTolerance', 'machines': 'int', + 'max_run_attempts': 'int', 'name': 'str', 'project_id': 'str', 'spec': 'V1JobSpec' @@ -57,16 +58,18 @@ class V1CreateMultiMachineJobRequest(object): 'cluster_id': 'clusterId', 'fault_tolerance': 'faultTolerance', 'machines': 'machines', + 'max_run_attempts': 'maxRunAttempts', 'name': 'name', 'project_id': 'projectId', 'spec': 'spec' } - def __init__(self, cluster_id: 'str' =None, fault_tolerance: 'V1MultiMachineJobFaultTolerance' =None, machines: 'int' =None, name: 'str' =None, project_id: 'str' =None, spec: 'V1JobSpec' =None): # noqa: E501 + def __init__(self, cluster_id: 'str' =None, fault_tolerance: 'V1MultiMachineJobFaultTolerance' =None, machines: 'int' =None, max_run_attempts: 'int' =None, name: 'str' =None, project_id: 'str' =None, spec: 'V1JobSpec' =None): # noqa: E501 """V1CreateMultiMachineJobRequest - a model defined in Swagger""" # noqa: E501 self._cluster_id = None self._fault_tolerance = None self._machines = None + self._max_run_attempts = None self._name = None self._project_id = None self._spec = None @@ -77,6 +80,8 @@ def __init__(self, cluster_id: 'str' =None, fault_tolerance: 'V1MultiMachineJobF self.fault_tolerance = fault_tolerance if machines is not None: self.machines = machines + if max_run_attempts is not None: + self.max_run_attempts = max_run_attempts if name is not None: self.name = name if project_id is not None: @@ -147,6 +152,29 @@ def machines(self, machines: 'int'): self._machines = machines + @property + def max_run_attempts(self) -> 'int': + """Gets the max_run_attempts of this V1CreateMultiMachineJobRequest. # noqa: E501 + + Max number of run attempts for this multi-machine job. 0 means unset (legacy, no retries); 1 means a single attempt (no retries). # noqa: E501 + + :return: The max_run_attempts of this V1CreateMultiMachineJobRequest. # noqa: E501 + :rtype: int + """ + return self._max_run_attempts + + @max_run_attempts.setter + def max_run_attempts(self, max_run_attempts: 'int'): + """Sets the max_run_attempts of this V1CreateMultiMachineJobRequest. + + Max number of run attempts for this multi-machine job. 0 means unset (legacy, no retries); 1 means a single attempt (no retries). # noqa: E501 + + :param max_run_attempts: The max_run_attempts of this V1CreateMultiMachineJobRequest. # noqa: E501 + :type: int + """ + + self._max_run_attempts = max_run_attempts + @property def name(self) -> 'str': """Gets the name of this V1CreateMultiMachineJobRequest. # noqa: E501 diff --git a/python/lightning_sdk/lightning_cloud/openapi/models/v1_daily_usage.py b/python/lightning_sdk/lightning_cloud/openapi/models/v1_daily_usage.py index 42c267ea3..bb7a9b33f 100644 --- a/python/lightning_sdk/lightning_cloud/openapi/models/v1_daily_usage.py +++ b/python/lightning_sdk/lightning_cloud/openapi/models/v1_daily_usage.py @@ -49,7 +49,8 @@ class V1DailyUsage(object): 'total_completion_tokens': 'str', 'total_cost': 'float', 'total_num_messages': 'str', - 'total_prompt_tokens': 'str' + 'total_prompt_tokens': 'str', + 'total_saved_cost': 'float' } attribute_map = { @@ -57,16 +58,18 @@ class V1DailyUsage(object): 'total_completion_tokens': 'totalCompletionTokens', 'total_cost': 'totalCost', 'total_num_messages': 'totalNumMessages', - 'total_prompt_tokens': 'totalPromptTokens' + 'total_prompt_tokens': 'totalPromptTokens', + 'total_saved_cost': 'totalSavedCost' } - def __init__(self, day: 'datetime' =None, total_completion_tokens: 'str' =None, total_cost: 'float' =None, total_num_messages: 'str' =None, total_prompt_tokens: 'str' =None): # noqa: E501 + def __init__(self, day: 'datetime' =None, total_completion_tokens: 'str' =None, total_cost: 'float' =None, total_num_messages: 'str' =None, total_prompt_tokens: 'str' =None, total_saved_cost: 'float' =None): # noqa: E501 """V1DailyUsage - a model defined in Swagger""" # noqa: E501 self._day = None self._total_completion_tokens = None self._total_cost = None self._total_num_messages = None self._total_prompt_tokens = None + self._total_saved_cost = None self.discriminator = None if day is not None: self.day = day @@ -78,6 +81,8 @@ def __init__(self, day: 'datetime' =None, total_completion_tokens: 'str' =None, self.total_num_messages = total_num_messages if total_prompt_tokens is not None: self.total_prompt_tokens = total_prompt_tokens + if total_saved_cost is not None: + self.total_saved_cost = total_saved_cost @property def day(self) -> 'datetime': @@ -184,6 +189,27 @@ def total_prompt_tokens(self, total_prompt_tokens: 'str'): self._total_prompt_tokens = total_prompt_tokens + @property + def total_saved_cost(self) -> 'float': + """Gets the total_saved_cost of this V1DailyUsage. # noqa: E501 + + + :return: The total_saved_cost of this V1DailyUsage. # noqa: E501 + :rtype: float + """ + return self._total_saved_cost + + @total_saved_cost.setter + def total_saved_cost(self, total_saved_cost: 'float'): + """Sets the total_saved_cost of this V1DailyUsage. + + + :param total_saved_cost: The total_saved_cost of this V1DailyUsage. # noqa: E501 + :type: float + """ + + self._total_saved_cost = total_saved_cost + def to_dict(self) -> dict: """Returns the model properties as a dict""" result = {} diff --git a/python/lightning_sdk/lightning_cloud/openapi/models/v1_invite_project_membership_response.py b/python/lightning_sdk/lightning_cloud/openapi/models/v1_invite_project_membership_response.py deleted file mode 100644 index 08fad5599..000000000 --- a/python/lightning_sdk/lightning_cloud/openapi/models/v1_invite_project_membership_response.py +++ /dev/null @@ -1,127 +0,0 @@ -# coding: utf-8 -# This file is vendored. -# Do not edit it directly; changes will be overwritten. -# Make changes in the internal upstream repository instead. - - -""" - external/v1/auth_service.proto - - No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 - - OpenAPI spec version: version not set - - Generated by: https://github.com/swagger-api/swagger-codegen.git - - NOTE - ---- - standard swagger-codegen-cli for this python client has been modified - by custom templates. The purpose of these templates is to include - typing information in the API and Model code. Please refer to the - main grid repository for more info -""" - -import pprint -import re # noqa: F401 - -from typing import TYPE_CHECKING - -import six - -if TYPE_CHECKING: - from datetime import datetime - from lightning_sdk.lightning_cloud.openapi.models import * - -class V1InviteProjectMembershipResponse(object): - """NOTE: This class is auto generated by the swagger code generator program. - - Do not edit the class manually. - """ - """ - Attributes: - swagger_types (dict): The key is attribute name - and the value is attribute type. - attribute_map (dict): The key is attribute name - and the value is json key in definition. - """ - swagger_types = { - 'invitations': 'list[V1ProjectMembershipInvite]' - } - - attribute_map = { - 'invitations': 'invitations' - } - - def __init__(self, invitations: 'list[V1ProjectMembershipInvite]' =None): # noqa: E501 - """V1InviteProjectMembershipResponse - a model defined in Swagger""" # noqa: E501 - self._invitations = None - self.discriminator = None - if invitations is not None: - self.invitations = invitations - - @property - def invitations(self) -> 'list[V1ProjectMembershipInvite]': - """Gets the invitations of this V1InviteProjectMembershipResponse. # noqa: E501 - - - :return: The invitations of this V1InviteProjectMembershipResponse. # noqa: E501 - :rtype: list[V1ProjectMembershipInvite] - """ - return self._invitations - - @invitations.setter - def invitations(self, invitations: 'list[V1ProjectMembershipInvite]'): - """Sets the invitations of this V1InviteProjectMembershipResponse. - - - :param invitations: The invitations of this V1InviteProjectMembershipResponse. # noqa: E501 - :type: list[V1ProjectMembershipInvite] - """ - - self._invitations = invitations - - def to_dict(self) -> dict: - """Returns the model properties as a dict""" - result = {} - - for attr, _ in six.iteritems(self.swagger_types): - value = getattr(self, attr) - if isinstance(value, list): - result[attr] = list(map( - lambda x: x.to_dict() if hasattr(x, "to_dict") else x, - value - )) - elif hasattr(value, "to_dict"): - result[attr] = value.to_dict() - elif isinstance(value, dict): - result[attr] = dict(map( - lambda item: (item[0], item[1].to_dict()) - if hasattr(item[1], "to_dict") else item, - value.items() - )) - else: - result[attr] = value - if issubclass(V1InviteProjectMembershipResponse, dict): - for key, value in self.items(): - result[key] = value - - return result - - def to_str(self) -> str: - """Returns the string representation of the model""" - return pprint.pformat(self.to_dict()) - - def __repr__(self) -> str: - """For `print` and `pprint`""" - return self.to_str() - - def __eq__(self, other: 'V1InviteProjectMembershipResponse') -> bool: - """Returns true if both objects are equal""" - if not isinstance(other, V1InviteProjectMembershipResponse): - return False - - return self.__dict__ == other.__dict__ - - def __ne__(self, other: 'V1InviteProjectMembershipResponse') -> bool: - """Returns true if both objects are not equal""" - return not self == other diff --git a/python/lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job.py b/python/lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job.py index c3705b6ee..fcaa6044b 100644 --- a/python/lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job.py +++ b/python/lightning_sdk/lightning_cloud/openapi/models/v1_multi_machine_job.py @@ -47,12 +47,15 @@ class V1MultiMachineJob(object): swagger_types = { 'cloudspace_id': 'str', 'created_at': 'datetime', + 'current_run_attempt': 'int', 'desired_state': 'V1MultiMachineJobState', 'fault_tolerance': 'V1MultiMachineJobFaultTolerance', 'id': 'str', 'machines': 'int', + 'max_run_attempts': 'int', 'message': 'str', 'name': 'str', + 'parent_multi_machine_job_id': 'str', 'pipeline_id': 'str', 'project_id': 'str', 'requires_maintenance': 'bool', @@ -67,12 +70,15 @@ class V1MultiMachineJob(object): attribute_map = { 'cloudspace_id': 'cloudspaceId', 'created_at': 'createdAt', + 'current_run_attempt': 'currentRunAttempt', 'desired_state': 'desiredState', 'fault_tolerance': 'faultTolerance', 'id': 'id', 'machines': 'machines', + 'max_run_attempts': 'maxRunAttempts', 'message': 'message', 'name': 'name', + 'parent_multi_machine_job_id': 'parentMultiMachineJobId', 'pipeline_id': 'pipelineId', 'project_id': 'projectId', 'requires_maintenance': 'requiresMaintenance', @@ -84,16 +90,19 @@ class V1MultiMachineJob(object): 'user_id': 'userId' } - def __init__(self, cloudspace_id: 'str' =None, created_at: 'datetime' =None, desired_state: 'V1MultiMachineJobState' =None, fault_tolerance: 'V1MultiMachineJobFaultTolerance' =None, id: 'str' =None, machines: 'int' =None, message: 'str' =None, name: 'str' =None, pipeline_id: 'str' =None, project_id: 'str' =None, requires_maintenance: 'bool' =None, spec: 'V1JobSpec' =None, state: 'V1MultiMachineJobState' =None, status: 'V1MultiMachineJobStatus' =None, total_cost: 'float' =None, updated_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501 + def __init__(self, cloudspace_id: 'str' =None, created_at: 'datetime' =None, current_run_attempt: 'int' =None, desired_state: 'V1MultiMachineJobState' =None, fault_tolerance: 'V1MultiMachineJobFaultTolerance' =None, id: 'str' =None, machines: 'int' =None, max_run_attempts: 'int' =None, message: 'str' =None, name: 'str' =None, parent_multi_machine_job_id: 'str' =None, pipeline_id: 'str' =None, project_id: 'str' =None, requires_maintenance: 'bool' =None, spec: 'V1JobSpec' =None, state: 'V1MultiMachineJobState' =None, status: 'V1MultiMachineJobStatus' =None, total_cost: 'float' =None, updated_at: 'datetime' =None, user_id: 'str' =None): # noqa: E501 """V1MultiMachineJob - a model defined in Swagger""" # noqa: E501 self._cloudspace_id = None self._created_at = None + self._current_run_attempt = None self._desired_state = None self._fault_tolerance = None self._id = None self._machines = None + self._max_run_attempts = None self._message = None self._name = None + self._parent_multi_machine_job_id = None self._pipeline_id = None self._project_id = None self._requires_maintenance = None @@ -108,6 +117,8 @@ def __init__(self, cloudspace_id: 'str' =None, created_at: 'datetime' =None, des self.cloudspace_id = cloudspace_id if created_at is not None: self.created_at = created_at + if current_run_attempt is not None: + self.current_run_attempt = current_run_attempt if desired_state is not None: self.desired_state = desired_state if fault_tolerance is not None: @@ -116,10 +127,14 @@ def __init__(self, cloudspace_id: 'str' =None, created_at: 'datetime' =None, des self.id = id if machines is not None: self.machines = machines + if max_run_attempts is not None: + self.max_run_attempts = max_run_attempts if message is not None: self.message = message if name is not None: self.name = name + if parent_multi_machine_job_id is not None: + self.parent_multi_machine_job_id = parent_multi_machine_job_id if pipeline_id is not None: self.pipeline_id = pipeline_id if project_id is not None: @@ -181,6 +196,29 @@ def created_at(self, created_at: 'datetime'): self._created_at = created_at + @property + def current_run_attempt(self) -> 'int': + """Gets the current_run_attempt of this V1MultiMachineJob. # noqa: E501 + + Current run attempt for this multi-machine job (1-based). First row is 1. # noqa: E501 + + :return: The current_run_attempt of this V1MultiMachineJob. # noqa: E501 + :rtype: int + """ + return self._current_run_attempt + + @current_run_attempt.setter + def current_run_attempt(self, current_run_attempt: 'int'): + """Sets the current_run_attempt of this V1MultiMachineJob. + + Current run attempt for this multi-machine job (1-based). First row is 1. # noqa: E501 + + :param current_run_attempt: The current_run_attempt of this V1MultiMachineJob. # noqa: E501 + :type: int + """ + + self._current_run_attempt = current_run_attempt + @property def desired_state(self) -> 'V1MultiMachineJobState': """Gets the desired_state of this V1MultiMachineJob. # noqa: E501 @@ -265,6 +303,29 @@ def machines(self, machines: 'int'): self._machines = machines + @property + def max_run_attempts(self) -> 'int': + """Gets the max_run_attempts of this V1MultiMachineJob. # noqa: E501 + + Max number of run attempts for this multi-machine job. 0 means unset (legacy, no retries); 1 means a single attempt (no retries). # noqa: E501 + + :return: The max_run_attempts of this V1MultiMachineJob. # noqa: E501 + :rtype: int + """ + return self._max_run_attempts + + @max_run_attempts.setter + def max_run_attempts(self, max_run_attempts: 'int'): + """Sets the max_run_attempts of this V1MultiMachineJob. + + Max number of run attempts for this multi-machine job. 0 means unset (legacy, no retries); 1 means a single attempt (no retries). # noqa: E501 + + :param max_run_attempts: The max_run_attempts of this V1MultiMachineJob. # noqa: E501 + :type: int + """ + + self._max_run_attempts = max_run_attempts + @property def message(self) -> 'str': """Gets the message of this V1MultiMachineJob. # noqa: E501 @@ -307,6 +368,29 @@ def name(self, name: 'str'): self._name = name + @property + def parent_multi_machine_job_id(self) -> 'str': + """Gets the parent_multi_machine_job_id of this V1MultiMachineJob. # noqa: E501 + + Root multi-machine job id. Children copy the root, not the immediate parent. # noqa: E501 + + :return: The parent_multi_machine_job_id of this V1MultiMachineJob. # noqa: E501 + :rtype: str + """ + return self._parent_multi_machine_job_id + + @parent_multi_machine_job_id.setter + def parent_multi_machine_job_id(self, parent_multi_machine_job_id: 'str'): + """Sets the parent_multi_machine_job_id of this V1MultiMachineJob. + + Root multi-machine job id. Children copy the root, not the immediate parent. # noqa: E501 + + :param parent_multi_machine_job_id: The parent_multi_machine_job_id of this V1MultiMachineJob. # noqa: E501 + :type: str + """ + + self._parent_multi_machine_job_id = parent_multi_machine_job_id + @property def pipeline_id(self) -> 'str': """Gets the pipeline_id of this V1MultiMachineJob. # noqa: E501 diff --git a/python/lightning_sdk/lightning_cloud/openapi/models/v1_project_membership_invite.py b/python/lightning_sdk/lightning_cloud/openapi/models/v1_project_membership_invite.py deleted file mode 100644 index ff4f1b138..000000000 --- a/python/lightning_sdk/lightning_cloud/openapi/models/v1_project_membership_invite.py +++ /dev/null @@ -1,309 +0,0 @@ -# coding: utf-8 -# This file is vendored. -# Do not edit it directly; changes will be overwritten. -# Make changes in the internal upstream repository instead. - - -""" - external/v1/auth_service.proto - - No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 - - OpenAPI spec version: version not set - - Generated by: https://github.com/swagger-api/swagger-codegen.git - - NOTE - ---- - standard swagger-codegen-cli for this python client has been modified - by custom templates. The purpose of these templates is to include - typing information in the API and Model code. Please refer to the - main grid repository for more info -""" - -import pprint -import re # noqa: F401 - -from typing import TYPE_CHECKING - -import six - -if TYPE_CHECKING: - from datetime import datetime - from lightning_sdk.lightning_cloud.openapi.models import * - -class V1ProjectMembershipInvite(object): - """NOTE: This class is auto generated by the swagger code generator program. - - Do not edit the class manually. - """ - """ - Attributes: - swagger_types (dict): The key is attribute name - and the value is attribute type. - attribute_map (dict): The key is attribute name - and the value is json key in definition. - """ - swagger_types = { - 'invite_reason': 'str', - 'invite_status': 'str', - 'invite_token': 'str', - 'invite_url': 'str', - 'project_id': 'str', - 'role_ids': 'list[str]', - 'user_email': 'str', - 'user_id': 'str' - } - - attribute_map = { - 'invite_reason': 'inviteReason', - 'invite_status': 'inviteStatus', - 'invite_token': 'inviteToken', - 'invite_url': 'inviteUrl', - 'project_id': 'projectId', - 'role_ids': 'roleIds', - 'user_email': 'userEmail', - 'user_id': 'userId' - } - - def __init__(self, invite_reason: 'str' =None, invite_status: 'str' =None, invite_token: 'str' =None, invite_url: 'str' =None, project_id: 'str' =None, role_ids: 'list[str]' =None, user_email: 'str' =None, user_id: 'str' =None): # noqa: E501 - """V1ProjectMembershipInvite - a model defined in Swagger""" # noqa: E501 - self._invite_reason = None - self._invite_status = None - self._invite_token = None - self._invite_url = None - self._project_id = None - self._role_ids = None - self._user_email = None - self._user_id = None - self.discriminator = None - if invite_reason is not None: - self.invite_reason = invite_reason - if invite_status is not None: - self.invite_status = invite_status - if invite_token is not None: - self.invite_token = invite_token - if invite_url is not None: - self.invite_url = invite_url - if project_id is not None: - self.project_id = project_id - if role_ids is not None: - self.role_ids = role_ids - if user_email is not None: - self.user_email = user_email - if user_id is not None: - self.user_id = user_id - - @property - def invite_reason(self) -> 'str': - """Gets the invite_reason of this V1ProjectMembershipInvite. # noqa: E501 - - - :return: The invite_reason of this V1ProjectMembershipInvite. # noqa: E501 - :rtype: str - """ - return self._invite_reason - - @invite_reason.setter - def invite_reason(self, invite_reason: 'str'): - """Sets the invite_reason of this V1ProjectMembershipInvite. - - - :param invite_reason: The invite_reason of this V1ProjectMembershipInvite. # noqa: E501 - :type: str - """ - - self._invite_reason = invite_reason - - @property - def invite_status(self) -> 'str': - """Gets the invite_status of this V1ProjectMembershipInvite. # noqa: E501 - - - :return: The invite_status of this V1ProjectMembershipInvite. # noqa: E501 - :rtype: str - """ - return self._invite_status - - @invite_status.setter - def invite_status(self, invite_status: 'str'): - """Sets the invite_status of this V1ProjectMembershipInvite. - - - :param invite_status: The invite_status of this V1ProjectMembershipInvite. # noqa: E501 - :type: str - """ - - self._invite_status = invite_status - - @property - def invite_token(self) -> 'str': - """Gets the invite_token of this V1ProjectMembershipInvite. # noqa: E501 - - - :return: The invite_token of this V1ProjectMembershipInvite. # noqa: E501 - :rtype: str - """ - return self._invite_token - - @invite_token.setter - def invite_token(self, invite_token: 'str'): - """Sets the invite_token of this V1ProjectMembershipInvite. - - - :param invite_token: The invite_token of this V1ProjectMembershipInvite. # noqa: E501 - :type: str - """ - - self._invite_token = invite_token - - @property - def invite_url(self) -> 'str': - """Gets the invite_url of this V1ProjectMembershipInvite. # noqa: E501 - - - :return: The invite_url of this V1ProjectMembershipInvite. # noqa: E501 - :rtype: str - """ - return self._invite_url - - @invite_url.setter - def invite_url(self, invite_url: 'str'): - """Sets the invite_url of this V1ProjectMembershipInvite. - - - :param invite_url: The invite_url of this V1ProjectMembershipInvite. # noqa: E501 - :type: str - """ - - self._invite_url = invite_url - - @property - def project_id(self) -> 'str': - """Gets the project_id of this V1ProjectMembershipInvite. # noqa: E501 - - - :return: The project_id of this V1ProjectMembershipInvite. # noqa: E501 - :rtype: str - """ - return self._project_id - - @project_id.setter - def project_id(self, project_id: 'str'): - """Sets the project_id of this V1ProjectMembershipInvite. - - - :param project_id: The project_id of this V1ProjectMembershipInvite. # noqa: E501 - :type: str - """ - - self._project_id = project_id - - @property - def role_ids(self) -> 'list[str]': - """Gets the role_ids of this V1ProjectMembershipInvite. # noqa: E501 - - - :return: The role_ids of this V1ProjectMembershipInvite. # noqa: E501 - :rtype: list[str] - """ - return self._role_ids - - @role_ids.setter - def role_ids(self, role_ids: 'list[str]'): - """Sets the role_ids of this V1ProjectMembershipInvite. - - - :param role_ids: The role_ids of this V1ProjectMembershipInvite. # noqa: E501 - :type: list[str] - """ - - self._role_ids = role_ids - - @property - def user_email(self) -> 'str': - """Gets the user_email of this V1ProjectMembershipInvite. # noqa: E501 - - - :return: The user_email of this V1ProjectMembershipInvite. # noqa: E501 - :rtype: str - """ - return self._user_email - - @user_email.setter - def user_email(self, user_email: 'str'): - """Sets the user_email of this V1ProjectMembershipInvite. - - - :param user_email: The user_email of this V1ProjectMembershipInvite. # noqa: E501 - :type: str - """ - - self._user_email = user_email - - @property - def user_id(self) -> 'str': - """Gets the user_id of this V1ProjectMembershipInvite. # noqa: E501 - - - :return: The user_id of this V1ProjectMembershipInvite. # noqa: E501 - :rtype: str - """ - return self._user_id - - @user_id.setter - def user_id(self, user_id: 'str'): - """Sets the user_id of this V1ProjectMembershipInvite. - - - :param user_id: The user_id of this V1ProjectMembershipInvite. # noqa: E501 - :type: str - """ - - self._user_id = user_id - - def to_dict(self) -> dict: - """Returns the model properties as a dict""" - result = {} - - for attr, _ in six.iteritems(self.swagger_types): - value = getattr(self, attr) - if isinstance(value, list): - result[attr] = list(map( - lambda x: x.to_dict() if hasattr(x, "to_dict") else x, - value - )) - elif hasattr(value, "to_dict"): - result[attr] = value.to_dict() - elif isinstance(value, dict): - result[attr] = dict(map( - lambda item: (item[0], item[1].to_dict()) - if hasattr(item[1], "to_dict") else item, - value.items() - )) - else: - result[attr] = value - if issubclass(V1ProjectMembershipInvite, dict): - for key, value in self.items(): - result[key] = value - - return result - - def to_str(self) -> str: - """Returns the string representation of the model""" - return pprint.pformat(self.to_dict()) - - def __repr__(self) -> str: - """For `print` and `pprint`""" - return self.to_str() - - def __eq__(self, other: 'V1ProjectMembershipInvite') -> bool: - """Returns true if both objects are equal""" - if not isinstance(other, V1ProjectMembershipInvite): - return False - - return self.__dict__ == other.__dict__ - - def __ne__(self, other: 'V1ProjectMembershipInvite') -> bool: - """Returns true if both objects are not equal""" - return not self == other diff --git a/python/lightning_sdk/lightning_cloud/openapi/models/v1_usage_report.py b/python/lightning_sdk/lightning_cloud/openapi/models/v1_usage_report.py index ed698ddd8..78ace7cdb 100644 --- a/python/lightning_sdk/lightning_cloud/openapi/models/v1_usage_report.py +++ b/python/lightning_sdk/lightning_cloud/openapi/models/v1_usage_report.py @@ -48,6 +48,8 @@ class V1UsageReport(object): 'daily_usage': 'list[V1DailyUsage]', 'has_more': 'bool', 'search_after': 'datetime', + 'search_after_resource_id': 'str', + 'search_after_resource_type': 'str', 'total_cost': 'float', 'total_saved_cost': 'float', 'total_users': 'int', @@ -58,17 +60,21 @@ class V1UsageReport(object): 'daily_usage': 'dailyUsage', 'has_more': 'hasMore', 'search_after': 'searchAfter', + 'search_after_resource_id': 'searchAfterResourceId', + 'search_after_resource_type': 'searchAfterResourceType', 'total_cost': 'totalCost', 'total_saved_cost': 'totalSavedCost', 'total_users': 'totalUsers', 'usage': 'usage' } - def __init__(self, daily_usage: 'list[V1DailyUsage]' =None, has_more: 'bool' =None, search_after: 'datetime' =None, total_cost: 'float' =None, total_saved_cost: 'float' =None, total_users: 'int' =None, usage: 'list[V1Usage]' =None): # noqa: E501 + def __init__(self, daily_usage: 'list[V1DailyUsage]' =None, has_more: 'bool' =None, search_after: 'datetime' =None, search_after_resource_id: 'str' =None, search_after_resource_type: 'str' =None, total_cost: 'float' =None, total_saved_cost: 'float' =None, total_users: 'int' =None, usage: 'list[V1Usage]' =None): # noqa: E501 """V1UsageReport - a model defined in Swagger""" # noqa: E501 self._daily_usage = None self._has_more = None self._search_after = None + self._search_after_resource_id = None + self._search_after_resource_type = None self._total_cost = None self._total_saved_cost = None self._total_users = None @@ -80,6 +86,10 @@ def __init__(self, daily_usage: 'list[V1DailyUsage]' =None, has_more: 'bool' =No self.has_more = has_more if search_after is not None: self.search_after = search_after + if search_after_resource_id is not None: + self.search_after_resource_id = search_after_resource_id + if search_after_resource_type is not None: + self.search_after_resource_type = search_after_resource_type if total_cost is not None: self.total_cost = total_cost if total_saved_cost is not None: @@ -156,6 +166,52 @@ def search_after(self, search_after: 'datetime'): self._search_after = search_after + @property + def search_after_resource_id(self) -> 'str': + """Gets the search_after_resource_id of this V1UsageReport. # noqa: E501 + + Paired with search_after: pass this back verbatim as GetUsageReportRequest.search_after_resource_id on the next page's request. # noqa: E501 + + :return: The search_after_resource_id of this V1UsageReport. # noqa: E501 + :rtype: str + """ + return self._search_after_resource_id + + @search_after_resource_id.setter + def search_after_resource_id(self, search_after_resource_id: 'str'): + """Sets the search_after_resource_id of this V1UsageReport. + + Paired with search_after: pass this back verbatim as GetUsageReportRequest.search_after_resource_id on the next page's request. # noqa: E501 + + :param search_after_resource_id: The search_after_resource_id of this V1UsageReport. # noqa: E501 + :type: str + """ + + self._search_after_resource_id = search_after_resource_id + + @property + def search_after_resource_type(self) -> 'str': + """Gets the search_after_resource_type of this V1UsageReport. # noqa: E501 + + Paired with search_after: pass this back verbatim as GetUsageReportRequest.search_after_resource_type on the next page's request. # noqa: E501 + + :return: The search_after_resource_type of this V1UsageReport. # noqa: E501 + :rtype: str + """ + return self._search_after_resource_type + + @search_after_resource_type.setter + def search_after_resource_type(self, search_after_resource_type: 'str'): + """Sets the search_after_resource_type of this V1UsageReport. + + Paired with search_after: pass this back verbatim as GetUsageReportRequest.search_after_resource_type on the next page's request. # noqa: E501 + + :param search_after_resource_type: The search_after_resource_type of this V1UsageReport. # noqa: E501 + :type: str + """ + + self._search_after_resource_type = search_after_resource_type + @property def total_cost(self) -> 'float': """Gets the total_cost of this V1UsageReport. # noqa: E501 diff --git a/python/lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py b/python/lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py index 8ada76448..1ec91f42e 100644 --- a/python/lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py +++ b/python/lightning_sdk/lightning_cloud/openapi/models/v1_user_features.py @@ -56,7 +56,6 @@ class V1UserFeatures(object): 'capacity_reservation_dry_run': 'bool', 'chat_models': 'bool', 'cloudspace_schedules': 'bool', - 'code_tab': 'bool', 'collab_screen_sharing': 'bool', 'control_center_monitoring': 'bool', 'cost_attribution_settings': 'bool', @@ -186,7 +185,6 @@ class V1UserFeatures(object): 'capacity_reservation_dry_run': 'capacityReservationDryRun', 'chat_models': 'chatModels', 'cloudspace_schedules': 'cloudspaceSchedules', - 'code_tab': 'codeTab', 'collab_screen_sharing': 'collabScreenSharing', 'control_center_monitoring': 'controlCenterMonitoring', 'cost_attribution_settings': 'costAttributionSettings', @@ -304,7 +302,7 @@ class V1UserFeatures(object): 'vultr': 'vultr' } - def __init__(self, affiliate_links: 'bool' =None, ai_hub_monetization: 'bool' =None, auto_fast_load: 'bool' =None, b2c_experience: 'bool' =None, byo_machine_type: 'bool' =None, cap_add: 'list[str]' =None, cap_drop: 'list[str]' =None, capacity_reservation_byoc: 'bool' =None, capacity_reservation_dry_run: 'bool' =None, chat_models: 'bool' =None, cloudspace_schedules: 'bool' =None, code_tab: 'bool' =None, collab_screen_sharing: 'bool' =None, control_center_monitoring: 'bool' =None, cost_attribution_settings: 'bool' =None, datasets: 'bool' =None, default_one_cluster: 'bool' =None, enterprise_compute_admin: 'bool' =None, f234: 'bool' =None, f236: 'bool' =None, f240: 'bool' =None, f241: 'bool' =None, f243: 'bool' =None, f245: 'bool' =None, f247: 'bool' =None, f250: 'bool' =None, f252: 'bool' =None, f253: 'bool' =None, f254: 'bool' =None, f258: 'bool' =None, f259: 'bool' =None, f266: 'bool' =None, f268: 'bool' =None, f270: 'bool' =None, f271: 'bool' =None, f272: 'bool' =None, f279: 'bool' =None, f281: 'bool' =None, f283: 'bool' =None, f287: 'bool' =None, f288: 'bool' =None, f293: 'bool' =None, f294: 'bool' =None, f297: 'bool' =None, f298: 'bool' =None, f299: 'bool' =None, f300: 'bool' =None, f302: 'bool' =None, f303: 'bool' =None, f305: 'bool' =None, f313: 'bool' =None, f314: 'bool' =None, f316: 'bool' =None, f317: 'bool' =None, f321: 'bool' =None, f322: 'bool' =None, f323: 'bool' =None, f324: 'bool' =None, f327: 'bool' =None, f328: 'bool' =None, f329: 'bool' =None, f331: 'bool' =None, f332: 'bool' =None, f333: 'bool' =None, f336: 'bool' =None, f337: 'bool' =None, f338: 'bool' =None, f339: 'bool' =None, f340: 'bool' =None, f341: 'bool' =None, f345: 'bool' =None, f346: 'bool' =None, f347: 'bool' =None, f348: 'bool' =None, f349: 'bool' =None, f351: 'bool' =None, f352: 'bool' =None, f353: 'bool' =None, f354: 'bool' =None, f355: 'bool' =None, f356: 'bool' =None, f357: 'bool' =None, f358: 'bool' =None, f359: 'bool' =None, f360: 'bool' =None, f361: 'bool' =None, f362: 'bool' =None, f363: 'bool' =None, f364: 'bool' =None, f365: 'bool' =None, f366: 'bool' =None, f367: 'bool' =None, f369: 'bool' =None, f370: 'bool' =None, fair_share: 'bool' =None, featured_studios_admin: 'bool' =None, job_artifacts_v2: 'bool' =None, kubernetes_cluster_ui: 'bool' =None, kubernetes_clusters: 'bool' =None, landing_studios: 'bool' =None, marketplace: 'bool' =None, mmt_fault_tolerance: 'bool' =None, mmt_strategy_selector: 'bool' =None, multiple_studio_versions: 'bool' =None, nerf_fs_nonpaying: 'bool' =None, org_level_member_permissions: 'bool' =None, org_usage_limits: 'bool' =None, persistent_disk: 'bool' =None, plugin_distributed: 'bool' =None, plugin_inference: 'bool' =None, plugin_label_studio: 'bool' =None, plugin_langflow: 'bool' =None, plugin_python_profiler: 'bool' =None, plugin_sweeps: 'bool' =None, product_generator: 'bool' =None, product_license: 'bool' =None, publish_pipelines: 'bool' =None, reserved_machines_tab: 'bool' =None, restartable_jobs: 'bool' =None, runnable_public_studio_page: 'bool' =None, security_docs: 'bool' =None, show_dev_admin: 'bool' =None, slurm: 'bool' =None, specialised_studios: 'bool' =None, studio_config: 'bool' =None, studio_version_visibility: 'bool' =None, vultr: 'bool' =None): # noqa: E501 + def __init__(self, affiliate_links: 'bool' =None, ai_hub_monetization: 'bool' =None, auto_fast_load: 'bool' =None, b2c_experience: 'bool' =None, byo_machine_type: 'bool' =None, cap_add: 'list[str]' =None, cap_drop: 'list[str]' =None, capacity_reservation_byoc: 'bool' =None, capacity_reservation_dry_run: 'bool' =None, chat_models: 'bool' =None, cloudspace_schedules: 'bool' =None, collab_screen_sharing: 'bool' =None, control_center_monitoring: 'bool' =None, cost_attribution_settings: 'bool' =None, datasets: 'bool' =None, default_one_cluster: 'bool' =None, enterprise_compute_admin: 'bool' =None, f234: 'bool' =None, f236: 'bool' =None, f240: 'bool' =None, f241: 'bool' =None, f243: 'bool' =None, f245: 'bool' =None, f247: 'bool' =None, f250: 'bool' =None, f252: 'bool' =None, f253: 'bool' =None, f254: 'bool' =None, f258: 'bool' =None, f259: 'bool' =None, f266: 'bool' =None, f268: 'bool' =None, f270: 'bool' =None, f271: 'bool' =None, f272: 'bool' =None, f279: 'bool' =None, f281: 'bool' =None, f283: 'bool' =None, f287: 'bool' =None, f288: 'bool' =None, f293: 'bool' =None, f294: 'bool' =None, f297: 'bool' =None, f298: 'bool' =None, f299: 'bool' =None, f300: 'bool' =None, f302: 'bool' =None, f303: 'bool' =None, f305: 'bool' =None, f313: 'bool' =None, f314: 'bool' =None, f316: 'bool' =None, f317: 'bool' =None, f321: 'bool' =None, f322: 'bool' =None, f323: 'bool' =None, f324: 'bool' =None, f327: 'bool' =None, f328: 'bool' =None, f329: 'bool' =None, f331: 'bool' =None, f332: 'bool' =None, f333: 'bool' =None, f336: 'bool' =None, f337: 'bool' =None, f338: 'bool' =None, f339: 'bool' =None, f340: 'bool' =None, f341: 'bool' =None, f345: 'bool' =None, f346: 'bool' =None, f347: 'bool' =None, f348: 'bool' =None, f349: 'bool' =None, f351: 'bool' =None, f352: 'bool' =None, f353: 'bool' =None, f354: 'bool' =None, f355: 'bool' =None, f356: 'bool' =None, f357: 'bool' =None, f358: 'bool' =None, f359: 'bool' =None, f360: 'bool' =None, f361: 'bool' =None, f362: 'bool' =None, f363: 'bool' =None, f364: 'bool' =None, f365: 'bool' =None, f366: 'bool' =None, f367: 'bool' =None, f369: 'bool' =None, f370: 'bool' =None, fair_share: 'bool' =None, featured_studios_admin: 'bool' =None, job_artifacts_v2: 'bool' =None, kubernetes_cluster_ui: 'bool' =None, kubernetes_clusters: 'bool' =None, landing_studios: 'bool' =None, marketplace: 'bool' =None, mmt_fault_tolerance: 'bool' =None, mmt_strategy_selector: 'bool' =None, multiple_studio_versions: 'bool' =None, nerf_fs_nonpaying: 'bool' =None, org_level_member_permissions: 'bool' =None, org_usage_limits: 'bool' =None, persistent_disk: 'bool' =None, plugin_distributed: 'bool' =None, plugin_inference: 'bool' =None, plugin_label_studio: 'bool' =None, plugin_langflow: 'bool' =None, plugin_python_profiler: 'bool' =None, plugin_sweeps: 'bool' =None, product_generator: 'bool' =None, product_license: 'bool' =None, publish_pipelines: 'bool' =None, reserved_machines_tab: 'bool' =None, restartable_jobs: 'bool' =None, runnable_public_studio_page: 'bool' =None, security_docs: 'bool' =None, show_dev_admin: 'bool' =None, slurm: 'bool' =None, specialised_studios: 'bool' =None, studio_config: 'bool' =None, studio_version_visibility: 'bool' =None, vultr: 'bool' =None): # noqa: E501 """V1UserFeatures - a model defined in Swagger""" # noqa: E501 self._affiliate_links = None self._ai_hub_monetization = None @@ -317,7 +315,6 @@ def __init__(self, affiliate_links: 'bool' =None, ai_hub_monetization: 'bool' =N self._capacity_reservation_dry_run = None self._chat_models = None self._cloudspace_schedules = None - self._code_tab = None self._collab_screen_sharing = None self._control_center_monitoring = None self._cost_attribution_settings = None @@ -456,8 +453,6 @@ def __init__(self, affiliate_links: 'bool' =None, ai_hub_monetization: 'bool' =N self.chat_models = chat_models if cloudspace_schedules is not None: self.cloudspace_schedules = cloudspace_schedules - if code_tab is not None: - self.code_tab = code_tab if collab_screen_sharing is not None: self.collab_screen_sharing = collab_screen_sharing if control_center_monitoring is not None: @@ -920,27 +915,6 @@ def cloudspace_schedules(self, cloudspace_schedules: 'bool'): self._cloudspace_schedules = cloudspace_schedules - @property - def code_tab(self) -> 'bool': - """Gets the code_tab of this V1UserFeatures. # noqa: E501 - - - :return: The code_tab of this V1UserFeatures. # noqa: E501 - :rtype: bool - """ - return self._code_tab - - @code_tab.setter - def code_tab(self, code_tab: 'bool'): - """Sets the code_tab of this V1UserFeatures. - - - :param code_tab: The code_tab of this V1UserFeatures. # noqa: E501 - :type: bool - """ - - self._code_tab = code_tab - @property def collab_screen_sharing(self) -> 'bool': """Gets the collab_screen_sharing of this V1UserFeatures. # noqa: E501