// Code generated by github.com/Khan/genqlient, DO NOT EDIT.

package client

import (
	"context"

	"github.com/Khan/genqlient/graphql"
)

// AddServiceToSupportGroupResponse is returned by AddServiceToSupportGroup on success.
type AddServiceToSupportGroupResponse struct {
	AddServiceToSupportGroup *SupportGroup `json:"addServiceToSupportGroup"`
}

// GetAddServiceToSupportGroup returns AddServiceToSupportGroupResponse.AddServiceToSupportGroup, and is useful for accessing the field via an interface.
func (v *AddServiceToSupportGroupResponse) GetAddServiceToSupportGroup() *SupportGroup {
	return v.AddServiceToSupportGroup
}

// CompleteScannerRunResponse is returned by CompleteScannerRun on success.
type CompleteScannerRunResponse struct {
	CompleteScannerRun bool `json:"completeScannerRun"`
}

// GetCompleteScannerRun returns CompleteScannerRunResponse.CompleteScannerRun, and is useful for accessing the field via an interface.
func (v *CompleteScannerRunResponse) GetCompleteScannerRun() bool { return v.CompleteScannerRun }

// Component includes the requested fields of the GraphQL type Component.
type Component struct {
	Id   string              `json:"id"`
	Ccrn string              `json:"ccrn"`
	Type ComponentTypeValues `json:"type"`
}

// GetId returns Component.Id, and is useful for accessing the field via an interface.
func (v *Component) GetId() string { return v.Id }

// GetCcrn returns Component.Ccrn, and is useful for accessing the field via an interface.
func (v *Component) GetCcrn() string { return v.Ccrn }

// GetType returns Component.Type, and is useful for accessing the field via an interface.
func (v *Component) GetType() ComponentTypeValues { return v.Type }

// ComponentConnection includes the requested fields of the GraphQL type ComponentConnection.
type ComponentConnection struct {
	TotalCount int                                      `json:"totalCount"`
	Edges      []*ComponentConnectionEdgesComponentEdge `json:"edges"`
}

// GetTotalCount returns ComponentConnection.TotalCount, and is useful for accessing the field via an interface.
func (v *ComponentConnection) GetTotalCount() int { return v.TotalCount }

// GetEdges returns ComponentConnection.Edges, and is useful for accessing the field via an interface.
func (v *ComponentConnection) GetEdges() []*ComponentConnectionEdgesComponentEdge { return v.Edges }

// ComponentConnectionEdgesComponentEdge includes the requested fields of the GraphQL type ComponentEdge.
type ComponentConnectionEdgesComponentEdge struct {
	Node *Component `json:"node"`
}

// GetNode returns ComponentConnectionEdgesComponentEdge.Node, and is useful for accessing the field via an interface.
func (v *ComponentConnectionEdgesComponentEdge) GetNode() *Component { return v.Node }

type ComponentFilter struct {
	ComponentCcrn []string      `json:"componentCcrn"`
	State         []StateFilter `json:"state"`
	ServiceCcrn   []string      `json:"serviceCcrn"`
}

// GetComponentCcrn returns ComponentFilter.ComponentCcrn, and is useful for accessing the field via an interface.
func (v *ComponentFilter) GetComponentCcrn() []string { return v.ComponentCcrn }

// GetState returns ComponentFilter.State, and is useful for accessing the field via an interface.
func (v *ComponentFilter) GetState() []StateFilter { return v.State }

// GetServiceCcrn returns ComponentFilter.ServiceCcrn, and is useful for accessing the field via an interface.
func (v *ComponentFilter) GetServiceCcrn() []string { return v.ServiceCcrn }

type ComponentInput struct {
	Ccrn string              `json:"ccrn"`
	Type ComponentTypeValues `json:"type"`
}

// GetCcrn returns ComponentInput.Ccrn, and is useful for accessing the field via an interface.
func (v *ComponentInput) GetCcrn() string { return v.Ccrn }

// GetType returns ComponentInput.Type, and is useful for accessing the field via an interface.
func (v *ComponentInput) GetType() ComponentTypeValues { return v.Type }

// ComponentInstance includes the requested fields of the GraphQL type ComponentInstance.
type ComponentInstance struct {
	Id                 string `json:"id"`
	Ccrn               string `json:"ccrn"`
	Count              int    `json:"count"`
	ComponentVersionId string `json:"componentVersionId"`
	ServiceId          string `json:"serviceId"`
	Region             string `json:"region"`
	Cluster            string `json:"cluster"`
	Namespace          string `json:"namespace"`
	Domain             string `json:"domain"`
	Project            string `json:"project"`
}

// GetId returns ComponentInstance.Id, and is useful for accessing the field via an interface.
func (v *ComponentInstance) GetId() string { return v.Id }

// GetCcrn returns ComponentInstance.Ccrn, and is useful for accessing the field via an interface.
func (v *ComponentInstance) GetCcrn() string { return v.Ccrn }

// GetCount returns ComponentInstance.Count, and is useful for accessing the field via an interface.
func (v *ComponentInstance) GetCount() int { return v.Count }

// GetComponentVersionId returns ComponentInstance.ComponentVersionId, and is useful for accessing the field via an interface.
func (v *ComponentInstance) GetComponentVersionId() string { return v.ComponentVersionId }

// GetServiceId returns ComponentInstance.ServiceId, and is useful for accessing the field via an interface.
func (v *ComponentInstance) GetServiceId() string { return v.ServiceId }

// GetRegion returns ComponentInstance.Region, and is useful for accessing the field via an interface.
func (v *ComponentInstance) GetRegion() string { return v.Region }

// GetCluster returns ComponentInstance.Cluster, and is useful for accessing the field via an interface.
func (v *ComponentInstance) GetCluster() string { return v.Cluster }

// GetNamespace returns ComponentInstance.Namespace, and is useful for accessing the field via an interface.
func (v *ComponentInstance) GetNamespace() string { return v.Namespace }

// GetDomain returns ComponentInstance.Domain, and is useful for accessing the field via an interface.
func (v *ComponentInstance) GetDomain() string { return v.Domain }

// GetProject returns ComponentInstance.Project, and is useful for accessing the field via an interface.
func (v *ComponentInstance) GetProject() string { return v.Project }

type ComponentInstanceFilter struct {
	ComponentVersionDigest []string                 `json:"componentVersionDigest"`
	ServiceCcrn            []string                 `json:"serviceCcrn"`
	Ccrn                   []string                 `json:"ccrn"`
	Region                 []string                 `json:"region"`
	Cluster                []string                 `json:"cluster"`
	Namespace              []string                 `json:"namespace"`
	Domain                 []string                 `json:"domain"`
	Project                []string                 `json:"project"`
	Pod                    []string                 `json:"pod"`
	Container              []string                 `json:"container"`
	Type                   []ComponentInstanceTypes `json:"type"`
	Context                []map[string]interface{} `json:"context"`
	SupportGroup           []string                 `json:"supportGroup"`
	Search                 []string                 `json:"search"`
	State                  []StateFilter            `json:"state"`
	ParentId               []string                 `json:"parentId"`
}

