Documentation
¶
Index ¶
- func ExtractProjectsInto(r pagination.Page, v any) error
- func List(c *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
- type CostObject
- type ExtCertification
- type GetResult
- type ListOpts
- type ListOptsBuilder
- type Project
- type ProjectPage
- type UpdateOpts
- type UpdateOptsBuilder
- type UpdateResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtractProjectsInto ¶
func ExtractProjectsInto(r pagination.Page, v any) error
func List ¶
func List(c *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
List returns a Pager which allows you to iterate over a collection of projects
Types ¶
type CostObject ¶
type CostObject struct {
// Shows, if the CO is inherited. Mandatory, if name/type not set
Inherited bool `json:"inherited"`
// Name of the costobject. Mandatory, if inherited not true
Name string `json:"name,omitempty"`
// Costobject-Type Type of the costobject. Mandatory, if inherited not true
// IO, CC, WBS, SO
Type string `json:"type,omitempty"`
}
The cost object structure
type ExtCertification ¶
type ExtCertification struct {
// C5 is a government-backed verification framework implemented by the German Federal Office for Information Security (BSI)
C5 bool `json:"-"`
// An ISO certification describes the process that confirms that ISO standards are being followed
ISO bool `json:"-"`
// PCI certification ensures the security of card data at your business through a set of requirements established by the PCI SSC
PCI bool `json:"-"`
// SOCx is a type of audit report that attests to the trustworthiness of services provided by a service organization
SOC1 bool `json:"-"`
SOC2 bool `json:"-"`
// The law mandates strict reforms to improve financial disclosures from corporations and prevent accounting fraud
SOX bool `json:"-"`
}
func (ExtCertification) MarshalJSON ¶
func (r ExtCertification) MarshalJSON() ([]byte, error)
func (*ExtCertification) UnmarshalJSON ¶
func (r *ExtCertification) UnmarshalJSON(b []byte) error
type GetResult ¶
type GetResult struct {
// contains filtered or unexported fields
}
GetResult represents the result of a get operation. Call its Extract method to interpret it as a Project.
func (GetResult) Extract ¶
Extract is a function that accepts a result and extracts a project resource.
func (GetResult) ExtractInto ¶
type ListOpts ¶
type ListOpts struct {
CheckCOValidity bool `q:"checkCOValidity"`
ExcludeDeleted bool `q:"excludeDeleted"`
From time.Time `q:"-"`
}
ListOpts is a structure that holds options for listing project masterdata.
func (ListOpts) ToProjectListQuery ¶
ToProjectListQuery formats a ListOpts into a query string.
type ListOptsBuilder ¶
ListOptsBuilder allows extensions to add additional parameters to the List request.
type Project ¶
type Project struct {
// A project ID
ProjectID string `json:"project_id"`
// Human-readable name for the project. Might not be unique.
ProjectName string `json:"project_name"`
// Technical of the domain in which the project is contained
DomainID string `json:"domain_id"`
// Name of the domain
DomainName string `json:"domain_name"`
// Description of the project
Description string `json:"description"`
// A project parent ID
ParentID string `json:"parent_id"`
// A project type
ProjectType string `json:"project_type"`
// SAP-User-Id of primary contact for the project
ResponsiblePrimaryContactID string `json:"responsible_primary_contact_id"`
// Email-address of primary contact for the project
ResponsiblePrimaryContactEmail string `json:"responsible_primary_contact_email"`
// SAP-User-Id of the person who is responsible for operating the project
ResponsibleOperatorID string `json:"responsible_operator_id"`
// Email-address or DL of the person/group who is operating the project
ResponsibleOperatorEmail string `json:"responsible_operator_email"`
// ID of the Person/entity responsible to correctly maintain assets in SAP's Global DC HW asset inventory SISM/CCIR
ResponsibleInventoryRoleID string `json:"responsible_inventory_role_id"`
// Email of the Person/entity responsible to correctly maintain assets in SAP's Global DC HW asset inventory SISM/CCIR
ResponsibleInventoryRoleEmail string `json:"responsible_inventory_role_email"`
// ID of the infrastructure coordinator
ResponsibleInfrastructureCoordinatorID string `json:"responsible_infrastructure_coordinator_id"`
// Email address of the infrastructure coordinator
ResponsibleInfrastructureCoordinatorEmail string `json:"responsible_infrastructure_coordinator_email"`
// Indicating if the project is directly or indirectly creating revenue
// Allowed values: [generating, enabling, other]
RevenueRelevance string `json:"revenue_relevance"`
// Indicates how important the project for the business is. Possible values: [dev,test,prod]
// Allowed values: [dev, test, prod]
BusinessCriticality string `json:"business_criticality"`
// If the number is unclear, always provide the lower end --> means always > number_of_endusers (-1 indicates that it is infinite)
NumberOfEndusers int `json:"number_of_endusers"`
// Name of the Customer (CCIR/BPD Key)
Customer string `json:"customer"`
// Freetext field for additional information for project
AdditionalInformation string `json:"additional_information"`
// The cost object structure
CostObject CostObject `json:"cost_object"`
// Build environment of the project
// Allowed values: [Prod,QA,Admin,DEV,Demo,Train,Sandbox,Lab,Test]
Environment string `json:"environment"`
// Software License Mode
// Allowed values: [Revenue Generating,Training & Demo,Development,Test & QS,Administration,Make,Virtualization-Host,Productive]
SoftLicenseMode string `json:"soft_license_mode"`
// Input parameter for KRITIS flag in CCIR
// Allowed values: [SAP Business Process,Customer Cloud Service,Customer Business Process,Training & Demo Cloud]
TypeOfData string `json:"type_of_data"`
// Uses GPUs
GPUEnabled bool `json:"-"`
// Required to harmonize with CALM and for further calculation of CIA
ContainsPIIDPPHR bool `json:"-"`
// Required to harmonize with CALM and for further calculation of CIA
ContainsExternalCustomerData bool `json:"-"`
// Information about whether there is any external certification present in this project
ExtCertification *ExtCertification `json:"ext_certification,omitempty"`
// The date, when the project was created.
CreatedAt time.Time `json:"-"`
// The date, when the project was updated.
ChangedAt time.Time `json:"-"`
// The ID of the user, who did the last change.
ChangedBy string `json:"changed_by"`
// Only contained in Server response: True, if the given masterdata are complete; Otherwise false
IsComplete bool `json:"is_complete"`
// Only contained in Server response: Human readable text, showing, what information are missing
MissingAttributes string `json:"missing_attributes"`
// Only contained in Server response: Collector of the project
Collector string `json:"collector"`
// Only contained in Server response: Region of the project
Region string `json:"region"`
}
Project represents a Billing Project.
func ExtractProjects ¶
func ExtractProjects(r pagination.Page) ([]Project, error)
ExtractProjects accepts a Page struct, specifically a ProjectPage struct, and extracts the elements into a slice of Project structs. In other words, a generic collection is mapped into a relevant slice.
func (*Project) UnmarshalJSON ¶
type ProjectPage ¶
type ProjectPage struct {
pagination.SinglePageBase
}
ProjectPage is the page returned by a pager when traversing over a collection of projects.
type UpdateOpts ¶
type UpdateOpts struct {
// Description of the project
Description string `json:"description"`
// SAP-User-Id of primary contact for the project
ResponsiblePrimaryContactID string `json:"responsible_primary_contact_id"`
// Email-address of primary contact for the project
ResponsiblePrimaryContactEmail string `json:"responsible_primary_contact_email"`
// SAP-User-Id of the person who is responsible for operating the project
ResponsibleOperatorID string `json:"responsible_operator_id"`
// Email-address or DL of the person/group who is operating the project
ResponsibleOperatorEmail string `json:"responsible_operator_email"`
// ID of the Person/entity responsible to correctly maintain assets in SAP's Global DC HW asset inventory SISM/CCIR
ResponsibleInventoryRoleID string `json:"responsible_inventory_role_id"`
// Email of the Person/entity responsible to correctly maintain assets in SAP's Global DC HW asset inventory SISM/CCIR
ResponsibleInventoryRoleEmail string `json:"responsible_inventory_role_email"`
// ID of the infrastructure coordinator
ResponsibleInfrastructureCoordinatorID string `json:"responsible_infrastructure_coordinator_id"`
// Email address of the infrastructure coordinator
ResponsibleInfrastructureCoordinatorEmail string `json:"responsible_infrastructure_coordinator_email"`
// Indicating if the project is directly or indirectly creating revenue
// Allowed values: [generating, enabling, other]
RevenueRelevance string `json:"revenue_relevance"`
// Indicates how important the project for the business is. Possible values: [dev,test,prod]
// Allowed values: [dev, test, prod]
BusinessCriticality string `json:"business_criticality"`
// If the number is unclear, always provide the lower end --> means always > number_of_endusers (-1 indicates that it is infinite)
NumberOfEndusers int `json:"number_of_endusers"`
// Name of the Customer (CCIR/BPD Key)
Customer string `json:"customer"`
// Freetext field for additional information for project
AdditionalInformation string `json:"additional_information"`
// The cost object structure
CostObject CostObject `json:"cost_object" required:"true"`
// Build environment of the project
// Allowed values: [Prod,QA,Admin,DEV,Demo,Train,Sandbox,Lab,Test]
Environment string `json:"environment"`
// Software License Mode
// Allowed values: [Revenue Generating,Training & Demo,Development,Test & QS,Administration,Make,Virtualization-Host,Productive]
SoftLicenseMode string `json:"soft_license_mode"`
// Input parameter for KRITIS flag in CCIR
// Allowed values: [SAP Business Process,Customer Cloud Service,Customer Business Process,Training & Demo Cloud]
TypeOfData string `json:"type_of_data"`
// Uses GPUs
GPUEnabled bool `json:"-"`
// Required to harmonize with CALM and for further calculation of CIA
ContainsPIIDPPHR bool `json:"-"`
// Required to harmonize with CALM and for further calculation of CIA
ContainsExternalCustomerData bool `json:"-"`
// Information about whether there is any external certification present in this project
ExtCertification *ExtCertification `json:"ext_certification,omitempty"`
// when the token is not scoped
// A project ID
ProjectID string `json:"project_id,omitempty"`
// Human-readable name for the project. Might not be unique.
ProjectName string `json:"project_name,omitempty"`
// Technical of the domain in which the project is contained
DomainID string `json:"domain_id,omitempty"`
// Name of the domain
DomainName string `json:"domain_name,omitempty"`
// A project parent ID
ParentID string `json:"parent_id,omitempty"`
// A project type
ProjectType string `json:"project_type,omitempty"`
}
UpdateOpts represents the attributes used when updating an existing project.
func ProjectToUpdateOpts ¶
func ProjectToUpdateOpts(project *Project) UpdateOpts
func (UpdateOpts) MarshalJSON ¶
func (opts UpdateOpts) MarshalJSON() ([]byte, error)
func (UpdateOpts) ToProjectUpdateMap ¶
func (opts UpdateOpts) ToProjectUpdateMap() (map[string]any, error)
ToProjectUpdateMap builds a request body from UpdateOpts.
func (*UpdateOpts) UnmarshalJSON ¶
func (opts *UpdateOpts) UnmarshalJSON(b []byte) error
type UpdateOptsBuilder ¶
UpdateOptsBuilder allows extensions to add additional parameters to the Update request.
type UpdateResult ¶
type UpdateResult struct {
// contains filtered or unexported fields
}
UpdateResult represents the result of an update operation. Call its Extract method to interpret it as a Project.
func Update ¶
func Update(ctx context.Context, c *gophercloud.ServiceClient, id string, opts UpdateOptsBuilder) (r UpdateResult)
Update accepts a UpdateOpts struct and updates an existing project using the values provided.
func (UpdateResult) Extract ¶
Extract is a function that accepts a result and extracts a project resource.