package org.onap.policy.models.decisions.concepts;
import com.google.gson.annotations.SerializedName;
-
+import java.util.HashMap;
import java.util.Map;
-
import lombok.Data;
+import lombok.NoArgsConstructor;
/**
* This class is for a Decision Request to a Decision PDP Engine.
*
*/
@Data
+@NoArgsConstructor
public class DecisionRequest {
@SerializedName("ONAPName")
private String onapName;
@SerializedName("requestId")
private String requestId;
+ @SerializedName("context")
+ private Map<String, Object> context;
+
@SerializedName("action")
private String action;
@SerializedName("resource")
private Map<String, Object> resource;
+
+ /**
+ * Copy constructor.
+ *
+ * @param request Incoming DecisionRequest
+ */
+ public DecisionRequest(DecisionRequest request) {
+ this.setOnapName(request.getOnapName());
+ this.setOnapComponent(request.getOnapComponent());
+ this.setOnapInstance(request.getOnapInstance());
+ this.setRequestId(request.getRequestId());
+ if (request.getContext() != null) {
+ this.setContext(new HashMap<>());
+ this.getContext().putAll(request.getContext());
+ }
+ this.setAction(request.getAction());
+ if (request.getResource() != null) {
+ this.setResource(new HashMap<>());
+ this.getResource().putAll(request.getResource());
+ }
+ }
}
type: policy.data.naming-model-entity
data_types:
policy.data.naming-model-entity:
- derived_from: tosca.nodes.Root
+ derived_from: tosca.datatypes.Root
properties:
nfRole:
type: string
entry_schema:
type: policy.data.naming-property
policy.data.naming-property:
- derived_from: tosca.nodes.Root
+ derived_from: tosca.datatypes.Root
properties:
property-name:
type: string
tosca_definitions_version: tosca_simple_yaml_1_0_0
policy_types:
- onap.policies.optimization.service.SubscriberPolicy:
- derived_from: onap.policies.optimization.Service
- version: 1.0.0
- properties:
- subscriberProperties:
- type: policy.data.subscriberProperties_properties
- required: true
+ onap.policies.optimization.service.SubscriberPolicy:
+ derived_from: onap.policies.optimization.Service
+ version: 1.0.0
+ properties:
+ subscriberProperties:
+ type: policy.data.subscriberProperties_properties
+ required: true
data_types:
- policy.data.subscriberProperties_properties:
- derived_from: tosca.nodes.Root
- properties:
- subscriberName:
- type: list
- required: true
- entry_schema:
- type: string
- subscriberRole:
- type: list
- required: true
- entry_schema:
- type: string
- provStatus:
- type: list
- required: true
- entry_schema:
- type: string
\ No newline at end of file
+ policy.data.subscriberProperties_properties:
+ derived_from: tosca.nodes.Root
+ properties:
+ subscriberName:
+ type: list
+ required: true
+ metadata:
+ contextProvider: true
+ entry_schema:
+ type: string
+ subscriberRole:
+ type: list
+ required: true
+ metadata:
+ contextMatchable: scope
+ entry_schema:
+ type: string
+ provStatus:
+ type: list
+ required: true
+ metadata:
+ contextAttribute: true
+ entry_schema:
+ type: string
\ No newline at end of file