// GetComponentVersionDigest returns ComponentInstanceFilter.ComponentVersionDigest, and is useful for accessing the field via an interface.
func (v *ComponentInstanceFilter) GetComponentVersionDigest() []string {
	return v.ComponentVersionDigest
}

// GetServiceCcrn returns ComponentInstanceFilter.ServiceCcrn, and is useful for accessing the field via an interface.
func (v *ComponentInstanceFilter) GetServiceCcrn() []string { return v.ServiceCcrn }

// GetCcrn returns ComponentInstanceFilter.Ccrn, and is useful for accessing the field via an interface.
func (v *ComponentInstanceFilter) GetCcrn() []string { return v.Ccrn }

// GetRegion returns ComponentInstanceFilter.Region, and is useful for accessing the field via an interface.
func (v *ComponentInstanceFilter) GetRegion() []string { return v.Region }

// GetCluster returns ComponentInstanceFilter.Cluster, and is useful for accessing the field via an interface.
func (v *ComponentInstanceFilter) GetCluster() []string { return v.Cluster }

// GetNamespace returns ComponentInstanceFilter.Namespace, and is useful for accessing the field via an interface.
func (v *ComponentInstanceFilter) GetNamespace() []string { return v.Namespace }

// GetDomain returns ComponentInstanceFilter.Domain, and is useful for accessing the field via an interface.
func (v *ComponentInstanceFilter) GetDomain() []string { return v.Domain }

// GetProject returns ComponentInstanceFilter.Project, and is useful for accessing the field via an interface.
func (v *ComponentInstanceFilter) GetProject() []string { return v.Project }

// GetPod returns ComponentInstanceFilter.Pod, and is useful for accessing the field via an interface.
func (v *ComponentInstanceFilter) GetPod() []string { return v.Pod }

// GetContainer returns ComponentInstanceFilter.Container, and is useful for accessing the field via an interface.
func (v *ComponentInstanceFilter) GetContainer() []string { return v.Container }

// GetType returns ComponentInstanceFilter.Type, and is useful for accessing the field via an interface.
func (v *ComponentInstanceFilter) GetType() []ComponentInstanceTypes { return v.Type }

// GetContext returns ComponentInstanceFilter.Context, and is useful for accessing the field via an interface.
func (v *ComponentInstanceFilter) GetContext() []map[string]interface{} { return v.Context }

// GetSupportGroup returns ComponentInstanceFilter.SupportGroup, and is useful for accessing the field via an interface.
func (v *ComponentInstanceFilter) GetSupportGroup() []string { return v.SupportGroup }

// GetSearch returns ComponentInstanceFilter.Search, and is useful for accessing the field via an interface.
func (v *ComponentInstanceFilter) GetSearch() []string { return v.Search }

// GetState returns ComponentInstanceFilter.State, and is useful for accessing the field via an interface.
func (v *ComponentInstanceFilter) GetState() []StateFilter { return v.State }

// GetParentId returns ComponentInstanceFilter.ParentId, and is useful for accessing the field via an interface.
func (v *ComponentInstanceFilter) GetParentId() []string { return v.ParentId }

type ComponentInstanceInput struct {
	Ccrn               string                 `json:"ccrn"`
	Count              int                    `json:"count"`
	ComponentVersionId string                 `json:"componentVersionId"`
	ServiceId          string                 `json:"serviceId"`
	Region             string                 `json:"region"`
	Cluster            string                 `json:"cluster"`
	Namespace          string                 `json:"namespace"`
	Domain             string                 `json:"domain"`
	Project            string                 `json:"project"`
	Pod                string                 `json:"pod"`
	Container          string                 `json:"container"`
	Type               ComponentInstanceTypes `json:"type"`
	Context            map[string]interface{} `json:"context"`
	Uuid               string                 `json:"uuid"`
	ParentId           string                 `json:"parentId"`
}

// GetCcrn returns ComponentInstanceInput.Ccrn, and is useful for accessing the field via an interface.
func (v *ComponentInstanceInput) GetCcrn() string { return v.Ccrn }

// GetCount returns ComponentInstanceInput.Count, and is useful for accessing the field via an interface.
func (v *ComponentInstanceInput) GetCount() int { return v.Count }

// GetComponentVersionId returns ComponentInstanceInput.ComponentVersionId, and is useful for accessing the field via an interface.
func (v *ComponentInstanceInput) GetComponentVersionId() string { return v.ComponentVersionId }

// GetServiceId returns ComponentInstanceInput.ServiceId, and is useful for accessing the field via an interface.
func (v *ComponentInstanceInput) GetServiceId() string { return v.ServiceId }

// GetRegion returns ComponentInstanceInput.Region, and is useful for accessing the field via an interface.
func (v *ComponentInstanceInput) GetRegion() string { return v.Region }

// GetCluster returns ComponentInstanceInput.Cluster, and is useful for accessing the field via an interface.
func (v *ComponentInstanceInput) GetCluster() string { return v.Cluster }

// GetNamespace returns ComponentInstanceInput.Namespace, and is useful for accessing the field via an interface.
func (v *ComponentInstanceInput) GetNamespace() string { return v.Namespace }

// GetDomain returns ComponentInstanceInput.Domain, and is useful for accessing the field via an interface.
func (v *ComponentInstanceInput) GetDomain() string { return v.Domain }

// GetProject returns ComponentInstanceInput.Project, and is useful for accessing the field via an interface.
func (v *ComponentInstanceInput) GetProject() string { return v.Project }

// GetPod returns ComponentInstanceInput.Pod, and is useful for accessing the field via an interface.
func (v *ComponentInstanceInput) GetPod() string { return v.Pod }

// GetContainer returns ComponentInstanceInput.Container, and is useful for accessing the field via an interface.
func (v *ComponentInstanceInput) GetContainer() string { return v.Container }

// GetType returns ComponentInstanceInput.Type, and is useful for accessing the field via an interface.
func (v *ComponentInstanceInput) GetType() ComponentInstanceTypes { return v.Type }

// GetContext returns ComponentInstanceInput.Context, and is useful for accessing the field via an interface.
func (v *ComponentInstanceInput) GetContext() map[string]interface{} { return v.Context }

// GetUuid returns ComponentInstanceInput.Uuid, and is useful for accessing the field via an interface.
func (v *ComponentInstanceInput) GetUuid() string { return v.Uuid }

// GetParentId returns ComponentInstanceInput.ParentId, and is useful for accessing the field via an interface.
func (v *ComponentInstanceInput) GetParentId() string { return v.ParentId }

type ComponentInstanceTypes string

const (
	ComponentInstanceTypesUnknown              ComponentInstanceTypes = "Unknown"
	ComponentInstanceTypesProject              ComponentInstanceTypes = "Project"
	ComponentInstanceTypesServer               ComponentInstanceTypes = "Server"
	ComponentInstanceTypesSecuritygroup        ComponentInstanceTypes = "SecurityGroup"
	ComponentInstanceTypesSecuritygrouprule    ComponentInstanceTypes = "SecurityGroupRule"
	ComponentInstanceTypesDnszone              ComponentInstanceTypes = "DnsZone"
	ComponentInstanceTypesFloatingip           ComponentInstanceTypes = "FloatingIp"
	ComponentInstanceTypesRbacpolicy           ComponentInstanceTypes = "RbacPolicy"
	ComponentInstanceTypesUser                 ComponentInstanceTypes = "User"
	ComponentInstanceTypesContainer            ComponentInstanceTypes = "Container"
	ComponentInstanceTypesRecordset            ComponentInstanceTypes = "RecordSet"
	ComponentInstanceTypesProjectconfiguration ComponentInstanceTypes = "ProjectConfiguration"
)

