diff --git a/internal/issues/issues.go b/internal/issues/issues.go index 46f1d9af..57409f92 100644 --- a/internal/issues/issues.go +++ b/internal/issues/issues.go @@ -64,18 +64,6 @@ func GetAll(ctx context.Context, teamSlug string, issueFilter gql.IssueFilter) ( __typename } } - ... on FailedSynchronizationIssue { - workload { - name - __typename - } - } - ... on InvalidSpecIssue { - workload { - name - __typename - } - } ... on LastRunFailedIssue { job { name @@ -130,6 +118,12 @@ func GetAll(ctx context.Context, teamSlug string, issueFilter gql.IssueFilter) ( __typename } } + ... on WorkloadProblemIssue { + workload { + name + __typename + } + } } } } @@ -172,10 +166,6 @@ func GetAll(ctx context.Context, teamSlug string, issueFilter gql.IssueFilter) ( i.ResourceType = c.Application.GetTypename() case *gql.GetAllIssuesTeamIssuesIssueConnectionNodesDeprecatedRegistryIssue: setWorkloadResource(c.GetWorkload()) - case *gql.GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue: - setWorkloadResource(c.GetWorkload()) - case *gql.GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue: - setWorkloadResource(c.GetWorkload()) case *gql.GetAllIssuesTeamIssuesIssueConnectionNodesLastRunFailedIssue: i.ResourceName = c.Job.GetName() i.ResourceType = c.Job.GetTypename() @@ -202,6 +192,8 @@ func GetAll(ctx context.Context, teamSlug string, issueFilter gql.IssueFilter) ( setWorkloadResource(c.GetWorkload()) case *gql.GetAllIssuesTeamIssuesIssueConnectionNodesExternalIngressCriticalVulnerabilityIssue: setWorkloadResource(c.GetWorkload()) + case *gql.GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue: + setWorkloadResource(c.GetWorkload()) } ret = append(ret, i) diff --git a/internal/naisapi/gql/generated.go b/internal/naisapi/gql/generated.go index f7d7dcf9..9062056b 100644 --- a/internal/naisapi/gql/generated.go +++ b/internal/naisapi/gql/generated.go @@ -2754,12 +2754,11 @@ func (v *GetAllIssuesTeamIssuesIssueConnectionNodesExternalIngressCriticalVulner // // Deprecated: superseded by WorkloadProblemIssue. No longer produced; retained for backwards compatibility. type GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue struct { - Typename string `json:"__typename"` - TeamEnvironment GetAllIssuesTeamIssuesIssueConnectionNodesIssueTeamEnvironment `json:"teamEnvironment"` - Id string `json:"id"` - Severity Severity `json:"severity"` - Message string `json:"message"` - Workload GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkload `json:"-"` + Typename string `json:"__typename"` + TeamEnvironment GetAllIssuesTeamIssuesIssueConnectionNodesIssueTeamEnvironment `json:"teamEnvironment"` + Id string `json:"id"` + Severity Severity `json:"severity"` + Message string `json:"message"` } // GetTypename returns GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue.Typename, and is useful for accessing the field via an interface. @@ -2787,220 +2786,16 @@ func (v *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue) G return v.Message } -// GetWorkload returns GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue.Workload, and is useful for accessing the field via an interface. -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue) GetWorkload() GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkload { - return v.Workload -} - -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue) UnmarshalJSON(b []byte) error { - - if string(b) == "null" { - return nil - } - - var firstPass struct { - *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue - Workload json.RawMessage `json:"workload"` - graphql.NoUnmarshalJSON - } - firstPass.GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue = v - - err := json.Unmarshal(b, &firstPass) - if err != nil { - return err - } - - { - dst := &v.Workload - src := firstPass.Workload - if len(src) != 0 && string(src) != "null" { - err = __unmarshalGetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkload( - src, dst) - if err != nil { - return fmt.Errorf( - "unable to unmarshal GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue.Workload: %w", err) - } - } - } - return nil -} - -type __premarshalGetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue struct { - Typename string `json:"__typename"` - - TeamEnvironment GetAllIssuesTeamIssuesIssueConnectionNodesIssueTeamEnvironment `json:"teamEnvironment"` - - Id string `json:"id"` - - Severity Severity `json:"severity"` - - Message string `json:"message"` - - Workload json.RawMessage `json:"workload"` -} - -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue) MarshalJSON() ([]byte, error) { - premarshaled, err := v.__premarshalJSON() - if err != nil { - return nil, err - } - return json.Marshal(premarshaled) -} - -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue) __premarshalJSON() (*__premarshalGetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue, error) { - var retval __premarshalGetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue - - retval.Typename = v.Typename - retval.TeamEnvironment = v.TeamEnvironment - retval.Id = v.Id - retval.Severity = v.Severity - retval.Message = v.Message - { - - dst := &retval.Workload - src := v.Workload - var err error - *dst, err = __marshalGetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkload( - &src) - if err != nil { - return nil, fmt.Errorf( - "unable to marshal GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue.Workload: %w", err) - } - } - return &retval, nil -} - -// GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkload includes the requested fields of the GraphQL interface Workload. -// -// GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkload is implemented by the following types: -// GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadApplication -// GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadJob -// The GraphQL type's documentation follows. -// -// Interface for workloads. -type GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkload interface { - implementsGraphQLInterfaceGetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkload() - // GetName returns the interface-field "name" from its implementation. - // The GraphQL interface field's documentation follows. - // - // Interface for workloads. - GetName() string - // GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values). - GetTypename() string -} - -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadApplication) implementsGraphQLInterfaceGetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkload() { -} -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadJob) implementsGraphQLInterfaceGetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkload() { -} - -func __unmarshalGetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkload(b []byte, v *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkload) error { - if string(b) == "null" { - return nil - } - - var tn struct { - TypeName string `json:"__typename"` - } - err := json.Unmarshal(b, &tn) - if err != nil { - return err - } - - switch tn.TypeName { - case "Application": - *v = new(GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadApplication) - return json.Unmarshal(b, *v) - case "Job": - *v = new(GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadJob) - return json.Unmarshal(b, *v) - case "": - return fmt.Errorf( - "response was missing Workload.__typename") - default: - return fmt.Errorf( - `unexpected concrete type for GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkload: "%v"`, tn.TypeName) - } -} - -func __marshalGetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkload(v *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkload) ([]byte, error) { - - var typename string - switch v := (*v).(type) { - case *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadApplication: - typename = "Application" - - result := struct { - TypeName string `json:"__typename"` - *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadApplication - }{typename, v} - return json.Marshal(result) - case *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadJob: - typename = "Job" - - result := struct { - TypeName string `json:"__typename"` - *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadJob - }{typename, v} - return json.Marshal(result) - case nil: - return []byte("null"), nil - default: - return nil, fmt.Errorf( - `unexpected concrete type for GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkload: "%T"`, v) - } -} - -// GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadApplication includes the requested fields of the GraphQL type Application. -// The GraphQL type's documentation follows. -// -// An application lets you run one or more instances of a container image on the [Nais platform](https://nais.io/). -// -// Learn more about how to create and configure your applications in the [Nais documentation](https://docs.nais.io/workloads/application/). -type GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadApplication struct { - // Interface for workloads. - Name string `json:"name"` - Typename string `json:"__typename"` -} - -// GetName returns GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadApplication.Name, and is useful for accessing the field via an interface. -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadApplication) GetName() string { - return v.Name -} - -// GetTypename returns GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadApplication.Typename, and is useful for accessing the field via an interface. -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadApplication) GetTypename() string { - return v.Typename -} - -// GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadJob includes the requested fields of the GraphQL type Job. -type GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadJob struct { - // Interface for workloads. - Name string `json:"name"` - Typename string `json:"__typename"` -} - -// GetName returns GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadJob.Name, and is useful for accessing the field via an interface. -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadJob) GetName() string { - return v.Name -} - -// GetTypename returns GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadJob.Typename, and is useful for accessing the field via an interface. -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssueWorkloadJob) GetTypename() string { - return v.Typename -} - // GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue includes the requested fields of the GraphQL type InvalidSpecIssue. // The GraphQL type's documentation follows. // // Deprecated: superseded by WorkloadProblemIssue. No longer produced; retained for backwards compatibility. type GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue struct { - Typename string `json:"__typename"` - TeamEnvironment GetAllIssuesTeamIssuesIssueConnectionNodesIssueTeamEnvironment `json:"teamEnvironment"` - Id string `json:"id"` - Severity Severity `json:"severity"` - Message string `json:"message"` - Workload GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkload `json:"-"` + Typename string `json:"__typename"` + TeamEnvironment GetAllIssuesTeamIssuesIssueConnectionNodesIssueTeamEnvironment `json:"teamEnvironment"` + Id string `json:"id"` + Severity Severity `json:"severity"` + Message string `json:"message"` } // GetTypename returns GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue.Typename, and is useful for accessing the field via an interface. @@ -3026,209 +2821,6 @@ func (v *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue) GetMessage( return v.Message } -// GetWorkload returns GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue.Workload, and is useful for accessing the field via an interface. -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue) GetWorkload() GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkload { - return v.Workload -} - -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue) UnmarshalJSON(b []byte) error { - - if string(b) == "null" { - return nil - } - - var firstPass struct { - *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue - Workload json.RawMessage `json:"workload"` - graphql.NoUnmarshalJSON - } - firstPass.GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue = v - - err := json.Unmarshal(b, &firstPass) - if err != nil { - return err - } - - { - dst := &v.Workload - src := firstPass.Workload - if len(src) != 0 && string(src) != "null" { - err = __unmarshalGetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkload( - src, dst) - if err != nil { - return fmt.Errorf( - "unable to unmarshal GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue.Workload: %w", err) - } - } - } - return nil -} - -type __premarshalGetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue struct { - Typename string `json:"__typename"` - - TeamEnvironment GetAllIssuesTeamIssuesIssueConnectionNodesIssueTeamEnvironment `json:"teamEnvironment"` - - Id string `json:"id"` - - Severity Severity `json:"severity"` - - Message string `json:"message"` - - Workload json.RawMessage `json:"workload"` -} - -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue) MarshalJSON() ([]byte, error) { - premarshaled, err := v.__premarshalJSON() - if err != nil { - return nil, err - } - return json.Marshal(premarshaled) -} - -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue) __premarshalJSON() (*__premarshalGetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue, error) { - var retval __premarshalGetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue - - retval.Typename = v.Typename - retval.TeamEnvironment = v.TeamEnvironment - retval.Id = v.Id - retval.Severity = v.Severity - retval.Message = v.Message - { - - dst := &retval.Workload - src := v.Workload - var err error - *dst, err = __marshalGetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkload( - &src) - if err != nil { - return nil, fmt.Errorf( - "unable to marshal GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue.Workload: %w", err) - } - } - return &retval, nil -} - -// GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkload includes the requested fields of the GraphQL interface Workload. -// -// GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkload is implemented by the following types: -// GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadApplication -// GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadJob -// The GraphQL type's documentation follows. -// -// Interface for workloads. -type GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkload interface { - implementsGraphQLInterfaceGetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkload() - // GetName returns the interface-field "name" from its implementation. - // The GraphQL interface field's documentation follows. - // - // Interface for workloads. - GetName() string - // GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values). - GetTypename() string -} - -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadApplication) implementsGraphQLInterfaceGetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkload() { -} -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadJob) implementsGraphQLInterfaceGetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkload() { -} - -func __unmarshalGetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkload(b []byte, v *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkload) error { - if string(b) == "null" { - return nil - } - - var tn struct { - TypeName string `json:"__typename"` - } - err := json.Unmarshal(b, &tn) - if err != nil { - return err - } - - switch tn.TypeName { - case "Application": - *v = new(GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadApplication) - return json.Unmarshal(b, *v) - case "Job": - *v = new(GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadJob) - return json.Unmarshal(b, *v) - case "": - return fmt.Errorf( - "response was missing Workload.__typename") - default: - return fmt.Errorf( - `unexpected concrete type for GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkload: "%v"`, tn.TypeName) - } -} - -func __marshalGetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkload(v *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkload) ([]byte, error) { - - var typename string - switch v := (*v).(type) { - case *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadApplication: - typename = "Application" - - result := struct { - TypeName string `json:"__typename"` - *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadApplication - }{typename, v} - return json.Marshal(result) - case *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadJob: - typename = "Job" - - result := struct { - TypeName string `json:"__typename"` - *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadJob - }{typename, v} - return json.Marshal(result) - case nil: - return []byte("null"), nil - default: - return nil, fmt.Errorf( - `unexpected concrete type for GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkload: "%T"`, v) - } -} - -// GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadApplication includes the requested fields of the GraphQL type Application. -// The GraphQL type's documentation follows. -// -// An application lets you run one or more instances of a container image on the [Nais platform](https://nais.io/). -// -// Learn more about how to create and configure your applications in the [Nais documentation](https://docs.nais.io/workloads/application/). -type GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadApplication struct { - // Interface for workloads. - Name string `json:"name"` - Typename string `json:"__typename"` -} - -// GetName returns GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadApplication.Name, and is useful for accessing the field via an interface. -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadApplication) GetName() string { - return v.Name -} - -// GetTypename returns GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadApplication.Typename, and is useful for accessing the field via an interface. -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadApplication) GetTypename() string { - return v.Typename -} - -// GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadJob includes the requested fields of the GraphQL type Job. -type GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadJob struct { - // Interface for workloads. - Name string `json:"name"` - Typename string `json:"__typename"` -} - -// GetName returns GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadJob.Name, and is useful for accessing the field via an interface. -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadJob) GetName() string { - return v.Name -} - -// GetTypename returns GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadJob.Typename, and is useful for accessing the field via an interface. -func (v *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssueWorkloadJob) GetTypename() string { - return v.Typename -} - // GetAllIssuesTeamIssuesIssueConnectionNodesIssue includes the requested fields of the GraphQL interface Issue. // // GetAllIssuesTeamIssuesIssueConnectionNodesIssue is implemented by the following types: @@ -3413,26 +3005,18 @@ func __marshalGetAllIssuesTeamIssuesIssueConnectionNodesIssue(v *GetAllIssuesTea case *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue: typename = "FailedSynchronizationIssue" - premarshaled, err := v.__premarshalJSON() - if err != nil { - return nil, err - } result := struct { TypeName string `json:"__typename"` - *__premarshalGetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue - }{typename, premarshaled} + *GetAllIssuesTeamIssuesIssueConnectionNodesFailedSynchronizationIssue + }{typename, v} return json.Marshal(result) case *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue: typename = "InvalidSpecIssue" - premarshaled, err := v.__premarshalJSON() - if err != nil { - return nil, err - } result := struct { TypeName string `json:"__typename"` - *__premarshalGetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue - }{typename, premarshaled} + *GetAllIssuesTeamIssuesIssueConnectionNodesInvalidSpecIssue + }{typename, v} return json.Marshal(result) case *GetAllIssuesTeamIssuesIssueConnectionNodesLastRunFailedIssue: typename = "LastRunFailedIssue" @@ -3521,10 +3105,14 @@ func __marshalGetAllIssuesTeamIssuesIssueConnectionNodesIssue(v *GetAllIssuesTea case *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue: typename = "WorkloadProblemIssue" + premarshaled, err := v.__premarshalJSON() + if err != nil { + return nil, err + } result := struct { TypeName string `json:"__typename"` - *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue - }{typename, v} + *__premarshalGetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue + }{typename, premarshaled} return json.Marshal(result) case nil: return []byte("null"), nil @@ -4601,11 +4189,12 @@ func (v *GetAllIssuesTeamIssuesIssueConnectionNodesVulnerableImageIssueWorkloadJ // // An issue surfacing a problem reported by the platform in a workload's status. type GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue struct { - Typename string `json:"__typename"` - TeamEnvironment GetAllIssuesTeamIssuesIssueConnectionNodesIssueTeamEnvironment `json:"teamEnvironment"` - Id string `json:"id"` - Severity Severity `json:"severity"` - Message string `json:"message"` + Typename string `json:"__typename"` + TeamEnvironment GetAllIssuesTeamIssuesIssueConnectionNodesIssueTeamEnvironment `json:"teamEnvironment"` + Id string `json:"id"` + Severity Severity `json:"severity"` + Message string `json:"message"` + Workload GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkload `json:"-"` } // GetTypename returns GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue.Typename, and is useful for accessing the field via an interface. @@ -4631,6 +4220,209 @@ func (v *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue) GetMess return v.Message } +// GetWorkload returns GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue.Workload, and is useful for accessing the field via an interface. +func (v *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue) GetWorkload() GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkload { + return v.Workload +} + +func (v *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue) UnmarshalJSON(b []byte) error { + + if string(b) == "null" { + return nil + } + + var firstPass struct { + *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue + Workload json.RawMessage `json:"workload"` + graphql.NoUnmarshalJSON + } + firstPass.GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue = v + + err := json.Unmarshal(b, &firstPass) + if err != nil { + return err + } + + { + dst := &v.Workload + src := firstPass.Workload + if len(src) != 0 && string(src) != "null" { + err = __unmarshalGetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkload( + src, dst) + if err != nil { + return fmt.Errorf( + "unable to unmarshal GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue.Workload: %w", err) + } + } + } + return nil +} + +type __premarshalGetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue struct { + Typename string `json:"__typename"` + + TeamEnvironment GetAllIssuesTeamIssuesIssueConnectionNodesIssueTeamEnvironment `json:"teamEnvironment"` + + Id string `json:"id"` + + Severity Severity `json:"severity"` + + Message string `json:"message"` + + Workload json.RawMessage `json:"workload"` +} + +func (v *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue) MarshalJSON() ([]byte, error) { + premarshaled, err := v.__premarshalJSON() + if err != nil { + return nil, err + } + return json.Marshal(premarshaled) +} + +func (v *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue) __premarshalJSON() (*__premarshalGetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue, error) { + var retval __premarshalGetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue + + retval.Typename = v.Typename + retval.TeamEnvironment = v.TeamEnvironment + retval.Id = v.Id + retval.Severity = v.Severity + retval.Message = v.Message + { + + dst := &retval.Workload + src := v.Workload + var err error + *dst, err = __marshalGetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkload( + &src) + if err != nil { + return nil, fmt.Errorf( + "unable to marshal GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssue.Workload: %w", err) + } + } + return &retval, nil +} + +// GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkload includes the requested fields of the GraphQL interface Workload. +// +// GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkload is implemented by the following types: +// GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadApplication +// GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadJob +// The GraphQL type's documentation follows. +// +// Interface for workloads. +type GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkload interface { + implementsGraphQLInterfaceGetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkload() + // GetName returns the interface-field "name" from its implementation. + // The GraphQL interface field's documentation follows. + // + // Interface for workloads. + GetName() string + // GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values). + GetTypename() string +} + +func (v *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadApplication) implementsGraphQLInterfaceGetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkload() { +} +func (v *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadJob) implementsGraphQLInterfaceGetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkload() { +} + +func __unmarshalGetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkload(b []byte, v *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkload) error { + if string(b) == "null" { + return nil + } + + var tn struct { + TypeName string `json:"__typename"` + } + err := json.Unmarshal(b, &tn) + if err != nil { + return err + } + + switch tn.TypeName { + case "Application": + *v = new(GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadApplication) + return json.Unmarshal(b, *v) + case "Job": + *v = new(GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadJob) + return json.Unmarshal(b, *v) + case "": + return fmt.Errorf( + "response was missing Workload.__typename") + default: + return fmt.Errorf( + `unexpected concrete type for GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkload: "%v"`, tn.TypeName) + } +} + +func __marshalGetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkload(v *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkload) ([]byte, error) { + + var typename string + switch v := (*v).(type) { + case *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadApplication: + typename = "Application" + + result := struct { + TypeName string `json:"__typename"` + *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadApplication + }{typename, v} + return json.Marshal(result) + case *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadJob: + typename = "Job" + + result := struct { + TypeName string `json:"__typename"` + *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadJob + }{typename, v} + return json.Marshal(result) + case nil: + return []byte("null"), nil + default: + return nil, fmt.Errorf( + `unexpected concrete type for GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkload: "%T"`, v) + } +} + +// GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadApplication includes the requested fields of the GraphQL type Application. +// The GraphQL type's documentation follows. +// +// An application lets you run one or more instances of a container image on the [Nais platform](https://nais.io/). +// +// Learn more about how to create and configure your applications in the [Nais documentation](https://docs.nais.io/workloads/application/). +type GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadApplication struct { + // Interface for workloads. + Name string `json:"name"` + Typename string `json:"__typename"` +} + +// GetName returns GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadApplication.Name, and is useful for accessing the field via an interface. +func (v *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadApplication) GetName() string { + return v.Name +} + +// GetTypename returns GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadApplication.Typename, and is useful for accessing the field via an interface. +func (v *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadApplication) GetTypename() string { + return v.Typename +} + +// GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadJob includes the requested fields of the GraphQL type Job. +type GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadJob struct { + // Interface for workloads. + Name string `json:"name"` + Typename string `json:"__typename"` +} + +// GetName returns GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadJob.Name, and is useful for accessing the field via an interface. +func (v *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadJob) GetName() string { + return v.Name +} + +// GetTypename returns GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadJob.Typename, and is useful for accessing the field via an interface. +func (v *GetAllIssuesTeamIssuesIssueConnectionNodesWorkloadProblemIssueWorkloadJob) GetTypename() string { + return v.Typename +} + // GetAllOpenSearchesResponse is returned by GetAllOpenSearches on success. type GetAllOpenSearchesResponse struct { // Get a team by its slug. @@ -31474,838 +31266,15 @@ func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeam) GetWorklo // // Workload connection. type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnection struct { - // List of nodes. - Nodes []TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload `json:"-"` // Pagination information. PageInfo TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionPageInfo `json:"pageInfo"` } -// GetNodes returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnection.Nodes, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnection) GetNodes() []TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload { - return v.Nodes -} - // GetPageInfo returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnection.PageInfo, and is useful for accessing the field via an interface. func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnection) GetPageInfo() TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionPageInfo { return v.PageInfo } -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnection) UnmarshalJSON(b []byte) error { - - if string(b) == "null" { - return nil - } - - var firstPass struct { - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnection - Nodes []json.RawMessage `json:"nodes"` - graphql.NoUnmarshalJSON - } - firstPass.TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnection = v - - err := json.Unmarshal(b, &firstPass) - if err != nil { - return err - } - - { - dst := &v.Nodes - src := firstPass.Nodes - *dst = make( - []TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload, - len(src)) - for i, src := range src { - dst := &(*dst)[i] - if len(src) != 0 && string(src) != "null" { - err = __unmarshalTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload( - src, dst) - if err != nil { - return fmt.Errorf( - "unable to unmarshal TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnection.Nodes: %w", err) - } - } - } - } - return nil -} - -type __premarshalTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnection struct { - Nodes []json.RawMessage `json:"nodes"` - - PageInfo TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionPageInfo `json:"pageInfo"` -} - -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnection) MarshalJSON() ([]byte, error) { - premarshaled, err := v.__premarshalJSON() - if err != nil { - return nil, err - } - return json.Marshal(premarshaled) -} - -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnection) __premarshalJSON() (*__premarshalTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnection, error) { - var retval __premarshalTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnection - - { - - dst := &retval.Nodes - src := v.Nodes - *dst = make( - []json.RawMessage, - len(src)) - for i, src := range src { - dst := &(*dst)[i] - var err error - *dst, err = __marshalTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload( - &src) - if err != nil { - return nil, fmt.Errorf( - "unable to marshal TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnection.Nodes: %w", err) - } - } - } - retval.PageInfo = v.PageInfo - return &retval, nil -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesApplication includes the requested fields of the GraphQL type Application. -// The GraphQL type's documentation follows. -// -// An application lets you run one or more instances of a container image on the [Nais platform](https://nais.io/). -// -// Learn more about how to create and configure your applications in the [Nais documentation](https://docs.nais.io/workloads/application/). -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesApplication struct { - Typename string `json:"__typename"` - // Interface for workloads. - Name string `json:"name"` - // Interface for workloads. - TeamEnvironment TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadTeamEnvironment `json:"teamEnvironment"` - // Interface for workloads. - Issues TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection `json:"issues"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesApplication.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesApplication) GetTypename() string { - return v.Typename -} - -// GetName returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesApplication.Name, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesApplication) GetName() string { - return v.Name -} - -// GetTeamEnvironment returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesApplication.TeamEnvironment, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesApplication) GetTeamEnvironment() TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadTeamEnvironment { - return v.TeamEnvironment -} - -// GetIssues returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesApplication.Issues, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesApplication) GetIssues() TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection { - return v.Issues -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesJob includes the requested fields of the GraphQL type Job. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesJob struct { - Typename string `json:"__typename"` - // Interface for workloads. - Name string `json:"name"` - // Interface for workloads. - TeamEnvironment TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadTeamEnvironment `json:"teamEnvironment"` - // Interface for workloads. - Issues TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection `json:"issues"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesJob.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesJob) GetTypename() string { - return v.Typename -} - -// GetName returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesJob.Name, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesJob) GetName() string { - return v.Name -} - -// GetTeamEnvironment returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesJob.TeamEnvironment, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesJob) GetTeamEnvironment() TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadTeamEnvironment { - return v.TeamEnvironment -} - -// GetIssues returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesJob.Issues, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesJob) GetIssues() TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection { - return v.Issues -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload includes the requested fields of the GraphQL interface Workload. -// -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload is implemented by the following types: -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesApplication -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesJob -// The GraphQL type's documentation follows. -// -// Interface for workloads. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload interface { - implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload() - // GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values). - GetTypename() string - // GetName returns the interface-field "name" from its implementation. - // The GraphQL interface field's documentation follows. - // - // Interface for workloads. - GetName() string - // GetTeamEnvironment returns the interface-field "teamEnvironment" from its implementation. - // The GraphQL interface field's documentation follows. - // - // Interface for workloads. - GetTeamEnvironment() TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadTeamEnvironment - // GetIssues returns the interface-field "issues" from its implementation. - // The GraphQL interface field's documentation follows. - // - // Interface for workloads. - GetIssues() TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection -} - -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesApplication) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload() { -} -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesJob) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload() { -} - -func __unmarshalTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload(b []byte, v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload) error { - if string(b) == "null" { - return nil - } - - var tn struct { - TypeName string `json:"__typename"` - } - err := json.Unmarshal(b, &tn) - if err != nil { - return err - } - - switch tn.TypeName { - case "Application": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesApplication) - return json.Unmarshal(b, *v) - case "Job": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesJob) - return json.Unmarshal(b, *v) - case "": - return fmt.Errorf( - "response was missing Workload.__typename") - default: - return fmt.Errorf( - `unexpected concrete type for TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload: "%v"`, tn.TypeName) - } -} - -func __marshalTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload(v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload) ([]byte, error) { - - var typename string - switch v := (*v).(type) { - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesApplication: - typename = "Application" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesApplication - }{typename, v} - return json.Marshal(result) - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesJob: - typename = "Job" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesJob - }{typename, v} - return json.Marshal(result) - case nil: - return []byte("null"), nil - default: - return nil, fmt.Errorf( - `unexpected concrete type for TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload: "%T"`, v) - } -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection includes the requested fields of the GraphQL type IssueConnection. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection struct { - // List of nodes. - Nodes []TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue `json:"-"` - // Pagination information. - PageInfo TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionPageInfo `json:"pageInfo"` -} - -// GetNodes returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection.Nodes, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection) GetNodes() []TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue { - return v.Nodes -} - -// GetPageInfo returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection.PageInfo, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection) GetPageInfo() TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionPageInfo { - return v.PageInfo -} - -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection) UnmarshalJSON(b []byte) error { - - if string(b) == "null" { - return nil - } - - var firstPass struct { - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection - Nodes []json.RawMessage `json:"nodes"` - graphql.NoUnmarshalJSON - } - firstPass.TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection = v - - err := json.Unmarshal(b, &firstPass) - if err != nil { - return err - } - - { - dst := &v.Nodes - src := firstPass.Nodes - *dst = make( - []TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue, - len(src)) - for i, src := range src { - dst := &(*dst)[i] - if len(src) != 0 && string(src) != "null" { - err = __unmarshalTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue( - src, dst) - if err != nil { - return fmt.Errorf( - "unable to unmarshal TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection.Nodes: %w", err) - } - } - } - } - return nil -} - -type __premarshalTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection struct { - Nodes []json.RawMessage `json:"nodes"` - - PageInfo TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionPageInfo `json:"pageInfo"` -} - -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection) MarshalJSON() ([]byte, error) { - premarshaled, err := v.__premarshalJSON() - if err != nil { - return nil, err - } - return json.Marshal(premarshaled) -} - -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection) __premarshalJSON() (*__premarshalTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection, error) { - var retval __premarshalTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection - - { - - dst := &retval.Nodes - src := v.Nodes - *dst = make( - []json.RawMessage, - len(src)) - for i, src := range src { - dst := &(*dst)[i] - var err error - *dst, err = __marshalTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue( - &src) - if err != nil { - return nil, fmt.Errorf( - "unable to marshal TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnection.Nodes: %w", err) - } - } - } - retval.PageInfo = v.PageInfo - return &retval, nil -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesApplicationRestartLoopIssue includes the requested fields of the GraphQL type ApplicationRestartLoopIssue. -// The GraphQL type's documentation follows. -// -// An issue raised when an application keeps restarting repeatedly. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesApplicationRestartLoopIssue struct { - Typename string `json:"__typename"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesApplicationRestartLoopIssue.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesApplicationRestartLoopIssue) GetTypename() string { - return v.Typename -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedIngressIssue includes the requested fields of the GraphQL type DeprecatedIngressIssue. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedIngressIssue struct { - Typename string `json:"__typename"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedIngressIssue.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedIngressIssue) GetTypename() string { - return v.Typename -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedRegistryIssue includes the requested fields of the GraphQL type DeprecatedRegistryIssue. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedRegistryIssue struct { - Typename string `json:"__typename"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedRegistryIssue.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedRegistryIssue) GetTypename() string { - return v.Typename -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesExternalIngressCriticalVulnerabilityIssue includes the requested fields of the GraphQL type ExternalIngressCriticalVulnerabilityIssue. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesExternalIngressCriticalVulnerabilityIssue struct { - Typename string `json:"__typename"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesExternalIngressCriticalVulnerabilityIssue.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesExternalIngressCriticalVulnerabilityIssue) GetTypename() string { - return v.Typename -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesFailedSynchronizationIssue includes the requested fields of the GraphQL type FailedSynchronizationIssue. -// The GraphQL type's documentation follows. -// -// Deprecated: superseded by WorkloadProblemIssue. No longer produced; retained for backwards compatibility. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesFailedSynchronizationIssue struct { - Typename string `json:"__typename"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesFailedSynchronizationIssue.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesFailedSynchronizationIssue) GetTypename() string { - return v.Typename -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesInvalidSpecIssue includes the requested fields of the GraphQL type InvalidSpecIssue. -// The GraphQL type's documentation follows. -// -// Deprecated: superseded by WorkloadProblemIssue. No longer produced; retained for backwards compatibility. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesInvalidSpecIssue struct { - Typename string `json:"__typename"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesInvalidSpecIssue.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesInvalidSpecIssue) GetTypename() string { - return v.Typename -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue includes the requested fields of the GraphQL interface Issue. -// -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue is implemented by the following types: -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesApplicationRestartLoopIssue -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedIngressIssue -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedRegistryIssue -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesExternalIngressCriticalVulnerabilityIssue -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesFailedSynchronizationIssue -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesInvalidSpecIssue -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesLastRunFailedIssue -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesMissingSbomIssue -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesNoRunningInstancesIssue -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesOpenSearchIssue -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceStateIssue -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceVersionIssue -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesUnleashReleaseChannelIssue -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesValkeyIssue -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesVulnerableImageIssue -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesWorkloadProblemIssue -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue interface { - implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue() - // GetTypename returns the receiver's concrete GraphQL type-name (see interface doc for possible values). - GetTypename() string -} - -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesApplicationRestartLoopIssue) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue() { -} -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedIngressIssue) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue() { -} -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedRegistryIssue) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue() { -} -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesExternalIngressCriticalVulnerabilityIssue) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue() { -} -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesFailedSynchronizationIssue) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue() { -} -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesInvalidSpecIssue) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue() { -} -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesLastRunFailedIssue) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue() { -} -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesMissingSbomIssue) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue() { -} -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesNoRunningInstancesIssue) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue() { -} -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesOpenSearchIssue) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue() { -} -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceStateIssue) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue() { -} -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceVersionIssue) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue() { -} -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesUnleashReleaseChannelIssue) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue() { -} -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesValkeyIssue) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue() { -} -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesVulnerableImageIssue) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue() { -} -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesWorkloadProblemIssue) implementsGraphQLInterfaceTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue() { -} - -func __unmarshalTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue(b []byte, v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue) error { - if string(b) == "null" { - return nil - } - - var tn struct { - TypeName string `json:"__typename"` - } - err := json.Unmarshal(b, &tn) - if err != nil { - return err - } - - switch tn.TypeName { - case "ApplicationRestartLoopIssue": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesApplicationRestartLoopIssue) - return json.Unmarshal(b, *v) - case "DeprecatedIngressIssue": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedIngressIssue) - return json.Unmarshal(b, *v) - case "DeprecatedRegistryIssue": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedRegistryIssue) - return json.Unmarshal(b, *v) - case "ExternalIngressCriticalVulnerabilityIssue": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesExternalIngressCriticalVulnerabilityIssue) - return json.Unmarshal(b, *v) - case "FailedSynchronizationIssue": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesFailedSynchronizationIssue) - return json.Unmarshal(b, *v) - case "InvalidSpecIssue": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesInvalidSpecIssue) - return json.Unmarshal(b, *v) - case "LastRunFailedIssue": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesLastRunFailedIssue) - return json.Unmarshal(b, *v) - case "MissingSbomIssue": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesMissingSbomIssue) - return json.Unmarshal(b, *v) - case "NoRunningInstancesIssue": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesNoRunningInstancesIssue) - return json.Unmarshal(b, *v) - case "OpenSearchIssue": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesOpenSearchIssue) - return json.Unmarshal(b, *v) - case "SqlInstanceStateIssue": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceStateIssue) - return json.Unmarshal(b, *v) - case "SqlInstanceVersionIssue": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceVersionIssue) - return json.Unmarshal(b, *v) - case "UnleashReleaseChannelIssue": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesUnleashReleaseChannelIssue) - return json.Unmarshal(b, *v) - case "ValkeyIssue": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesValkeyIssue) - return json.Unmarshal(b, *v) - case "VulnerableImageIssue": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesVulnerableImageIssue) - return json.Unmarshal(b, *v) - case "WorkloadProblemIssue": - *v = new(TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesWorkloadProblemIssue) - return json.Unmarshal(b, *v) - case "": - return fmt.Errorf( - "response was missing Issue.__typename") - default: - return fmt.Errorf( - `unexpected concrete type for TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue: "%v"`, tn.TypeName) - } -} - -func __marshalTeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue(v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue) ([]byte, error) { - - var typename string - switch v := (*v).(type) { - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesApplicationRestartLoopIssue: - typename = "ApplicationRestartLoopIssue" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesApplicationRestartLoopIssue - }{typename, v} - return json.Marshal(result) - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedIngressIssue: - typename = "DeprecatedIngressIssue" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedIngressIssue - }{typename, v} - return json.Marshal(result) - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedRegistryIssue: - typename = "DeprecatedRegistryIssue" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesDeprecatedRegistryIssue - }{typename, v} - return json.Marshal(result) - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesExternalIngressCriticalVulnerabilityIssue: - typename = "ExternalIngressCriticalVulnerabilityIssue" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesExternalIngressCriticalVulnerabilityIssue - }{typename, v} - return json.Marshal(result) - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesFailedSynchronizationIssue: - typename = "FailedSynchronizationIssue" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesFailedSynchronizationIssue - }{typename, v} - return json.Marshal(result) - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesInvalidSpecIssue: - typename = "InvalidSpecIssue" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesInvalidSpecIssue - }{typename, v} - return json.Marshal(result) - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesLastRunFailedIssue: - typename = "LastRunFailedIssue" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesLastRunFailedIssue - }{typename, v} - return json.Marshal(result) - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesMissingSbomIssue: - typename = "MissingSbomIssue" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesMissingSbomIssue - }{typename, v} - return json.Marshal(result) - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesNoRunningInstancesIssue: - typename = "NoRunningInstancesIssue" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesNoRunningInstancesIssue - }{typename, v} - return json.Marshal(result) - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesOpenSearchIssue: - typename = "OpenSearchIssue" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesOpenSearchIssue - }{typename, v} - return json.Marshal(result) - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceStateIssue: - typename = "SqlInstanceStateIssue" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceStateIssue - }{typename, v} - return json.Marshal(result) - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceVersionIssue: - typename = "SqlInstanceVersionIssue" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceVersionIssue - }{typename, v} - return json.Marshal(result) - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesUnleashReleaseChannelIssue: - typename = "UnleashReleaseChannelIssue" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesUnleashReleaseChannelIssue - }{typename, v} - return json.Marshal(result) - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesValkeyIssue: - typename = "ValkeyIssue" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesValkeyIssue - }{typename, v} - return json.Marshal(result) - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesVulnerableImageIssue: - typename = "VulnerableImageIssue" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesVulnerableImageIssue - }{typename, v} - return json.Marshal(result) - case *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesWorkloadProblemIssue: - typename = "WorkloadProblemIssue" - - result := struct { - TypeName string `json:"__typename"` - *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesWorkloadProblemIssue - }{typename, v} - return json.Marshal(result) - case nil: - return []byte("null"), nil - default: - return nil, fmt.Errorf( - `unexpected concrete type for TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesIssue: "%T"`, v) - } -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesLastRunFailedIssue includes the requested fields of the GraphQL type LastRunFailedIssue. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesLastRunFailedIssue struct { - Typename string `json:"__typename"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesLastRunFailedIssue.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesLastRunFailedIssue) GetTypename() string { - return v.Typename -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesMissingSbomIssue includes the requested fields of the GraphQL type MissingSbomIssue. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesMissingSbomIssue struct { - Typename string `json:"__typename"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesMissingSbomIssue.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesMissingSbomIssue) GetTypename() string { - return v.Typename -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesNoRunningInstancesIssue includes the requested fields of the GraphQL type NoRunningInstancesIssue. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesNoRunningInstancesIssue struct { - Typename string `json:"__typename"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesNoRunningInstancesIssue.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesNoRunningInstancesIssue) GetTypename() string { - return v.Typename -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesOpenSearchIssue includes the requested fields of the GraphQL type OpenSearchIssue. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesOpenSearchIssue struct { - Typename string `json:"__typename"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesOpenSearchIssue.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesOpenSearchIssue) GetTypename() string { - return v.Typename -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceStateIssue includes the requested fields of the GraphQL type SqlInstanceStateIssue. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceStateIssue struct { - Typename string `json:"__typename"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceStateIssue.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceStateIssue) GetTypename() string { - return v.Typename -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceVersionIssue includes the requested fields of the GraphQL type SqlInstanceVersionIssue. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceVersionIssue struct { - Typename string `json:"__typename"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceVersionIssue.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesSqlInstanceVersionIssue) GetTypename() string { - return v.Typename -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesUnleashReleaseChannelIssue includes the requested fields of the GraphQL type UnleashReleaseChannelIssue. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesUnleashReleaseChannelIssue struct { - Typename string `json:"__typename"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesUnleashReleaseChannelIssue.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesUnleashReleaseChannelIssue) GetTypename() string { - return v.Typename -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesValkeyIssue includes the requested fields of the GraphQL type ValkeyIssue. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesValkeyIssue struct { - Typename string `json:"__typename"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesValkeyIssue.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesValkeyIssue) GetTypename() string { - return v.Typename -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesVulnerableImageIssue includes the requested fields of the GraphQL type VulnerableImageIssue. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesVulnerableImageIssue struct { - Typename string `json:"__typename"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesVulnerableImageIssue.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesVulnerableImageIssue) GetTypename() string { - return v.Typename -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesWorkloadProblemIssue includes the requested fields of the GraphQL type WorkloadProblemIssue. -// The GraphQL type's documentation follows. -// -// An issue surfacing a problem reported by the platform in a workload's status. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesWorkloadProblemIssue struct { - Typename string `json:"__typename"` -} - -// GetTypename returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesWorkloadProblemIssue.Typename, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionNodesWorkloadProblemIssue) GetTypename() string { - return v.Typename -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionPageInfo includes the requested fields of the GraphQL type PageInfo. -// The GraphQL type's documentation follows. -// -// # This type is used for paginating the connection -// -// Learn more about how we have implemented pagination in the [GraphQL Best Practices documentation](https://graphql.org/learn/pagination/). -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionPageInfo struct { - // The total amount of items in the connection. - TotalCount int `json:"totalCount"` -} - -// GetTotalCount returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionPageInfo.TotalCount, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadIssuesIssueConnectionPageInfo) GetTotalCount() int { - return v.TotalCount -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadTeamEnvironment includes the requested fields of the GraphQL type TeamEnvironment. -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadTeamEnvironment struct { - // Get the environment. - Environment TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadTeamEnvironmentEnvironment `json:"environment"` -} - -// GetEnvironment returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadTeamEnvironment.Environment, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadTeamEnvironment) GetEnvironment() TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadTeamEnvironmentEnvironment { - return v.Environment -} - -// TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadTeamEnvironmentEnvironment includes the requested fields of the GraphQL type Environment. -// The GraphQL type's documentation follows. -// -// An environment represents a runtime environment for workloads. -// -// Learn more in the [official Nais documentation](https://docs.nais.io/workloads/explanations/environment/). -type TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadTeamEnvironmentEnvironment struct { - // Unique name of the environment. - Name string `json:"name"` -} - -// GetName returns TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadTeamEnvironmentEnvironment.Name, and is useful for accessing the field via an interface. -func (v *TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkloadTeamEnvironmentEnvironment) GetName() string { - return v.Name -} - // TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionPageInfo includes the requested fields of the GraphQL type PageInfo. // The GraphQL type's documentation follows. // @@ -35386,18 +34355,6 @@ query GetAllIssues ($teamSlug: Slug!, $filter: IssueFilter) { __typename } } - ... on FailedSynchronizationIssue { - workload { - name - __typename - } - } - ... on InvalidSpecIssue { - workload { - name - __typename - } - } ... on LastRunFailedIssue { job { name @@ -35452,6 +34409,12 @@ query GetAllIssues ($teamSlug: Slug!, $filter: IssueFilter) { __typename } } + ... on WorkloadProblemIssue { + workload { + name + __typename + } + } } } } @@ -37837,24 +36800,7 @@ query TeamStatus { nodes { team { slug - workloads(first: 500) { - nodes { - __typename - name - teamEnvironment { - environment { - name - } - } - issues(first: 100, filter: {severity:CRITICAL}) { - nodes { - __typename - } - pageInfo { - totalCount - } - } - } + workloads(first: 1) { pageInfo { totalCount } diff --git a/internal/status/command/status.go b/internal/status/command/status.go index 7fc1d535..bf61c647 100644 --- a/internal/status/command/status.go +++ b/internal/status/command/status.go @@ -3,11 +3,10 @@ package command import ( "context" "fmt" - "maps" - "slices" "strings" "github.com/nais/cli/internal/flags" + "github.com/nais/cli/internal/issues" "github.com/nais/cli/internal/naisapi" "github.com/nais/cli/internal/naisapi/gql" "github.com/nais/cli/internal/status" @@ -20,7 +19,7 @@ type workload struct { Kind string `json:"kind"` Name string `json:"name"` Environment string `json:"environment"` - ErrorTypes []string `json:"errorType"` + Messages []string `json:"messages"` } type workloadsWithIssues []workload @@ -30,14 +29,14 @@ func (f workloadsWithIssues) String() string { return "No issues detected" } - var issues strings.Builder - _, _ = fmt.Fprintf(&issues, "%v workloads with issues\n\n", len(f)) + var b strings.Builder + _, _ = fmt.Fprintf(&b, "%v workloads with issues\n\n", len(f)) for _, w := range f { - _, _ = fmt.Fprintf(&issues, "%s (%s): %s\n", w.Kind, w.Environment, w.Name) - _, _ = fmt.Fprintf(&issues, "%s\n\n", formatErrorTypes(w.ErrorTypes)) + _, _ = fmt.Fprintf(&b, "%s (%s): %s\n", w.Kind, w.Environment, w.Name) + _, _ = fmt.Fprintf(&b, "%s\n\n", strings.Join(w.Messages, "\n")) } - return strings.TrimRight(issues.String(), "\n") + return strings.TrimRight(b.String(), "\n") } type statusEntry struct { @@ -65,13 +64,29 @@ func Status(parentFlags *flags.GlobalFlags) *naistrix.Command { return err } + critical := gql.SeverityCritical var entries []statusEntry for _, t := range ret { - workloadsWithCriticalIssues := make([]gql.TeamStatusMeUserTeamsTeamMemberConnectionNodesTeamMemberTeamWorkloadsWorkloadConnectionNodesWorkload, 0) - for _, w := range t.Team.Workloads.Nodes { - if w.GetIssues().PageInfo.TotalCount > 0 { - workloadsWithCriticalIssues = append(workloadsWithCriticalIssues, w) + teamIssues, err := issues.GetAll(ctx, t.Team.Slug, gql.IssueFilter{Severity: critical}) + if err != nil { + return err + } + + // Group issues by resource (name + environment). + type resourceKey struct{ name, env string } + resourceMap := make(map[resourceKey]*workload) + var resourceOrder []resourceKey + for _, issue := range teamIssues { + key := resourceKey{issue.ResourceName, issue.Environment} + if _, ok := resourceMap[key]; !ok { + resourceMap[key] = &workload{ + Kind: issue.ResourceType, + Name: issue.ResourceName, + Environment: issue.Environment, + } + resourceOrder = append(resourceOrder, key) } + resourceMap[key].Messages = append(resourceMap[key].Messages, issue.Message) } n := statusEntry{ @@ -80,19 +95,11 @@ func Status(parentFlags *flags.GlobalFlags) *naistrix.Command { URL: fmt.Sprintf("https://%s/team/%s", user.ConsoleHost(), t.Team.Slug), }, Workloads: t.Team.Workloads.PageInfo.TotalCount, - NotNais: len(workloadsWithCriticalIssues), - Issues: make(workloadsWithIssues, 0), + NotNais: len(resourceMap), + Issues: make(workloadsWithIssues, 0, len(resourceOrder)), } - for _, f := range workloadsWithCriticalIssues { - a := workload{ - Kind: f.GetTypename(), - Name: f.GetName(), - Environment: f.GetTeamEnvironment().Environment.Name, - } - for _, et := range f.GetIssues().Nodes { - a.ErrorTypes = append(a.ErrorTypes, et.GetTypename()) - } - n.Issues = append(n.Issues, a) + for _, key := range resourceOrder { + n.Issues = append(n.Issues, *resourceMap[key]) } entries = append(entries, n) } @@ -110,29 +117,3 @@ func Status(parentFlags *flags.GlobalFlags) *naistrix.Command { }, } } - -func formatErrorTypes(errorTypes []string) string { - if len(errorTypes) == 0 { - return "Unknown failure" - } - - texts := map[string]string{} - for _, et := range errorTypes { - switch et { - case "WorkloadStatusNoRunningInstances": - texts[et] = "No running instances" - case "WorkloadStatusVulnerable": - texts[et] = "Vulnerabilities detected" - case "WorkloadStatusFailedRun": - texts[et] = "Failed job run" - default: - texts[et] = et - } - } - - vals := maps.Values(texts) - ret := slices.Collect(vals) - slices.Sort(ret) - - return strings.Join(ret, "\n") -} diff --git a/internal/status/status.go b/internal/status/status.go index 4ca04a8a..221c9f56 100644 --- a/internal/status/status.go +++ b/internal/status/status.go @@ -17,16 +17,7 @@ func GetStatus(ctx context.Context, _ *flag.Status) ([]gql.TeamStatusMeUserTeams nodes { team { slug - workloads(first: 500) { - nodes { - __typename - name - teamEnvironment { environment { name } } - issues(first: 100, filter: { severity: CRITICAL }) { - nodes { __typename } - pageInfo { totalCount } - } - } + workloads(first: 1) { pageInfo { totalCount } } }