diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeAndServerGroup/out')
3 files changed, 843 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeAndServerGroup/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeAndServerGroup/out/GlobalSubstitutionTypesServiceTemplate.yaml new file mode 100644 index 0000000000..33a9362697 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeAndServerGroup/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -0,0 +1,416 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +metadata: + template_name: GlobalSubstitutionTypes +imports: +- openecomp_heat_index: + file: openecomp-heat/_index.yml +node_types: + org.openecomp.resource.abstract.nodes.smp: + derived_from: org.openecomp.resource.abstract.nodes.VFC + properties: + port_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + port_port_mac_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + vm_image_name: + type: string + required: true + status: SUPPORTED + port_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_smp_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_smp_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_flavor_name: + type: string + required: true + status: SUPPORTED + compute_smp_metadata: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + compute_smp_user_data_format: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_smp_scheduler_hints: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + requirements: + - dependency_smp_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_smp_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_smp: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_smp: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + capabilities: + scalable_smp: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + feature_smp: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + memory.resident_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.usage_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_smp_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_smp_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + os_smp: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_smp_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_smp: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + disk.allocation_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + instance_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + host_smp: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + disk.device.usage_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_smp_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.ephemeral.size_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes.rate_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_smp_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes.rate_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.capacity_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.latency_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests.rate_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_smp_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.root.size_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu.delta_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.iops_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_smp_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.allocation_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + vcpus_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests.rate_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.latency_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_smp_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_smp_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_smp_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + disk.iops_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes.rate_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_smp_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu_util_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory.usage_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.requests_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.capacity_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + endpoint_smp: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests_smp: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeAndServerGroup/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeAndServerGroup/out/MainServiceTemplate.yaml new file mode 100644 index 0000000000..9a471a91a9 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeAndServerGroup/out/MainServiceTemplate.yaml @@ -0,0 +1,132 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +metadata: + template_name: Main +imports: +- openecomp_heat_index: + file: openecomp-heat/_index.yml +- GlobalSubstitutionTypes: + file: GlobalSubstitutionTypesServiceTemplate.yaml +topology_template: + inputs: + port_name: + hidden: false + immutable: false + type: string + description: port name + default: port_name + vnf_id: + hidden: false + immutable: false + type: string + description: Unique ID for this VNF instance + default: This_is_ths_SCP_id + smp_name_1: + hidden: false + immutable: false + type: string + description: name of VM + default: vSMP2 + flavor_smp_name: + hidden: false + immutable: false + type: string + description: SCP SMP Flavor + default: m3.xlarge + image_smp_name: + hidden: false + immutable: false + type: string + description: SCP SMP image + default: asc_base_image_smp + availability_zone_0: + hidden: false + immutable: false + type: string + default: zone_1 + lab_name: + hidden: false + immutable: false + type: string + description: Lab name + default: Lab-1 + node_templates: + abstract_smp: + type: org.openecomp.resource.abstract.nodes.smp + directives: + - substitutable + properties: + port_port_ip_requirements: + - - ip_version: 4 + ip_count_required: + is_required: false + floating_ip_count_required: + is_required: false + port_port_mac_requirements: + - mac_count_required: + is_required: false + vm_image_name: + get_input: image_smp_name + port_port_network: + - get_input: port_name + compute_smp_name: + - get_input: smp_name_1 + compute_smp_availability_zone: + - get_input: availability_zone_0 + vm_flavor_name: + get_input: flavor_smp_name + compute_smp_metadata: + - jx_vm_role: smp2 + vnf_id: + get_input: vnf_id + jx_lab_name: + get_input: lab_name + compute_smp_user_data_format: + - RAW + port_port_replacement_policy: + - AUTO + compute_smp_scheduler_hints: + - group: BE_Affinity_group + service_template_filter: + substitute_service_template: Nested_smpServiceTemplate.yaml + count: 1 + index_value: + get_property: + - SELF + - service_template_filter + - index_value + port2: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + replacement_policy: AUTO + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: false + floating_ip_count_required: + is_required: false + mac_requirements: + mac_count_required: + is_required: false + network: + get_input: port_name + groups: + hot-mog-0108-bs1271_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/hot-mog-0108-bs1271.yml + description: ASC Template + members: + - port2 + - abstract_smp + BE_Affinity_group: + type: tosca.groups.Root + members: + - abstract_smp + policies: + BE_Affinity_policy: + type: org.openecomp.policies.placement.Colocate + properties: + name: def + affinity: host + targets: + - BE_Affinity_group
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeAndServerGroup/out/Nested_smpServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeAndServerGroup/out/Nested_smpServiceTemplate.yaml new file mode 100644 index 0000000000..79e0b10db2 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeAndServerGroup/out/Nested_smpServiceTemplate.yaml @@ -0,0 +1,295 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +metadata: + template_name: Nested_smp +imports: +- openecomp_heat_index: + file: openecomp-heat/_index.yml +- GlobalSubstitutionTypes: + file: GlobalSubstitutionTypesServiceTemplate.yaml +node_types: + org.openecomp.resource.vfc.nodes.heat.smp: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server +topology_template: + inputs: + port_port_ip_requirements: + type: list + required: true + entry_schema: + type: json + port_port_mac_requirements: + type: list + required: true + entry_schema: + type: json + vm_image_name: + type: string + required: true + port_port_network: + type: list + required: true + entry_schema: + type: string + compute_smp_name: + type: list + required: true + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + constraints: + - greater_or_equal: 0 + compute_smp_availability_zone: + type: list + required: true + entry_schema: + type: string + vm_flavor_name: + type: string + required: true + compute_smp_metadata: + type: list + required: true + entry_schema: + type: json + compute_smp_user_data_format: + type: list + required: true + entry_schema: + type: string + port_port_replacement_policy: + type: list + required: true + entry_schema: + type: string + compute_smp_scheduler_hints: + type: list + required: true + entry_schema: + type: json + node_templates: + smp_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + replacement_policy: + get_input: + - port_port_replacement_policy + - index_value + ip_requirements: + get_input: + - port_port_ip_requirements + - index_value + mac_requirements: + get_input: + - port_port_mac_requirements + - index_value + network: + get_input: + - port_port_network + - index_value + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: smp + relationship: tosca.relationships.network.BindsTo + smp: + type: org.openecomp.resource.vfc.nodes.heat.smp + properties: + availability_zone: + get_input: + - compute_smp_availability_zone + - index_value + flavor: + get_input: vm_flavor_name + metadata: + get_input: + - compute_smp_metadata + - index_value + image: + get_input: vm_image_name + name: + get_input: + - compute_smp_name + - index_value + scheduler_hints: + get_input: + - compute_smp_scheduler_hints + - index_value + user_data_format: + get_input: + - compute_smp_user_data_format + - index_value + substitution_mappings: + node_type: org.openecomp.resource.abstract.nodes.smp + capabilities: + scalable_smp: + - smp + - scalable + feature_smp: + - smp + - feature + memory.resident_smp: + - smp + - memory.resident + disk.usage_smp: + - smp + - disk.usage + disk.device.write.bytes_smp: + - smp + - disk.device.write.bytes + network.outpoing.packets_smp_port: + - smp_port + - network.outpoing.packets + attachment_smp_port: + - smp_port + - attachment + os_smp: + - smp + - os + network.incoming.bytes_smp_port: + - smp_port + - network.incoming.bytes + binding_smp: + - smp + - binding + disk.allocation_smp: + - smp + - disk.allocation + instance_smp: + - smp + - instance + host_smp: + - smp + - host + disk.device.usage_smp: + - smp + - disk.device.usage + network.outgoing.packets.rate_smp_port: + - smp_port + - network.outgoing.packets.rate + disk.read.bytes_smp: + - smp + - disk.read.bytes + disk.ephemeral.size_smp: + - smp + - disk.ephemeral.size + disk.write.bytes.rate_smp: + - smp + - disk.write.bytes.rate + network.incoming.packets_smp_port: + - smp_port + - network.incoming.packets + disk.device.write.bytes.rate_smp: + - smp + - disk.device.write.bytes.rate + disk.capacity_smp: + - smp + - disk.capacity + disk.device.read.bytes.rate_smp: + - smp + - disk.device.read.bytes.rate + disk.device.latency_smp: + - smp + - disk.device.latency + disk.device.write.requests.rate_smp: + - smp + - disk.device.write.requests.rate + feature_smp_port: + - smp_port + - feature + disk.root.size_smp: + - smp + - disk.root.size + disk.write.requests_smp: + - smp + - disk.write.requests + cpu.delta_smp: + - smp + - cpu.delta + disk.device.write.requests_smp: + - smp + - disk.device.write.requests + memory_smp: + - smp + - memory + disk.device.iops_smp: + - smp + - disk.device.iops + network.outgoing.bytes_smp_port: + - smp_port + - network.outgoing.bytes + disk.device.allocation_smp: + - smp + - disk.device.allocation + disk.device.read.requests.rate_smp: + - smp + - disk.device.read.requests.rate + disk.device.read.bytes_smp: + - smp + - disk.device.read.bytes + vcpus_smp: + - smp + - vcpus + disk.write.requests.rate_smp: + - smp + - disk.write.requests.rate + disk.latency_smp: + - smp + - disk.latency + network.incoming.packets.rate_smp_port: + - smp_port + - network.incoming.packets.rate + network.incoming.bytes.rate_smp_port: + - smp_port + - network.incoming.bytes.rate + binding_smp_port: + - smp_port + - binding + disk.iops_smp: + - smp + - disk.iops + disk.read.bytes.rate_smp: + - smp + - disk.read.bytes.rate + network.outgoing.bytes.rate_smp_port: + - smp_port + - network.outgoing.bytes.rate + cpu_util_smp: + - smp + - cpu_util + disk.write.bytes_smp: + - smp + - disk.write.bytes + memory.usage_smp: + - smp + - memory.usage + disk.read.requests_smp: + - smp + - disk.read.requests + disk.device.capacity_smp: + - smp + - disk.device.capacity + cpu_smp: + - smp + - cpu + endpoint_smp: + - smp + - endpoint + disk.device.read.requests_smp: + - smp + - disk.device.read.requests + requirements: + link_smp_port: + - smp_port + - link + dependency_smp: + - smp + - dependency + dependency_smp_port: + - smp_port + - dependency + local_storage_smp: + - smp + - local_storage
\ No newline at end of file |