type ComponentTypeValues string

const (
	ComponentTypeValuesContainerimage      ComponentTypeValues = "containerImage"
	ComponentTypeValuesVirtualmachineimage ComponentTypeValues = "virtualMachineImage"
	ComponentTypeValuesRepository          ComponentTypeValues = "repository"
)

// ComponentVersion includes the requested fields of the GraphQL type ComponentVersion.
type ComponentVersion struct {
	Id           string `json:"id"`
	Version      string `json:"version"`
	ComponentId  string `json:"componentId"`
	Tag          string `json:"tag"`
	Repository   string `json:"repository"`
	Organization string `json:"organization"`
}

// GetId returns ComponentVersion.Id, and is useful for accessing the field via an interface.
func (v *ComponentVersion) GetId() string { return v.Id }

// GetVersion returns ComponentVersion.Version, and is useful for accessing the field via an interface.
func (v *ComponentVersion) GetVersion() string { return v.Version }

// GetComponentId returns ComponentVersion.ComponentId, and is useful for accessing the field via an interface.
func (v *ComponentVersion) GetComponentId() string { return v.ComponentId }

// GetTag returns ComponentVersion.Tag, and is useful for accessing the field via an interface.
func (v *ComponentVersion) GetTag() string { return v.Tag }

// GetRepository returns ComponentVersion.Repository, and is useful for accessing the field via an interface.
func (v *ComponentVersion) GetRepository() string { return v.Repository }

// GetOrganization returns ComponentVersion.Organization, and is useful for accessing the field via an interface.
func (v *ComponentVersion) GetOrganization() string { return v.Organization }

// ComponentVersionConnection includes the requested fields of the GraphQL type ComponentVersionConnection.
type ComponentVersionConnection struct {
	TotalCount int                                                    `json:"totalCount"`
	Edges      []*ComponentVersionConnectionEdgesComponentVersionEdge `json:"edges"`
}

// GetTotalCount returns ComponentVersionConnection.TotalCount, and is useful for accessing the field via an interface.
func (v *ComponentVersionConnection) GetTotalCount() int { return v.TotalCount }

// GetEdges returns ComponentVersionConnection.Edges, and is useful for accessing the field via an interface.
func (v *ComponentVersionConnection) GetEdges() []*ComponentVersionConnectionEdgesComponentVersionEdge {
	return v.Edges
}

// ComponentVersionConnectionEdgesComponentVersionEdge includes the requested fields of the GraphQL type ComponentVersionEdge.
type ComponentVersionConnectionEdgesComponentVersionEdge struct {
	Node *ComponentVersion `json:"node"`
}

// GetNode returns ComponentVersionConnectionEdgesComponentVersionEdge.Node, and is useful for accessing the field via an interface.
func (v *ComponentVersionConnectionEdgesComponentVersionEdge) GetNode() *ComponentVersion {
	return v.Node
}

type ComponentVersionFilter struct {
	ComponentId       []string      `json:"componentId"`
	ComponentCcrn     []string      `json:"componentCcrn"`
	IssueId           []string      `json:"issueId"`
	IssueRepositoryId []string      `json:"issueRepositoryId"`
	Version           []string      `json:"version"`
	ServiceId         []string      `json:"serviceId"`
	ServiceCcrn       []string      `json:"serviceCcrn"`
	State             []StateFilter `json:"state"`
	Tag               []string      `json:"tag"`
	Repository        []string      `json:"repository"`
	Organization      []string      `json:"organization"`
}

// GetComponentId returns ComponentVersionFilter.ComponentId, and is useful for accessing the field via an interface.
func (v *ComponentVersionFilter) GetComponentId() []string { return v.ComponentId }

// GetComponentCcrn returns ComponentVersionFilter.ComponentCcrn, and is useful for accessing the field via an interface.
func (v *ComponentVersionFilter) GetComponentCcrn() []string { return v.ComponentCcrn }

// GetIssueId returns ComponentVersionFilter.IssueId, and is useful for accessing the field via an interface.
func (v *ComponentVersionFilter) GetIssueId() []string { return v.IssueId }

// GetIssueRepositoryId returns ComponentVersionFilter.IssueRepositoryId, and is useful for accessing the field via an interface.
func (v *ComponentVersionFilter) GetIssueRepositoryId() []string { return v.IssueRepositoryId }

// GetVersion returns ComponentVersionFilter.Version, and is useful for accessing the field via an interface.
func (v *ComponentVersionFilter) GetVersion() []string { return v.Version }

// GetServiceId returns ComponentVersionFilter.ServiceId, and is useful for accessing the field via an interface.
func (v *ComponentVersionFilter) GetServiceId() []string { return v.ServiceId }

// GetServiceCcrn returns ComponentVersionFilter.ServiceCcrn, and is useful for accessing the field via an interface.
func (v *ComponentVersionFilter) GetServiceCcrn() []string { return v.ServiceCcrn }

// GetState returns ComponentVersionFilter.State, and is useful for accessing the field via an interface.
func (v *ComponentVersionFilter) GetState() []StateFilter { return v.State }

// GetTag returns ComponentVersionFilter.Tag, and is useful for accessing the field via an interface.
func (v *ComponentVersionFilter) GetTag() []string { return v.Tag }

// GetRepository returns ComponentVersionFilter.Repository, and is useful for accessing the field via an interface.
func (v *ComponentVersionFilter) GetRepository() []string { return v.Repository }

// GetOrganization returns ComponentVersionFilter.Organization, and is useful for accessing the field via an interface.
func (v *ComponentVersionFilter) GetOrganization() []string { return v.Organization }

type ComponentVersionInput struct {
	Version      string `json:"version"`
	ComponentId  string `json:"componentId"`
	Tag          string `json:"tag"`
	Repository   string `json:"repository"`
	Organization string `json:"organization"`
}

// GetVersion returns ComponentVersionInput.Version, and is useful for accessing the field via an interface.
func (v *ComponentVersionInput) GetVersion() string { return v.Version }

// GetComponentId returns ComponentVersionInput.ComponentId, and is useful for accessing the field via an interface.
func (v *ComponentVersionInput) GetComponentId() string { return v.ComponentId }

// GetTag returns ComponentVersionInput.Tag, and is useful for accessing the field via an interface.
func (v *ComponentVersionInput) GetTag() string { return v.Tag }

// GetRepository returns ComponentVersionInput.Repository, and is useful for accessing the field via an interface.
func (v *ComponentVersionInput) GetRepository() string { return v.Repository }

// GetOrganization returns ComponentVersionInput.Organization, and is useful for accessing the field via an interface.
func (v *ComponentVersionInput) GetOrganization() string { return v.Organization }

