021 dimensions dimension1
This commit is contained in:
@@ -0,0 +1,205 @@
|
||||
DROP FOREIGN TABLE IF EXISTS vmreports.compute CASCADE;
|
||||
DROP FOREIGN TABLE IF EXISTS vmreports.storage CASCADE;
|
||||
DROP FOREIGN TABLE IF EXISTS vmreports.host CASCADE;
|
||||
DROP FOREIGN TABLE IF EXISTS vmreports.vm_gpu CASCADE;
|
||||
DROP FOREIGN TABLE IF EXISTS vmreports.vm_power_state CASCADE;
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
CREATE SCHEMA IF NOT EXISTS vmreports;
|
||||
ALTER SCHEMA vmreports OWNER TO dbo;
|
||||
GRANT USAGE ON SCHEMA vmreports TO nifi,appserver,reader,analytics,analyst;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT SELECT ON TABLES TO appserver,reader;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT SELECT, REFERENCES ON TABLES TO appserver,analytics,analyst;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT ALL ON TABLES TO nifi;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT USAGE ON SEQUENCES TO nifi, appserver;
|
||||
|
||||
SET default_tablespace = '';
|
||||
|
||||
SET default_table_access_method = heap;
|
||||
|
||||
--
|
||||
-- TOC entry 721 (class 1259 OID 9816992)
|
||||
-- Name: compute; Type: TABLE; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
CREATE TABLE vmreports.compute (
|
||||
"Name" character varying(255),
|
||||
"UUID_VM" character varying(255),
|
||||
"VDC" character varying(255),
|
||||
"Organization_UUID" uuid,
|
||||
"Organization" character varying(255),
|
||||
"WZ" character varying(255),
|
||||
"Cluster" character varying(255),
|
||||
"Host" character varying(255),
|
||||
"Host_Model" character varying(255),
|
||||
"CPU_Model" character varying(255),
|
||||
"Host_CPU_Cores" double precision,
|
||||
"Host_CPU_Sockets" double precision,
|
||||
"Host_CPU_Speed" double precision,
|
||||
"Host_RAM" double precision,
|
||||
"Host_CPU_Used" double precision,
|
||||
"Host_CPU_Used_Avg" double precision,
|
||||
"VDC_CPU_Reserv" double precision,
|
||||
"VDC_CPU_Speed" double precision,
|
||||
"VM_vCPU_count" double precision,
|
||||
"VM_CPU_Used" double precision,
|
||||
"VM_CPU_Used_AVG" double precision,
|
||||
"VM_CPU_Reserv_GHz" double precision,
|
||||
"VM_CPU_Reserv_perc" double precision,
|
||||
"VM_RAM_Allocated" double precision,
|
||||
"VM_RAM_Used" double precision,
|
||||
"VM_is_ON" double precision,
|
||||
"Object_UUID" uuid NOT NULL,
|
||||
ts timestamp with time zone NOT NULL
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE vmreports.compute OWNER TO dbo;
|
||||
|
||||
--
|
||||
-- TOC entry 722 (class 1259 OID 9817004)
|
||||
-- Name: storage; Type: TABLE; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
CREATE TABLE vmreports.storage (
|
||||
"Name" character varying(255),
|
||||
"VM_UUID" character varying(255),
|
||||
"VDC" character varying(255),
|
||||
"Organization_UUID" uuid,
|
||||
"Organization" character varying(255),
|
||||
"WZ" character varying(255),
|
||||
"Cluster" character varying(255),
|
||||
"Disk" character varying(255),
|
||||
"Storage_Policy" character varying(255),
|
||||
"Disk_Allocated" double precision,
|
||||
"Disk_Used" double precision,
|
||||
"VM_is_ON" double precision,
|
||||
"Object_UUID" uuid NOT NULL,
|
||||
ts timestamp with time zone NOT NULL
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE vmreports.storage OWNER TO dbo;
|
||||
|
||||
--
|
||||
-- TOC entry 720 (class 1259 OID 9816984)
|
||||
-- Name: host; Type: TABLE; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
CREATE TABLE vmreports.host (
|
||||
"Name" character varying(255),
|
||||
"Model" character varying(255),
|
||||
"Cluster" character varying(255),
|
||||
"Maintenance" character varying(255),
|
||||
"CPU_Cores" double precision,
|
||||
"CPU_Sockets" double precision,
|
||||
"CPU_Speed" double precision,
|
||||
"RAM_Total" double precision,
|
||||
"RAM_Used" double precision,
|
||||
"CPU_Used" double precision,
|
||||
"CPU_Used_AVG" double precision,
|
||||
"CPU_Contention_95" double precision,
|
||||
"Object_UUID" uuid NOT NULL,
|
||||
ts timestamp with time zone NOT NULL,
|
||||
"Cluster_v2" character varying(255),
|
||||
"HT_Active" boolean,
|
||||
"CPUtoVM" double precision,
|
||||
"RAMtoVM" double precision
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE vmreports.host OWNER TO dbo;
|
||||
|
||||
--
|
||||
-- TOC entry 733 (class 1259 OID 11093092)
|
||||
-- Name: vm_gpu; Type: TABLE; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
CREATE TABLE vmreports.vm_gpu (
|
||||
"Name" character varying(255),
|
||||
"ClientID" character varying(255),
|
||||
"VCD" character varying(255),
|
||||
"Org" character varying(255),
|
||||
"OrgVDC" character varying(255),
|
||||
"vCenter" character varying(255),
|
||||
"GPU" jsonb,
|
||||
"OrgStatus" character varying(255),
|
||||
"Object_UUID" uuid NOT NULL,
|
||||
ts timestamp with time zone NOT NULL
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE vmreports.vm_gpu OWNER TO dbo;
|
||||
|
||||
--
|
||||
-- TOC entry 732 (class 1259 OID 11093087)
|
||||
-- Name: vm_power_state; Type: TABLE; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
CREATE TABLE vmreports.vm_power_state (
|
||||
"Object_UUID" uuid NOT NULL,
|
||||
ts timestamp with time zone NOT NULL,
|
||||
value double precision
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE vmreports.vm_power_state OWNER TO dbo;
|
||||
|
||||
--
|
||||
-- TOC entry 4761 (class 2606 OID 9816998)
|
||||
-- Name: compute pk_compute; Type: CONSTRAINT; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY vmreports.compute
|
||||
ADD CONSTRAINT pk_compute PRIMARY KEY (ts, "Object_UUID");
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 4759 (class 2606 OID 9816990)
|
||||
-- Name: host pk_host; Type: CONSTRAINT; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY vmreports.host
|
||||
ADD CONSTRAINT pk_host PRIMARY KEY (ts, "Object_UUID");
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 4763 (class 2606 OID 9817010)
|
||||
-- Name: storage pk_storage; Type: CONSTRAINT; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY vmreports.storage
|
||||
ADD CONSTRAINT pk_storage PRIMARY KEY (ts, "Object_UUID");
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 4767 (class 2606 OID 11093098)
|
||||
-- Name: vm_gpu pk_vm_gpu; Type: CONSTRAINT; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY vmreports.vm_gpu
|
||||
ADD CONSTRAINT pk_vm_gpu PRIMARY KEY (ts, "Object_UUID");
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 4765 (class 2606 OID 11093091)
|
||||
-- Name: vm_power_state pk_vm_power_state; Type: CONSTRAINT; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY vmreports.vm_power_state
|
||||
ADD CONSTRAINT pk_vm_power_state PRIMARY KEY ("Object_UUID", ts);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 5168 (class 0 OID 0)
|
||||
-- Dependencies: 10
|
||||
-- Name: SCHEMA vmreports; Type: ACL; Schema: -; Owner: dbo
|
||||
--
|
||||
|
||||
GRANT ALL ON SCHEMA vmreports TO nifi;
|
||||
|
||||
|
||||
|
||||
GRANT ALL ON ALL TABLES IN SCHEMA vmreports TO nifi;
|
||||
GRANT SELECT, REFERENCES ON ALL TABLES IN SCHEMA vmreports TO analytics, analyst;
|
||||
@@ -0,0 +1,128 @@
|
||||
CREATE SCHEMA IF NOT EXISTS vmreports;
|
||||
|
||||
ALTER SCHEMA vmreports OWNER TO dbo;
|
||||
GRANT USAGE ON SCHEMA vmreports TO nifi;
|
||||
|
||||
GRANT ALL ON ALL TABLES IN SCHEMA vmreports TO nifi;
|
||||
GRANT ALL ON ALL SEQUENCES IN SCHEMA vmreports TO nifi;
|
||||
|
||||
--ALTER DEFAULT PRIVILEGES IN SCHEMA vmreports GRANT ALL ON TABLES TO nifi;
|
||||
--ALTER DEFAULT PRIVILEGES IN SCHEMA vmreports GRANT ALL ON SEQUENCES TO nifi;
|
||||
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo, postgres IN SCHEMA vmreports GRANT ALL ON TABLES TO nifi;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo, postgres IN SCHEMA vmreports GRANT SELECT ON TABLES TO appserver;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo, postgres IN SCHEMA vmreports GRANT ALL ON SEQUENCES TO nifi;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo, postgres IN SCHEMA vmreports GRANT USAGE ON SEQUENCES TO appserver;
|
||||
|
||||
drop table if exists vmreports.host;
|
||||
create table vmreports.host(
|
||||
"Name" varchar(255) NULL,
|
||||
"Model" varchar(255) NULL,
|
||||
"Cluster" varchar(255) NULL,
|
||||
"Cluster_v2" varchar(255) NULL,
|
||||
"Maintenance" varchar(255) NULL,
|
||||
|
||||
"CPU_Cores" float NULL, -- per host, not per socket
|
||||
"CPU_Sockets" float NULL, -- not used in caclulations
|
||||
"CPU_Speed" float NULL,
|
||||
"RAM_Total" float NULL,
|
||||
"RAM_Used" float NULL,
|
||||
"CPU_Used" float NULL,
|
||||
"CPU_Used_AVG" float NULL,
|
||||
"CPU_Contention_95" float NULL,
|
||||
"HT_Active" boolean NULL,
|
||||
"CPUtoVM" float NULL,
|
||||
"RAMtoVM" float NULL,
|
||||
"Object_UUID" uuid NOT NULL,
|
||||
ts timestamptz NOT NULL
|
||||
,CONSTRAINT PK_host PRIMARY KEY (ts, "Object_UUID")
|
||||
);
|
||||
--grant all on vmreports.host to nifi;
|
||||
|
||||
drop table if exists vmreports.compute;
|
||||
create table vmreports.compute (
|
||||
|
||||
"Name" varchar(255) NULL,
|
||||
"UUID_VM" varchar(255) NULL,
|
||||
"VDC" varchar(255) NULL,
|
||||
"Organization_UUID" uuid NULL,
|
||||
"Organization" varchar(255) NULL,
|
||||
"WZ" varchar(255) NULL,
|
||||
"Cluster" varchar(255) NULL,
|
||||
"Host" varchar(255) NULL,
|
||||
"Host_Model" varchar(255) NULL,
|
||||
"CPU_Model" varchar(255) NULL,
|
||||
|
||||
"Host_CPU_Cores" float NULL,
|
||||
"Host_CPU_Sockets" float NULL,
|
||||
"Host_CPU_Speed" float NULL,
|
||||
"Host_RAM" float NULL,
|
||||
"Host_CPU_Used" float NULL,
|
||||
"Host_CPU_Used_Avg" float NULL,
|
||||
"VDC_CPU_Reserv" float NULL,
|
||||
"VDC_CPU_Speed" float NULL,
|
||||
"VM_vCPU_count" float NULL,
|
||||
"VM_CPU_Used" float NULL,
|
||||
"VM_CPU_Used_AVG" float NULL,
|
||||
"VM_CPU_Reserv_GHz" float NULL,
|
||||
"VM_CPU_Reserv_perc" float NULL,
|
||||
"VM_RAM_Allocated" float NULL,
|
||||
"VM_RAM_Used" float NULL,
|
||||
"VM_is_ON" float NULL,
|
||||
--"Summary": false,
|
||||
--"Grand Total": false,
|
||||
--"Group UUID": null,
|
||||
"Object_UUID" uuid NOT NULL,
|
||||
ts timestamptz NOT NULL
|
||||
,CONSTRAINT PK_compute PRIMARY KEY (ts, "Object_UUID")
|
||||
);
|
||||
--grant all on vmreports.compute to nifi;
|
||||
|
||||
drop table if exists vmreports.storage;
|
||||
create table vmreports.storage (
|
||||
|
||||
"Name" varchar(255) NULL,
|
||||
"VM_UUID" varchar(255) NULL,
|
||||
"VDC" varchar(255) NULL,
|
||||
"Organization_UUID" uuid NULL,
|
||||
"Organization" varchar(255) NULL,
|
||||
"WZ" varchar(255) NULL,
|
||||
"Cluster" varchar(255) NULL,
|
||||
"Disk" varchar(255) NULL,
|
||||
"Storage_Policy" varchar(255) NULL,
|
||||
|
||||
"Disk_Allocated" float NULL,
|
||||
"Disk_Used" float NULL,
|
||||
"VM_is_ON" float NULL,
|
||||
"Object_UUID" uuid NOT NULL,
|
||||
ts timestamptz NOT NULL
|
||||
,CONSTRAINT PK_storage PRIMARY KEY (ts, "Object_UUID")
|
||||
);
|
||||
--grant all on vmreports.storage to nifi;
|
||||
|
||||
drop table if exists vmreports.vm_gpu;
|
||||
create table vmreports.vm_gpu (
|
||||
"Name" varchar(255) NULL,
|
||||
"ClientID" varchar(255) NULL, --WZ
|
||||
"VCD" varchar(255) NULL, --vcloud
|
||||
"Org" varchar(255) NULL,
|
||||
"OrgVDC" varchar(255) NULL,
|
||||
"vCenter" varchar(255) NULL,
|
||||
"GPU" jsonb NULL,
|
||||
"OrgStatus" varchar(255) NULL,
|
||||
"Object_UUID" uuid NOT NULL,
|
||||
ts timestamptz NOT NULL
|
||||
,CONSTRAINT PK_vm_gpu PRIMARY KEY (ts, "Object_UUID")
|
||||
);
|
||||
--grant all on vmreports.vm_gpu to nifi;
|
||||
|
||||
DROP TABLE IF EXISTS vmreports.vm_power_state;
|
||||
CREATE TABLE IF NOT EXISTS vmreports.vm_power_state
|
||||
(
|
||||
"Object_UUID" uuid NOT NULL,
|
||||
ts timestamp with time zone NOT NULL,
|
||||
value float,
|
||||
CONSTRAINT PK_vm_power_state PRIMARY KEY ("Object_UUID", ts)
|
||||
);
|
||||
--grant all on vmreports.vm_power_state to nifi;
|
||||
|
||||
@@ -0,0 +1,204 @@
|
||||
--
|
||||
-- PostgreSQL database dump
|
||||
--
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 10 (class 2615 OID 9816969)
|
||||
-- Name: vmreports; Type: SCHEMA; Schema: -; Owner: dbo
|
||||
--
|
||||
|
||||
CREATE SCHEMA IF NOT EXISTS vmreports;
|
||||
ALTER SCHEMA vmreports OWNER TO dbo;
|
||||
GRANT USAGE ON SCHEMA vmreports TO nifi,appserver;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT SELECT ON TABLES TO appserver;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT ALL ON TABLES TO nifi;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT USAGE ON SEQUENCES TO nifi, appserver;
|
||||
|
||||
SET default_tablespace = '';
|
||||
|
||||
SET default_table_access_method = heap;
|
||||
|
||||
--
|
||||
-- TOC entry 721 (class 1259 OID 9816992)
|
||||
-- Name: compute; Type: TABLE; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
CREATE TABLE vmreports.compute (
|
||||
"Name" character varying(255),
|
||||
"UUID_VM" character varying(255),
|
||||
"VDC" character varying(255),
|
||||
"Organization_UUID" uuid,
|
||||
"Organization" character varying(255),
|
||||
"WZ" character varying(255),
|
||||
"Cluster" character varying(255),
|
||||
"Host" character varying(255),
|
||||
"Host_Model" character varying(255),
|
||||
"CPU_Model" character varying(255),
|
||||
"Host_CPU_Cores" double precision,
|
||||
"Host_CPU_Sockets" double precision,
|
||||
"Host_CPU_Speed" double precision,
|
||||
"Host_RAM" double precision,
|
||||
"Host_CPU_Used" double precision,
|
||||
"Host_CPU_Used_Avg" double precision,
|
||||
"VDC_CPU_Reserv" double precision,
|
||||
"VDC_CPU_Speed" double precision,
|
||||
"VM_vCPU_count" double precision,
|
||||
"VM_CPU_Used" double precision,
|
||||
"VM_CPU_Used_AVG" double precision,
|
||||
"VM_CPU_Reserv_GHz" double precision,
|
||||
"VM_CPU_Reserv_perc" double precision,
|
||||
"VM_RAM_Allocated" double precision,
|
||||
"VM_RAM_Used" double precision,
|
||||
"VM_is_ON" double precision,
|
||||
"Object_UUID" uuid NOT NULL,
|
||||
ts timestamp with time zone NOT NULL
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE vmreports.compute OWNER TO dbo;
|
||||
|
||||
--
|
||||
-- TOC entry 722 (class 1259 OID 9817004)
|
||||
-- Name: storage; Type: TABLE; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
CREATE TABLE vmreports.storage (
|
||||
"Name" character varying(255),
|
||||
"VM_UUID" character varying(255),
|
||||
"VDC" character varying(255),
|
||||
"Organization_UUID" uuid,
|
||||
"Organization" character varying(255),
|
||||
"WZ" character varying(255),
|
||||
"Cluster" character varying(255),
|
||||
"Disk" character varying(255),
|
||||
"Storage_Policy" character varying(255),
|
||||
"Disk_Allocated" double precision,
|
||||
"Disk_Used" double precision,
|
||||
"VM_is_ON" double precision,
|
||||
"Object_UUID" uuid NOT NULL,
|
||||
ts timestamp with time zone NOT NULL
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE vmreports.storage OWNER TO dbo;
|
||||
|
||||
--
|
||||
-- TOC entry 720 (class 1259 OID 9816984)
|
||||
-- Name: host; Type: TABLE; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
CREATE TABLE vmreports.host (
|
||||
"Name" character varying(255),
|
||||
"Model" character varying(255),
|
||||
"Cluster" character varying(255),
|
||||
"Maintenance" character varying(255),
|
||||
"CPU_Cores" double precision,
|
||||
"CPU_Sockets" double precision,
|
||||
"CPU_Speed" double precision,
|
||||
"RAM_Total" double precision,
|
||||
"RAM_Used" double precision,
|
||||
"CPU_Used" double precision,
|
||||
"CPU_Used_AVG" double precision,
|
||||
"CPU_Contention_95" double precision,
|
||||
"Object_UUID" uuid NOT NULL,
|
||||
ts timestamp with time zone NOT NULL,
|
||||
"Cluster_v2" character varying(255),
|
||||
"HT_Active" boolean,
|
||||
"CPUtoVM" double precision,
|
||||
"RAMtoVM" double precision
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE vmreports.host OWNER TO dbo;
|
||||
|
||||
--
|
||||
-- TOC entry 733 (class 1259 OID 11093092)
|
||||
-- Name: vm_gpu; Type: TABLE; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
CREATE TABLE vmreports.vm_gpu (
|
||||
"Name" character varying(255),
|
||||
"ClientID" character varying(255),
|
||||
"VCD" character varying(255),
|
||||
"Org" character varying(255),
|
||||
"OrgVDC" character varying(255),
|
||||
"vCenter" character varying(255),
|
||||
"GPU" jsonb,
|
||||
"OrgStatus" character varying(255),
|
||||
"Object_UUID" uuid NOT NULL,
|
||||
ts timestamp with time zone NOT NULL
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE vmreports.vm_gpu OWNER TO dbo;
|
||||
|
||||
--
|
||||
-- TOC entry 732 (class 1259 OID 11093087)
|
||||
-- Name: vm_power_state; Type: TABLE; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
CREATE TABLE vmreports.vm_power_state (
|
||||
"Object_UUID" uuid NOT NULL,
|
||||
ts timestamp with time zone NOT NULL,
|
||||
value double precision
|
||||
);
|
||||
|
||||
|
||||
ALTER TABLE vmreports.vm_power_state OWNER TO dbo;
|
||||
|
||||
--
|
||||
-- TOC entry 4761 (class 2606 OID 9816998)
|
||||
-- Name: compute pk_compute; Type: CONSTRAINT; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY vmreports.compute
|
||||
ADD CONSTRAINT pk_compute PRIMARY KEY (ts, "Object_UUID");
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 4759 (class 2606 OID 9816990)
|
||||
-- Name: host pk_host; Type: CONSTRAINT; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY vmreports.host
|
||||
ADD CONSTRAINT pk_host PRIMARY KEY (ts, "Object_UUID");
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 4763 (class 2606 OID 9817010)
|
||||
-- Name: storage pk_storage; Type: CONSTRAINT; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY vmreports.storage
|
||||
ADD CONSTRAINT pk_storage PRIMARY KEY (ts, "Object_UUID");
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 4767 (class 2606 OID 11093098)
|
||||
-- Name: vm_gpu pk_vm_gpu; Type: CONSTRAINT; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY vmreports.vm_gpu
|
||||
ADD CONSTRAINT pk_vm_gpu PRIMARY KEY (ts, "Object_UUID");
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 4765 (class 2606 OID 11093091)
|
||||
-- Name: vm_power_state pk_vm_power_state; Type: CONSTRAINT; Schema: vmreports; Owner: smishchuk
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY vmreports.vm_power_state
|
||||
ADD CONSTRAINT pk_vm_power_state PRIMARY KEY ("Object_UUID", ts);
|
||||
|
||||
|
||||
--
|
||||
-- TOC entry 5168 (class 0 OID 0)
|
||||
-- Dependencies: 10
|
||||
-- Name: SCHEMA vmreports; Type: ACL; Schema: -; Owner: dbo
|
||||
--
|
||||
|
||||
GRANT ALL ON SCHEMA vmreports TO nifi;
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
ALTER TABLE IF EXISTS vmreports.storage
|
||||
OWNER to dbo;
|
||||
|
||||
REVOKE ALL ON TABLE vmreports.storage FROM analyst;
|
||||
REVOKE ALL ON TABLE vmreports.storage FROM analytics;
|
||||
REVOKE ALL ON TABLE vmreports.storage FROM appserver;
|
||||
|
||||
GRANT SELECT ON TABLE vmreports.storage TO analyst;
|
||||
|
||||
GRANT SELECT ON TABLE vmreports.storage TO analytics;
|
||||
|
||||
GRANT SELECT ON TABLE vmreports.storage TO appserver;
|
||||
|
||||
GRANT ALL ON TABLE vmreports.storage TO dbo;
|
||||
|
||||
GRANT ALL ON TABLE vmreports.storage TO designer;
|
||||
|
||||
GRANT ALL ON TABLE vmreports.storage TO nifi;
|
||||
|
||||
---------------
|
||||
ALTER TABLE IF EXISTS vmreports.compute
|
||||
OWNER to dbo;
|
||||
|
||||
REVOKE ALL ON TABLE vmreports.compute FROM analyst;
|
||||
REVOKE ALL ON TABLE vmreports.compute FROM analytics;
|
||||
REVOKE ALL ON TABLE vmreports.compute FROM appserver;
|
||||
|
||||
GRANT SELECT ON TABLE vmreports.compute TO analyst;
|
||||
|
||||
GRANT SELECT ON TABLE vmreports.compute TO analytics;
|
||||
|
||||
GRANT SELECT ON TABLE vmreports.compute TO appserver;
|
||||
|
||||
GRANT ALL ON TABLE vmreports.compute TO dbo;
|
||||
|
||||
GRANT ALL ON TABLE vmreports.compute TO designer;
|
||||
|
||||
GRANT ALL ON TABLE vmreports.compute TO nifi;
|
||||
|
||||
|
||||
--------------------
|
||||
ALTER TABLE IF EXISTS vmreports.host
|
||||
OWNER to dbo;
|
||||
|
||||
REVOKE ALL ON TABLE vmreports.host FROM analyst;
|
||||
REVOKE ALL ON TABLE vmreports.host FROM analytics;
|
||||
REVOKE ALL ON TABLE vmreports.host FROM appserver;
|
||||
|
||||
GRANT SELECT ON TABLE vmreports.host TO analyst;
|
||||
|
||||
GRANT SELECT ON TABLE vmreports.host TO analytics;
|
||||
|
||||
GRANT SELECT ON TABLE vmreports.host TO appserver;
|
||||
|
||||
GRANT ALL ON TABLE vmreports.host TO dbo;
|
||||
|
||||
GRANT ALL ON TABLE vmreports.host TO designer;
|
||||
|
||||
GRANT ALL ON TABLE vmreports.host TO nifi;
|
||||
|
||||
------------------------------------
|
||||
ALTER TABLE IF EXISTS vmreports.vm_gpu
|
||||
OWNER to dbo;
|
||||
|
||||
REVOKE ALL ON TABLE vmreports.vm_gpu FROM analyst;
|
||||
REVOKE ALL ON TABLE vmreports.vm_gpu FROM analytics;
|
||||
REVOKE ALL ON TABLE vmreports.vm_gpu FROM appserver;
|
||||
|
||||
GRANT SELECT ON TABLE vmreports.vm_gpu TO analyst;
|
||||
|
||||
GRANT SELECT ON TABLE vmreports.vm_gpu TO analytics;
|
||||
|
||||
GRANT SELECT ON TABLE vmreports.vm_gpu TO appserver;
|
||||
|
||||
GRANT ALL ON TABLE vmreports.vm_gpu TO dbo;
|
||||
|
||||
GRANT ALL ON TABLE vmreports.vm_gpu TO designer;
|
||||
|
||||
GRANT ALL ON TABLE vmreports.vm_gpu TO nifi;
|
||||
|
||||
-----------------
|
||||
ALTER TABLE IF EXISTS vmreports.vm_power_state
|
||||
OWNER to dbo;
|
||||
|
||||
REVOKE ALL ON TABLE vmreports.vm_power_state FROM analyst;
|
||||
REVOKE ALL ON TABLE vmreports.vm_power_state FROM analytics;
|
||||
REVOKE ALL ON TABLE vmreports.vm_power_state FROM appserver;
|
||||
|
||||
GRANT SELECT ON TABLE vmreports.vm_power_state TO analyst;
|
||||
|
||||
GRANT SELECT ON TABLE vmreports.vm_power_state TO analytics;
|
||||
|
||||
GRANT SELECT ON TABLE vmreports.vm_power_state TO appserver;
|
||||
|
||||
GRANT ALL ON TABLE vmreports.vm_power_state TO dbo;
|
||||
|
||||
GRANT ALL ON TABLE vmreports.vm_power_state TO designer;
|
||||
|
||||
GRANT ALL ON TABLE vmreports.vm_power_state TO nifi;
|
||||
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
SET ROLE dbo;
|
||||
DROP SCHEMA IF EXISTS vmreports CASCADE;
|
||||
CREATE SCHEMA IF NOT EXISTS vmreports AUTHORIZATION dbo;
|
||||
|
||||
GRANT USAGE ON SCHEMA vmreports TO appserver;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT SELECT ON TABLES TO appserver;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT USAGE ON SEQUENCES TO appserver;
|
||||
|
||||
GRANT USAGE ON SCHEMA vmreports TO nifi,analytics,analyst;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT SELECT ON TABLES TO nifi,analytics,analyst;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT USAGE ON SEQUENCES TO nifi,analytics,analyst;
|
||||
|
||||
/*
|
||||
конструкция осложняется тем, что
|
||||
нужен один пользователь-владелец и второй читатель
|
||||
Это вызывает множество телодвижений при создании.
|
||||
Необходимость указывать пароль при локальном коннекте не очень радует
|
||||
(ведь пользователь локальный, прописан на этом же сервере)
|
||||
*/
|
||||
|
||||
--DROP FOREIGN TABLE IF EXISTS host;
|
||||
--CREATE FOREIGN TABLE vmreports.host () SERVER billing OPTIONS (schema_name 'vmreports', table_name 'host'); -- вместо этого лучше импортировать схему
|
||||
DROP SERVER IF EXISTS billing CASCADE;
|
||||
CREATE SERVER billing
|
||||
FOREIGN DATA WRAPPER postgres_fdw
|
||||
OPTIONS (host 'localhost', port '5432', dbname 'billing', updatable 'false');
|
||||
-- для импорта схемы мы создаем маппинг владельцу
|
||||
DROP USER MAPPING IF EXISTS FOR PUBLIC SERVER billing;
|
||||
CREATE USER MAPPING FOR PUBLIC SERVER billing OPTIONS (user 'appserver', password '***');
|
||||
|
||||
IMPORT FOREIGN SCHEMA vmreports FROM SERVER billing INTO vmreports;
|
||||
--GRANT SELECT ON vmreports.host to appserver;
|
||||
--DROP USER MAPPING IF EXISTS FOR dbo SERVER billing; -- мы импортировали схему, маппинг больше не нужен.
|
||||
-- Но нам все равно пришлось указать пароль дважды
|
||||
|
||||
|
||||
--DROP USER MAPPING IF EXISTS FOR appserver SERVER billing;
|
||||
--CREATE USER MAPPING FOR appserver SERVER billing OPTIONS (user 'nifi', password '***');
|
||||
--проверка
|
||||
--set role appserver; select * from vmreports.host;
|
||||
|
||||
-- это если интересно, не разрешен ли локальный коннект
|
||||
--SELECT * FROM pg_hba_file_rules;
|
||||
|
||||
/*
|
||||
Довольно тонкий нюанс, легко ускользающий
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE target_creator_role
|
||||
IN SCHEMA schema_name
|
||||
GRANT privilege_type ON TABLES TO recipient_role;
|
||||
Recommended Strategy for "Any User"Because there is no "FOR ALL ROLES" option, the best practice is to have all users create objects as a shared group role.Create a group role (e.g., schema_owner_role).Grant that role to all relevant users.Instruct users to run SET ROLE schema_owner_role; before creating objects.Run ALTER DEFAULT PRIVILEGES FOR ROLE schema_owner_role ... once to cover all objects created under that role.
|
||||
*/
|
||||
/*
|
||||
Best Practices for Role Owners:Dedicated Schema Owner: Create a dedicated, non-login role for managing database schema objects (DDL) and make it the owner of the database/schemas.Separation of Duties: Separate the application user (DML - SELECT, INSERT, UPDATE) from the owner role (DDL - CREATE, ALTER, DROP).Use ALTER DEFAULT PRIVILEGES: Set up default privileges for new objects to ensure that user roles automatically gain access to new tables or functions created by the owner role.Leverage Role Hierarchy: Create group roles (e.g., app_reader, app_writer) and grant these to individual user roles for easier permission management.Avoid Public Schema: Create specific schemas and revoke CREATE privileges on the public schema to prevent accidental object creation.Secure SUPERUSER Usage: Only use the default postgres superuser role for initial setup and critical administrative tasks. Never use it for applications.Example Implementation:sql-- Create a schema owner
|
||||
CREATE ROLE ddl_user NOLOGIN;
|
||||
-- Create an app user
|
||||
CREATE ROLE dml_user LOGIN PASSWORD 'secure_password';
|
||||
|
||||
-- Assign ownership
|
||||
ALTER DATABASE mydb OWNER TO ddl_user;
|
||||
ALTER SCHEMA public OWNER TO ddl_user;
|
||||
|
||||
-- Grant future access
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE ddl_user IN SCHEMA public
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO dml_user;
|
||||
*/
|
||||
@@ -0,0 +1,37 @@
|
||||
CREATE EXTENSION IF NOT EXISTS postgres_fdw;
|
||||
GRANT USAGE ON FOREIGN DATA WRAPPER postgres_fdw TO dbo;
|
||||
|
||||
SET ROLE dbo;
|
||||
DROP SCHEMA IF EXISTS vmreports CASCADE;
|
||||
CREATE SCHEMA IF NOT EXISTS vmreports AUTHORIZATION dbo;
|
||||
|
||||
GRANT USAGE ON SCHEMA vmreports TO nifi,analytics,analyst;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT SELECT ON TABLES TO nifi,analytics,analyst; -- это работает и для внешних таблиц
|
||||
--ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT USAGE ON SEQUENCES TO nifi,analytics,analyst;
|
||||
|
||||
/*
|
||||
конструкция осложняется тем, что
|
||||
нужен один пользователь-владелец и второй читатель
|
||||
Это вызывает множество телодвижений при создании.
|
||||
Необходимость указывать пароль при локальном коннекте не очень радует
|
||||
(ведь пользователь локальный, прописан на этом же сервере)
|
||||
*/
|
||||
|
||||
DROP SERVER IF EXISTS billing CASCADE;
|
||||
CREATE SERVER billing
|
||||
FOREIGN DATA WRAPPER postgres_fdw
|
||||
OPTIONS (host 'localhost', port '5432', dbname 'billing', updatable 'false');
|
||||
DROP USER MAPPING IF EXISTS FOR PUBLIC SERVER billing;
|
||||
CREATE USER MAPPING FOR PUBLIC SERVER billing OPTIONS (user 'nifi', password '***');
|
||||
|
||||
IMPORT FOREIGN SCHEMA vmreports FROM SERVER billing INTO vmreports;
|
||||
|
||||
--select * from vmreports.host;
|
||||
|
||||
/*
|
||||
план миграции
|
||||
Забекапить схему vmreports
|
||||
Восстановить схему vmreports в базу биллинг
|
||||
Поменять целевую базу импорта НиФи (для прода - втащить новый обмен из репозитория)
|
||||
Выполнить скрипт в базе DWH - он удалит физические таблицы и создаст внешние таблицы на базу billing
|
||||
*/
|
||||
@@ -0,0 +1,113 @@
|
||||
-- выполнить в базе dwh для создания внешних таблиц схемы vmreports
|
||||
-- перед выполнением забекапить схему vmreports для восстановления в БД billing
|
||||
CREATE EXTENSION IF NOT EXISTS postgres_fdw;
|
||||
GRANT USAGE ON FOREIGN DATA WRAPPER postgres_fdw TO dbo;
|
||||
|
||||
SET ROLE dbo;
|
||||
--DROP SCHEMA IF EXISTS vmreports CASCADE;
|
||||
CREATE SCHEMA IF NOT EXISTS vmreports AUTHORIZATION dbo;
|
||||
|
||||
GRANT USAGE ON SCHEMA vmreports TO nifi,analytics,analyst;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT SELECT ON TABLES TO nifi,analytics,analyst; -- это работает и для внешних таблиц
|
||||
--ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT USAGE ON SEQUENCES TO nifi,analytics,analyst;
|
||||
|
||||
/*
|
||||
конструкция осложняется тем, что
|
||||
нужен один пользователь-владелец и второй читатель
|
||||
Это вызывает множество телодвижений при создании.
|
||||
Необходимость указывать пароль при локальном коннекте не очень радует
|
||||
(ведь пользователь локальный, прописан на этом же сервере)
|
||||
А при смене его пароля все сломается, и поиск ошибки будет неочевиден
|
||||
*/
|
||||
|
||||
DO $$
|
||||
DECLARE
|
||||
rec RECORD;
|
||||
BEGIN
|
||||
FOR rec IN
|
||||
SELECT tablename
|
||||
FROM pg_tables
|
||||
WHERE schemaname = 'vmreports'
|
||||
LOOP
|
||||
EXECUTE format('ALTER TABLE vmreports.%I RENAME TO %I',
|
||||
rec.tablename,
|
||||
'del_' || rec.tablename);
|
||||
END LOOP;
|
||||
END $$;
|
||||
|
||||
DROP SERVER IF EXISTS billing CASCADE;
|
||||
CREATE SERVER billing
|
||||
FOREIGN DATA WRAPPER postgres_fdw
|
||||
OPTIONS (host 'localhost', port '5432', dbname 'billing', updatable 'false');
|
||||
DROP USER MAPPING IF EXISTS FOR PUBLIC SERVER billing;
|
||||
CREATE USER MAPPING FOR PUBLIC SERVER billing OPTIONS (user 'nifi', password '***');
|
||||
|
||||
IMPORT FOREIGN SCHEMA vmreports FROM SERVER billing INTO vmreports;
|
||||
|
||||
--select * from vmreports.host;
|
||||
|
||||
/*
|
||||
план миграции - черновик
|
||||
Забекапить схему vmreports
|
||||
Восстановить схему vmreports из бэкапа в базу биллинг
|
||||
Поменять целевую базу импорта НиФи (для прода - втащить новый обмен из репозитория)
|
||||
Выполнить скрипт в базе DWH - он удалит (переименует) физические таблицы и создаст внешние таблицы на базу billing
|
||||
*/
|
||||
|
||||
/*
|
||||
Исходно данные host, compute, storage, (gpu)
|
||||
загружались в dwh.vmreports,
|
||||
для анализа capacity
|
||||
|
||||
В текущей конфигурации,
|
||||
чтобы избежать дублирования
|
||||
таблиц, данных и обменов NiFi
|
||||
Направляем загрузку данных из VROPS в схему billing.vmreports
|
||||
и в базе dwh (схема vmreports) создаем Foreign Tables на billing.vmreports.
|
||||
-----------------------------------------------
|
||||
Миграция на проде:
|
||||
убедиться, что новый обмен VROPS->billing.vmreports (billing/vmReports) загружен в NiFi Registry
|
||||
найти пароль nifi (под ним коннект к localhost)
|
||||
остановить загрузку из VROPS на nifi-01 (billing/vmReports),
|
||||
сделать бэкап схемы dwh.vmreports (займет минут 10 ... заняло 215 сек),
|
||||
Восстановить схему vmreports в БД billing - запустить восстановление (Clean Before Restore) (РИСК: восстановление может занять много времени и завершиться с ошибками, обычно так бывает)
|
||||
select count (*) from vmreports.storage
|
||||
Выполнить этот скрипт (заменив пароль nifi на актуальный перед выполнением)
|
||||
переименовать таблицы из схемы vmreports для удаления (есть в скрипте выше)
|
||||
создать Foreign Tables (коннект проверится при импорте схемы)
|
||||
Проверить, что права назначились коррректно
|
||||
|
||||
Обновить обмен billing/vmReports на продуктиве, запустить
|
||||
-----------------------------------------------------------------
|
||||
Данные из billing.vmreports также реплицируются
|
||||
(процессорами группы LK)
|
||||
в буферную базу rpt
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
17:04:49 MSKERROR0dff1f93-153d-3a90-ed64-55d23960b88c
|
||||
EvaluateJsonPath[id=0dff1f93-153d-3a90-ed64-55d23960b88c] FlowFile FlowFile[filename=06c68bec-d824-4114-913b-bda34cb4fb1d] did not have valid JSON content.
|
||||
-- со второй попытки отработало
|
||||
17:05:15 MSKERROR239db407-76f2-3660-7fad-c4bedff6a4f8
|
||||
InvokeHTTP[id=239db407-76f2-3660-7fad-c4bedff6a4f8] Request Processing failed: FlowFile[filename=3474c340-f360-4a1e-a27e-283be41fc264]: java.net.SocketTimeoutException: timeout
|
||||
- Caused by: java.net.SocketException: Socket closed
|
||||
|
||||
https://payg.adl.nubes.ru/payg.cfm с первого раза таймаут, со второго посчиталось
|
||||
*/
|
||||
|
||||
/*
|
||||
теперь ищу в нифи примеры с кроном
|
||||
|
||||
17:25:05 MSKERROR16efa0f6-f1e7-3755-04fc-5be0383244ec
|
||||
PutDatabaseRecord[id=16efa0f6-f1e7-3755-04fc-5be0383244ec] Failed to put Records to database for FlowFile[filename=11f8176f-2a98-4199-932e-22e2fc2073b1]. Routing to failure.: org.apache.nifi.serialization.MalformedRecordException: Record does not have a value for the UpdateKey column 'obj_uuid'
|
||||
17:25:05 MSKERROR16efa0f6-f1e7-3755-04fc-5be0383244ec
|
||||
PutDatabaseRecord[id=16efa0f6-f1e7-3755-04fc-5be0383244ec] Record does not have a value for the UpdateKey column 'obj_uuid'
|
||||
17:25:05 MSKERROR16efa0f6-f1e7-3755-04fc-5be0383244ec
|
||||
PutDatabaseRecord[id=16efa0f6-f1e7-3755-04fc-5be0383244ec] Failed to put Records to database for FlowFile[filename=5039a3b6-2244-4451-81fc-deb8074f3cc7]. Routing to failure.: org.apache.nifi.serialization.MalformedRecordException: Record does not have a value for the UpdateKey column 'obj_uuid'
|
||||
17:25:05 MSKERROR16efa0f6-f1e7-3755-04fc-5be0383244ec
|
||||
PutDatabaseRecord[id=16efa0f6-f1e7-3755-04fc-5be0383244ec] Record does not have a value for the UpdateKey column 'obj_uuid'
|
||||
17:25:05 MSKERROR16efa0f6-f1e7-3755-04fc-5be0383244ec
|
||||
PutDatabaseRecord[id=16efa0f6-f1e7-3755-04fc-5be0383244ec] Failed to put Records to database for FlowFile[filename=8c6e9efb-198d-4303-897a-53fcfdf4d0f6]. Routing to failure.: org.apache.nifi.serialization.MalformedRecordException: Record does not have a value for the UpdateKey column 'obj_uuid'
|
||||
|
||||
*/
|
||||
@@ -0,0 +1,47 @@
|
||||
SET ROLE dbo;
|
||||
DROP SCHEMA IF EXISTS vmreports CASCADE;
|
||||
CREATE SCHEMA IF NOT EXISTS vmreports AUTHORIZATION dbo;
|
||||
|
||||
--GRANT ALL ON SCHEMA vmreports TO postgres;
|
||||
BEGIN
|
||||
GRANT USAGE ON SCHEMA vmreports TO appserver;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT SELECT ON TABLES TO appserver;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT USAGE ON SEQUENCES TO appserver;
|
||||
EXCEPTION END;
|
||||
|
||||
BEGIN
|
||||
GRANT USAGE ON SCHEMA vmreports TO nifi,analytics,analyst;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT SELECT ON TABLES TO nifi,analytics,analyst;
|
||||
ALTER DEFAULT PRIVILEGES FOR ROLE dbo IN SCHEMA vmreports GRANT USAGE ON SEQUENCES TO nifi,analytics,analyst;
|
||||
EXCEPTION WHEN others THEN END;
|
||||
/*
|
||||
конструкция осложняется тем, что
|
||||
нужен один пользователь-владелец и второй читатель
|
||||
Это вызывает множество телодвижений при создании.
|
||||
Необходимость указывать пароль при локальном коннекте не очень радует
|
||||
(ведь пользователь локальный, прописан на этом же сервере)
|
||||
*/
|
||||
|
||||
--DROP FOREIGN TABLE IF EXISTS host;
|
||||
--CREATE FOREIGN TABLE vmreports.host () SERVER billing OPTIONS (schema_name 'vmreports', table_name 'host'); -- вместо этого лучше импортировать схему
|
||||
DROP SERVER IF EXISTS billing CASCADE;
|
||||
CREATE SERVER billing
|
||||
FOREIGN DATA WRAPPER postgres_fdw
|
||||
OPTIONS (host 'localhost', port '5432', dbname 'billing');
|
||||
-- для импорта схемы мы создаем маппинг владельцу
|
||||
DROP USER MAPPING IF EXISTS FOR dbo SERVER billing;
|
||||
CREATE USER MAPPING FOR dbo SERVER billing OPTIONS (user 'appserver', password '***');
|
||||
|
||||
IMPORT FOREIGN SCHEMA vmreports FROM SERVER billing INTO vmreports;
|
||||
GRANT SELECT ON vmreports.host to appserver;
|
||||
DROP USER MAPPING IF EXISTS FOR dbo SERVER billing; -- мы импортировали схему, маппинг больше не нужен.
|
||||
-- Но нам все равно пришлось указать пароль дважды
|
||||
|
||||
|
||||
DROP USER MAPPING IF EXISTS FOR appserver SERVER billing;
|
||||
CREATE USER MAPPING FOR appserver SERVER billing OPTIONS (user 'appserver', password '***');
|
||||
--проверка
|
||||
--set role appserver; select * from vmreports.host;
|
||||
|
||||
-- это если интересно, не разрешен ли локальный коннект
|
||||
--SELECT * FROM pg_hba_file_rules;
|
||||
@@ -0,0 +1,52 @@
|
||||
SET ROLE dbo;
|
||||
DROP TABLE IF EXISTS vmreports.vsan_storage CASCADE;
|
||||
CREATE TABLE vmreports.vsan_storage (
|
||||
"Name" varchar(255) NULL,
|
||||
"ClusterNew" varchar(255) NULL,
|
||||
|
||||
"Total" float NULL,
|
||||
"Usable" float NULL,
|
||||
"Used" float NULL,
|
||||
"EffectiveFree" float NULL,
|
||||
|
||||
"Object_UUID" uuid NOT NULL,
|
||||
ts timestamptz NOT NULL
|
||||
,CONSTRAINT PK_vsan_storage PRIMARY KEY (ts, "Object_UUID")
|
||||
);
|
||||
--ALTER TABLE vmreports.vsan_storage OWNER TO dbo;
|
||||
GRANT ALL ON vmreports.vsan_storage TO nifi;
|
||||
--select * from vmreports.vsan_storage;
|
||||
|
||||
/*
|
||||
{
|
||||
"type": "record",
|
||||
"name": "vmreports.vsan_storage",
|
||||
"namespace": "org.apache.nifi",
|
||||
"fields": [
|
||||
{"name":"Object_UUID", "type":{"type": "string", "logicalType": "uuid"}},
|
||||
{"name":"ts","type":{"type": "long", "logicalType": "local-timestamp-millis"}},
|
||||
|
||||
{"name":"Name", "type":["string" ,"null"]},
|
||||
{"name":"ClusterNew", "type":["string" ,"null"]},
|
||||
|
||||
{"name":"Total", "type":["float" ,"null"]},
|
||||
{"name":"Usable", "type":["float" ,"null"]},
|
||||
{"name":"Used", "type":["float" ,"null"]},
|
||||
{"name":"EffectiveFree", "type":["float" ,"null"]}
|
||||
]
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
{
|
||||
"*": {
|
||||
"objId":"[&1].Name",
|
||||
"1":"[&1].ClusterNew",
|
||||
"2":"[&1].Total",
|
||||
"3":"[&1].Usable",
|
||||
"4":"[&1].Used",
|
||||
"5":"[&1].EffectiveFree",
|
||||
"objUUID":"[&1].Object_UUID"
|
||||
}
|
||||
}
|
||||
*/
|
||||
+633
@@ -0,0 +1,633 @@
|
||||
{
|
||||
"companyId": "1",
|
||||
"contracts": [
|
||||
{
|
||||
"contractId": "01983721-6049-72dd-a682-a5af1bd72420",
|
||||
"contractInsideId": "02319_1",
|
||||
"contractOutsideId": "02319_1",
|
||||
"contractStartDate": "20250801",
|
||||
"isContractTerminated": false,
|
||||
"CalculationPeriod": "20260701",
|
||||
"additionalAgreements": [
|
||||
{
|
||||
"additionalAgreementId": "019b6ec1-1984-78fc-9e48-0984aa1f3ca7",
|
||||
"additionalAgreementIndex": 3,
|
||||
"additionalAgreementName": "Доп соглашение 3, к сделке №3768 Сделка на изменения договора",
|
||||
"additionalAgreementStartDate": "",
|
||||
"additionalAgreementBaseBy": "019a5ef8-eebe-76b3-acb9-b5c37748f4ef",
|
||||
"isActual": true,
|
||||
"CalculationPeriod": "20260701",
|
||||
"services": [
|
||||
{
|
||||
"components": [
|
||||
{
|
||||
"paramId": 118,
|
||||
"componentCode": "paas.s3.ceph.vol",
|
||||
"component": "Дисковое пространство: Объем хранения",
|
||||
"measureShort": "ГБайт",
|
||||
"quantity": 1,
|
||||
"priceWVat": 1.8300000000000001,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.ceph.vol"
|
||||
},
|
||||
{
|
||||
"paramId": 69,
|
||||
"componentCode": "paas.s3.ceph.trf",
|
||||
"component": "Исходящий трафик",
|
||||
"measureShort": "ГБайт",
|
||||
"quantity": 1,
|
||||
"priceWVat": 1.5249999999999999,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.ceph.trf"
|
||||
},
|
||||
{
|
||||
"paramId": 68,
|
||||
"componentCode": "paas.s3.ceph.get",
|
||||
"component": "Запросы GET, HEAD, OPTIONS",
|
||||
"measureShort": "10тыс.шт.",
|
||||
"quantity": 1,
|
||||
"priceWVat": 0.3538,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.ceph.get"
|
||||
},
|
||||
{
|
||||
"paramId": 70,
|
||||
"componentCode": "paas.s3.ceph.put",
|
||||
"component": "Запросы PUT, POST, PATCH, LIST",
|
||||
"measureShort": "10тыс.шт.",
|
||||
"quantity": 1,
|
||||
"priceWVat": 4.5750000000000002,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.ceph.put"
|
||||
}
|
||||
],
|
||||
"staticId": "e57bb0bd-8946-4603-95e8-c9c331378bce",
|
||||
"serviceId": "2e1681d7-542e-489c-9169-de562bdca83a",
|
||||
"serviceHash": "e57bb0bd-8946-4603-95e8-c9c331378bce3",
|
||||
"LineCRMID": "019b6ec6-a779-7902-abeb-d2f7e746d64e",
|
||||
"serviceCode": "paas.s3.ceph",
|
||||
"endCustomerName": "",
|
||||
"endCustomerINN": "",
|
||||
"catalogName": "Объектное хранилище",
|
||||
"discount": 0.24125452,
|
||||
"quantity": 1,
|
||||
"dateStartProvision": "20260101",
|
||||
"dateEndProvision": "",
|
||||
"serviceStart": {
|
||||
"currentTimeZoneName": "UTC",
|
||||
"ts": "2026-01-01T00:00:00.000Z"
|
||||
},
|
||||
"serviceCustomName": "Объектное хранилище: S3 CEPH, в составе:\n Дисковое пространство: Объем хранения - 1 ГБайт\nИсходящий трафик - 1 ГБайт\nЗапросы GET, HEAD, OPTIONS - 1 10тыс.шт.\nЗапросы PUT, POST, PATCH, LIST - 1 10тыс.шт.\n",
|
||||
"serviceType": 3,
|
||||
"service_is_easy": false,
|
||||
"vat": 22,
|
||||
"vatRate": 0.22,
|
||||
"vatPerc": 22,
|
||||
"vatFree": 0,
|
||||
"priceWVat": "",
|
||||
"serviceVersionGuid": "2e1681d7-542e-489c-9169-de562bdca83a",
|
||||
"dealIndex": 3768,
|
||||
"CalculationPeriod": "20260701"
|
||||
},
|
||||
{
|
||||
"components": [
|
||||
{
|
||||
"paramId": 118,
|
||||
"componentCode": "paas.s3.cphc.vol",
|
||||
"component": "Дисковое пространство: Объем хранения",
|
||||
"measureShort": "ГБайт",
|
||||
"quantity": 1,
|
||||
"priceWVat": 1.026833333333,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.vol"
|
||||
},
|
||||
{
|
||||
"paramId": 69,
|
||||
"componentCode": "paas.s3.cphc.trf",
|
||||
"component": "Исходящий трафик",
|
||||
"measureShort": "ГБайт",
|
||||
"quantity": 1,
|
||||
"priceWVat": 1.5249999999999999,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.trf"
|
||||
},
|
||||
{
|
||||
"paramId": 68,
|
||||
"componentCode": "paas.s3.cphc.get",
|
||||
"component": "Запросы GET, HEAD, OPTIONS",
|
||||
"measureShort": "10тыс.шт.",
|
||||
"quantity": 1,
|
||||
"priceWVat": 0.97599999999999998,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.get"
|
||||
},
|
||||
{
|
||||
"paramId": 70,
|
||||
"componentCode": "paas.s3.cphc.put",
|
||||
"component": "Запросы PUT, POST, PATCH, LIST",
|
||||
"measureShort": "10тыс.шт.",
|
||||
"quantity": 1,
|
||||
"priceWVat": 11.834,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.put"
|
||||
}
|
||||
],
|
||||
"staticId": "2031f3ac-e921-4816-b91f-9b5b1cf5bf94",
|
||||
"serviceId": "5271dc39-2ec5-4f20-b91e-fdffb4f363b9",
|
||||
"serviceHash": "2031f3ac-e921-4816-b91f-9b5b1cf5bf943",
|
||||
"LineCRMID": "019b6ec6-a82c-7902-93a3-48ba4e25d71d",
|
||||
"serviceCode": "paas.s3.cphc",
|
||||
"endCustomerName": "",
|
||||
"endCustomerINN": "",
|
||||
"catalogName": "Объектное хранилище",
|
||||
"discount": 0,
|
||||
"quantity": 1,
|
||||
"dateStartProvision": "20260101",
|
||||
"dateEndProvision": "",
|
||||
"serviceStart": {
|
||||
"currentTimeZoneName": "UTC",
|
||||
"ts": "2026-01-01T00:00:00.000Z"
|
||||
},
|
||||
"serviceCustomName": "Объектное хранилище: S3 CEPH Холодное, в составе:\n Дисковое пространство: Объем хранения - 1 ГБайт\nИсходящий трафик - 1 ГБайт\nЗапросы GET, HEAD, OPTIONS - 1 10тыс.шт.\nЗапросы PUT, POST, PATCH, LIST - 1 10тыс.шт.\n",
|
||||
"serviceType": 3,
|
||||
"service_is_easy": false,
|
||||
"vat": 22,
|
||||
"vatRate": 0.22,
|
||||
"vatPerc": 22,
|
||||
"vatFree": 0,
|
||||
"priceWVat": "",
|
||||
"serviceVersionGuid": "5271dc39-2ec5-4f20-b91e-fdffb4f363b9",
|
||||
"dealIndex": 3768,
|
||||
"CalculationPeriod": "20260701"
|
||||
},
|
||||
{
|
||||
"components": [
|
||||
{
|
||||
"paramId": 175,
|
||||
"componentCode": "paas.s3.cphc.volq",
|
||||
"component": "Дисковое пространство: Квота",
|
||||
"measureShort": "ГБайт",
|
||||
"quantity": 1,
|
||||
"priceWVat": 2.7999999999999998,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.volq"
|
||||
}
|
||||
],
|
||||
"staticId": "f216f0ac-6c61-42aa-a454-56a93c707d11",
|
||||
"serviceId": "776a3490-cb3a-4721-b521-7bf97073e104",
|
||||
"serviceHash": "f216f0ac-6c61-42aa-a454-56a93c707d112",
|
||||
"LineCRMID": "019b6ec6-a86d-7902-9ba2-defe46f2a036",
|
||||
"serviceCode": "paas.s3.cphc",
|
||||
"endCustomerName": "",
|
||||
"endCustomerINN": "",
|
||||
"catalogName": "Объектное хранилище",
|
||||
"discount": 63.928570999999998,
|
||||
"quantity": 1000,
|
||||
"dateStartProvision": "20250826",
|
||||
"dateEndProvision": "20250930",
|
||||
"serviceStart": {
|
||||
"currentTimeZoneName": "UTC",
|
||||
"ts": "2025-08-26T00:00:00.000Z"
|
||||
},
|
||||
"serviceEnd": {
|
||||
"currentTimeZoneName": "UTC",
|
||||
"ts": "2025-09-30T00:00:00.000Z"
|
||||
},
|
||||
"serviceCustomName": "Объектное хранилище: S3 CEPH Холодное (Квота), в составе:\n Дисковое пространство: Квота - 1 ГБайт\n",
|
||||
"serviceType": 2,
|
||||
"service_is_easy": false,
|
||||
"vat": 20,
|
||||
"vatRate": 0.20000000000000001,
|
||||
"vatPerc": 20,
|
||||
"vatFree": 0,
|
||||
"priceWVat": "",
|
||||
"serviceVersionGuid": "776a3490-cb3a-4721-b521-7bf97073e104",
|
||||
"dealIndex": 3768,
|
||||
"CalculationPeriod": "20260701"
|
||||
},
|
||||
{
|
||||
"components": [
|
||||
{
|
||||
"paramId": 175,
|
||||
"componentCode": "paas.s3.cphc.volq",
|
||||
"component": "Дисковое пространство: Квота",
|
||||
"measureShort": "ГБайт",
|
||||
"quantity": 1,
|
||||
"priceWVat": 2.7999999999999998,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.volq"
|
||||
}
|
||||
],
|
||||
"staticId": "78707549-a675-46e0-bc5b-790ef4d21b6d",
|
||||
"serviceId": "2e9369bc-7f3e-4c31-bb72-3d19e979964e",
|
||||
"serviceHash": "78707549-a675-46e0-bc5b-790ef4d21b6d2",
|
||||
"LineCRMID": "019b6ec6-a8ab-7902-af73-1034bf013a16",
|
||||
"serviceCode": "paas.s3.cphc",
|
||||
"endCustomerName": "",
|
||||
"endCustomerINN": "",
|
||||
"catalogName": "Объектное хранилище",
|
||||
"discount": 63.928570999999998,
|
||||
"quantity": 40000,
|
||||
"dateStartProvision": "20250826",
|
||||
"dateEndProvision": "20250930",
|
||||
"serviceStart": {
|
||||
"currentTimeZoneName": "UTC",
|
||||
"ts": "2025-08-26T00:00:00.000Z"
|
||||
},
|
||||
"serviceEnd": {
|
||||
"currentTimeZoneName": "UTC",
|
||||
"ts": "2025-09-30T00:00:00.000Z"
|
||||
},
|
||||
"serviceCustomName": "Объектное хранилище: S3 CEPH Холодное (Квота), в составе:\n Дисковое пространство: Квота - 1 ГБайт\n",
|
||||
"serviceType": 2,
|
||||
"service_is_easy": false,
|
||||
"vat": 20,
|
||||
"vatRate": 0.20000000000000001,
|
||||
"vatPerc": 20,
|
||||
"vatFree": 0,
|
||||
"priceWVat": "",
|
||||
"serviceVersionGuid": "2e9369bc-7f3e-4c31-bb72-3d19e979964e",
|
||||
"dealIndex": 3768,
|
||||
"CalculationPeriod": "20260701"
|
||||
},
|
||||
{
|
||||
"components": [
|
||||
{
|
||||
"paramId": 118,
|
||||
"componentCode": "paas.s3.cphc.vol",
|
||||
"component": "Дисковое пространство: Объем хранения",
|
||||
"measureShort": "ГБайт",
|
||||
"quantity": 1,
|
||||
"priceWVat": 1.01,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.vol"
|
||||
},
|
||||
{
|
||||
"paramId": 69,
|
||||
"componentCode": "paas.s3.cphc.trf",
|
||||
"component": "Исходящий трафик",
|
||||
"measureShort": "ГБайт",
|
||||
"quantity": 1,
|
||||
"priceWVat": 1.5,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.trf"
|
||||
},
|
||||
{
|
||||
"paramId": 68,
|
||||
"componentCode": "paas.s3.cphc.get",
|
||||
"component": "Запросы GET, HEAD, OPTIONS",
|
||||
"measureShort": "10тыс.шт.",
|
||||
"quantity": 1,
|
||||
"priceWVat": 0.95999999999999996,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.get"
|
||||
},
|
||||
{
|
||||
"paramId": 70,
|
||||
"componentCode": "paas.s3.cphc.put",
|
||||
"component": "Запросы PUT, POST, PATCH",
|
||||
"measureShort": "10тыс.шт.",
|
||||
"quantity": 1,
|
||||
"priceWVat": 11.640000000000001,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.put"
|
||||
}
|
||||
],
|
||||
"staticId": "20240911T125603868",
|
||||
"serviceId": "a564eda1-b716-42ca-9ae7-efc49b112a58",
|
||||
"serviceHash": "20240911T1256038683",
|
||||
"LineCRMID": "019b6ec6-a949-7902-b473-8741f2a18efa",
|
||||
"serviceCode": "paas.s3.cphc",
|
||||
"endCustomerName": "",
|
||||
"endCustomerINN": "",
|
||||
"catalogName": "Объектное хранилище",
|
||||
"discount": 0,
|
||||
"quantity": 1,
|
||||
"dateStartProvision": "20250826",
|
||||
"dateEndProvision": "20250930",
|
||||
"serviceStart": {
|
||||
"currentTimeZoneName": "UTC",
|
||||
"ts": "2025-08-26T00:00:00.000Z"
|
||||
},
|
||||
"serviceEnd": {
|
||||
"currentTimeZoneName": "UTC",
|
||||
"ts": "2025-09-30T00:00:00.000Z"
|
||||
},
|
||||
"serviceCustomName": "Объектное хранилище: S3 CEPH Холодное, в составе:\n Дисковое пространство: Объем хранения - 1 ГБайт\nИсходящий трафик - 1 ГБайт\nЗапросы GET, HEAD, OPTIONS - 1 10тыс.шт.\nЗапросы PUT, POST, PATCH - 1 10тыс.шт.\n",
|
||||
"serviceType": 3,
|
||||
"service_is_easy": false,
|
||||
"vat": 20,
|
||||
"vatRate": 0.20000000000000001,
|
||||
"vatPerc": 20,
|
||||
"vatFree": 0,
|
||||
"priceWVat": "",
|
||||
"serviceVersionGuid": "a564eda1-b716-42ca-9ae7-efc49b112a58",
|
||||
"dealIndex": 3768,
|
||||
"CalculationPeriod": "20260701"
|
||||
},
|
||||
{
|
||||
"components": [
|
||||
{
|
||||
"paramId": 118,
|
||||
"componentCode": "paas.s3.ceph.vol",
|
||||
"component": "Дисковое пространство: Объем хранения",
|
||||
"measureShort": "ГБайт",
|
||||
"quantity": 1,
|
||||
"priceWVat": 1.8,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.ceph.vol"
|
||||
},
|
||||
{
|
||||
"paramId": 69,
|
||||
"componentCode": "paas.s3.ceph.trf",
|
||||
"component": "Исходящий трафик",
|
||||
"measureShort": "ГБайт",
|
||||
"quantity": 1,
|
||||
"priceWVat": 1.5,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.ceph.trf"
|
||||
},
|
||||
{
|
||||
"paramId": 68,
|
||||
"componentCode": "paas.s3.ceph.get",
|
||||
"component": "Запросы GET, HEAD, OPTIONS",
|
||||
"measureShort": "10тыс.шт.",
|
||||
"quantity": 1,
|
||||
"priceWVat": 0.34999999999999998,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.ceph.get"
|
||||
},
|
||||
{
|
||||
"paramId": 70,
|
||||
"componentCode": "paas.s3.ceph.put",
|
||||
"component": "Запросы PUT, POST, PATCH",
|
||||
"measureShort": "10тыс.шт.",
|
||||
"quantity": 1,
|
||||
"priceWVat": 4.5,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.ceph.put"
|
||||
}
|
||||
],
|
||||
"staticId": "20241015T124353835",
|
||||
"serviceId": "5371b7cb-6f6c-4c7d-85b4-609eb52f994a",
|
||||
"serviceHash": "20241015T1243538353",
|
||||
"LineCRMID": "019b6ec6-aa03-7902-9c40-06f6d5cf6e13",
|
||||
"serviceCode": "paas.s3.ceph",
|
||||
"endCustomerName": "",
|
||||
"endCustomerINN": "",
|
||||
"catalogName": "Объектное хранилище",
|
||||
"discount": 0,
|
||||
"quantity": 1,
|
||||
"dateStartProvision": "20250801",
|
||||
"dateEndProvision": "20250930",
|
||||
"serviceStart": {
|
||||
"currentTimeZoneName": "UTC",
|
||||
"ts": "2025-08-01T00:00:00.000Z"
|
||||
},
|
||||
"serviceEnd": {
|
||||
"currentTimeZoneName": "UTC",
|
||||
"ts": "2025-09-30T00:00:00.000Z"
|
||||
},
|
||||
"serviceCustomName": "Объектное хранилище: S3 CEPH, в составе:\n Дисковое пространство: Объем хранения - 1 ГБайт\nИсходящий трафик - 1 ГБайт\nЗапросы GET, HEAD, OPTIONS - 1 10тыс.шт.\nЗапросы PUT, POST, PATCH - 1 10тыс.шт.\n",
|
||||
"serviceType": 3,
|
||||
"service_is_easy": false,
|
||||
"vat": 20,
|
||||
"vatRate": 0.20000000000000001,
|
||||
"vatPerc": 20,
|
||||
"vatFree": 0,
|
||||
"priceWVat": "",
|
||||
"serviceVersionGuid": "5371b7cb-6f6c-4c7d-85b4-609eb52f994a",
|
||||
"dealIndex": 3768,
|
||||
"CalculationPeriod": "20260701"
|
||||
},
|
||||
{
|
||||
"components": [
|
||||
{
|
||||
"paramId": 69,
|
||||
"componentCode": "paas.s3.ceph.trf",
|
||||
"component": "Исходящий трафик",
|
||||
"measureShort": "ГБайт",
|
||||
"quantity": 1,
|
||||
"priceWVat": 1.5,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.ceph.trf"
|
||||
},
|
||||
{
|
||||
"paramId": 70,
|
||||
"componentCode": "paas.s3.ceph.put",
|
||||
"component": "Запросы PUT, POST, PATCH, LIST",
|
||||
"measureShort": "10тыс.шт.",
|
||||
"quantity": 1,
|
||||
"priceWVat": 4.5,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.ceph.put"
|
||||
},
|
||||
{
|
||||
"paramId": 118,
|
||||
"componentCode": "paas.s3.ceph.vol",
|
||||
"component": "Дисковое пространство: Объем хранения",
|
||||
"measureShort": "ГБайт",
|
||||
"quantity": 1,
|
||||
"priceWVat": 1.8,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.ceph.vol"
|
||||
},
|
||||
{
|
||||
"paramId": 68,
|
||||
"componentCode": "paas.s3.ceph.get",
|
||||
"component": "Запросы GET, HEAD, OPTIONS",
|
||||
"measureShort": "10тыс.шт.",
|
||||
"quantity": 1,
|
||||
"priceWVat": 0.34999999999999998,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.ceph.get"
|
||||
}
|
||||
],
|
||||
"staticId": "e57bb0bd-8946-4603-95e8-c9c331378bce",
|
||||
"serviceId": "09fd617a-9ffc-4b98-ad66-3fedac52c7b9",
|
||||
"serviceHash": "e57bb0bd-8946-4603-95e8-c9c331378bce3",
|
||||
"LineCRMID": "019a732b-22a2-7545-91ce-819207c779a0",
|
||||
"catalogName": "Объектное хранилище",
|
||||
"endCustomerName": "",
|
||||
"endCustomerINN": "",
|
||||
"serviceCode": "paas.s3.ceph",
|
||||
"discount": 0,
|
||||
"quantity": 1,
|
||||
"dateStartProvision": "20251001",
|
||||
"CalculationPeriod": "20260701",
|
||||
"dateEndProvision": "20251231",
|
||||
"serviceStart": {
|
||||
"currentTimeZoneName": "UTC",
|
||||
"ts": "2025-10-01T00:00:00.000Z"
|
||||
},
|
||||
"serviceEnd": {
|
||||
"currentTimeZoneName": "UTC",
|
||||
"ts": "2025-12-31T00:00:00.000Z"
|
||||
},
|
||||
"serviceCustomName": "Объектное хранилище: S3 CEPH, в составе:\n Исходящий трафик - 1 ГБайт\nЗапросы PUT, POST, PATCH, LIST - 1 10тыс.шт.\nДисковое пространство: Объем хранения - 1 ГБайт\nЗапросы GET, HEAD, OPTIONS - 1 10тыс.шт.\n",
|
||||
"serviceType": 3,
|
||||
"service_is_easy": false,
|
||||
"vat": 20,
|
||||
"vatRate": 0.20000000000000001,
|
||||
"vatPerc": 20,
|
||||
"vatFree": 0,
|
||||
"priceWVat": "",
|
||||
"serviceVersionGuid": "09fd617a-9ffc-4b98-ad66-3fedac52c7b9",
|
||||
"dealIndex": 3274
|
||||
},
|
||||
{
|
||||
"components": [
|
||||
{
|
||||
"paramId": 118,
|
||||
"componentCode": "paas.s3.cphc.vol",
|
||||
"component": "Дисковое пространство: Объем хранения",
|
||||
"measureShort": "ГБайт",
|
||||
"quantity": 1,
|
||||
"priceWVat": 1.01,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.vol"
|
||||
},
|
||||
{
|
||||
"paramId": 69,
|
||||
"componentCode": "paas.s3.cphc.trf",
|
||||
"component": "Исходящий трафик",
|
||||
"measureShort": "ГБайт",
|
||||
"quantity": 1,
|
||||
"priceWVat": 1.5,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.trf"
|
||||
},
|
||||
{
|
||||
"paramId": 68,
|
||||
"componentCode": "paas.s3.cphc.get",
|
||||
"component": "Запросы GET, HEAD, OPTIONS",
|
||||
"measureShort": "10тыс.шт.",
|
||||
"quantity": 1,
|
||||
"priceWVat": 0.95999999999999996,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.get"
|
||||
},
|
||||
{
|
||||
"paramId": 70,
|
||||
"componentCode": "paas.s3.cphc.put",
|
||||
"component": "Запросы PUT, POST, PATCH, LIST",
|
||||
"measureShort": "10тыс.шт.",
|
||||
"quantity": 1,
|
||||
"priceWVat": 11.640000000000001,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.put"
|
||||
}
|
||||
],
|
||||
"staticId": "2031f3ac-e921-4816-b91f-9b5b1cf5bf94",
|
||||
"serviceId": "539d210f-2e5a-45e2-b148-b0b0834c138c",
|
||||
"serviceHash": "2031f3ac-e921-4816-b91f-9b5b1cf5bf943",
|
||||
"LineCRMID": "019a732b-22d4-7545-83af-18b7f8867eaa",
|
||||
"catalogName": "Объектное хранилище",
|
||||
"endCustomerName": "",
|
||||
"endCustomerINN": "",
|
||||
"serviceCode": "paas.s3.cphc",
|
||||
"discount": 0,
|
||||
"quantity": 1,
|
||||
"dateStartProvision": "20251001",
|
||||
"CalculationPeriod": "20260701",
|
||||
"dateEndProvision": "20251231",
|
||||
"serviceStart": {
|
||||
"currentTimeZoneName": "UTC",
|
||||
"ts": "2025-10-01T00:00:00.000Z"
|
||||
},
|
||||
"serviceEnd": {
|
||||
"currentTimeZoneName": "UTC",
|
||||
"ts": "2025-12-31T00:00:00.000Z"
|
||||
},
|
||||
"serviceCustomName": "Объектное хранилище: S3 CEPH Холодное, в составе:\n Дисковое пространство: Объем хранения - 1 ГБайт\nИсходящий трафик - 1 ГБайт\nЗапросы GET, HEAD, OPTIONS - 1 10тыс.шт.\nЗапросы PUT, POST, PATCH, LIST - 1 10тыс.шт.\n",
|
||||
"serviceType": 3,
|
||||
"service_is_easy": false,
|
||||
"vat": 20,
|
||||
"vatRate": 0.20000000000000001,
|
||||
"vatPerc": 20,
|
||||
"vatFree": 0,
|
||||
"priceWVat": "",
|
||||
"serviceVersionGuid": "539d210f-2e5a-45e2-b148-b0b0834c138c",
|
||||
"dealIndex": 3274
|
||||
},
|
||||
{
|
||||
"components": [
|
||||
{
|
||||
"paramId": 118,
|
||||
"componentCode": "paas.s3.cphc.vol",
|
||||
"component": "Дисковое пространство: Объем хранения",
|
||||
"measureShort": "ГБайт",
|
||||
"quantity": 40000,
|
||||
"priceWVat": 1.01,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.vol"
|
||||
},
|
||||
{
|
||||
"paramId": 68,
|
||||
"componentCode": "paas.s3.cphc.get",
|
||||
"component": "Запросы GET, HEAD, OPTIONS",
|
||||
"measureShort": "10тыс.шт.",
|
||||
"quantity": 1,
|
||||
"priceWVat": 0.95999999999999996,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.get"
|
||||
},
|
||||
{
|
||||
"paramId": 69,
|
||||
"componentCode": "paas.s3.cphc.trf",
|
||||
"component": "Исходящий трафик",
|
||||
"measureShort": "ГБайт",
|
||||
"quantity": 1,
|
||||
"priceWVat": 1.5,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.trf"
|
||||
},
|
||||
{
|
||||
"paramId": 70,
|
||||
"componentCode": "paas.s3.cphc.put",
|
||||
"component": "Запросы PUT, POST, PATCH",
|
||||
"measureShort": "10тыс.шт.",
|
||||
"quantity": 1,
|
||||
"priceWVat": 11.640000000000001,
|
||||
"discount": 0,
|
||||
"atomicCode": "paas.s3.cphc.put"
|
||||
}
|
||||
],
|
||||
"staticId": "20240911T125603868",
|
||||
"serviceId": "67dffa20-a69e-449a-b02c-edf78d9ff192",
|
||||
"serviceHash": "20240911T1256038683",
|
||||
"LineCRMID": "01983726-3501-7496-b7f3-6f58f4d7f209",
|
||||
"catalogName": "Объектное хранилище",
|
||||
"endCustomerName": "",
|
||||
"endCustomerINN": "",
|
||||
"serviceCode": "paas.s3.cphc",
|
||||
"discount": 0,
|
||||
"quantity": 1,
|
||||
"dateStartProvision": "20250801",
|
||||
"CalculationPeriod": "20260701",
|
||||
"dateEndProvision": "20250825",
|
||||
"serviceStart": {
|
||||
"currentTimeZoneName": "UTC",
|
||||
"ts": "2025-08-01T00:00:00.000Z"
|
||||
},
|
||||
"serviceEnd": {
|
||||
"currentTimeZoneName": "UTC",
|
||||
"ts": "2025-08-25T00:00:00.000Z"
|
||||
},
|
||||
"serviceCustomName": "Объектное хранилище: S3 CEPH Холодное, в составе:\n Дисковое пространство: Объем хранения - 40000 ГБайт\nЗапросы GET, HEAD, OPTIONS - 1 10тыс.шт.\nИсходящий трафик - 1 ГБайт\nЗапросы PUT, POST, PATCH - 1 10тыс.шт.\n",
|
||||
"serviceType": 3,
|
||||
"service_is_easy": false,
|
||||
"vat": 20,
|
||||
"vatRate": 0.20000000000000001,
|
||||
"vatPerc": 20,
|
||||
"vatFree": 0,
|
||||
"priceWVat": "",
|
||||
"serviceVersionGuid": "67dffa20-a69e-449a-b02c-edf78d9ff192",
|
||||
"dealIndex": 1450
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user