// CreateComponentInstanceResponse is returned by CreateComponentInstance on success.
type CreateComponentInstanceResponse struct {
	CreateComponentInstance *ComponentInstance `json:"createComponentInstance"`
}

// GetCreateComponentInstance returns CreateComponentInstanceResponse.CreateComponentInstance, and is useful for accessing the field via an interface.
func (v *CreateComponentInstanceResponse) GetCreateComponentInstance() *ComponentInstance {
	return v.CreateComponentInstance
}

// CreateComponentResponse is returned by CreateComponent on success.
type CreateComponentResponse struct {
	CreateComponent *Component `json:"createComponent"`
}

// GetCreateComponent returns CreateComponentResponse.CreateComponent, and is useful for accessing the field via an interface.
func (v *CreateComponentResponse) GetCreateComponent() *Component { return v.CreateComponent }

// CreateComponentVersionResponse is returned by CreateComponentVersion on success.
type CreateComponentVersionResponse struct {
	CreateComponentVersion *ComponentVersion `json:"createComponentVersion"`
}

// GetCreateComponentVersion returns CreateComponentVersionResponse.CreateComponentVersion, and is useful for accessing the field via an interface.
func (v *CreateComponentVersionResponse) GetCreateComponentVersion() *ComponentVersion {
	return v.CreateComponentVersion
}

// CreateScannerRunResponse is returned by CreateScannerRun on success.
type CreateScannerRunResponse struct {
	CreateScannerRun bool `json:"createScannerRun"`
}

// GetCreateScannerRun returns CreateScannerRunResponse.CreateScannerRun, and is useful for accessing the field via an interface.
func (v *CreateScannerRunResponse) GetCreateScannerRun() bool { return v.CreateScannerRun }

// CreateServiceResponse is returned by CreateService on success.
type CreateServiceResponse struct {
	CreateService *Service `json:"createService"`
}

// GetCreateService returns CreateServiceResponse.CreateService, and is useful for accessing the field via an interface.
func (v *CreateServiceResponse) GetCreateService() *Service { return v.CreateService }

// CreateSupportGroupResponse is returned by CreateSupportGroup on success.
type CreateSupportGroupResponse struct {
	CreateSupportGroup *SupportGroup `json:"createSupportGroup"`
}

// GetCreateSupportGroup returns CreateSupportGroupResponse.CreateSupportGroup, and is useful for accessing the field via an interface.
func (v *CreateSupportGroupResponse) GetCreateSupportGroup() *SupportGroup {
	return v.CreateSupportGroup
}

// ListComponentInstancesComponentInstancesComponentInstanceConnection includes the requested fields of the GraphQL type ComponentInstanceConnection.
type ListComponentInstancesComponentInstancesComponentInstanceConnection struct {
	TotalCount int                                                                                              `json:"totalCount"`
	Edges      []*ListComponentInstancesComponentInstancesComponentInstanceConnectionEdgesComponentInstanceEdge `json:"edges"`
}

// GetTotalCount returns ListComponentInstancesComponentInstancesComponentInstanceConnection.TotalCount, and is useful for accessing the field via an interface.
func (v *ListComponentInstancesComponentInstancesComponentInstanceConnection) GetTotalCount() int {
	return v.TotalCount
}

// GetEdges returns ListComponentInstancesComponentInstancesComponentInstanceConnection.Edges, and is useful for accessing the field via an interface.
func (v *ListComponentInstancesComponentInstancesComponentInstanceConnection) GetEdges() []*ListComponentInstancesComponentInstancesComponentInstanceConnectionEdgesComponentInstanceEdge {
	return v.Edges
}

// ListComponentInstancesComponentInstancesComponentInstanceConnectionEdgesComponentInstanceEdge includes the requested fields of the GraphQL type ComponentInstanceEdge.
type ListComponentInstancesComponentInstancesComponentInstanceConnectionEdgesComponentInstanceEdge struct {
	Node *ListComponentInstancesComponentInstancesComponentInstanceConnectionEdgesComponentInstanceEdgeNodeComponentInstance `json:"node"`
}

// GetNode returns ListComponentInstancesComponentInstancesComponentInstanceConnectionEdgesComponentInstanceEdge.Node, and is useful for accessing the field via an interface.
func (v *ListComponentInstancesComponentInstancesComponentInstanceConnectionEdgesComponentInstanceEdge) GetNode() *ListComponentInstancesComponentInstancesComponentInstanceConnectionEdgesComponentInstanceEdgeNodeComponentInstance {
	return v.Node
}

// ListComponentInstancesComponentInstancesComponentInstanceConnectionEdgesComponentInstanceEdgeNodeComponentInstance includes the requested fields of the GraphQL type ComponentInstance.
type ListComponentInstancesComponentInstancesComponentInstanceConnectionEdgesComponentInstanceEdgeNodeComponentInstance struct {
	Id string `json:"id"`
}

// GetId returns ListComponentInstancesComponentInstancesComponentInstanceConnectionEdgesComponentInstanceEdgeNodeComponentInstance.Id, and is useful for accessing the field via an interface.
func (v *ListComponentInstancesComponentInstancesComponentInstanceConnectionEdgesComponentInstanceEdgeNodeComponentInstance) GetId() string {
	return v.Id
}

// ListComponentInstancesResponse is returned by ListComponentInstances on success.
type ListComponentInstancesResponse struct {
	ComponentInstances *ListComponentInstancesComponentInstancesComponentInstanceConnection `json:"ComponentInstances"`
}

// GetComponentInstances returns ListComponentInstancesResponse.ComponentInstances, and is useful for accessing the field via an interface.
func (v *ListComponentInstancesResponse) GetComponentInstances() *ListComponentInstancesComponentInstancesComponentInstanceConnection {
	return v.ComponentInstances
}

// ListComponentVersionsResponse is returned by ListComponentVersions on success.
type ListComponentVersionsResponse struct {
	ComponentVersions *ComponentVersionConnection `json:"ComponentVersions"`
}

// GetComponentVersions returns ListComponentVersionsResponse.ComponentVersions, and is useful for accessing the field via an interface.
func (v *ListComponentVersionsResponse) GetComponentVersions() *ComponentVersionConnection {
	return v.ComponentVersions
}

// ListComponentsResponse is returned by ListComponents on success.
type ListComponentsResponse struct {
	Components *ComponentConnection `json:"Components"`
}

// GetComponents returns ListComponentsResponse.Components, and is useful for accessing the field via an interface.
func (v *ListComponentsResponse) GetComponents() *ComponentConnection { return v.Components }

// ListServicesResponse is returned by ListServices on success.
type ListServicesResponse struct {
	Services *ListServicesServicesServiceConnection `json:"Services"`
}

// GetServices returns ListServicesResponse.Services, and is useful for accessing the field via an interface.
func (v *ListServicesResponse) GetServices() *ListServicesServicesServiceConnection {
	return v.Services
}

// ListServicesServicesServiceConnection includes the requested fields of the GraphQL type ServiceConnection.
type ListServicesServicesServiceConnection struct {
	TotalCount int                                                      `json:"totalCount"`
	Edges      []*ListServicesServicesServiceConnectionEdgesServiceEdge `json:"edges"`
}

// GetTotalCount returns ListServicesServicesServiceConnection.TotalCount, and is useful for accessing the field via an interface.
func (v *ListServicesServicesServiceConnection) GetTotalCount() int { return v.TotalCount }

// GetEdges returns ListServicesServicesServiceConnection.Edges, and is useful for accessing the field via an interface.
func (v *ListServicesServicesServiceConnection) GetEdges() []*ListServicesServicesServiceConnectionEdgesServiceEdge {
	return v.Edges
}

// ListServicesServicesServiceConnectionEdgesServiceEdge includes the requested fields of the GraphQL type ServiceEdge.
type ListServicesServicesServiceConnectionEdgesServiceEdge struct {
	Node *ListServicesServicesServiceConnectionEdgesServiceEdgeNodeService `json:"node"`
}

// GetNode returns ListServicesServicesServiceConnectionEdgesServiceEdge.Node, and is useful for accessing the field via an interface.
func (v *ListServicesServicesServiceConnectionEdgesServiceEdge) GetNode() *ListServicesServicesServiceConnectionEdgesServiceEdgeNodeService {
	return v.Node
}

// ListServicesServicesServiceConnectionEdgesServiceEdgeNodeService includes the requested fields of the GraphQL type Service.
type ListServicesServicesServiceConnectionEdgesServiceEdgeNodeService struct {
	Id string `json:"id"`
}

// GetId returns ListServicesServicesServiceConnectionEdgesServiceEdgeNodeService.Id, and is useful for accessing the field via an interface.
func (v *ListServicesServicesServiceConnectionEdgesServiceEdgeNodeService) GetId() string {
	return v.Id
}

// ListSupportGroupsResponse is returned by ListSupportGroups on success.
type ListSupportGroupsResponse struct {
	SupportGroups *ListSupportGroupsSupportGroupsSupportGroupConnection `json:"SupportGroups"`
}

// GetSupportGroups returns ListSupportGroupsResponse.SupportGroups, and is useful for accessing the field via an interface.
func (v *ListSupportGroupsResponse) GetSupportGroups() *ListSupportGroupsSupportGroupsSupportGroupConnection {
	return v.SupportGroups
}

// ListSupportGroupsSupportGroupsSupportGroupConnection includes the requested fields of the GraphQL type SupportGroupConnection.
type ListSupportGroupsSupportGroupsSupportGroupConnection struct {
	TotalCount int                                                                          `json:"totalCount"`
	Edges      []*ListSupportGroupsSupportGroupsSupportGroupConnectionEdgesSupportGroupEdge `json:"edges"`
}

// GetTotalCount returns ListSupportGroupsSupportGroupsSupportGroupConnection.TotalCount, and is useful for accessing the field via an interface.
func (v *ListSupportGroupsSupportGroupsSupportGroupConnection) GetTotalCount() int {
	return v.TotalCount
}

// GetEdges returns ListSupportGroupsSupportGroupsSupportGroupConnection.Edges, and is useful for accessing the field via an interface.
func (v *ListSupportGroupsSupportGroupsSupportGroupConnection) GetEdges() []*ListSupportGroupsSupportGroupsSupportGroupConnectionEdgesSupportGroupEdge {
	return v.Edges
}

// ListSupportGroupsSupportGroupsSupportGroupConnectionEdgesSupportGroupEdge includes the requested fields of the GraphQL type SupportGroupEdge.
type ListSupportGroupsSupportGroupsSupportGroupConnectionEdgesSupportGroupEdge struct {
	Node *ListSupportGroupsSupportGroupsSupportGroupConnectionEdgesSupportGroupEdgeNodeSupportGroup `json:"node"`
}

// GetNode returns ListSupportGroupsSupportGroupsSupportGroupConnectionEdgesSupportGroupEdge.Node, and is useful for accessing the field via an interface.
func (v *ListSupportGroupsSupportGroupsSupportGroupConnectionEdgesSupportGroupEdge) GetNode() *ListSupportGroupsSupportGroupsSupportGroupConnectionEdgesSupportGroupEdgeNodeSupportGroup {
	return v.Node
}

// ListSupportGroupsSupportGroupsSupportGroupConnectionEdgesSupportGroupEdgeNodeSupportGroup includes the requested fields of the GraphQL type SupportGroup.
type ListSupportGroupsSupportGroupsSupportGroupConnectionEdgesSupportGroupEdgeNodeSupportGroup struct {
	Id string `json:"id"`
}

// GetId returns ListSupportGroupsSupportGroupsSupportGroupConnectionEdgesSupportGroupEdgeNodeSupportGroup.Id, and is useful for accessing the field via an interface.
func (v *ListSupportGroupsSupportGroupsSupportGroupConnectionEdgesSupportGroupEdgeNodeSupportGroup) GetId() string {
	return v.Id
}

type ScannerRunInput struct {
	Uuid string `json:"uuid"`
	Tag  string `json:"tag"`
}

// GetUuid returns ScannerRunInput.Uuid, and is useful for accessing the field via an interface.
func (v *ScannerRunInput) GetUuid() string { return v.Uuid }

// GetTag returns ScannerRunInput.Tag, and is useful for accessing the field via an interface.
func (v *ScannerRunInput) GetTag() string { return v.Tag }

// Service includes the requested fields of the GraphQL type Service.
type Service struct {
	Id   string `json:"id"`
	Ccrn string `json:"ccrn"`
}

// GetId returns Service.Id, and is useful for accessing the field via an interface.
func (v *Service) GetId() string { return v.Id }

// GetCcrn returns Service.Ccrn, and is useful for accessing the field via an interface.
func (v *Service) GetCcrn() string { return v.Ccrn }

type ServiceFilter struct {
	ServiceCcrn      []string      `json:"serviceCcrn"`
	Domain           []string      `json:"domain"`
	Region           []string      `json:"region"`
	UniqueUserId     []string      `json:"uniqueUserId"`
	Type             []int         `json:"type"`
	UserName         []string      `json:"userName"`
	SupportGroupCcrn []string      `json:"supportGroupCcrn"`
	Search           []string      `json:"search"`
	State            []StateFilter `json:"state"`
}

// GetServiceCcrn returns ServiceFilter.ServiceCcrn, and is useful for accessing the field via an interface.
func (v *ServiceFilter) GetServiceCcrn() []string { return v.ServiceCcrn }

// GetDomain returns ServiceFilter.Domain, and is useful for accessing the field via an interface.
func (v *ServiceFilter) GetDomain() []string { return v.Domain }

// GetRegion returns ServiceFilter.Region, and is useful for accessing the field via an interface.
func (v *ServiceFilter) GetRegion() []string { return v.Region }

// GetUniqueUserId returns ServiceFilter.UniqueUserId, and is useful for accessing the field via an interface.
func (v *ServiceFilter) GetUniqueUserId() []string { return v.UniqueUserId }

// GetType returns ServiceFilter.Type, and is useful for accessing the field via an interface.
func (v *ServiceFilter) GetType() []int { return v.Type }

// GetUserName returns ServiceFilter.UserName, and is useful for accessing the field via an interface.
func (v *ServiceFilter) GetUserName() []string { return v.UserName }

// GetSupportGroupCcrn returns ServiceFilter.SupportGroupCcrn, and is useful for accessing the field via an interface.
func (v *ServiceFilter) GetSupportGroupCcrn() []string { return v.SupportGroupCcrn }

// GetSearch returns ServiceFilter.Search, and is useful for accessing the field via an interface.
func (v *ServiceFilter) GetSearch() []string { return v.Search }

// GetState returns ServiceFilter.State, and is useful for accessing the field via an interface.
func (v *ServiceFilter) GetState() []StateFilter { return v.State }

type ServiceInput struct {
	Ccrn   string `json:"ccrn"`
	Domain string `json:"domain"`
	Region string `json:"region"`
}

// GetCcrn returns ServiceInput.Ccrn, and is useful for accessing the field via an interface.
func (v *ServiceInput) GetCcrn() string { return v.Ccrn }

// GetDomain returns ServiceInput.Domain, and is useful for accessing the field via an interface.
func (v *ServiceInput) GetDomain() string { return v.Domain }

// GetRegion returns ServiceInput.Region, and is useful for accessing the field via an interface.
func (v *ServiceInput) GetRegion() string { return v.Region }

type StateFilter string

const (
	StateFilterActive  StateFilter = "Active"
	StateFilterDeleted StateFilter = "Deleted"
)

// SupportGroup includes the requested fields of the GraphQL type SupportGroup.
type SupportGroup struct {
	Id   string `json:"id"`
	Ccrn string `json:"ccrn"`
}

// GetId returns SupportGroup.Id, and is useful for accessing the field via an interface.
func (v *SupportGroup) GetId() string { return v.Id }

// GetCcrn returns SupportGroup.Ccrn, and is useful for accessing the field via an interface.
func (v *SupportGroup) GetCcrn() string { return v.Ccrn }

type SupportGroupFilter struct {
	SupportGroupCcrn []string      `json:"supportGroupCcrn"`
	UserIds          []string      `json:"userIds"`
	State            []StateFilter `json:"state"`
	IssueIds         []string      `json:"issueIds"`
}

// GetSupportGroupCcrn returns SupportGroupFilter.SupportGroupCcrn, and is useful for accessing the field via an interface.
func (v *SupportGroupFilter) GetSupportGroupCcrn() []string { return v.SupportGroupCcrn }

// GetUserIds returns SupportGroupFilter.UserIds, and is useful for accessing the field via an interface.
func (v *SupportGroupFilter) GetUserIds() []string { return v.UserIds }

// GetState returns SupportGroupFilter.State, and is useful for accessing the field via an interface.
func (v *SupportGroupFilter) GetState() []StateFilter { return v.State }

// GetIssueIds returns SupportGroupFilter.IssueIds, and is useful for accessing the field via an interface.
func (v *SupportGroupFilter) GetIssueIds() []string { return v.IssueIds }

type SupportGroupInput struct {
	Ccrn string `json:"ccrn"`
}

// GetCcrn returns SupportGroupInput.Ccrn, and is useful for accessing the field via an interface.
func (v *SupportGroupInput) GetCcrn() string { return v.Ccrn }

// UpdateComponentInstanceResponse is returned by UpdateComponentInstance on success.
type UpdateComponentInstanceResponse struct {
	UpdateComponentInstance *ComponentInstance `json:"updateComponentInstance"`
}

// GetUpdateComponentInstance returns UpdateComponentInstanceResponse.UpdateComponentInstance, and is useful for accessing the field via an interface.
func (v *UpdateComponentInstanceResponse) GetUpdateComponentInstance() *ComponentInstance {
	return v.UpdateComponentInstance
}

// __AddServiceToSupportGroupInput is used internally by genqlient
type __AddServiceToSupportGroupInput struct {
	SupportGroupId string `json:"supportGroupId"`
	ServiceId      string `json:"serviceId"`
}

// GetSupportGroupId returns __AddServiceToSupportGroupInput.SupportGroupId, and is useful for accessing the field via an interface.
func (v *__AddServiceToSupportGroupInput) GetSupportGroupId() string { return v.SupportGroupId }

// GetServiceId returns __AddServiceToSupportGroupInput.ServiceId, and is useful for accessing the field via an interface.
func (v *__AddServiceToSupportGroupInput) GetServiceId() string { return v.ServiceId }

// __CompleteScannerRunInput is used internally by genqlient
type __CompleteScannerRunInput struct {
	Uuid string `json:"uuid"`
}

// GetUuid returns __CompleteScannerRunInput.Uuid, and is useful for accessing the field via an interface.
func (v *__CompleteScannerRunInput) GetUuid() string { return v.Uuid }

// __CreateComponentInput is used internally by genqlient
type __CreateComponentInput struct {
	Input *ComponentInput `json:"input,omitempty"`
}

// GetInput returns __CreateComponentInput.Input, and is useful for accessing the field via an interface.
func (v *__CreateComponentInput) GetInput() *ComponentInput { return v.Input }

// __CreateComponentInstanceInput is used internally by genqlient
type __CreateComponentInstanceInput struct {
	Input *ComponentInstanceInput `json:"input,omitempty"`
}

// GetInput returns __CreateComponentInstanceInput.Input, and is useful for accessing the field via an interface.
func (v *__CreateComponentInstanceInput) GetInput() *ComponentInstanceInput { return v.Input }

// __CreateComponentVersionInput is used internally by genqlient
type __CreateComponentVersionInput struct {
	Input *ComponentVersionInput `json:"input,omitempty"`
}

// GetInput returns __CreateComponentVersionInput.Input, and is useful for accessing the field via an interface.
func (v *__CreateComponentVersionInput) GetInput() *ComponentVersionInput { return v.Input }

// __CreateScannerRunInput is used internally by genqlient
type __CreateScannerRunInput struct {
	Input *ScannerRunInput `json:"input,omitempty"`
}

// GetInput returns __CreateScannerRunInput.Input, and is useful for accessing the field via an interface.
func (v *__CreateScannerRunInput) GetInput() *ScannerRunInput { return v.Input }

// __CreateServiceInput is used internally by genqlient
type __CreateServiceInput struct {
	Input *ServiceInput `json:"input,omitempty"`
}

// GetInput returns __CreateServiceInput.Input, and is useful for accessing the field via an interface.
func (v *__CreateServiceInput) GetInput() *ServiceInput { return v.Input }

// __CreateSupportGroupInput is used internally by genqlient
type __CreateSupportGroupInput struct {
	Input *SupportGroupInput `json:"input,omitempty"`
}

// GetInput returns __CreateSupportGroupInput.Input, and is useful for accessing the field via an interface.
func (v *__CreateSupportGroupInput) GetInput() *SupportGroupInput { return v.Input }

// __ListComponentInstancesInput is used internally by genqlient
type __ListComponentInstancesInput struct {
	Filter *ComponentInstanceFilter `json:"filter,omitempty"`
}

// GetFilter returns __ListComponentInstancesInput.Filter, and is useful for accessing the field via an interface.
func (v *__ListComponentInstancesInput) GetFilter() *ComponentInstanceFilter { return v.Filter }

// __ListComponentVersionsInput is used internally by genqlient
type __ListComponentVersionsInput struct {
	Filter *ComponentVersionFilter `json:"filter,omitempty"`
}

// GetFilter returns __ListComponentVersionsInput.Filter, and is useful for accessing the field via an interface.
func (v *__ListComponentVersionsInput) GetFilter() *ComponentVersionFilter { return v.Filter }

// __ListComponentsInput is used internally by genqlient
type __ListComponentsInput struct {
	Filter *ComponentFilter `json:"filter,omitempty"`
}

// GetFilter returns __ListComponentsInput.Filter, and is useful for accessing the field via an interface.
func (v *__ListComponentsInput) GetFilter() *ComponentFilter { return v.Filter }

// __ListServicesInput is used internally by genqlient
type __ListServicesInput struct {
	Filter *ServiceFilter `json:"filter,omitempty"`
}

// GetFilter returns __ListServicesInput.Filter, and is useful for accessing the field via an interface.
func (v *__ListServicesInput) GetFilter() *ServiceFilter { return v.Filter }

// __ListSupportGroupsInput is used internally by genqlient
type __ListSupportGroupsInput struct {
	Filter *SupportGroupFilter `json:"filter,omitempty"`
}

// GetFilter returns __ListSupportGroupsInput.Filter, and is useful for accessing the field via an interface.
func (v *__ListSupportGroupsInput) GetFilter() *SupportGroupFilter { return v.Filter }

// __UpdateComponentInstanceInput is used internally by genqlient
type __UpdateComponentInstanceInput struct {
	Id    string                  `json:"id"`
	Input *ComponentInstanceInput `json:"input,omitempty"`
}

// GetId returns __UpdateComponentInstanceInput.Id, and is useful for accessing the field via an interface.
func (v *__UpdateComponentInstanceInput) GetId() string { return v.Id }

// GetInput returns __UpdateComponentInstanceInput.Input, and is useful for accessing the field via an interface.
func (v *__UpdateComponentInstanceInput) GetInput() *ComponentInstanceInput { return v.Input }

// The query or mutation executed by AddServiceToSupportGroup.
const AddServiceToSupportGroup_Operation = `
mutation AddServiceToSupportGroup ($supportGroupId: ID!, $serviceId: ID!) {
	addServiceToSupportGroup(supportGroupId: $supportGroupId, serviceId: $serviceId) {
		id
		ccrn
	}
}
`

func AddServiceToSupportGroup(
	ctx_ context.Context,
	client_ graphql.Client,
	supportGroupId string,
	serviceId string,
) (*AddServiceToSupportGroupResponse, error) {
	req_ := &graphql.Request{
		OpName: "AddServiceToSupportGroup",
		Query:  AddServiceToSupportGroup_Operation,
		Variables: &__AddServiceToSupportGroupInput{
			SupportGroupId: supportGroupId,
			ServiceId:      serviceId,
		},
	}
	var err_ error

	var data_ AddServiceToSupportGroupResponse
	resp_ := &graphql.Response{Data: &data_}

	err_ = client_.MakeRequest(
		ctx_,
		req_,
		resp_,
	)

	return &data_, err_
}

// The query or mutation executed by CompleteScannerRun.
const CompleteScannerRun_Operation = `
mutation CompleteScannerRun ($uuid: String!) {
	completeScannerRun(uuid: $uuid)
}
`

func CompleteScannerRun(
	ctx_ context.Context,
	client_ graphql.Client,
	uuid string,
) (*CompleteScannerRunResponse, error) {
	req_ := &graphql.Request{
		OpName: "CompleteScannerRun",
		Query:  CompleteScannerRun_Operation,
		Variables: &__CompleteScannerRunInput{
			Uuid: uuid,
		},
	}
	var err_ error

	var data_ CompleteScannerRunResponse
	resp_ := &graphql.Response{Data: &data_}

	err_ = client_.MakeRequest(
		ctx_,
		req_,
		resp_,
	)

	return &data_, err_
}

// The query or mutation executed by CreateComponent.
const CreateComponent_Operation = `
mutation CreateComponent ($input: ComponentInput!) {
	createComponent(input: $input) {
		id
		ccrn
		type
	}
}
`

func CreateComponent(
	ctx_ context.Context,
	client_ graphql.Client,
	input *ComponentInput,
) (*CreateComponentResponse, error) {
	req_ := &graphql.Request{
		OpName: "CreateComponent",
		Query:  CreateComponent_Operation,
		Variables: &__CreateComponentInput{
			Input: input,
		},
	}
	var err_ error

	var data_ CreateComponentResponse
	resp_ := &graphql.Response{Data: &data_}

	err_ = client_.MakeRequest(
		ctx_,
		req_,
		resp_,
	)

	return &data_, err_
}

// The query or mutation executed by CreateComponentInstance.
const CreateComponentInstance_Operation = `
mutation CreateComponentInstance ($input: ComponentInstanceInput!) {
	createComponentInstance(input: $input) {
		id
		ccrn
		count
		componentVersionId
		serviceId
		region
		cluster
		namespace
		domain
		project
	}
}
`

func CreateComponentInstance(
	ctx_ context.Context,
	client_ graphql.Client,
	input *ComponentInstanceInput,
) (*CreateComponentInstanceResponse, error) {
	req_ := &graphql.Request{
		OpName: "CreateComponentInstance",
		Query:  CreateComponentInstance_Operation,
		Variables: &__CreateComponentInstanceInput{
			Input: input,
		},
	}
	var err_ error

	var data_ CreateComponentInstanceResponse
	resp_ := &graphql.Response{Data: &data_}

	err_ = client_.MakeRequest(
		ctx_,
		req_,
		resp_,
	)

	return &data_, err_
}

// The query or mutation executed by CreateComponentVersion.
const CreateComponentVersion_Operation = `
mutation CreateComponentVersion ($input: ComponentVersionInput!) {
	createComponentVersion(input: $input) {
		id
		version
		componentId
		tag
		repository
		organization
	}
}
`

func CreateComponentVersion(
	ctx_ context.Context,
	client_ graphql.Client,
	input *ComponentVersionInput,
) (*CreateComponentVersionResponse, error) {
	req_ := &graphql.Request{
		OpName: "CreateComponentVersion",
		Query:  CreateComponentVersion_Operation,
		Variables: &__CreateComponentVersionInput{
			Input: input,
		},
	}
	var err_ error

	var data_ CreateComponentVersionResponse
	resp_ := &graphql.Response{Data: &data_}

	err_ = client_.MakeRequest(
		ctx_,
		req_,
		resp_,
	)

	return &data_, err_
}

// The query or mutation executed by CreateScannerRun.
const CreateScannerRun_Operation = `
mutation CreateScannerRun ($input: ScannerRunInput!) {
	createScannerRun(input: $input)
}
`

func CreateScannerRun(
	ctx_ context.Context,
	client_ graphql.Client,
	input *ScannerRunInput,
) (*CreateScannerRunResponse, error) {
	req_ := &graphql.Request{
		OpName: "CreateScannerRun",
		Query:  CreateScannerRun_Operation,
		Variables: &__CreateScannerRunInput{
			Input: input,
		},
	}
	var err_ error

	var data_ CreateScannerRunResponse
	resp_ := &graphql.Response{Data: &data_}

	err_ = client_.MakeRequest(
		ctx_,
		req_,
		resp_,
	)

	return &data_, err_
}

// The query or mutation executed by CreateService.
const CreateService_Operation = `
mutation CreateService ($input: ServiceInput!) {
	createService(input: $input) {
		id
		ccrn
	}
}
`

func CreateService(
	ctx_ context.Context,
	client_ graphql.Client,
	input *ServiceInput,
) (*CreateServiceResponse, error) {
	req_ := &graphql.Request{
		OpName: "CreateService",
		Query:  CreateService_Operation,
		Variables: &__CreateServiceInput{
			Input: input,
		},
	}
	var err_ error

	var data_ CreateServiceResponse
	resp_ := &graphql.Response{Data: &data_}

	err_ = client_.MakeRequest(
		ctx_,
		req_,
		resp_,
	)

	return &data_, err_
}

// The query or mutation executed by CreateSupportGroup.
const CreateSupportGroup_Operation = `
mutation CreateSupportGroup ($input: SupportGroupInput!) {
	createSupportGroup(input: $input) {
		id
		ccrn
	}
}
`

func CreateSupportGroup(
	ctx_ context.Context,
	client_ graphql.Client,
	input *SupportGroupInput,
) (*CreateSupportGroupResponse, error) {
	req_ := &graphql.Request{
		OpName: "CreateSupportGroup",
		Query:  CreateSupportGroup_Operation,
		Variables: &__CreateSupportGroupInput{
			Input: input,
		},
	}
	var err_ error

	var data_ CreateSupportGroupResponse
	resp_ := &graphql.Response{Data: &data_}

	err_ = client_.MakeRequest(
		ctx_,
		req_,
		resp_,
	)

	return &data_, err_
}

// The query or mutation executed by ListComponentInstances.
const ListComponentInstances_Operation = `
query ListComponentInstances ($filter: ComponentInstanceFilter) {
	ComponentInstances(filter: $filter) {
		totalCount
		edges {
			node {
				id
			}
		}
	}
}
`

func ListComponentInstances(
	ctx_ context.Context,
	client_ graphql.Client,
	filter *ComponentInstanceFilter,
) (*ListComponentInstancesResponse, error) {
	req_ := &graphql.Request{
		OpName: "ListComponentInstances",
		Query:  ListComponentInstances_Operation,
		Variables: &__ListComponentInstancesInput{
			Filter: filter,
		},
	}
	var err_ error

	var data_ ListComponentInstancesResponse
	resp_ := &graphql.Response{Data: &data_}

	err_ = client_.MakeRequest(
		ctx_,
		req_,
		resp_,
	)

	return &data_, err_
}

// The query or mutation executed by ListComponentVersions.
const ListComponentVersions_Operation = `
query ListComponentVersions ($filter: ComponentVersionFilter) {
	ComponentVersions(filter: $filter) {
		totalCount
		edges {
			node {
				id
				version
				componentId
				tag
				repository
				organization
			}
		}
	}
}
`

func ListComponentVersions(
	ctx_ context.Context,
	client_ graphql.Client,
	filter *ComponentVersionFilter,
) (*ListComponentVersionsResponse, error) {
	req_ := &graphql.Request{
		OpName: "ListComponentVersions",
		Query:  ListComponentVersions_Operation,
		Variables: &__ListComponentVersionsInput{
			Filter: filter,
		},
	}
	var err_ error

	var data_ ListComponentVersionsResponse
	resp_ := &graphql.Response{Data: &data_}

	err_ = client_.MakeRequest(
		ctx_,
		req_,
		resp_,
	)

	return &data_, err_
}

// The query or mutation executed by ListComponents.
const ListComponents_Operation = `
query ListComponents ($filter: ComponentFilter) {
	Components(filter: $filter) {
		totalCount
		edges {
			node {
				id
				ccrn
				type
			}
		}
	}
}
`

func ListComponents(
	ctx_ context.Context,
	client_ graphql.Client,
	filter *ComponentFilter,
) (*ListComponentsResponse, error) {
	req_ := &graphql.Request{
		OpName: "ListComponents",
		Query:  ListComponents_Operation,
		Variables: &__ListComponentsInput{
			Filter: filter,
		},
	}
	var err_ error

	var data_ ListComponentsResponse
	resp_ := &graphql.Response{Data: &data_}

	err_ = client_.MakeRequest(
		ctx_,
		req_,
		resp_,
	)

	return &data_, err_
}

// The query or mutation executed by ListServices.
const ListServices_Operation = `
query ListServices ($filter: ServiceFilter) {
	Services(filter: $filter) {
		totalCount
		edges {
			node {
				id
			}
		}
	}
}
`

func ListServices(
	ctx_ context.Context,
	client_ graphql.Client,
	filter *ServiceFilter,
) (*ListServicesResponse, error) {
	req_ := &graphql.Request{
		OpName: "ListServices",
		Query:  ListServices_Operation,
		Variables: &__ListServicesInput{
			Filter: filter,
		},
	}
	var err_ error

	var data_ ListServicesResponse
	resp_ := &graphql.Response{Data: &data_}

	err_ = client_.MakeRequest(
		ctx_,
		req_,
		resp_,
	)

	return &data_, err_
}

// The query or mutation executed by ListSupportGroups.
const ListSupportGroups_Operation = `
query ListSupportGroups ($filter: SupportGroupFilter) {
	SupportGroups(filter: $filter) {
		totalCount
		edges {
			node {
				id
			}
		}
	}
}
`

func ListSupportGroups(
	ctx_ context.Context,
	client_ graphql.Client,
	filter *SupportGroupFilter,
) (*ListSupportGroupsResponse, error) {
	req_ := &graphql.Request{
		OpName: "ListSupportGroups",
		Query:  ListSupportGroups_Operation,
		Variables: &__ListSupportGroupsInput{
			Filter: filter,
		},
	}
	var err_ error

	var data_ ListSupportGroupsResponse
	resp_ := &graphql.Response{Data: &data_}

	err_ = client_.MakeRequest(
		ctx_,
		req_,
		resp_,
	)

	return &data_, err_
}

// The query or mutation executed by UpdateComponentInstance.
const UpdateComponentInstance_Operation = `
mutation UpdateComponentInstance ($id: ID!, $input: ComponentInstanceInput!) {
	updateComponentInstance(id: $id, input: $input) {
		id
		ccrn
		count
		componentVersionId
		serviceId
		region
		cluster
		namespace
		domain
		project
	}
}
`

func UpdateComponentInstance(
	ctx_ context.Context,
	client_ graphql.Client,
	id string,
	input *ComponentInstanceInput,
) (*UpdateComponentInstanceResponse, error) {
	req_ := &graphql.Request{
		OpName: "UpdateComponentInstance",
		Query:  UpdateComponentInstance_Operation,
		Variables: &__UpdateComponentInstanceInput{
			Id:    id,
			Input: input,
		},
	}
	var err_ error

	var data_ UpdateComponentInstanceResponse
	resp_ := &graphql.Response{Data: &data_}

	err_ = client_.MakeRequest(
		ctx_,
		req_,
		resp_,
	)

	return &data_, err_
}
