diff --git a/inventory/VERSION b/inventory/VERSION index d1658491..7cca401c 100644 --- a/inventory/VERSION +++ b/inventory/VERSION @@ -1 +1 @@ -2.31.4-dev +2.32.0 diff --git a/inventory/api/compute/v1/compute.proto b/inventory/api/compute/v1/compute.proto index 84222b1c..68e31a69 100644 --- a/inventory/api/compute/v1/compute.proto +++ b/inventory/api/compute/v1/compute.proto @@ -628,19 +628,9 @@ message InstanceResource { HostResource host = 9 [(ent.edge) = {unique: true}]; // Host this Instance is placed on. Only applicable to baremetal instances. reserved 10; // Reserve for User edge - os.v1.OperatingSystemResource desired_os = 11 [(ent.edge) = { - unique: true - required: true - }]; // Deprecated, use OSUpdatePolicy for driving day2, and os for day0 operations instead. OS resource that should be installed to this Instance. - - os.v1.OperatingSystemResource current_os = 25 [(ent.edge) = { - unique: true - required: false - }]; // Deprecated, use os field instead. OS resource that is currently installed for this Instance. - os.v1.OperatingSystemResource os = 12 [(ent.edge) = { unique: true - required: false + required: true }]; // OS resource that is installed for this Instance. os.v1.SecurityFeature security_feature = 14 [(ent.field) = { @@ -680,11 +670,6 @@ message InstanceResource { ]; // textual message that describes the update status of Instance. Set by RMs only. status.v1.StatusIndication update_status_indicator = 22 [(ent.field) = {optional: true}]; // Indicates interpretation of update_status. Set by RMs only. uint64 update_status_timestamp = 23 [(ent.field) = {optional: true}]; // UTC timestamp when update_status was last changed. Set by RMs only. - string update_status_detail = 24 [ - (ent.field) = {optional: true}, - (buf.validate.field).string = {max_bytes: 100000}, - (buf.validate.field).ignore = IGNORE_IF_UNPOPULATED - ]; // Deprecated, will be removed in EMF v3.2.0, use OSUpdateRun instead. JSON field storing details of Instance update status. Set by RMs only. Beta, subject to change. // A group of fields describing the Instance trusted_attestation status. // trusted_attestation_status, trusted_attestation_status_indicator and @@ -993,17 +978,6 @@ message OSUpdatePolicyResource { } ]; - string install_packages = 4 [ - (ent.field) = { - immutable: true - optional: true - }, - (buf.validate.field).string = { - pattern: "^$|^[a-zA-Z-_0-9./:;=@?!#,<>*()\" \\\n]+$" - max_len: 500000 - } - ]; // Deprecated, use update_packages field instead. Freeform text, OS-dependent. A list of package names, one per line (newline separated). Should not contain version info. Applies only to Mutable OSes. - repeated string update_sources = 5 [ (ent.field) = { immutable: true @@ -1021,17 +995,6 @@ message OSUpdatePolicyResource { } ]; // OS Update Sources. Should be in 'DEB822 Source Format' for Debian style OSs. Applies only to Mutable OSes. - string kernel_command = 6 [ - (ent.field) = { - immutable: true - optional: true - }, - (buf.validate.field).string = { - pattern: "^$|^[a-zA-Z-_0-9./:;=@?!#,<>*()\" ]+$" - max_len: 500 - } - ]; // Deprecated, use update_kernel_command field instead. Kernel Command Line Options. Applies only to Mutable OSes. - string update_packages = 7 [ (ent.field) = { immutable: true diff --git a/inventory/api/os/v1/os.proto b/inventory/api/os/v1/os.proto index 656b3f99..e0a1275f 100644 --- a/inventory/api/os/v1/os.proto +++ b/inventory/api/os/v1/os.proto @@ -67,12 +67,6 @@ message OperatingSystemResource { immutable: true }]; // user-provided, human-readable name of OS string architecture = 3 [(ent.field) = {optional: true}]; // CPU architecture supported - string kernel_command = 4 [(ent.field) = {optional: true}]; // Kernel Command Line Options. Deprecated in EMF-v3.1, use OSUpdatePolicy. - - repeated string update_sources = 5 [ - (ent.field) = {optional: true}, - (buf.validate.field).repeated.items.string = {max_bytes: 10000} - ]; // OS Update Sources. Should be in 'DEB822 Source Format' for Debian style OSs. Deprecated in EMF-v3.1, use OSUpdatePolicy. string image_url = 6 [(ent.field) = { optional: true @@ -107,7 +101,7 @@ message OperatingSystemResource { string installed_packages = 9 [(ent.field) = { optional: true immutable: false - }]; // Freeform text, OS-dependent. A list of package names, one per line (newline separated). Should not contain version info. Deprecated in EMF-v3.1, use OSUpdatePolicy. + }]; // Freeform text, OS-dependent. A list of installed package names, one per line (newline separated). Populated internally for immutable OS only. // The URL of the OS manifest which contains install packages details. This will be used to fill the installed_packages field // for the advance use case to allow manual creation of OSProfiles when supported from backend. diff --git a/inventory/docs/api/inventory.md b/inventory/docs/api/inventory.md index 2b981ad7..3cd506f5 100644 --- a/inventory/docs/api/inventory.md +++ b/inventory/docs/api/inventory.md @@ -366,14 +366,12 @@ | resource_id | [string](#string) | | Resource ID of this OperatingSystemResource | | name | [string](#string) | | user-provided, human-readable name of OS | | architecture | [string](#string) | | CPU architecture supported | -| kernel_command | [string](#string) | | Kernel Command Line Options. Deprecated in EMF-v3.1, use OSUpdatePolicy. | -| update_sources | [string](#string) | repeated | OS Update Sources. Should be in 'DEB822 Source Format' for Debian style OSs. Deprecated in EMF-v3.1, use OSUpdatePolicy. | | image_url | [string](#string) | | OS image URL. URL of the original installation source. | | image_id | [string](#string) | | OS image ID. This must be a unique identifier of OS image that can be retrieved from running OS. Used by IMMUTABLE only. | | sha256 | [string](#string) | | SHA256 checksum of the OS resource in HEX. It's length is 32 bytes, but string representation of HEX is twice long (64 chars) | | profile_name | [string](#string) | | Name of an OS profile that the OS resource belongs to. Uniquely identifies family of OSResources. | | profile_version | [string](#string) | | Version of an OS profile that the OS resource belongs to. Along with profile_name uniquely identifies OS resource. | -| installed_packages | [string](#string) | | Freeform text, OS-dependent. A list of package names, one per line (newline separated). Should not contain version info. Deprecated in EMF-v3.1, use OSUpdatePolicy. | +| installed_packages | [string](#string) | | Freeform text, OS-dependent. A list of installed package names, one per line (newline separated). Populated internally for immutable OS only. | | installed_packages_url | [string](#string) | | The URL of the OS manifest which contains install packages details. This will be used to fill the installed_packages field for the advance use case to allow manual creation of OSProfiles when supported from backend. | | security_feature | [SecurityFeature](#os-v1-SecurityFeature) | | Indicating if this OS is capable of supporting features like Secure Boot (SB) and Full Disk Encryption (FDE). | | os_type | [OsType](#os-v1-OsType) | | Indicating the type of OS (for example, mutable or immutable). | @@ -740,8 +738,6 @@ host or hypervisor. | vm_cpu_cores | [uint32](#uint32) | | Number of CPU cores. Only applicable to VM instances. | | vm_storage_bytes | [uint64](#uint64) | | Storage quantity (primary), in bytes. Only applicable to VM instances. | | host | [HostResource](#compute-v1-HostResource) | | Host this Instance is placed on. Only applicable to baremetal instances. | -| desired_os | [os.v1.OperatingSystemResource](#os-v1-OperatingSystemResource) | | Deprecated, use OSUpdatePolicy for driving day2, and os for day0 operations instead. OS resource that should be installed to this Instance. | -| current_os | [os.v1.OperatingSystemResource](#os-v1-OperatingSystemResource) | | Deprecated, use os field instead. OS resource that is currently installed for this Instance. | | os | [os.v1.OperatingSystemResource](#os-v1-OperatingSystemResource) | | OS resource that is installed for this Instance. | | security_feature | [os.v1.SecurityFeature](#os-v1-SecurityFeature) | | Select to enable security features such as Secure Boot (SB) and Full Disk Encryption (FDE). | | instance_status | [string](#string) | | A group of fields describing the Instance runtime status. instance_status, instance_status_indicator and instance_status_timestamp should always be updated in one shot. If instance_status is empty during initialization, it is automatically set to a default value. @@ -759,7 +755,6 @@ textual message that describes the provisioning status of Instance. Set by RMs o textual message that describes the update status of Instance. Set by RMs only. | | update_status_indicator | [status.v1.StatusIndication](#status-v1-StatusIndication) | | Indicates interpretation of update_status. Set by RMs only. | | update_status_timestamp | [uint64](#uint64) | | UTC timestamp when update_status was last changed. Set by RMs only. | -| update_status_detail | [string](#string) | | Deprecated, will be removed in EMF v3.2.0, use OSUpdateRun instead. JSON field storing details of Instance update status. Set by RMs only. Beta, subject to change. | | trusted_attestation_status | [string](#string) | | A group of fields describing the Instance trusted_attestation status. trusted_attestation_status, trusted_attestation_status_indicator and trusted_attestation_status_timestamp should always be updated in one shot. If trusted_attestation_status is empty during initialization, it is automatically set to a default value. textual message that describes the trusted_attestation status of Instance. Set by RMs only. | @@ -794,9 +789,7 @@ textual message that describes the trusted_attestation status of Instance. Set b | resource_id | [string](#string) | | resource ID, generated by inventory on Create | | name | [string](#string) | | User-provided, human-readable name of OSUpdatePolicy | | description | [string](#string) | | | -| install_packages | [string](#string) | | Deprecated, use update_packages field instead. Freeform text, OS-dependent. A list of package names, one per line (newline separated). Should not contain version info. Applies only to Mutable OSes. | | update_sources | [string](#string) | repeated | OS Update Sources. Should be in 'DEB822 Source Format' for Debian style OSs. Applies only to Mutable OSes. | -| kernel_command | [string](#string) | | Deprecated, use update_kernel_command field instead. Kernel Command Line Options. Applies only to Mutable OSes. | | update_packages | [string](#string) | | Freeform text, OS-dependent. A list of package names, one per line (newline separated). Should not contain version info. Applies only to Mutable OSes. | | update_kernel_command | [string](#string) | | Kernel Command Line Options. Applies only to Mutable OSes. | | target_os | [os.v1.OperatingSystemResource](#os-v1-OperatingSystemResource) | | OS resource that should be installed to this Instance. Applies only to Immutable OSes for A/B upgrades. The field is immutable. | diff --git a/inventory/docs/inventory-er-diagram.svg b/inventory/docs/inventory-er-diagram.svg index 41ffe5f5..1760e262 100644 --- a/inventory/docs/inventory-er-diagram.svg +++ b/inventory/docs/inventory-er-diagram.svg @@ -4,2778 +4,2732 @@ - - + + dbml tenants - - - -       tenants        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -current_state     -character varying - - -desired_state     -character varying - -(!) - - -watcher_osmanager     -boolean - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - + + + +       tenants        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +current_state     +character varying + + +desired_state     +character varying + +(!) + + +watcher_osmanager     +boolean + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + region_resources - - - -       region_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -name     -character varying - - -region_kind     -character varying - - -metadata     -character varying - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -region_resource_parent_region     -bigint - + + + +       region_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +name     +character varying + + +region_kind     +character varying + + +metadata     +character varying + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +region_resource_parent_region     +bigint + region_resources:e->region_resources:w - - -* -1 + + +* +1 site_resources - - - -       site_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -name     -character varying - - -address     -character varying - - -site_lat     -integer - - -site_lng     -integer - - -dns_servers     -character varying - - -docker_registries     -character varying - - -metrics_endpoint     -character varying - - -http_proxy     -character varying - - -https_proxy     -character varying - - -ftp_proxy     -character varying - - -no_proxy     -character varying - - -metadata     -character varying - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -site_resource_region     -bigint - - -site_resource_ou     -bigint - - -site_resource_provider     -bigint - + + + +       site_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +name     +character varying + + +address     +character varying + + +site_lat     +integer + + +site_lng     +integer + + +dns_servers     +character varying + + +docker_registries     +character varying + + +metrics_endpoint     +character varying + + +http_proxy     +character varying + + +https_proxy     +character varying + + +ftp_proxy     +character varying + + +no_proxy     +character varying + + +metadata     +character varying + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +site_resource_region     +bigint + + +site_resource_ou     +bigint + + +site_resource_provider     +bigint + region_resources:e->site_resources:w - - -* -1 + + +* +1 repeated_schedule_resources - - - -       repeated_schedule_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -schedule_status     -character varying - - -name     -character varying - - -duration_seconds     -bigint - - -cron_minutes     -character varying - -(!) - - -cron_hours     -character varying - -(!) - - -cron_day_month     -character varying - -(!) - - -cron_month     -character varying - -(!) - - -cron_day_week     -character varying - -(!) - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -repeated_schedule_resource_target_site     -bigint - - -repeated_schedule_resource_target_host     -bigint - - -repeated_schedule_resource_target_workload     -bigint - - -repeated_schedule_resource_target_region     -bigint - + + + +       repeated_schedule_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +schedule_status     +character varying + + +name     +character varying + + +duration_seconds     +bigint + + +cron_minutes     +character varying + +(!) + + +cron_hours     +character varying + +(!) + + +cron_day_month     +character varying + +(!) + + +cron_month     +character varying + +(!) + + +cron_day_week     +character varying + +(!) + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +repeated_schedule_resource_target_site     +bigint + + +repeated_schedule_resource_target_host     +bigint + + +repeated_schedule_resource_target_workload     +bigint + + +repeated_schedule_resource_target_region     +bigint + - + region_resources:e->repeated_schedule_resources:w - - -* -1 + + +* +1 single_schedule_resources - - - -       single_schedule_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -schedule_status     -character varying - - -name     -character varying - - -start_seconds     -bigint - -(!) - - -end_seconds     -bigint - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -single_schedule_resource_target_site     -bigint - - -single_schedule_resource_target_host     -bigint - - -single_schedule_resource_target_workload     -bigint - - -single_schedule_resource_target_region     -bigint - + + + +       single_schedule_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +schedule_status     +character varying + + +name     +character varying + + +start_seconds     +bigint + +(!) + + +end_seconds     +bigint + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +single_schedule_resource_target_site     +bigint + + +single_schedule_resource_target_host     +bigint + + +single_schedule_resource_target_workload     +bigint + + +single_schedule_resource_target_region     +bigint + - + region_resources:e->single_schedule_resources:w - - -* -1 + + +* +1 telemetry_profiles - - - -       telemetry_profiles        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -kind     -character varying - -(!) - - -metrics_interval     -bigint - - -log_level     -character varying - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -telemetry_profile_region     -bigint - - -telemetry_profile_site     -bigint - - -telemetry_profile_instance     -bigint - - -telemetry_profile_group     -bigint - -(!) - + + + +       telemetry_profiles        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +kind     +character varying + +(!) + + +metrics_interval     +bigint + + +log_level     +character varying + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +telemetry_profile_region     +bigint + + +telemetry_profile_site     +bigint + + +telemetry_profile_instance     +bigint + + +telemetry_profile_group     +bigint + +(!) + - + region_resources:e->telemetry_profiles:w - - -* -1 + + +* +1 ou_resources - - - -       ou_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -name     -character varying - - -ou_kind     -character varying - - -metadata     -character varying - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -ou_resource_parent_ou     -bigint - + + + +       ou_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +name     +character varying + + +ou_kind     +character varying + + +metadata     +character varying + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +ou_resource_parent_ou     +bigint + ou_resources:e->ou_resources:w - - -* -1 + + +* +1 ou_resources:e->site_resources:w - - -* -1 + + +* +1 provider_resources - - - -       provider_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -provider_kind     -character varying - -(!) - - -provider_vendor     -character varying - - -name     -character varying - -(!) - - -api_endpoint     -character varying - -(!) - - -api_credentials     -character varying - - -config     -character varying - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - + + + +       provider_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +provider_kind     +character varying + +(!) + + +provider_vendor     +character varying + + +name     +character varying + +(!) + + +api_endpoint     +character varying + +(!) + + +api_credentials     +character varying + + +config     +character varying + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + provider_resources:e->site_resources:w - - -* -1 + + +* +1 instance_resources - - - -       instance_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -kind     -character varying - - -name     -character varying - - -desired_state     -character varying - - -current_state     -character varying - - -vm_memory_bytes     -bigint - - -vm_cpu_cores     -bigint - - -vm_storage_bytes     -bigint - - -security_feature     -character varying - - -instance_status     -character varying - - -instance_status_indicator     -character varying - - -instance_status_timestamp     -bigint - - -provisioning_status     -character varying - - -provisioning_status_indicator     -character varying - - -provisioning_status_timestamp     -bigint - - -update_status     -character varying - - -update_status_indicator     -character varying - - -update_status_timestamp     -bigint - - -update_status_detail     -character varying - - -trusted_attestation_status     -character varying - - -trusted_attestation_status_indicator     -character varying - - -trusted_attestation_status_timestamp     -bigint - - -existing_cves     -character varying - - -runtime_packages     -character varying - - -os_update_available     -character varying - - -tenant_id     -character varying - -(!) - - -instance_status_detail     -character varying - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -instance_resource_desired_os     -bigint - -(!) - - -instance_resource_current_os     -bigint - - -instance_resource_os     -bigint - - -instance_resource_provider     -bigint - - -instance_resource_localaccount     -bigint - - -instance_resource_os_update_policy     -bigint - + + + +       instance_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +kind     +character varying + + +name     +character varying + + +desired_state     +character varying + + +current_state     +character varying + + +vm_memory_bytes     +bigint + + +vm_cpu_cores     +bigint + + +vm_storage_bytes     +bigint + + +security_feature     +character varying + + +instance_status     +character varying + + +instance_status_indicator     +character varying + + +instance_status_timestamp     +bigint + + +provisioning_status     +character varying + + +provisioning_status_indicator     +character varying + + +provisioning_status_timestamp     +bigint + + +update_status     +character varying + + +update_status_indicator     +character varying + + +update_status_timestamp     +bigint + + +trusted_attestation_status     +character varying + + +trusted_attestation_status_indicator     +character varying + + +trusted_attestation_status_timestamp     +bigint + + +existing_cves     +character varying + + +runtime_packages     +character varying + + +os_update_available     +character varying + + +tenant_id     +character varying + +(!) + + +instance_status_detail     +character varying + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +instance_resource_os     +bigint + +(!) + + +instance_resource_provider     +bigint + + +instance_resource_localaccount     +bigint + + +instance_resource_os_update_policy     +bigint + - + provider_resources:e->instance_resources:w - - -* -1 + + +* +1 host_resources - - - -       host_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -kind     -character varying - - -name     -character varying - - -desired_state     -character varying - - -current_state     -character varying - - -note     -character varying - - -hardware_kind     -character varying - - -serial_number     -character varying - - -uuid     -character varying - - -memory_bytes     -bigint - - -cpu_model     -character varying - - -cpu_sockets     -bigint - - -cpu_cores     -bigint - - -cpu_capabilities     -character varying - - -cpu_architecture     -character varying - - -cpu_threads     -bigint - - -cpu_topology     -character varying - - -mgmt_ip     -character varying - - -bmc_kind     -character varying - - -bmc_ip     -character varying - - -bmc_username     -character varying - - -bmc_password     -character varying - - -pxe_mac     -character varying - - -hostname     -character varying - - -product_name     -character varying - - -bios_version     -character varying - - -bios_release_date     -character varying - - -bios_vendor     -character varying - - -metadata     -character varying - - -desired_power_state     -character varying - - -current_power_state     -character varying - - -power_status     -character varying - - -power_status_indicator     -character varying - - -power_status_timestamp     -bigint - - -power_command_policy     -character varying - - -power_on_time     -bigint - - -host_status     -character varying - - -host_status_indicator     -character varying - - -host_status_timestamp     -bigint - - -onboarding_status     -character varying - - -onboarding_status_indicator     -character varying - - -onboarding_status_timestamp     -bigint - - -registration_status     -character varying - - -registration_status_indicator     -character varying - - -registration_status_timestamp     -bigint - - -amt_sku     -character varying - - -desired_amt_state     -character varying - - -current_amt_state     -character varying - - -amt_status     -character varying - - -amt_status_indicator     -character varying - - -amt_status_timestamp     -bigint - - -user_lvm_size     -bigint - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -host_resource_site     -bigint - - -host_resource_provider     -bigint - - -instance_resource_host     -bigint - + + + +       host_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +kind     +character varying + + +name     +character varying + + +desired_state     +character varying + + +current_state     +character varying + + +note     +character varying + + +hardware_kind     +character varying + + +serial_number     +character varying + + +uuid     +character varying + + +memory_bytes     +bigint + + +cpu_model     +character varying + + +cpu_sockets     +bigint + + +cpu_cores     +bigint + + +cpu_capabilities     +character varying + + +cpu_architecture     +character varying + + +cpu_threads     +bigint + + +cpu_topology     +character varying + + +mgmt_ip     +character varying + + +bmc_kind     +character varying + + +bmc_ip     +character varying + + +bmc_username     +character varying + + +bmc_password     +character varying + + +pxe_mac     +character varying + + +hostname     +character varying + + +product_name     +character varying + + +bios_version     +character varying + + +bios_release_date     +character varying + + +bios_vendor     +character varying + + +metadata     +character varying + + +desired_power_state     +character varying + + +current_power_state     +character varying + + +power_status     +character varying + + +power_status_indicator     +character varying + + +power_status_timestamp     +bigint + + +power_command_policy     +character varying + + +power_on_time     +bigint + + +host_status     +character varying + + +host_status_indicator     +character varying + + +host_status_timestamp     +bigint + + +onboarding_status     +character varying + + +onboarding_status_indicator     +character varying + + +onboarding_status_timestamp     +bigint + + +registration_status     +character varying + + +registration_status_indicator     +character varying + + +registration_status_timestamp     +bigint + + +amt_sku     +character varying + + +desired_amt_state     +character varying + + +current_amt_state     +character varying + + +amt_status     +character varying + + +amt_status_indicator     +character varying + + +amt_status_timestamp     +bigint + + +user_lvm_size     +bigint + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +host_resource_site     +bigint + + +host_resource_provider     +bigint + + +instance_resource_host     +bigint + - + provider_resources:e->host_resources:w - - -* -1 + + +* +1 - + site_resources:e->host_resources:w - - -* -1 + + +* +1 network_segments - - - -       network_segments        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -name     -character varying - - -vlan_id     -integer - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -network_segment_site     -bigint - -(!) - + + + +       network_segments        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +name     +character varying + + +vlan_id     +integer + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +network_segment_site     +bigint + +(!) + - + site_resources:e->network_segments:w - - -* -1 + + +* +1 - + site_resources:e->repeated_schedule_resources:w - - -* -1 + + +* +1 - + site_resources:e->single_schedule_resources:w - - -* -1 + + +* +1 - + site_resources:e->telemetry_profiles:w - - -* -1 + + +* +1 operating_system_resources - - - -       operating_system_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -name     -character varying - - -architecture     -character varying - - -kernel_command     -character varying - - -update_sources     -character varying - - -image_url     -character varying - - -image_id     -character varying - - -sha256     -character varying - - -profile_name     -character varying - - -profile_version     -character varying - - -installed_packages     -character varying - - -installed_packages_url     -character varying - - -security_feature     -character varying - - -os_type     -character varying - - -os_provider     -character varying - -(!) - - -platform_bundle     -character varying - - -description     -character varying - - -metadata     -character varying - - -tls_ca_cert     -character varying - - -existing_cves_url     -character varying - - -existing_cves     -character varying - - -fixed_cves_url     -character varying - - -fixed_cves     -character varying - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - + + + +       operating_system_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +name     +character varying + + +architecture     +character varying + + +image_url     +character varying + + +image_id     +character varying + + +sha256     +character varying + + +profile_name     +character varying + + +profile_version     +character varying + + +installed_packages     +character varying + + +installed_packages_url     +character varying + + +security_feature     +character varying + + +os_type     +character varying + + +os_provider     +character varying + +(!) + + +platform_bundle     +character varying + + +description     +character varying + + +metadata     +character varying + + +tls_ca_cert     +character varying + + +existing_cves_url     +character varying + + +existing_cves     +character varying + + +fixed_cves_url     +character varying + + +fixed_cves     +character varying + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + os_update_policy_resources - - - -       os_update_policy_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -name     -character varying - -(!) - - -description     -character varying - - -install_packages     -character varying - - -update_sources     -character varying - - -kernel_command     -character varying - - -update_packages     -character varying - - -update_kernel_command     -character varying - - -update_policy     -character varying - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -os_update_policy_resource_target_os     -bigint - + + + +       os_update_policy_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +name     +character varying + +(!) + + +description     +character varying + + +update_sources     +character varying + + +update_packages     +character varying + + +update_kernel_command     +character varying + + +update_policy     +character varying + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +os_update_policy_resource_target_os     +bigint + operating_system_resources:e->os_update_policy_resources:w - - -* -1 + + +* +1 operating_system_resources:e->instance_resources:w - - -* -1 - - - - -operating_system_resources:e->instance_resources:w - - -* -1 - - - - -operating_system_resources:e->instance_resources:w - - -* -1 + + +* +1 os_update_policies - - - -       os_update_policies        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -installed_packages     -character varying - - -update_sources     -character varying - - -kernel_command     -character varying - - -update_policy     -character varying - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -os_update_policy_target_os     -bigint - + + + +       os_update_policies        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +installed_packages     +character varying + + +update_sources     +character varying + + +kernel_command     +character varying + + +update_policy     +character varying + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +os_update_policy_target_os     +bigint + - + operating_system_resources:e->os_update_policies:w - - -* -1 + + +* +1 local_account_resources - - - -       local_account_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -username     -character varying - -(!) - - -ssh_key     -character varying - -(!) - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - + + + +       local_account_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +username     +character varying + +(!) + + +ssh_key     +character varying + +(!) + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + - + local_account_resources:e->instance_resources:w - - -* -1 + + +* +1 - + os_update_policy_resources:e->instance_resources:w - - -* -1 + + +* +1 os_update_run_resources - - - -       os_update_run_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -name     -character varying - - -description     -character varying - - -status_indicator     -character varying - -(!) - - -status     -character varying - - -status_details     -character varying - - -status_timestamp     -bigint - -(!) - - -start_time     -bigint - -(!) - - -end_time     -bigint - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -os_update_run_resource_applied_policy     -bigint - -(!) - - -os_update_run_resource_instance     -bigint - -(!) - + + + +       os_update_run_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +name     +character varying + + +description     +character varying + + +status_indicator     +character varying + +(!) + + +status     +character varying + + +status_details     +character varying + + +status_timestamp     +bigint + +(!) + + +start_time     +bigint + +(!) + + +end_time     +bigint + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +os_update_run_resource_applied_policy     +bigint + +(!) + + +os_update_run_resource_instance     +bigint + +(!) + - + os_update_policy_resources:e->os_update_run_resources:w - - -* -1 + + +* +1 - + instance_resources:e->host_resources:w - - -* -1 + + +* +1 instance_resource_custom_config - - - -       instance_resource_custom_config        - - -instance_resource_id -     -bigint - -(!) - - -custom_config_resource_id -     -bigint - -(!) - + + + +       instance_resource_custom_config        + + +instance_resource_id +     +bigint + +(!) + + +custom_config_resource_id +     +bigint + +(!) + - + instance_resources:e->instance_resource_custom_config:w - - -* -1 + + +* +1 - + instance_resources:e->os_update_run_resources:w - - -* -1 + + +* +1 remote_access_configurations - - - -       remote_access_configurations        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -expiration_timestamp     -bigint - -(!) - - -local_port     -bigint - - -user     -character varying - - -current_state     -character varying - - -desired_state     -character varying - -(!) - - -configuration_status     -character varying - - -configuration_status_indicator     -character varying - - -configuration_status_timestamp     -bigint - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -remote_access_configuration_instance     -bigint - -(!) - + + + +       remote_access_configurations        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +expiration_timestamp     +bigint + +(!) + + +local_port     +bigint + + +user     +character varying + + +current_state     +character varying + + +desired_state     +character varying + +(!) + + +configuration_status     +character varying + + +configuration_status_indicator     +character varying + + +configuration_status_timestamp     +bigint + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +remote_access_configuration_instance     +bigint + +(!) + - + instance_resources:e->remote_access_configurations:w - - -* -1 + + +* +1 - + instance_resources:e->telemetry_profiles:w - - -* -1 + + +* +1 workload_members - - - -       workload_members        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -kind     -character varying - -(!) - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -workload_member_workload     -bigint - -(!) - - -workload_member_instance     -bigint - -(!) - + + + +       workload_members        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +kind     +character varying + +(!) + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +workload_member_workload     +bigint + +(!) + + +workload_member_instance     +bigint + +(!) + - + instance_resources:e->workload_members:w - - -* -1 + + +* +1 endpoint_resources - - - -       endpoint_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -kind     -character varying - - -name     -character varying - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -endpoint_resource_host     -bigint - + + + +       endpoint_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +kind     +character varying + + +name     +character varying + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +endpoint_resource_host     +bigint + - + host_resources:e->endpoint_resources:w - - -* -1 + + +* +1 hostgpu_resources - - - -       hostgpu_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -pci_id     -character varying - - -product     -character varying - - -vendor     -character varying - - -description     -character varying - - -device_name     -character varying - - -features     -character varying - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -hostgpu_resource_host     -bigint - -(!) - + + + +       hostgpu_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +pci_id     +character varying + + +product     +character varying + + +vendor     +character varying + + +description     +character varying + + +device_name     +character varying + + +features     +character varying + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +hostgpu_resource_host     +bigint + +(!) + - + host_resources:e->hostgpu_resources:w - - -* -1 + + +* +1 hostnic_resources - - - -       hostnic_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -kind     -character varying - - -provider_status     -character varying - - -device_name     -character varying - - -pci_identifier     -character varying - - -mac_addr     -character varying - - -sriov_enabled     -boolean - - -sriov_vfs_num     -bigint - - -sriov_vfs_total     -bigint - - -peer_name     -character varying - - -peer_description     -character varying - - -peer_mac     -character varying - - -peer_mgmt_ip     -character varying - - -peer_port     -character varying - - -supported_link_mode     -character varying - - -advertising_link_mode     -character varying - - -current_speed_bps     -bigint - - -current_duplex     -character varying - - -features     -character varying - - -mtu     -bigint - - -link_state     -character varying - - -bmc_interface     -boolean - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -hostnic_resource_host     -bigint - -(!) - + + + +       hostnic_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +kind     +character varying + + +provider_status     +character varying + + +device_name     +character varying + + +pci_identifier     +character varying + + +mac_addr     +character varying + + +sriov_enabled     +boolean + + +sriov_vfs_num     +bigint + + +sriov_vfs_total     +bigint + + +peer_name     +character varying + + +peer_description     +character varying + + +peer_mac     +character varying + + +peer_mgmt_ip     +character varying + + +peer_port     +character varying + + +supported_link_mode     +character varying + + +advertising_link_mode     +character varying + + +current_speed_bps     +bigint + + +current_duplex     +character varying + + +features     +character varying + + +mtu     +bigint + + +link_state     +character varying + + +bmc_interface     +boolean + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +hostnic_resource_host     +bigint + +(!) + - + host_resources:e->hostnic_resources:w - - -* -1 + + +* +1 hoststorage_resources - - - -       hoststorage_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -kind     -character varying - - -provider_status     -character varying - - -wwid     -character varying - - -serial     -character varying - - -vendor     -character varying - - -model     -character varying - - -capacity_bytes     -bigint - - -device_name     -character varying - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -hoststorage_resource_host     -bigint - -(!) - + + + +       hoststorage_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +kind     +character varying + + +provider_status     +character varying + + +wwid     +character varying + + +serial     +character varying + + +vendor     +character varying + + +model     +character varying + + +capacity_bytes     +bigint + + +device_name     +character varying + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +hoststorage_resource_host     +bigint + +(!) + - + host_resources:e->hoststorage_resources:w - - -* -1 + + +* +1 hostusb_resources - - - -       hostusb_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -kind     -character varying - - -owner_id     -character varying - - -idvendor     -character varying - - -idproduct     -character varying - - -bus     -bigint - - -addr     -bigint - - -class     -character varying - - -serial     -character varying - - -device_name     -character varying - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -hostusb_resource_host     -bigint - -(!) - + + + +       hostusb_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +kind     +character varying + + +owner_id     +character varying + + +idvendor     +character varying + + +idproduct     +character varying + + +bus     +bigint + + +addr     +bigint + + +class     +character varying + + +serial     +character varying + + +device_name     +character varying + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +hostusb_resource_host     +bigint + +(!) + - + host_resources:e->hostusb_resources:w - - -* -1 + + +* +1 - + host_resources:e->repeated_schedule_resources:w - - -* -1 + + +* +1 - + host_resources:e->single_schedule_resources:w - - -* -1 + + +* +1 netlink_resources - - - -       netlink_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -kind     -character varying - - -name     -character varying - - -desired_state     -character varying - -(!) - - -current_state     -character varying - - -provider_status     -character varying - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -netlink_resource_src     -bigint - - -netlink_resource_dst     -bigint - + + + +       netlink_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +kind     +character varying + + +name     +character varying + + +desired_state     +character varying + +(!) + + +current_state     +character varying + + +provider_status     +character varying + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +netlink_resource_src     +bigint + + +netlink_resource_dst     +bigint + - + endpoint_resources:e->netlink_resources:w - - -* -1 + + +* +1 - + endpoint_resources:e->netlink_resources:w - - -* -1 + + +* +1 ip_address_resources - - - -       ip_address_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -address     -character varying - - -desired_state     -character varying - - -current_state     -character varying - - -status     -character varying - - -status_detail     -character varying - - -config_method     -character varying - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - - -ip_address_resource_nic     -bigint - -(!) - + + + +       ip_address_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +address     +character varying + + +desired_state     +character varying + + +current_state     +character varying + + +status     +character varying + + +status_detail     +character varying + + +config_method     +character varying + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + + +ip_address_resource_nic     +bigint + +(!) + - + hostnic_resources:e->ip_address_resources:w - - -* -1 + + +* +1 custom_config_resources - - - -       custom_config_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -name     -character varying - -(!) - - -config     -character varying - -(!) - - -description     -character varying - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - + + + +       custom_config_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +name     +character varying + +(!) + + +config     +character varying + +(!) + + +description     +character varying + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + - + custom_config_resources:e->instance_resource_custom_config:w - - -* -1 + + +* +1 workload_resources - - - -       workload_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -kind     -character varying - -(!) - - -name     -character varying - - -external_id     -character varying - - -desired_state     -character varying - -(!) - - -current_state     -character varying - - -status     -character varying - - -metadata     -character varying - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - + + + +       workload_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +kind     +character varying + +(!) + + +name     +character varying + + +external_id     +character varying + + +desired_state     +character varying + +(!) + + +current_state     +character varying + + +status     +character varying + + +metadata     +character varying + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + - + workload_resources:e->repeated_schedule_resources:w - - -* -1 + + +* +1 - + workload_resources:e->single_schedule_resources:w - - -* -1 + + +* +1 - + workload_resources:e->workload_members:w - - -* -1 + + +* +1 telemetry_group_resources - - - -       telemetry_group_resources        - - -id -     -bigint - -(!) - - -resource_id     -character varying - -(!) - - -name     -character varying - -(!) - - -kind     -character varying - -(!) - - -collector_kind     -character varying - -(!) - - -groups     -character varying - -(!) - - -tenant_id     -character varying - -(!) - - -created_at     -timestamp - -(!) - - -updated_at     -timestamp - -(!) - + + + +       telemetry_group_resources        + + +id +     +bigint + +(!) + + +resource_id     +character varying + +(!) + + +name     +character varying + +(!) + + +kind     +character varying + +(!) + + +collector_kind     +character varying + +(!) + + +groups     +character varying + +(!) + + +tenant_id     +character varying + +(!) + + +created_at     +timestamp + +(!) + + +updated_at     +timestamp + +(!) + - + telemetry_group_resources:e->telemetry_profiles:w - - -* -1 + + +* +1 diff --git a/inventory/internal/ent/client.go b/inventory/internal/ent/client.go index 39dcae22..5b78aa88 100644 --- a/inventory/internal/ent/client.go +++ b/inventory/internal/ent/client.go @@ -1851,38 +1851,6 @@ func (c *InstanceResourceClient) QueryHost(_m *InstanceResource) *HostResourceQu return query } -// QueryDesiredOs queries the desired_os edge of a InstanceResource. -func (c *InstanceResourceClient) QueryDesiredOs(_m *InstanceResource) *OperatingSystemResourceQuery { - query := (&OperatingSystemResourceClient{config: c.config}).Query() - query.path = func(context.Context) (fromV *sql.Selector, _ error) { - id := _m.ID - step := sqlgraph.NewStep( - sqlgraph.From(instanceresource.Table, instanceresource.FieldID, id), - sqlgraph.To(operatingsystemresource.Table, operatingsystemresource.FieldID), - sqlgraph.Edge(sqlgraph.M2O, false, instanceresource.DesiredOsTable, instanceresource.DesiredOsColumn), - ) - fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) - return fromV, nil - } - return query -} - -// QueryCurrentOs queries the current_os edge of a InstanceResource. -func (c *InstanceResourceClient) QueryCurrentOs(_m *InstanceResource) *OperatingSystemResourceQuery { - query := (&OperatingSystemResourceClient{config: c.config}).Query() - query.path = func(context.Context) (fromV *sql.Selector, _ error) { - id := _m.ID - step := sqlgraph.NewStep( - sqlgraph.From(instanceresource.Table, instanceresource.FieldID, id), - sqlgraph.To(operatingsystemresource.Table, operatingsystemresource.FieldID), - sqlgraph.Edge(sqlgraph.M2O, false, instanceresource.CurrentOsTable, instanceresource.CurrentOsColumn), - ) - fromV = sqlgraph.Neighbors(_m.driver.Dialect(), step) - return fromV, nil - } - return query -} - // QueryOs queries the os edge of a InstanceResource. func (c *InstanceResourceClient) QueryOs(_m *InstanceResource) *OperatingSystemResourceQuery { query := (&OperatingSystemResourceClient{config: c.config}).Query() diff --git a/inventory/internal/ent/instanceresource.go b/inventory/internal/ent/instanceresource.go index e05a21ec..e432921a 100644 --- a/inventory/internal/ent/instanceresource.go +++ b/inventory/internal/ent/instanceresource.go @@ -57,8 +57,6 @@ type InstanceResource struct { UpdateStatusIndicator instanceresource.UpdateStatusIndicator `json:"update_status_indicator,omitempty"` // UpdateStatusTimestamp holds the value of the "update_status_timestamp" field. UpdateStatusTimestamp uint64 `json:"update_status_timestamp,omitempty"` - // UpdateStatusDetail holds the value of the "update_status_detail" field. - UpdateStatusDetail string `json:"update_status_detail,omitempty"` // TrustedAttestationStatus holds the value of the "trusted_attestation_status" field. TrustedAttestationStatus string `json:"trusted_attestation_status,omitempty"` // TrustedAttestationStatusIndicator holds the value of the "trusted_attestation_status_indicator" field. @@ -82,8 +80,6 @@ type InstanceResource struct { // Edges holds the relations/edges for other nodes in the graph. // The values are being populated by the InstanceResourceQuery when eager-loading is set. Edges InstanceResourceEdges `json:"edges"` - instance_resource_desired_os *int - instance_resource_current_os *int instance_resource_os *int instance_resource_provider *int instance_resource_localaccount *int @@ -95,10 +91,6 @@ type InstanceResource struct { type InstanceResourceEdges struct { // Host holds the value of the host edge. Host *HostResource `json:"host,omitempty"` - // DesiredOs holds the value of the desired_os edge. - DesiredOs *OperatingSystemResource `json:"desired_os,omitempty"` - // CurrentOs holds the value of the current_os edge. - CurrentOs *OperatingSystemResource `json:"current_os,omitempty"` // Os holds the value of the os edge. Os *OperatingSystemResource `json:"os,omitempty"` // WorkloadMembers holds the value of the workload_members edge. @@ -113,7 +105,7 @@ type InstanceResourceEdges struct { CustomConfig []*CustomConfigResource `json:"custom_config,omitempty"` // loadedTypes holds the information for reporting if a // type was loaded (or requested) in eager-loading or not. - loadedTypes [9]bool + loadedTypes [7]bool } // HostOrErr returns the Host value or an error if the edge @@ -127,34 +119,12 @@ func (e InstanceResourceEdges) HostOrErr() (*HostResource, error) { return nil, &NotLoadedError{edge: "host"} } -// DesiredOsOrErr returns the DesiredOs value or an error if the edge -// was not loaded in eager-loading, or loaded but was not found. -func (e InstanceResourceEdges) DesiredOsOrErr() (*OperatingSystemResource, error) { - if e.DesiredOs != nil { - return e.DesiredOs, nil - } else if e.loadedTypes[1] { - return nil, &NotFoundError{label: operatingsystemresource.Label} - } - return nil, &NotLoadedError{edge: "desired_os"} -} - -// CurrentOsOrErr returns the CurrentOs value or an error if the edge -// was not loaded in eager-loading, or loaded but was not found. -func (e InstanceResourceEdges) CurrentOsOrErr() (*OperatingSystemResource, error) { - if e.CurrentOs != nil { - return e.CurrentOs, nil - } else if e.loadedTypes[2] { - return nil, &NotFoundError{label: operatingsystemresource.Label} - } - return nil, &NotLoadedError{edge: "current_os"} -} - // OsOrErr returns the Os value or an error if the edge // was not loaded in eager-loading, or loaded but was not found. func (e InstanceResourceEdges) OsOrErr() (*OperatingSystemResource, error) { if e.Os != nil { return e.Os, nil - } else if e.loadedTypes[3] { + } else if e.loadedTypes[1] { return nil, &NotFoundError{label: operatingsystemresource.Label} } return nil, &NotLoadedError{edge: "os"} @@ -163,7 +133,7 @@ func (e InstanceResourceEdges) OsOrErr() (*OperatingSystemResource, error) { // WorkloadMembersOrErr returns the WorkloadMembers value or an error if the edge // was not loaded in eager-loading. func (e InstanceResourceEdges) WorkloadMembersOrErr() ([]*WorkloadMember, error) { - if e.loadedTypes[4] { + if e.loadedTypes[2] { return e.WorkloadMembers, nil } return nil, &NotLoadedError{edge: "workload_members"} @@ -174,7 +144,7 @@ func (e InstanceResourceEdges) WorkloadMembersOrErr() ([]*WorkloadMember, error) func (e InstanceResourceEdges) ProviderOrErr() (*ProviderResource, error) { if e.Provider != nil { return e.Provider, nil - } else if e.loadedTypes[5] { + } else if e.loadedTypes[3] { return nil, &NotFoundError{label: providerresource.Label} } return nil, &NotLoadedError{edge: "provider"} @@ -185,7 +155,7 @@ func (e InstanceResourceEdges) ProviderOrErr() (*ProviderResource, error) { func (e InstanceResourceEdges) LocalaccountOrErr() (*LocalAccountResource, error) { if e.Localaccount != nil { return e.Localaccount, nil - } else if e.loadedTypes[6] { + } else if e.loadedTypes[4] { return nil, &NotFoundError{label: localaccountresource.Label} } return nil, &NotLoadedError{edge: "localaccount"} @@ -196,7 +166,7 @@ func (e InstanceResourceEdges) LocalaccountOrErr() (*LocalAccountResource, error func (e InstanceResourceEdges) OsUpdatePolicyOrErr() (*OSUpdatePolicyResource, error) { if e.OsUpdatePolicy != nil { return e.OsUpdatePolicy, nil - } else if e.loadedTypes[7] { + } else if e.loadedTypes[5] { return nil, &NotFoundError{label: osupdatepolicyresource.Label} } return nil, &NotLoadedError{edge: "os_update_policy"} @@ -205,7 +175,7 @@ func (e InstanceResourceEdges) OsUpdatePolicyOrErr() (*OSUpdatePolicyResource, e // CustomConfigOrErr returns the CustomConfig value or an error if the edge // was not loaded in eager-loading. func (e InstanceResourceEdges) CustomConfigOrErr() ([]*CustomConfigResource, error) { - if e.loadedTypes[8] { + if e.loadedTypes[6] { return e.CustomConfig, nil } return nil, &NotLoadedError{edge: "custom_config"} @@ -218,19 +188,15 @@ func (*InstanceResource) scanValues(columns []string) ([]any, error) { switch columns[i] { case instanceresource.FieldID, instanceresource.FieldVMMemoryBytes, instanceresource.FieldVMCPUCores, instanceresource.FieldVMStorageBytes, instanceresource.FieldInstanceStatusTimestamp, instanceresource.FieldProvisioningStatusTimestamp, instanceresource.FieldUpdateStatusTimestamp, instanceresource.FieldTrustedAttestationStatusTimestamp: values[i] = new(sql.NullInt64) - case instanceresource.FieldResourceID, instanceresource.FieldKind, instanceresource.FieldName, instanceresource.FieldDesiredState, instanceresource.FieldCurrentState, instanceresource.FieldSecurityFeature, instanceresource.FieldInstanceStatus, instanceresource.FieldInstanceStatusIndicator, instanceresource.FieldProvisioningStatus, instanceresource.FieldProvisioningStatusIndicator, instanceresource.FieldUpdateStatus, instanceresource.FieldUpdateStatusIndicator, instanceresource.FieldUpdateStatusDetail, instanceresource.FieldTrustedAttestationStatus, instanceresource.FieldTrustedAttestationStatusIndicator, instanceresource.FieldExistingCves, instanceresource.FieldRuntimePackages, instanceresource.FieldOsUpdateAvailable, instanceresource.FieldTenantID, instanceresource.FieldInstanceStatusDetail, instanceresource.FieldCreatedAt, instanceresource.FieldUpdatedAt: + case instanceresource.FieldResourceID, instanceresource.FieldKind, instanceresource.FieldName, instanceresource.FieldDesiredState, instanceresource.FieldCurrentState, instanceresource.FieldSecurityFeature, instanceresource.FieldInstanceStatus, instanceresource.FieldInstanceStatusIndicator, instanceresource.FieldProvisioningStatus, instanceresource.FieldProvisioningStatusIndicator, instanceresource.FieldUpdateStatus, instanceresource.FieldUpdateStatusIndicator, instanceresource.FieldTrustedAttestationStatus, instanceresource.FieldTrustedAttestationStatusIndicator, instanceresource.FieldExistingCves, instanceresource.FieldRuntimePackages, instanceresource.FieldOsUpdateAvailable, instanceresource.FieldTenantID, instanceresource.FieldInstanceStatusDetail, instanceresource.FieldCreatedAt, instanceresource.FieldUpdatedAt: values[i] = new(sql.NullString) - case instanceresource.ForeignKeys[0]: // instance_resource_desired_os - values[i] = new(sql.NullInt64) - case instanceresource.ForeignKeys[1]: // instance_resource_current_os + case instanceresource.ForeignKeys[0]: // instance_resource_os values[i] = new(sql.NullInt64) - case instanceresource.ForeignKeys[2]: // instance_resource_os + case instanceresource.ForeignKeys[1]: // instance_resource_provider values[i] = new(sql.NullInt64) - case instanceresource.ForeignKeys[3]: // instance_resource_provider + case instanceresource.ForeignKeys[2]: // instance_resource_localaccount values[i] = new(sql.NullInt64) - case instanceresource.ForeignKeys[4]: // instance_resource_localaccount - values[i] = new(sql.NullInt64) - case instanceresource.ForeignKeys[5]: // instance_resource_os_update_policy + case instanceresource.ForeignKeys[3]: // instance_resource_os_update_policy values[i] = new(sql.NullInt64) default: values[i] = new(sql.UnknownType) @@ -361,12 +327,6 @@ func (_m *InstanceResource) assignValues(columns []string, values []any) error { } else if value.Valid { _m.UpdateStatusTimestamp = uint64(value.Int64) } - case instanceresource.FieldUpdateStatusDetail: - if value, ok := values[i].(*sql.NullString); !ok { - return fmt.Errorf("unexpected type %T for field update_status_detail", values[i]) - } else if value.Valid { - _m.UpdateStatusDetail = value.String - } case instanceresource.FieldTrustedAttestationStatus: if value, ok := values[i].(*sql.NullString); !ok { return fmt.Errorf("unexpected type %T for field trusted_attestation_status", values[i]) @@ -428,41 +388,27 @@ func (_m *InstanceResource) assignValues(columns []string, values []any) error { _m.UpdatedAt = value.String } case instanceresource.ForeignKeys[0]: - if value, ok := values[i].(*sql.NullInt64); !ok { - return fmt.Errorf("unexpected type %T for edge-field instance_resource_desired_os", value) - } else if value.Valid { - _m.instance_resource_desired_os = new(int) - *_m.instance_resource_desired_os = int(value.Int64) - } - case instanceresource.ForeignKeys[1]: - if value, ok := values[i].(*sql.NullInt64); !ok { - return fmt.Errorf("unexpected type %T for edge-field instance_resource_current_os", value) - } else if value.Valid { - _m.instance_resource_current_os = new(int) - *_m.instance_resource_current_os = int(value.Int64) - } - case instanceresource.ForeignKeys[2]: if value, ok := values[i].(*sql.NullInt64); !ok { return fmt.Errorf("unexpected type %T for edge-field instance_resource_os", value) } else if value.Valid { _m.instance_resource_os = new(int) *_m.instance_resource_os = int(value.Int64) } - case instanceresource.ForeignKeys[3]: + case instanceresource.ForeignKeys[1]: if value, ok := values[i].(*sql.NullInt64); !ok { return fmt.Errorf("unexpected type %T for edge-field instance_resource_provider", value) } else if value.Valid { _m.instance_resource_provider = new(int) *_m.instance_resource_provider = int(value.Int64) } - case instanceresource.ForeignKeys[4]: + case instanceresource.ForeignKeys[2]: if value, ok := values[i].(*sql.NullInt64); !ok { return fmt.Errorf("unexpected type %T for edge-field instance_resource_localaccount", value) } else if value.Valid { _m.instance_resource_localaccount = new(int) *_m.instance_resource_localaccount = int(value.Int64) } - case instanceresource.ForeignKeys[5]: + case instanceresource.ForeignKeys[3]: if value, ok := values[i].(*sql.NullInt64); !ok { return fmt.Errorf("unexpected type %T for edge-field instance_resource_os_update_policy", value) } else if value.Valid { @@ -487,16 +433,6 @@ func (_m *InstanceResource) QueryHost() *HostResourceQuery { return NewInstanceResourceClient(_m.config).QueryHost(_m) } -// QueryDesiredOs queries the "desired_os" edge of the InstanceResource entity. -func (_m *InstanceResource) QueryDesiredOs() *OperatingSystemResourceQuery { - return NewInstanceResourceClient(_m.config).QueryDesiredOs(_m) -} - -// QueryCurrentOs queries the "current_os" edge of the InstanceResource entity. -func (_m *InstanceResource) QueryCurrentOs() *OperatingSystemResourceQuery { - return NewInstanceResourceClient(_m.config).QueryCurrentOs(_m) -} - // QueryOs queries the "os" edge of the InstanceResource entity. func (_m *InstanceResource) QueryOs() *OperatingSystemResourceQuery { return NewInstanceResourceClient(_m.config).QueryOs(_m) @@ -604,9 +540,6 @@ func (_m *InstanceResource) String() string { builder.WriteString("update_status_timestamp=") builder.WriteString(fmt.Sprintf("%v", _m.UpdateStatusTimestamp)) builder.WriteString(", ") - builder.WriteString("update_status_detail=") - builder.WriteString(_m.UpdateStatusDetail) - builder.WriteString(", ") builder.WriteString("trusted_attestation_status=") builder.WriteString(_m.TrustedAttestationStatus) builder.WriteString(", ") diff --git a/inventory/internal/ent/instanceresource/instanceresource.go b/inventory/internal/ent/instanceresource/instanceresource.go index c9c2e94f..c13c7744 100644 --- a/inventory/internal/ent/instanceresource/instanceresource.go +++ b/inventory/internal/ent/instanceresource/instanceresource.go @@ -50,8 +50,6 @@ const ( FieldUpdateStatusIndicator = "update_status_indicator" // FieldUpdateStatusTimestamp holds the string denoting the update_status_timestamp field in the database. FieldUpdateStatusTimestamp = "update_status_timestamp" - // FieldUpdateStatusDetail holds the string denoting the update_status_detail field in the database. - FieldUpdateStatusDetail = "update_status_detail" // FieldTrustedAttestationStatus holds the string denoting the trusted_attestation_status field in the database. FieldTrustedAttestationStatus = "trusted_attestation_status" // FieldTrustedAttestationStatusIndicator holds the string denoting the trusted_attestation_status_indicator field in the database. @@ -74,10 +72,6 @@ const ( FieldUpdatedAt = "updated_at" // EdgeHost holds the string denoting the host edge name in mutations. EdgeHost = "host" - // EdgeDesiredOs holds the string denoting the desired_os edge name in mutations. - EdgeDesiredOs = "desired_os" - // EdgeCurrentOs holds the string denoting the current_os edge name in mutations. - EdgeCurrentOs = "current_os" // EdgeOs holds the string denoting the os edge name in mutations. EdgeOs = "os" // EdgeWorkloadMembers holds the string denoting the workload_members edge name in mutations. @@ -99,20 +93,6 @@ const ( HostInverseTable = "host_resources" // HostColumn is the table column denoting the host relation/edge. HostColumn = "instance_resource_host" - // DesiredOsTable is the table that holds the desired_os relation/edge. - DesiredOsTable = "instance_resources" - // DesiredOsInverseTable is the table name for the OperatingSystemResource entity. - // It exists in this package in order to avoid circular dependency with the "operatingsystemresource" package. - DesiredOsInverseTable = "operating_system_resources" - // DesiredOsColumn is the table column denoting the desired_os relation/edge. - DesiredOsColumn = "instance_resource_desired_os" - // CurrentOsTable is the table that holds the current_os relation/edge. - CurrentOsTable = "instance_resources" - // CurrentOsInverseTable is the table name for the OperatingSystemResource entity. - // It exists in this package in order to avoid circular dependency with the "operatingsystemresource" package. - CurrentOsInverseTable = "operating_system_resources" - // CurrentOsColumn is the table column denoting the current_os relation/edge. - CurrentOsColumn = "instance_resource_current_os" // OsTable is the table that holds the os relation/edge. OsTable = "instance_resources" // OsInverseTable is the table name for the OperatingSystemResource entity. @@ -176,7 +156,6 @@ var Columns = []string{ FieldUpdateStatus, FieldUpdateStatusIndicator, FieldUpdateStatusTimestamp, - FieldUpdateStatusDetail, FieldTrustedAttestationStatus, FieldTrustedAttestationStatusIndicator, FieldTrustedAttestationStatusTimestamp, @@ -192,8 +171,6 @@ var Columns = []string{ // ForeignKeys holds the SQL foreign-keys that are owned by the "instance_resources" // table and are not defined as standalone fields in the schema. var ForeignKeys = []string{ - "instance_resource_desired_os", - "instance_resource_current_os", "instance_resource_os", "instance_resource_provider", "instance_resource_localaccount", @@ -517,11 +494,6 @@ func ByUpdateStatusTimestamp(opts ...sql.OrderTermOption) OrderOption { return sql.OrderByField(FieldUpdateStatusTimestamp, opts...).ToFunc() } -// ByUpdateStatusDetail orders the results by the update_status_detail field. -func ByUpdateStatusDetail(opts ...sql.OrderTermOption) OrderOption { - return sql.OrderByField(FieldUpdateStatusDetail, opts...).ToFunc() -} - // ByTrustedAttestationStatus orders the results by the trusted_attestation_status field. func ByTrustedAttestationStatus(opts ...sql.OrderTermOption) OrderOption { return sql.OrderByField(FieldTrustedAttestationStatus, opts...).ToFunc() @@ -579,20 +551,6 @@ func ByHostField(field string, opts ...sql.OrderTermOption) OrderOption { } } -// ByDesiredOsField orders the results by desired_os field. -func ByDesiredOsField(field string, opts ...sql.OrderTermOption) OrderOption { - return func(s *sql.Selector) { - sqlgraph.OrderByNeighborTerms(s, newDesiredOsStep(), sql.OrderByField(field, opts...)) - } -} - -// ByCurrentOsField orders the results by current_os field. -func ByCurrentOsField(field string, opts ...sql.OrderTermOption) OrderOption { - return func(s *sql.Selector) { - sqlgraph.OrderByNeighborTerms(s, newCurrentOsStep(), sql.OrderByField(field, opts...)) - } -} - // ByOsField orders the results by os field. func ByOsField(field string, opts ...sql.OrderTermOption) OrderOption { return func(s *sql.Selector) { @@ -655,20 +613,6 @@ func newHostStep() *sqlgraph.Step { sqlgraph.Edge(sqlgraph.O2O, false, HostTable, HostColumn), ) } -func newDesiredOsStep() *sqlgraph.Step { - return sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(DesiredOsInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.M2O, false, DesiredOsTable, DesiredOsColumn), - ) -} -func newCurrentOsStep() *sqlgraph.Step { - return sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(CurrentOsInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.M2O, false, CurrentOsTable, CurrentOsColumn), - ) -} func newOsStep() *sqlgraph.Step { return sqlgraph.NewStep( sqlgraph.From(Table, FieldID), diff --git a/inventory/internal/ent/instanceresource/where.go b/inventory/internal/ent/instanceresource/where.go index daa93cf8..8fb463e8 100644 --- a/inventory/internal/ent/instanceresource/where.go +++ b/inventory/internal/ent/instanceresource/where.go @@ -108,11 +108,6 @@ func UpdateStatusTimestamp(v uint64) predicate.InstanceResource { return predicate.InstanceResource(sql.FieldEQ(FieldUpdateStatusTimestamp, v)) } -// UpdateStatusDetail applies equality check predicate on the "update_status_detail" field. It's identical to UpdateStatusDetailEQ. -func UpdateStatusDetail(v string) predicate.InstanceResource { - return predicate.InstanceResource(sql.FieldEQ(FieldUpdateStatusDetail, v)) -} - // TrustedAttestationStatus applies equality check predicate on the "trusted_attestation_status" field. It's identical to TrustedAttestationStatusEQ. func TrustedAttestationStatus(v string) predicate.InstanceResource { return predicate.InstanceResource(sql.FieldEQ(FieldTrustedAttestationStatus, v)) @@ -1033,81 +1028,6 @@ func UpdateStatusTimestampNotNil() predicate.InstanceResource { return predicate.InstanceResource(sql.FieldNotNull(FieldUpdateStatusTimestamp)) } -// UpdateStatusDetailEQ applies the EQ predicate on the "update_status_detail" field. -func UpdateStatusDetailEQ(v string) predicate.InstanceResource { - return predicate.InstanceResource(sql.FieldEQ(FieldUpdateStatusDetail, v)) -} - -// UpdateStatusDetailNEQ applies the NEQ predicate on the "update_status_detail" field. -func UpdateStatusDetailNEQ(v string) predicate.InstanceResource { - return predicate.InstanceResource(sql.FieldNEQ(FieldUpdateStatusDetail, v)) -} - -// UpdateStatusDetailIn applies the In predicate on the "update_status_detail" field. -func UpdateStatusDetailIn(vs ...string) predicate.InstanceResource { - return predicate.InstanceResource(sql.FieldIn(FieldUpdateStatusDetail, vs...)) -} - -// UpdateStatusDetailNotIn applies the NotIn predicate on the "update_status_detail" field. -func UpdateStatusDetailNotIn(vs ...string) predicate.InstanceResource { - return predicate.InstanceResource(sql.FieldNotIn(FieldUpdateStatusDetail, vs...)) -} - -// UpdateStatusDetailGT applies the GT predicate on the "update_status_detail" field. -func UpdateStatusDetailGT(v string) predicate.InstanceResource { - return predicate.InstanceResource(sql.FieldGT(FieldUpdateStatusDetail, v)) -} - -// UpdateStatusDetailGTE applies the GTE predicate on the "update_status_detail" field. -func UpdateStatusDetailGTE(v string) predicate.InstanceResource { - return predicate.InstanceResource(sql.FieldGTE(FieldUpdateStatusDetail, v)) -} - -// UpdateStatusDetailLT applies the LT predicate on the "update_status_detail" field. -func UpdateStatusDetailLT(v string) predicate.InstanceResource { - return predicate.InstanceResource(sql.FieldLT(FieldUpdateStatusDetail, v)) -} - -// UpdateStatusDetailLTE applies the LTE predicate on the "update_status_detail" field. -func UpdateStatusDetailLTE(v string) predicate.InstanceResource { - return predicate.InstanceResource(sql.FieldLTE(FieldUpdateStatusDetail, v)) -} - -// UpdateStatusDetailContains applies the Contains predicate on the "update_status_detail" field. -func UpdateStatusDetailContains(v string) predicate.InstanceResource { - return predicate.InstanceResource(sql.FieldContains(FieldUpdateStatusDetail, v)) -} - -// UpdateStatusDetailHasPrefix applies the HasPrefix predicate on the "update_status_detail" field. -func UpdateStatusDetailHasPrefix(v string) predicate.InstanceResource { - return predicate.InstanceResource(sql.FieldHasPrefix(FieldUpdateStatusDetail, v)) -} - -// UpdateStatusDetailHasSuffix applies the HasSuffix predicate on the "update_status_detail" field. -func UpdateStatusDetailHasSuffix(v string) predicate.InstanceResource { - return predicate.InstanceResource(sql.FieldHasSuffix(FieldUpdateStatusDetail, v)) -} - -// UpdateStatusDetailIsNil applies the IsNil predicate on the "update_status_detail" field. -func UpdateStatusDetailIsNil() predicate.InstanceResource { - return predicate.InstanceResource(sql.FieldIsNull(FieldUpdateStatusDetail)) -} - -// UpdateStatusDetailNotNil applies the NotNil predicate on the "update_status_detail" field. -func UpdateStatusDetailNotNil() predicate.InstanceResource { - return predicate.InstanceResource(sql.FieldNotNull(FieldUpdateStatusDetail)) -} - -// UpdateStatusDetailEqualFold applies the EqualFold predicate on the "update_status_detail" field. -func UpdateStatusDetailEqualFold(v string) predicate.InstanceResource { - return predicate.InstanceResource(sql.FieldEqualFold(FieldUpdateStatusDetail, v)) -} - -// UpdateStatusDetailContainsFold applies the ContainsFold predicate on the "update_status_detail" field. -func UpdateStatusDetailContainsFold(v string) predicate.InstanceResource { - return predicate.InstanceResource(sql.FieldContainsFold(FieldUpdateStatusDetail, v)) -} - // TrustedAttestationStatusEQ applies the EQ predicate on the "trusted_attestation_status" field. func TrustedAttestationStatusEQ(v string) predicate.InstanceResource { return predicate.InstanceResource(sql.FieldEQ(FieldTrustedAttestationStatus, v)) @@ -1781,52 +1701,6 @@ func HasHostWith(preds ...predicate.HostResource) predicate.InstanceResource { }) } -// HasDesiredOs applies the HasEdge predicate on the "desired_os" edge. -func HasDesiredOs() predicate.InstanceResource { - return predicate.InstanceResource(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.Edge(sqlgraph.M2O, false, DesiredOsTable, DesiredOsColumn), - ) - sqlgraph.HasNeighbors(s, step) - }) -} - -// HasDesiredOsWith applies the HasEdge predicate on the "desired_os" edge with a given conditions (other predicates). -func HasDesiredOsWith(preds ...predicate.OperatingSystemResource) predicate.InstanceResource { - return predicate.InstanceResource(func(s *sql.Selector) { - step := newDesiredOsStep() - sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { - for _, p := range preds { - p(s) - } - }) - }) -} - -// HasCurrentOs applies the HasEdge predicate on the "current_os" edge. -func HasCurrentOs() predicate.InstanceResource { - return predicate.InstanceResource(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.Edge(sqlgraph.M2O, false, CurrentOsTable, CurrentOsColumn), - ) - sqlgraph.HasNeighbors(s, step) - }) -} - -// HasCurrentOsWith applies the HasEdge predicate on the "current_os" edge with a given conditions (other predicates). -func HasCurrentOsWith(preds ...predicate.OperatingSystemResource) predicate.InstanceResource { - return predicate.InstanceResource(func(s *sql.Selector) { - step := newCurrentOsStep() - sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { - for _, p := range preds { - p(s) - } - }) - }) -} - // HasOs applies the HasEdge predicate on the "os" edge. func HasOs() predicate.InstanceResource { return predicate.InstanceResource(func(s *sql.Selector) { diff --git a/inventory/internal/ent/instanceresource_create.go b/inventory/internal/ent/instanceresource_create.go index 417422ee..6975784b 100644 --- a/inventory/internal/ent/instanceresource_create.go +++ b/inventory/internal/ent/instanceresource_create.go @@ -270,20 +270,6 @@ func (_c *InstanceResourceCreate) SetNillableUpdateStatusTimestamp(v *uint64) *I return _c } -// SetUpdateStatusDetail sets the "update_status_detail" field. -func (_c *InstanceResourceCreate) SetUpdateStatusDetail(v string) *InstanceResourceCreate { - _c.mutation.SetUpdateStatusDetail(v) - return _c -} - -// SetNillableUpdateStatusDetail sets the "update_status_detail" field if the given value is not nil. -func (_c *InstanceResourceCreate) SetNillableUpdateStatusDetail(v *string) *InstanceResourceCreate { - if v != nil { - _c.SetUpdateStatusDetail(*v) - } - return _c -} - // SetTrustedAttestationStatus sets the "trusted_attestation_status" field. func (_c *InstanceResourceCreate) SetTrustedAttestationStatus(v string) *InstanceResourceCreate { _c.mutation.SetTrustedAttestationStatus(v) @@ -419,50 +405,12 @@ func (_c *InstanceResourceCreate) SetHost(v *HostResource) *InstanceResourceCrea return _c.SetHostID(v.ID) } -// SetDesiredOsID sets the "desired_os" edge to the OperatingSystemResource entity by ID. -func (_c *InstanceResourceCreate) SetDesiredOsID(id int) *InstanceResourceCreate { - _c.mutation.SetDesiredOsID(id) - return _c -} - -// SetDesiredOs sets the "desired_os" edge to the OperatingSystemResource entity. -func (_c *InstanceResourceCreate) SetDesiredOs(v *OperatingSystemResource) *InstanceResourceCreate { - return _c.SetDesiredOsID(v.ID) -} - -// SetCurrentOsID sets the "current_os" edge to the OperatingSystemResource entity by ID. -func (_c *InstanceResourceCreate) SetCurrentOsID(id int) *InstanceResourceCreate { - _c.mutation.SetCurrentOsID(id) - return _c -} - -// SetNillableCurrentOsID sets the "current_os" edge to the OperatingSystemResource entity by ID if the given value is not nil. -func (_c *InstanceResourceCreate) SetNillableCurrentOsID(id *int) *InstanceResourceCreate { - if id != nil { - _c = _c.SetCurrentOsID(*id) - } - return _c -} - -// SetCurrentOs sets the "current_os" edge to the OperatingSystemResource entity. -func (_c *InstanceResourceCreate) SetCurrentOs(v *OperatingSystemResource) *InstanceResourceCreate { - return _c.SetCurrentOsID(v.ID) -} - // SetOsID sets the "os" edge to the OperatingSystemResource entity by ID. func (_c *InstanceResourceCreate) SetOsID(id int) *InstanceResourceCreate { _c.mutation.SetOsID(id) return _c } -// SetNillableOsID sets the "os" edge to the OperatingSystemResource entity by ID if the given value is not nil. -func (_c *InstanceResourceCreate) SetNillableOsID(id *int) *InstanceResourceCreate { - if id != nil { - _c = _c.SetOsID(*id) - } - return _c -} - // SetOs sets the "os" edge to the OperatingSystemResource entity. func (_c *InstanceResourceCreate) SetOs(v *OperatingSystemResource) *InstanceResourceCreate { return _c.SetOsID(v.ID) @@ -641,8 +589,8 @@ func (_c *InstanceResourceCreate) check() error { if _, ok := _c.mutation.UpdatedAt(); !ok { return &ValidationError{Name: "updated_at", err: errors.New(`ent: missing required field "InstanceResource.updated_at"`)} } - if len(_c.mutation.DesiredOsIDs()) == 0 { - return &ValidationError{Name: "desired_os", err: errors.New(`ent: missing required edge "InstanceResource.desired_os"`)} + if len(_c.mutation.OsIDs()) == 0 { + return &ValidationError{Name: "os", err: errors.New(`ent: missing required edge "InstanceResource.os"`)} } return nil } @@ -742,10 +690,6 @@ func (_c *InstanceResourceCreate) createSpec() (*InstanceResource, *sqlgraph.Cre _spec.SetField(instanceresource.FieldUpdateStatusTimestamp, field.TypeUint64, value) _node.UpdateStatusTimestamp = value } - if value, ok := _c.mutation.UpdateStatusDetail(); ok { - _spec.SetField(instanceresource.FieldUpdateStatusDetail, field.TypeString, value) - _node.UpdateStatusDetail = value - } if value, ok := _c.mutation.TrustedAttestationStatus(); ok { _spec.SetField(instanceresource.FieldTrustedAttestationStatus, field.TypeString, value) _node.TrustedAttestationStatus = value @@ -802,40 +746,6 @@ func (_c *InstanceResourceCreate) createSpec() (*InstanceResource, *sqlgraph.Cre } _spec.Edges = append(_spec.Edges, edge) } - if nodes := _c.mutation.DesiredOsIDs(); len(nodes) > 0 { - edge := &sqlgraph.EdgeSpec{ - Rel: sqlgraph.M2O, - Inverse: false, - Table: instanceresource.DesiredOsTable, - Columns: []string{instanceresource.DesiredOsColumn}, - Bidi: false, - Target: &sqlgraph.EdgeTarget{ - IDSpec: sqlgraph.NewFieldSpec(operatingsystemresource.FieldID, field.TypeInt), - }, - } - for _, k := range nodes { - edge.Target.Nodes = append(edge.Target.Nodes, k) - } - _node.instance_resource_desired_os = &nodes[0] - _spec.Edges = append(_spec.Edges, edge) - } - if nodes := _c.mutation.CurrentOsIDs(); len(nodes) > 0 { - edge := &sqlgraph.EdgeSpec{ - Rel: sqlgraph.M2O, - Inverse: false, - Table: instanceresource.CurrentOsTable, - Columns: []string{instanceresource.CurrentOsColumn}, - Bidi: false, - Target: &sqlgraph.EdgeTarget{ - IDSpec: sqlgraph.NewFieldSpec(operatingsystemresource.FieldID, field.TypeInt), - }, - } - for _, k := range nodes { - edge.Target.Nodes = append(edge.Target.Nodes, k) - } - _node.instance_resource_current_os = &nodes[0] - _spec.Edges = append(_spec.Edges, edge) - } if nodes := _c.mutation.OsIDs(); len(nodes) > 0 { edge := &sqlgraph.EdgeSpec{ Rel: sqlgraph.M2O, diff --git a/inventory/internal/ent/instanceresource_query.go b/inventory/internal/ent/instanceresource_query.go index 6468672a..5e858585 100644 --- a/inventory/internal/ent/instanceresource_query.go +++ b/inventory/internal/ent/instanceresource_query.go @@ -31,8 +31,6 @@ type InstanceResourceQuery struct { inters []Interceptor predicates []predicate.InstanceResource withHost *HostResourceQuery - withDesiredOs *OperatingSystemResourceQuery - withCurrentOs *OperatingSystemResourceQuery withOs *OperatingSystemResourceQuery withWorkloadMembers *WorkloadMemberQuery withProvider *ProviderResourceQuery @@ -98,50 +96,6 @@ func (_q *InstanceResourceQuery) QueryHost() *HostResourceQuery { return query } -// QueryDesiredOs chains the current query on the "desired_os" edge. -func (_q *InstanceResourceQuery) QueryDesiredOs() *OperatingSystemResourceQuery { - query := (&OperatingSystemResourceClient{config: _q.config}).Query() - query.path = func(ctx context.Context) (fromU *sql.Selector, err error) { - if err := _q.prepareQuery(ctx); err != nil { - return nil, err - } - selector := _q.sqlQuery(ctx) - if err := selector.Err(); err != nil { - return nil, err - } - step := sqlgraph.NewStep( - sqlgraph.From(instanceresource.Table, instanceresource.FieldID, selector), - sqlgraph.To(operatingsystemresource.Table, operatingsystemresource.FieldID), - sqlgraph.Edge(sqlgraph.M2O, false, instanceresource.DesiredOsTable, instanceresource.DesiredOsColumn), - ) - fromU = sqlgraph.SetNeighbors(_q.driver.Dialect(), step) - return fromU, nil - } - return query -} - -// QueryCurrentOs chains the current query on the "current_os" edge. -func (_q *InstanceResourceQuery) QueryCurrentOs() *OperatingSystemResourceQuery { - query := (&OperatingSystemResourceClient{config: _q.config}).Query() - query.path = func(ctx context.Context) (fromU *sql.Selector, err error) { - if err := _q.prepareQuery(ctx); err != nil { - return nil, err - } - selector := _q.sqlQuery(ctx) - if err := selector.Err(); err != nil { - return nil, err - } - step := sqlgraph.NewStep( - sqlgraph.From(instanceresource.Table, instanceresource.FieldID, selector), - sqlgraph.To(operatingsystemresource.Table, operatingsystemresource.FieldID), - sqlgraph.Edge(sqlgraph.M2O, false, instanceresource.CurrentOsTable, instanceresource.CurrentOsColumn), - ) - fromU = sqlgraph.SetNeighbors(_q.driver.Dialect(), step) - return fromU, nil - } - return query -} - // QueryOs chains the current query on the "os" edge. func (_q *InstanceResourceQuery) QueryOs() *OperatingSystemResourceQuery { query := (&OperatingSystemResourceClient{config: _q.config}).Query() @@ -467,8 +421,6 @@ func (_q *InstanceResourceQuery) Clone() *InstanceResourceQuery { inters: append([]Interceptor{}, _q.inters...), predicates: append([]predicate.InstanceResource{}, _q.predicates...), withHost: _q.withHost.Clone(), - withDesiredOs: _q.withDesiredOs.Clone(), - withCurrentOs: _q.withCurrentOs.Clone(), withOs: _q.withOs.Clone(), withWorkloadMembers: _q.withWorkloadMembers.Clone(), withProvider: _q.withProvider.Clone(), @@ -492,28 +444,6 @@ func (_q *InstanceResourceQuery) WithHost(opts ...func(*HostResourceQuery)) *Ins return _q } -// WithDesiredOs tells the query-builder to eager-load the nodes that are connected to -// the "desired_os" edge. The optional arguments are used to configure the query builder of the edge. -func (_q *InstanceResourceQuery) WithDesiredOs(opts ...func(*OperatingSystemResourceQuery)) *InstanceResourceQuery { - query := (&OperatingSystemResourceClient{config: _q.config}).Query() - for _, opt := range opts { - opt(query) - } - _q.withDesiredOs = query - return _q -} - -// WithCurrentOs tells the query-builder to eager-load the nodes that are connected to -// the "current_os" edge. The optional arguments are used to configure the query builder of the edge. -func (_q *InstanceResourceQuery) WithCurrentOs(opts ...func(*OperatingSystemResourceQuery)) *InstanceResourceQuery { - query := (&OperatingSystemResourceClient{config: _q.config}).Query() - for _, opt := range opts { - opt(query) - } - _q.withCurrentOs = query - return _q -} - // WithOs tells the query-builder to eager-load the nodes that are connected to // the "os" edge. The optional arguments are used to configure the query builder of the edge. func (_q *InstanceResourceQuery) WithOs(opts ...func(*OperatingSystemResourceQuery)) *InstanceResourceQuery { @@ -659,10 +589,8 @@ func (_q *InstanceResourceQuery) sqlAll(ctx context.Context, hooks ...queryHook) nodes = []*InstanceResource{} withFKs = _q.withFKs _spec = _q.querySpec() - loadedTypes = [9]bool{ + loadedTypes = [7]bool{ _q.withHost != nil, - _q.withDesiredOs != nil, - _q.withCurrentOs != nil, _q.withOs != nil, _q.withWorkloadMembers != nil, _q.withProvider != nil, @@ -671,7 +599,7 @@ func (_q *InstanceResourceQuery) sqlAll(ctx context.Context, hooks ...queryHook) _q.withCustomConfig != nil, } ) - if _q.withDesiredOs != nil || _q.withCurrentOs != nil || _q.withOs != nil || _q.withProvider != nil || _q.withLocalaccount != nil || _q.withOsUpdatePolicy != nil { + if _q.withOs != nil || _q.withProvider != nil || _q.withLocalaccount != nil || _q.withOsUpdatePolicy != nil { withFKs = true } if withFKs { @@ -701,18 +629,6 @@ func (_q *InstanceResourceQuery) sqlAll(ctx context.Context, hooks ...queryHook) return nil, err } } - if query := _q.withDesiredOs; query != nil { - if err := _q.loadDesiredOs(ctx, query, nodes, nil, - func(n *InstanceResource, e *OperatingSystemResource) { n.Edges.DesiredOs = e }); err != nil { - return nil, err - } - } - if query := _q.withCurrentOs; query != nil { - if err := _q.loadCurrentOs(ctx, query, nodes, nil, - func(n *InstanceResource, e *OperatingSystemResource) { n.Edges.CurrentOs = e }); err != nil { - return nil, err - } - } if query := _q.withOs; query != nil { if err := _q.loadOs(ctx, query, nodes, nil, func(n *InstanceResource, e *OperatingSystemResource) { n.Edges.Os = e }); err != nil { @@ -786,70 +702,6 @@ func (_q *InstanceResourceQuery) loadHost(ctx context.Context, query *HostResour } return nil } -func (_q *InstanceResourceQuery) loadDesiredOs(ctx context.Context, query *OperatingSystemResourceQuery, nodes []*InstanceResource, init func(*InstanceResource), assign func(*InstanceResource, *OperatingSystemResource)) error { - ids := make([]int, 0, len(nodes)) - nodeids := make(map[int][]*InstanceResource) - for i := range nodes { - if nodes[i].instance_resource_desired_os == nil { - continue - } - fk := *nodes[i].instance_resource_desired_os - if _, ok := nodeids[fk]; !ok { - ids = append(ids, fk) - } - nodeids[fk] = append(nodeids[fk], nodes[i]) - } - if len(ids) == 0 { - return nil - } - query.Where(operatingsystemresource.IDIn(ids...)) - neighbors, err := query.All(ctx) - if err != nil { - return err - } - for _, n := range neighbors { - nodes, ok := nodeids[n.ID] - if !ok { - return fmt.Errorf(`unexpected foreign-key "instance_resource_desired_os" returned %v`, n.ID) - } - for i := range nodes { - assign(nodes[i], n) - } - } - return nil -} -func (_q *InstanceResourceQuery) loadCurrentOs(ctx context.Context, query *OperatingSystemResourceQuery, nodes []*InstanceResource, init func(*InstanceResource), assign func(*InstanceResource, *OperatingSystemResource)) error { - ids := make([]int, 0, len(nodes)) - nodeids := make(map[int][]*InstanceResource) - for i := range nodes { - if nodes[i].instance_resource_current_os == nil { - continue - } - fk := *nodes[i].instance_resource_current_os - if _, ok := nodeids[fk]; !ok { - ids = append(ids, fk) - } - nodeids[fk] = append(nodeids[fk], nodes[i]) - } - if len(ids) == 0 { - return nil - } - query.Where(operatingsystemresource.IDIn(ids...)) - neighbors, err := query.All(ctx) - if err != nil { - return err - } - for _, n := range neighbors { - nodes, ok := nodeids[n.ID] - if !ok { - return fmt.Errorf(`unexpected foreign-key "instance_resource_current_os" returned %v`, n.ID) - } - for i := range nodes { - assign(nodes[i], n) - } - } - return nil -} func (_q *InstanceResourceQuery) loadOs(ctx context.Context, query *OperatingSystemResourceQuery, nodes []*InstanceResource, init func(*InstanceResource), assign func(*InstanceResource, *OperatingSystemResource)) error { ids := make([]int, 0, len(nodes)) nodeids := make(map[int][]*InstanceResource) diff --git a/inventory/internal/ent/instanceresource_update.go b/inventory/internal/ent/instanceresource_update.go index f12ffa4a..66e8ab26 100644 --- a/inventory/internal/ent/instanceresource_update.go +++ b/inventory/internal/ent/instanceresource_update.go @@ -410,26 +410,6 @@ func (_u *InstanceResourceUpdate) ClearUpdateStatusTimestamp() *InstanceResource return _u } -// SetUpdateStatusDetail sets the "update_status_detail" field. -func (_u *InstanceResourceUpdate) SetUpdateStatusDetail(v string) *InstanceResourceUpdate { - _u.mutation.SetUpdateStatusDetail(v) - return _u -} - -// SetNillableUpdateStatusDetail sets the "update_status_detail" field if the given value is not nil. -func (_u *InstanceResourceUpdate) SetNillableUpdateStatusDetail(v *string) *InstanceResourceUpdate { - if v != nil { - _u.SetUpdateStatusDetail(*v) - } - return _u -} - -// ClearUpdateStatusDetail clears the value of the "update_status_detail" field. -func (_u *InstanceResourceUpdate) ClearUpdateStatusDetail() *InstanceResourceUpdate { - _u.mutation.ClearUpdateStatusDetail() - return _u -} - // SetTrustedAttestationStatus sets the "trusted_attestation_status" field. func (_u *InstanceResourceUpdate) SetTrustedAttestationStatus(v string) *InstanceResourceUpdate { _u.mutation.SetTrustedAttestationStatus(v) @@ -610,50 +590,12 @@ func (_u *InstanceResourceUpdate) SetHost(v *HostResource) *InstanceResourceUpda return _u.SetHostID(v.ID) } -// SetDesiredOsID sets the "desired_os" edge to the OperatingSystemResource entity by ID. -func (_u *InstanceResourceUpdate) SetDesiredOsID(id int) *InstanceResourceUpdate { - _u.mutation.SetDesiredOsID(id) - return _u -} - -// SetDesiredOs sets the "desired_os" edge to the OperatingSystemResource entity. -func (_u *InstanceResourceUpdate) SetDesiredOs(v *OperatingSystemResource) *InstanceResourceUpdate { - return _u.SetDesiredOsID(v.ID) -} - -// SetCurrentOsID sets the "current_os" edge to the OperatingSystemResource entity by ID. -func (_u *InstanceResourceUpdate) SetCurrentOsID(id int) *InstanceResourceUpdate { - _u.mutation.SetCurrentOsID(id) - return _u -} - -// SetNillableCurrentOsID sets the "current_os" edge to the OperatingSystemResource entity by ID if the given value is not nil. -func (_u *InstanceResourceUpdate) SetNillableCurrentOsID(id *int) *InstanceResourceUpdate { - if id != nil { - _u = _u.SetCurrentOsID(*id) - } - return _u -} - -// SetCurrentOs sets the "current_os" edge to the OperatingSystemResource entity. -func (_u *InstanceResourceUpdate) SetCurrentOs(v *OperatingSystemResource) *InstanceResourceUpdate { - return _u.SetCurrentOsID(v.ID) -} - // SetOsID sets the "os" edge to the OperatingSystemResource entity by ID. func (_u *InstanceResourceUpdate) SetOsID(id int) *InstanceResourceUpdate { _u.mutation.SetOsID(id) return _u } -// SetNillableOsID sets the "os" edge to the OperatingSystemResource entity by ID if the given value is not nil. -func (_u *InstanceResourceUpdate) SetNillableOsID(id *int) *InstanceResourceUpdate { - if id != nil { - _u = _u.SetOsID(*id) - } - return _u -} - // SetOs sets the "os" edge to the OperatingSystemResource entity. func (_u *InstanceResourceUpdate) SetOs(v *OperatingSystemResource) *InstanceResourceUpdate { return _u.SetOsID(v.ID) @@ -757,18 +699,6 @@ func (_u *InstanceResourceUpdate) ClearHost() *InstanceResourceUpdate { return _u } -// ClearDesiredOs clears the "desired_os" edge to the OperatingSystemResource entity. -func (_u *InstanceResourceUpdate) ClearDesiredOs() *InstanceResourceUpdate { - _u.mutation.ClearDesiredOs() - return _u -} - -// ClearCurrentOs clears the "current_os" edge to the OperatingSystemResource entity. -func (_u *InstanceResourceUpdate) ClearCurrentOs() *InstanceResourceUpdate { - _u.mutation.ClearCurrentOs() - return _u -} - // ClearOs clears the "os" edge to the OperatingSystemResource entity. func (_u *InstanceResourceUpdate) ClearOs() *InstanceResourceUpdate { _u.mutation.ClearOs() @@ -899,8 +829,8 @@ func (_u *InstanceResourceUpdate) check() error { return &ValidationError{Name: "trusted_attestation_status_indicator", err: fmt.Errorf(`ent: validator failed for field "InstanceResource.trusted_attestation_status_indicator": %w`, err)} } } - if _u.mutation.DesiredOsCleared() && len(_u.mutation.DesiredOsIDs()) > 0 { - return errors.New(`ent: clearing a required unique edge "InstanceResource.desired_os"`) + if _u.mutation.OsCleared() && len(_u.mutation.OsIDs()) > 0 { + return errors.New(`ent: clearing a required unique edge "InstanceResource.os"`) } return nil } @@ -1037,12 +967,6 @@ func (_u *InstanceResourceUpdate) sqlSave(ctx context.Context) (_node int, err e if _u.mutation.UpdateStatusTimestampCleared() { _spec.ClearField(instanceresource.FieldUpdateStatusTimestamp, field.TypeUint64) } - if value, ok := _u.mutation.UpdateStatusDetail(); ok { - _spec.SetField(instanceresource.FieldUpdateStatusDetail, field.TypeString, value) - } - if _u.mutation.UpdateStatusDetailCleared() { - _spec.ClearField(instanceresource.FieldUpdateStatusDetail, field.TypeString) - } if value, ok := _u.mutation.TrustedAttestationStatus(); ok { _spec.SetField(instanceresource.FieldTrustedAttestationStatus, field.TypeString, value) } @@ -1120,64 +1044,6 @@ func (_u *InstanceResourceUpdate) sqlSave(ctx context.Context) (_node int, err e } _spec.Edges.Add = append(_spec.Edges.Add, edge) } - if _u.mutation.DesiredOsCleared() { - edge := &sqlgraph.EdgeSpec{ - Rel: sqlgraph.M2O, - Inverse: false, - Table: instanceresource.DesiredOsTable, - Columns: []string{instanceresource.DesiredOsColumn}, - Bidi: false, - Target: &sqlgraph.EdgeTarget{ - IDSpec: sqlgraph.NewFieldSpec(operatingsystemresource.FieldID, field.TypeInt), - }, - } - _spec.Edges.Clear = append(_spec.Edges.Clear, edge) - } - if nodes := _u.mutation.DesiredOsIDs(); len(nodes) > 0 { - edge := &sqlgraph.EdgeSpec{ - Rel: sqlgraph.M2O, - Inverse: false, - Table: instanceresource.DesiredOsTable, - Columns: []string{instanceresource.DesiredOsColumn}, - Bidi: false, - Target: &sqlgraph.EdgeTarget{ - IDSpec: sqlgraph.NewFieldSpec(operatingsystemresource.FieldID, field.TypeInt), - }, - } - for _, k := range nodes { - edge.Target.Nodes = append(edge.Target.Nodes, k) - } - _spec.Edges.Add = append(_spec.Edges.Add, edge) - } - if _u.mutation.CurrentOsCleared() { - edge := &sqlgraph.EdgeSpec{ - Rel: sqlgraph.M2O, - Inverse: false, - Table: instanceresource.CurrentOsTable, - Columns: []string{instanceresource.CurrentOsColumn}, - Bidi: false, - Target: &sqlgraph.EdgeTarget{ - IDSpec: sqlgraph.NewFieldSpec(operatingsystemresource.FieldID, field.TypeInt), - }, - } - _spec.Edges.Clear = append(_spec.Edges.Clear, edge) - } - if nodes := _u.mutation.CurrentOsIDs(); len(nodes) > 0 { - edge := &sqlgraph.EdgeSpec{ - Rel: sqlgraph.M2O, - Inverse: false, - Table: instanceresource.CurrentOsTable, - Columns: []string{instanceresource.CurrentOsColumn}, - Bidi: false, - Target: &sqlgraph.EdgeTarget{ - IDSpec: sqlgraph.NewFieldSpec(operatingsystemresource.FieldID, field.TypeInt), - }, - } - for _, k := range nodes { - edge.Target.Nodes = append(edge.Target.Nodes, k) - } - _spec.Edges.Add = append(_spec.Edges.Add, edge) - } if _u.mutation.OsCleared() { edge := &sqlgraph.EdgeSpec{ Rel: sqlgraph.M2O, @@ -1780,26 +1646,6 @@ func (_u *InstanceResourceUpdateOne) ClearUpdateStatusTimestamp() *InstanceResou return _u } -// SetUpdateStatusDetail sets the "update_status_detail" field. -func (_u *InstanceResourceUpdateOne) SetUpdateStatusDetail(v string) *InstanceResourceUpdateOne { - _u.mutation.SetUpdateStatusDetail(v) - return _u -} - -// SetNillableUpdateStatusDetail sets the "update_status_detail" field if the given value is not nil. -func (_u *InstanceResourceUpdateOne) SetNillableUpdateStatusDetail(v *string) *InstanceResourceUpdateOne { - if v != nil { - _u.SetUpdateStatusDetail(*v) - } - return _u -} - -// ClearUpdateStatusDetail clears the value of the "update_status_detail" field. -func (_u *InstanceResourceUpdateOne) ClearUpdateStatusDetail() *InstanceResourceUpdateOne { - _u.mutation.ClearUpdateStatusDetail() - return _u -} - // SetTrustedAttestationStatus sets the "trusted_attestation_status" field. func (_u *InstanceResourceUpdateOne) SetTrustedAttestationStatus(v string) *InstanceResourceUpdateOne { _u.mutation.SetTrustedAttestationStatus(v) @@ -1980,50 +1826,12 @@ func (_u *InstanceResourceUpdateOne) SetHost(v *HostResource) *InstanceResourceU return _u.SetHostID(v.ID) } -// SetDesiredOsID sets the "desired_os" edge to the OperatingSystemResource entity by ID. -func (_u *InstanceResourceUpdateOne) SetDesiredOsID(id int) *InstanceResourceUpdateOne { - _u.mutation.SetDesiredOsID(id) - return _u -} - -// SetDesiredOs sets the "desired_os" edge to the OperatingSystemResource entity. -func (_u *InstanceResourceUpdateOne) SetDesiredOs(v *OperatingSystemResource) *InstanceResourceUpdateOne { - return _u.SetDesiredOsID(v.ID) -} - -// SetCurrentOsID sets the "current_os" edge to the OperatingSystemResource entity by ID. -func (_u *InstanceResourceUpdateOne) SetCurrentOsID(id int) *InstanceResourceUpdateOne { - _u.mutation.SetCurrentOsID(id) - return _u -} - -// SetNillableCurrentOsID sets the "current_os" edge to the OperatingSystemResource entity by ID if the given value is not nil. -func (_u *InstanceResourceUpdateOne) SetNillableCurrentOsID(id *int) *InstanceResourceUpdateOne { - if id != nil { - _u = _u.SetCurrentOsID(*id) - } - return _u -} - -// SetCurrentOs sets the "current_os" edge to the OperatingSystemResource entity. -func (_u *InstanceResourceUpdateOne) SetCurrentOs(v *OperatingSystemResource) *InstanceResourceUpdateOne { - return _u.SetCurrentOsID(v.ID) -} - // SetOsID sets the "os" edge to the OperatingSystemResource entity by ID. func (_u *InstanceResourceUpdateOne) SetOsID(id int) *InstanceResourceUpdateOne { _u.mutation.SetOsID(id) return _u } -// SetNillableOsID sets the "os" edge to the OperatingSystemResource entity by ID if the given value is not nil. -func (_u *InstanceResourceUpdateOne) SetNillableOsID(id *int) *InstanceResourceUpdateOne { - if id != nil { - _u = _u.SetOsID(*id) - } - return _u -} - // SetOs sets the "os" edge to the OperatingSystemResource entity. func (_u *InstanceResourceUpdateOne) SetOs(v *OperatingSystemResource) *InstanceResourceUpdateOne { return _u.SetOsID(v.ID) @@ -2127,18 +1935,6 @@ func (_u *InstanceResourceUpdateOne) ClearHost() *InstanceResourceUpdateOne { return _u } -// ClearDesiredOs clears the "desired_os" edge to the OperatingSystemResource entity. -func (_u *InstanceResourceUpdateOne) ClearDesiredOs() *InstanceResourceUpdateOne { - _u.mutation.ClearDesiredOs() - return _u -} - -// ClearCurrentOs clears the "current_os" edge to the OperatingSystemResource entity. -func (_u *InstanceResourceUpdateOne) ClearCurrentOs() *InstanceResourceUpdateOne { - _u.mutation.ClearCurrentOs() - return _u -} - // ClearOs clears the "os" edge to the OperatingSystemResource entity. func (_u *InstanceResourceUpdateOne) ClearOs() *InstanceResourceUpdateOne { _u.mutation.ClearOs() @@ -2282,8 +2078,8 @@ func (_u *InstanceResourceUpdateOne) check() error { return &ValidationError{Name: "trusted_attestation_status_indicator", err: fmt.Errorf(`ent: validator failed for field "InstanceResource.trusted_attestation_status_indicator": %w`, err)} } } - if _u.mutation.DesiredOsCleared() && len(_u.mutation.DesiredOsIDs()) > 0 { - return errors.New(`ent: clearing a required unique edge "InstanceResource.desired_os"`) + if _u.mutation.OsCleared() && len(_u.mutation.OsIDs()) > 0 { + return errors.New(`ent: clearing a required unique edge "InstanceResource.os"`) } return nil } @@ -2437,12 +2233,6 @@ func (_u *InstanceResourceUpdateOne) sqlSave(ctx context.Context) (_node *Instan if _u.mutation.UpdateStatusTimestampCleared() { _spec.ClearField(instanceresource.FieldUpdateStatusTimestamp, field.TypeUint64) } - if value, ok := _u.mutation.UpdateStatusDetail(); ok { - _spec.SetField(instanceresource.FieldUpdateStatusDetail, field.TypeString, value) - } - if _u.mutation.UpdateStatusDetailCleared() { - _spec.ClearField(instanceresource.FieldUpdateStatusDetail, field.TypeString) - } if value, ok := _u.mutation.TrustedAttestationStatus(); ok { _spec.SetField(instanceresource.FieldTrustedAttestationStatus, field.TypeString, value) } @@ -2520,64 +2310,6 @@ func (_u *InstanceResourceUpdateOne) sqlSave(ctx context.Context) (_node *Instan } _spec.Edges.Add = append(_spec.Edges.Add, edge) } - if _u.mutation.DesiredOsCleared() { - edge := &sqlgraph.EdgeSpec{ - Rel: sqlgraph.M2O, - Inverse: false, - Table: instanceresource.DesiredOsTable, - Columns: []string{instanceresource.DesiredOsColumn}, - Bidi: false, - Target: &sqlgraph.EdgeTarget{ - IDSpec: sqlgraph.NewFieldSpec(operatingsystemresource.FieldID, field.TypeInt), - }, - } - _spec.Edges.Clear = append(_spec.Edges.Clear, edge) - } - if nodes := _u.mutation.DesiredOsIDs(); len(nodes) > 0 { - edge := &sqlgraph.EdgeSpec{ - Rel: sqlgraph.M2O, - Inverse: false, - Table: instanceresource.DesiredOsTable, - Columns: []string{instanceresource.DesiredOsColumn}, - Bidi: false, - Target: &sqlgraph.EdgeTarget{ - IDSpec: sqlgraph.NewFieldSpec(operatingsystemresource.FieldID, field.TypeInt), - }, - } - for _, k := range nodes { - edge.Target.Nodes = append(edge.Target.Nodes, k) - } - _spec.Edges.Add = append(_spec.Edges.Add, edge) - } - if _u.mutation.CurrentOsCleared() { - edge := &sqlgraph.EdgeSpec{ - Rel: sqlgraph.M2O, - Inverse: false, - Table: instanceresource.CurrentOsTable, - Columns: []string{instanceresource.CurrentOsColumn}, - Bidi: false, - Target: &sqlgraph.EdgeTarget{ - IDSpec: sqlgraph.NewFieldSpec(operatingsystemresource.FieldID, field.TypeInt), - }, - } - _spec.Edges.Clear = append(_spec.Edges.Clear, edge) - } - if nodes := _u.mutation.CurrentOsIDs(); len(nodes) > 0 { - edge := &sqlgraph.EdgeSpec{ - Rel: sqlgraph.M2O, - Inverse: false, - Table: instanceresource.CurrentOsTable, - Columns: []string{instanceresource.CurrentOsColumn}, - Bidi: false, - Target: &sqlgraph.EdgeTarget{ - IDSpec: sqlgraph.NewFieldSpec(operatingsystemresource.FieldID, field.TypeInt), - }, - } - for _, k := range nodes { - edge.Target.Nodes = append(edge.Target.Nodes, k) - } - _spec.Edges.Add = append(_spec.Edges.Add, edge) - } if _u.mutation.OsCleared() { edge := &sqlgraph.EdgeSpec{ Rel: sqlgraph.M2O, diff --git a/inventory/internal/ent/migrate/migrations/20251017124853_empty_deprecated_columns.sql b/inventory/internal/ent/migrate/migrations/20251017124853_empty_deprecated_columns.sql new file mode 100644 index 00000000..6675425f --- /dev/null +++ b/inventory/internal/ent/migrate/migrations/20251017124853_empty_deprecated_columns.sql @@ -0,0 +1,63 @@ +-- Migrate data from deprecated columns to new columns and enforce NOT NULL constraints + +-- Copy data from legacy fields to the new os field (if they still exist in DB) +UPDATE instance_resources +SET instance_resource_os = COALESCE( + instance_resource_current_os, -- Keep existing value in current_os if set + instance_resource_desired_os -- Otherwise use desired_os +) +WHERE instance_resource_os IS NULL + AND (instance_resource_current_os IS NOT NULL + OR instance_resource_desired_os IS NOT NULL); + +-- Validate that all instances now have an OS assigned +-- This runtime check ensures that legacy data does not violate the new NOT NULL constraint during deployments +DO $$ +BEGIN + IF EXISTS ( + SELECT 1 FROM instance_resources + WHERE instance_resource_os IS NULL + ) THEN + RAISE EXCEPTION 'Cannot add NOT NULL constraint: % instances exist without OS assigned', + (SELECT COUNT(*) FROM instance_resources WHERE instance_resource_os IS NULL); + END IF; +END $$; + +-- Add the foreign key constraint (referential integrity + delete protection) +ALTER TABLE "instance_resources" + DROP CONSTRAINT IF EXISTS "instance_resources_operating_system_resources_os", + ADD CONSTRAINT "instance_resources_operating_system_resources_os" + FOREIGN KEY ("instance_resource_os") REFERENCES "operating_system_resources" ("id") + ON UPDATE NO ACTION ON DELETE NO ACTION; + +-- Add the NOT NULL constraint (make OS required) +ALTER TABLE "instance_resources" +ALTER COLUMN "instance_resource_os" SET NOT NULL; + +-- Step 4: Remove NOT NULL constraint from desired_os (make it optional so we can clear it) +ALTER TABLE instance_resources +ALTER COLUMN instance_resource_desired_os DROP NOT NULL; + +-- Clear deprecated fields in instance_resources. Their content is not used anymore. +UPDATE instance_resources +SET update_status_detail = NULL, + instance_resource_desired_os = NULL, + instance_resource_current_os = NULL +WHERE update_status_detail IS NOT NULL + OR instance_resource_desired_os IS NOT NULL + OR instance_resource_current_os IS NOT NULL; + +-- Clear operating_system_resources deprecated fields, their content is not used anymore. +UPDATE operating_system_resources +SET update_sources = NULL, + kernel_command = NULL +WHERE update_sources IS NOT NULL + OR kernel_command IS NOT NULL; + +-- Clear the os_update_policy_resources legacy columns that were already migrated in the previous OS update policy data migration. +-- The data has already been copied to update_packages and update_kernel_command. +UPDATE os_update_policy_resources +SET install_packages = NULL, + kernel_command = NULL +WHERE install_packages IS NOT NULL + OR kernel_command IS NOT NULL; diff --git a/inventory/internal/ent/migrate/migrations/20251017133722_remove_deprecated_columns.sql b/inventory/internal/ent/migrate/migrations/20251017133722_remove_deprecated_columns.sql new file mode 100644 index 00000000..ba05eb98 --- /dev/null +++ b/inventory/internal/ent/migrate/migrations/20251017133722_remove_deprecated_columns.sql @@ -0,0 +1,51 @@ +-- Check os_update_policy_resources for non-NULL values in install_packages or kernel_command. +-- Abort if any soon-to-be-dropped columns still contain data. +DO $$ +BEGIN + IF EXISTS ( + SELECT 1 FROM os_update_policy_resources + WHERE install_packages IS NOT NULL OR kernel_command IS NOT NULL + ) THEN + RAISE EXCEPTION 'Refusing to drop: os_update_policy_resources has non-NULL deprecated data'; + END IF; +END$$; + +-- Check instance_resources for non-NULL values in update_status_detail, instance_resource_desired_os, or instance_resource_current_os +DO $$ +BEGIN + IF EXISTS ( + SELECT 1 FROM instance_resources + WHERE update_status_detail IS NOT NULL + OR instance_resource_desired_os IS NOT NULL + OR instance_resource_current_os IS NOT NULL + ) THEN + RAISE EXCEPTION 'Refusing to drop: instance_resources has non-NULL deprecated data'; + END IF; +END$$; + +-- Check operating_system_resources for non-NULL values in update_sources or kernel_command +DO $$ +BEGIN + IF EXISTS ( + SELECT 1 FROM operating_system_resources + WHERE update_sources IS NOT NULL + OR kernel_command IS NOT NULL + ) THEN + RAISE EXCEPTION 'Refusing to drop: operating_system_resources has non-NULL deprecated data'; + END IF; +END$$; + +-- Drop the empty, deprecated columns +-- atlas:nolint DS103 - pre-migration “checks.sql” (the recommended fix) requires Atlas Pro +ALTER TABLE "instance_resources" + DROP COLUMN "update_status_detail", + DROP COLUMN "instance_resource_desired_os", + DROP COLUMN "instance_resource_current_os"; +-- atlas:nolint DS103 - pre-migration “checks.sql” (the recommended fix) requires Atlas Pro +ALTER TABLE "os_update_policy_resources" + DROP COLUMN "install_packages", + DROP COLUMN "kernel_command"; +-- atlas:nolint DS103 - pre-migration “checks.sql” (the recommended fix) requires Atlas Pro +ALTER TABLE "operating_system_resources" + DROP COLUMN "update_sources", + DROP COLUMN "kernel_command"; diff --git a/inventory/internal/ent/migrate/migrations/atlas.sum b/inventory/internal/ent/migrate/migrations/atlas.sum index bed4adfa..378becbe 100644 --- a/inventory/internal/ent/migrate/migrations/atlas.sum +++ b/inventory/internal/ent/migrate/migrations/atlas.sum @@ -1,4 +1,4 @@ -h1:+xBhbAlkIbr9AaJ/PmgZvp0w2F1isJwS8PmWwkU/Bsc= +h1:5q8mSTeyuKyAupmQ6pNLJ6FOHzIoGCEm3ruAxwu5teE= 20230600000000_empty.sql h1:WTkYlwWwrdJjax+pXqrJYBNu1BIdqqnF9WoasjlGLUk= 20250324165719_all.sql h1:YEGDRbDPwxh5fBkoaGAwXpPu3nDCsCDdrvTt2EzBekk= 20250520125803_add_osprof_desc.sql h1:RQBqrgNfdTJlElMRdsizeMIRLsfw2Dq1LzzdiIV/JmE= @@ -16,4 +16,6 @@ h1:+xBhbAlkIbr9AaJ/PmgZvp0w2F1isJwS8PmWwkU/Bsc= 20250926132933_add_lvm_size.sql h1:TBEf371YjevfmQyElf+Q6MFnuELnYqn+/S/mUj6H2Ys= 20251002164125_modify_OSUpdatePolicy.sql h1:ndAWm2d/NX/npyT4ZoIOR3MvsTMdEUOOPx9NB5wRxDw= 20251002165719_datamigration_OSUpdatePolicy.sql h1:q+jxXd0teE6l0DUJT9VtHyg+B5/mRta+bX6ugHcOefY= -20251103070349_add_tls_ca_cert.sql h1:hpmNVXBRKnS5nPGZTncgLVS9vTysFtAKL1ayXw+MqZk= +20251017124853_empty_deprecated_columns.sql h1:3spStwonaf5c20pxvCiOuabU1efmN4XEoRgNgEjzAYY= +20251017133722_remove_deprecated_columns.sql h1:7atql09FGdSnLSaTrd6GBQpJgRfiMKnZGWHwBgYL+zk= +20251103070349_add_tls_ca_cert.sql h1:UYrGjsK3nJwVkBoA/fxczxGFzYsh/wKqxAMXbPcWHRI= diff --git a/inventory/internal/ent/migrate/schema.go b/inventory/internal/ent/migrate/schema.go index 8ad851c1..5fa5202f 100644 --- a/inventory/internal/ent/migrate/schema.go +++ b/inventory/internal/ent/migrate/schema.go @@ -402,7 +402,6 @@ var ( {Name: "update_status", Type: field.TypeString, Nullable: true}, {Name: "update_status_indicator", Type: field.TypeEnum, Nullable: true, Enums: []string{"STATUS_INDICATION_UNSPECIFIED", "STATUS_INDICATION_ERROR", "STATUS_INDICATION_IN_PROGRESS", "STATUS_INDICATION_IDLE"}}, {Name: "update_status_timestamp", Type: field.TypeUint64, Nullable: true}, - {Name: "update_status_detail", Type: field.TypeString, Nullable: true}, {Name: "trusted_attestation_status", Type: field.TypeString, Nullable: true}, {Name: "trusted_attestation_status_indicator", Type: field.TypeEnum, Nullable: true, Enums: []string{"STATUS_INDICATION_UNSPECIFIED", "STATUS_INDICATION_ERROR", "STATUS_INDICATION_IN_PROGRESS", "STATUS_INDICATION_IDLE"}}, {Name: "trusted_attestation_status_timestamp", Type: field.TypeUint64, Nullable: true}, @@ -413,9 +412,7 @@ var ( {Name: "instance_status_detail", Type: field.TypeString, Nullable: true}, {Name: "created_at", Type: field.TypeString, SchemaType: map[string]string{"postgres": "TIMESTAMP"}}, {Name: "updated_at", Type: field.TypeString, SchemaType: map[string]string{"postgres": "TIMESTAMP"}}, - {Name: "instance_resource_desired_os", Type: field.TypeInt}, - {Name: "instance_resource_current_os", Type: field.TypeInt, Nullable: true}, - {Name: "instance_resource_os", Type: field.TypeInt, Nullable: true}, + {Name: "instance_resource_os", Type: field.TypeInt}, {Name: "instance_resource_provider", Type: field.TypeInt, Nullable: true}, {Name: "instance_resource_localaccount", Type: field.TypeInt, Nullable: true}, {Name: "instance_resource_os_update_policy", Type: field.TypeInt, Nullable: true}, @@ -426,39 +423,27 @@ var ( Columns: InstanceResourcesColumns, PrimaryKey: []*schema.Column{InstanceResourcesColumns[0]}, ForeignKeys: []*schema.ForeignKey{ - { - Symbol: "instance_resources_operating_system_resources_desired_os", - Columns: []*schema.Column{InstanceResourcesColumns[30]}, - RefColumns: []*schema.Column{OperatingSystemResourcesColumns[0]}, - OnDelete: schema.NoAction, - }, - { - Symbol: "instance_resources_operating_system_resources_current_os", - Columns: []*schema.Column{InstanceResourcesColumns[31]}, - RefColumns: []*schema.Column{OperatingSystemResourcesColumns[0]}, - OnDelete: schema.SetNull, - }, { Symbol: "instance_resources_operating_system_resources_os", - Columns: []*schema.Column{InstanceResourcesColumns[32]}, + Columns: []*schema.Column{InstanceResourcesColumns[29]}, RefColumns: []*schema.Column{OperatingSystemResourcesColumns[0]}, - OnDelete: schema.SetNull, + OnDelete: schema.NoAction, }, { Symbol: "instance_resources_provider_resources_provider", - Columns: []*schema.Column{InstanceResourcesColumns[33]}, + Columns: []*schema.Column{InstanceResourcesColumns[30]}, RefColumns: []*schema.Column{ProviderResourcesColumns[0]}, OnDelete: schema.SetNull, }, { Symbol: "instance_resources_local_account_resources_localaccount", - Columns: []*schema.Column{InstanceResourcesColumns[34]}, + Columns: []*schema.Column{InstanceResourcesColumns[31]}, RefColumns: []*schema.Column{LocalAccountResourcesColumns[0]}, OnDelete: schema.SetNull, }, { Symbol: "instance_resources_os_update_policy_resources_os_update_policy", - Columns: []*schema.Column{InstanceResourcesColumns[35]}, + Columns: []*schema.Column{InstanceResourcesColumns[32]}, RefColumns: []*schema.Column{OsUpdatePolicyResourcesColumns[0]}, OnDelete: schema.SetNull, }, @@ -467,7 +452,7 @@ var ( { Name: "instanceresource_tenant_id", Unique: false, - Columns: []*schema.Column{InstanceResourcesColumns[26]}, + Columns: []*schema.Column{InstanceResourcesColumns[25]}, }, }, } @@ -599,9 +584,7 @@ var ( {Name: "resource_id", Type: field.TypeString, Unique: true}, {Name: "name", Type: field.TypeString}, {Name: "description", Type: field.TypeString, Nullable: true}, - {Name: "install_packages", Type: field.TypeString, Nullable: true}, {Name: "update_sources", Type: field.TypeString, Nullable: true}, - {Name: "kernel_command", Type: field.TypeString, Nullable: true}, {Name: "update_packages", Type: field.TypeString, Nullable: true}, {Name: "update_kernel_command", Type: field.TypeString, Nullable: true}, {Name: "update_policy", Type: field.TypeEnum, Nullable: true, Enums: []string{"UPDATE_POLICY_UNSPECIFIED", "UPDATE_POLICY_LATEST", "UPDATE_POLICY_TARGET"}}, @@ -618,7 +601,7 @@ var ( ForeignKeys: []*schema.ForeignKey{ { Symbol: "os_update_policy_resources_operating_system_resources_target_os", - Columns: []*schema.Column{OsUpdatePolicyResourcesColumns[13]}, + Columns: []*schema.Column{OsUpdatePolicyResourcesColumns[11]}, RefColumns: []*schema.Column{OperatingSystemResourcesColumns[0]}, OnDelete: schema.SetNull, }, @@ -668,8 +651,6 @@ var ( {Name: "resource_id", Type: field.TypeString, Unique: true}, {Name: "name", Type: field.TypeString, Nullable: true}, {Name: "architecture", Type: field.TypeString, Nullable: true}, - {Name: "kernel_command", Type: field.TypeString, Nullable: true}, - {Name: "update_sources", Type: field.TypeString, Nullable: true}, {Name: "image_url", Type: field.TypeString, Nullable: true}, {Name: "image_id", Type: field.TypeString, Nullable: true}, {Name: "sha256", Type: field.TypeString, Nullable: true}, @@ -701,12 +682,12 @@ var ( { Name: "operatingsystemresource_name_tenant_id", Unique: true, - Columns: []*schema.Column{OperatingSystemResourcesColumns[2], OperatingSystemResourcesColumns[24]}, + Columns: []*schema.Column{OperatingSystemResourcesColumns[2], OperatingSystemResourcesColumns[22]}, }, { Name: "operatingsystemresource_tenant_id", Unique: false, - Columns: []*schema.Column{OperatingSystemResourcesColumns[24]}, + Columns: []*schema.Column{OperatingSystemResourcesColumns[22]}, }, }, } @@ -1253,11 +1234,9 @@ func init() { HostusbResourcesTable.ForeignKeys[0].RefTable = HostResourcesTable IPAddressResourcesTable.ForeignKeys[0].RefTable = HostnicResourcesTable InstanceResourcesTable.ForeignKeys[0].RefTable = OperatingSystemResourcesTable - InstanceResourcesTable.ForeignKeys[1].RefTable = OperatingSystemResourcesTable - InstanceResourcesTable.ForeignKeys[2].RefTable = OperatingSystemResourcesTable - InstanceResourcesTable.ForeignKeys[3].RefTable = ProviderResourcesTable - InstanceResourcesTable.ForeignKeys[4].RefTable = LocalAccountResourcesTable - InstanceResourcesTable.ForeignKeys[5].RefTable = OsUpdatePolicyResourcesTable + InstanceResourcesTable.ForeignKeys[1].RefTable = ProviderResourcesTable + InstanceResourcesTable.ForeignKeys[2].RefTable = LocalAccountResourcesTable + InstanceResourcesTable.ForeignKeys[3].RefTable = OsUpdatePolicyResourcesTable NetlinkResourcesTable.ForeignKeys[0].RefTable = EndpointResourcesTable NetlinkResourcesTable.ForeignKeys[1].RefTable = EndpointResourcesTable NetworkSegmentsTable.ForeignKeys[0].RefTable = SiteResourcesTable diff --git a/inventory/internal/ent/mutation.go b/inventory/internal/ent/mutation.go index 798e6db6..bac33cc7 100644 --- a/inventory/internal/ent/mutation.go +++ b/inventory/internal/ent/mutation.go @@ -13376,7 +13376,6 @@ type InstanceResourceMutation struct { update_status_indicator *instanceresource.UpdateStatusIndicator update_status_timestamp *uint64 addupdate_status_timestamp *int64 - update_status_detail *string trusted_attestation_status *string trusted_attestation_status_indicator *instanceresource.TrustedAttestationStatusIndicator trusted_attestation_status_timestamp *uint64 @@ -13391,10 +13390,6 @@ type InstanceResourceMutation struct { clearedFields map[string]struct{} host *int clearedhost bool - desired_os *int - cleareddesired_os bool - current_os *int - clearedcurrent_os bool os *int clearedos bool workload_members map[int]struct{} @@ -14507,55 +14502,6 @@ func (m *InstanceResourceMutation) ResetUpdateStatusTimestamp() { delete(m.clearedFields, instanceresource.FieldUpdateStatusTimestamp) } -// SetUpdateStatusDetail sets the "update_status_detail" field. -func (m *InstanceResourceMutation) SetUpdateStatusDetail(s string) { - m.update_status_detail = &s -} - -// UpdateStatusDetail returns the value of the "update_status_detail" field in the mutation. -func (m *InstanceResourceMutation) UpdateStatusDetail() (r string, exists bool) { - v := m.update_status_detail - if v == nil { - return - } - return *v, true -} - -// OldUpdateStatusDetail returns the old "update_status_detail" field's value of the InstanceResource entity. -// If the InstanceResource object wasn't provided to the builder, the object is fetched from the database. -// An error is returned if the mutation operation is not UpdateOne, or the database query fails. -func (m *InstanceResourceMutation) OldUpdateStatusDetail(ctx context.Context) (v string, err error) { - if !m.op.Is(OpUpdateOne) { - return v, errors.New("OldUpdateStatusDetail is only allowed on UpdateOne operations") - } - if m.id == nil || m.oldValue == nil { - return v, errors.New("OldUpdateStatusDetail requires an ID field in the mutation") - } - oldValue, err := m.oldValue(ctx) - if err != nil { - return v, fmt.Errorf("querying old value for OldUpdateStatusDetail: %w", err) - } - return oldValue.UpdateStatusDetail, nil -} - -// ClearUpdateStatusDetail clears the value of the "update_status_detail" field. -func (m *InstanceResourceMutation) ClearUpdateStatusDetail() { - m.update_status_detail = nil - m.clearedFields[instanceresource.FieldUpdateStatusDetail] = struct{}{} -} - -// UpdateStatusDetailCleared returns if the "update_status_detail" field was cleared in this mutation. -func (m *InstanceResourceMutation) UpdateStatusDetailCleared() bool { - _, ok := m.clearedFields[instanceresource.FieldUpdateStatusDetail] - return ok -} - -// ResetUpdateStatusDetail resets all changes to the "update_status_detail" field. -func (m *InstanceResourceMutation) ResetUpdateStatusDetail() { - m.update_status_detail = nil - delete(m.clearedFields, instanceresource.FieldUpdateStatusDetail) -} - // SetTrustedAttestationStatus sets the "trusted_attestation_status" field. func (m *InstanceResourceMutation) SetTrustedAttestationStatus(s string) { m.trusted_attestation_status = &s @@ -15067,84 +15013,6 @@ func (m *InstanceResourceMutation) ResetHost() { m.clearedhost = false } -// SetDesiredOsID sets the "desired_os" edge to the OperatingSystemResource entity by id. -func (m *InstanceResourceMutation) SetDesiredOsID(id int) { - m.desired_os = &id -} - -// ClearDesiredOs clears the "desired_os" edge to the OperatingSystemResource entity. -func (m *InstanceResourceMutation) ClearDesiredOs() { - m.cleareddesired_os = true -} - -// DesiredOsCleared reports if the "desired_os" edge to the OperatingSystemResource entity was cleared. -func (m *InstanceResourceMutation) DesiredOsCleared() bool { - return m.cleareddesired_os -} - -// DesiredOsID returns the "desired_os" edge ID in the mutation. -func (m *InstanceResourceMutation) DesiredOsID() (id int, exists bool) { - if m.desired_os != nil { - return *m.desired_os, true - } - return -} - -// DesiredOsIDs returns the "desired_os" edge IDs in the mutation. -// Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use -// DesiredOsID instead. It exists only for internal usage by the builders. -func (m *InstanceResourceMutation) DesiredOsIDs() (ids []int) { - if id := m.desired_os; id != nil { - ids = append(ids, *id) - } - return -} - -// ResetDesiredOs resets all changes to the "desired_os" edge. -func (m *InstanceResourceMutation) ResetDesiredOs() { - m.desired_os = nil - m.cleareddesired_os = false -} - -// SetCurrentOsID sets the "current_os" edge to the OperatingSystemResource entity by id. -func (m *InstanceResourceMutation) SetCurrentOsID(id int) { - m.current_os = &id -} - -// ClearCurrentOs clears the "current_os" edge to the OperatingSystemResource entity. -func (m *InstanceResourceMutation) ClearCurrentOs() { - m.clearedcurrent_os = true -} - -// CurrentOsCleared reports if the "current_os" edge to the OperatingSystemResource entity was cleared. -func (m *InstanceResourceMutation) CurrentOsCleared() bool { - return m.clearedcurrent_os -} - -// CurrentOsID returns the "current_os" edge ID in the mutation. -func (m *InstanceResourceMutation) CurrentOsID() (id int, exists bool) { - if m.current_os != nil { - return *m.current_os, true - } - return -} - -// CurrentOsIDs returns the "current_os" edge IDs in the mutation. -// Note that IDs always returns len(IDs) <= 1 for unique edges, and you should use -// CurrentOsID instead. It exists only for internal usage by the builders. -func (m *InstanceResourceMutation) CurrentOsIDs() (ids []int) { - if id := m.current_os; id != nil { - ids = append(ids, *id) - } - return -} - -// ResetCurrentOs resets all changes to the "current_os" edge. -func (m *InstanceResourceMutation) ResetCurrentOs() { - m.current_os = nil - m.clearedcurrent_os = false -} - // SetOsID sets the "os" edge to the OperatingSystemResource entity by id. func (m *InstanceResourceMutation) SetOsID(id int) { m.os = &id @@ -15443,7 +15311,7 @@ func (m *InstanceResourceMutation) Type() string { // order to get all numeric fields that were incremented/decremented, call // AddedFields(). func (m *InstanceResourceMutation) Fields() []string { - fields := make([]string, 0, 29) + fields := make([]string, 0, 28) if m.resource_id != nil { fields = append(fields, instanceresource.FieldResourceID) } @@ -15498,9 +15366,6 @@ func (m *InstanceResourceMutation) Fields() []string { if m.update_status_timestamp != nil { fields = append(fields, instanceresource.FieldUpdateStatusTimestamp) } - if m.update_status_detail != nil { - fields = append(fields, instanceresource.FieldUpdateStatusDetail) - } if m.trusted_attestation_status != nil { fields = append(fields, instanceresource.FieldTrustedAttestationStatus) } @@ -15575,8 +15440,6 @@ func (m *InstanceResourceMutation) Field(name string) (ent.Value, bool) { return m.UpdateStatusIndicator() case instanceresource.FieldUpdateStatusTimestamp: return m.UpdateStatusTimestamp() - case instanceresource.FieldUpdateStatusDetail: - return m.UpdateStatusDetail() case instanceresource.FieldTrustedAttestationStatus: return m.TrustedAttestationStatus() case instanceresource.FieldTrustedAttestationStatusIndicator: @@ -15642,8 +15505,6 @@ func (m *InstanceResourceMutation) OldField(ctx context.Context, name string) (e return m.OldUpdateStatusIndicator(ctx) case instanceresource.FieldUpdateStatusTimestamp: return m.OldUpdateStatusTimestamp(ctx) - case instanceresource.FieldUpdateStatusDetail: - return m.OldUpdateStatusDetail(ctx) case instanceresource.FieldTrustedAttestationStatus: return m.OldTrustedAttestationStatus(ctx) case instanceresource.FieldTrustedAttestationStatusIndicator: @@ -15799,13 +15660,6 @@ func (m *InstanceResourceMutation) SetField(name string, value ent.Value) error } m.SetUpdateStatusTimestamp(v) return nil - case instanceresource.FieldUpdateStatusDetail: - v, ok := value.(string) - if !ok { - return fmt.Errorf("unexpected type %T for field %s", value, name) - } - m.SetUpdateStatusDetail(v) - return nil case instanceresource.FieldTrustedAttestationStatus: v, ok := value.(string) if !ok { @@ -16044,9 +15898,6 @@ func (m *InstanceResourceMutation) ClearedFields() []string { if m.FieldCleared(instanceresource.FieldUpdateStatusTimestamp) { fields = append(fields, instanceresource.FieldUpdateStatusTimestamp) } - if m.FieldCleared(instanceresource.FieldUpdateStatusDetail) { - fields = append(fields, instanceresource.FieldUpdateStatusDetail) - } if m.FieldCleared(instanceresource.FieldTrustedAttestationStatus) { fields = append(fields, instanceresource.FieldTrustedAttestationStatus) } @@ -16133,9 +15984,6 @@ func (m *InstanceResourceMutation) ClearField(name string) error { case instanceresource.FieldUpdateStatusTimestamp: m.ClearUpdateStatusTimestamp() return nil - case instanceresource.FieldUpdateStatusDetail: - m.ClearUpdateStatusDetail() - return nil case instanceresource.FieldTrustedAttestationStatus: m.ClearTrustedAttestationStatus() return nil @@ -16219,9 +16067,6 @@ func (m *InstanceResourceMutation) ResetField(name string) error { case instanceresource.FieldUpdateStatusTimestamp: m.ResetUpdateStatusTimestamp() return nil - case instanceresource.FieldUpdateStatusDetail: - m.ResetUpdateStatusDetail() - return nil case instanceresource.FieldTrustedAttestationStatus: m.ResetTrustedAttestationStatus() return nil @@ -16258,16 +16103,10 @@ func (m *InstanceResourceMutation) ResetField(name string) error { // AddedEdges returns all edge names that were set/added in this mutation. func (m *InstanceResourceMutation) AddedEdges() []string { - edges := make([]string, 0, 9) + edges := make([]string, 0, 7) if m.host != nil { edges = append(edges, instanceresource.EdgeHost) } - if m.desired_os != nil { - edges = append(edges, instanceresource.EdgeDesiredOs) - } - if m.current_os != nil { - edges = append(edges, instanceresource.EdgeCurrentOs) - } if m.os != nil { edges = append(edges, instanceresource.EdgeOs) } @@ -16297,14 +16136,6 @@ func (m *InstanceResourceMutation) AddedIDs(name string) []ent.Value { if id := m.host; id != nil { return []ent.Value{*id} } - case instanceresource.EdgeDesiredOs: - if id := m.desired_os; id != nil { - return []ent.Value{*id} - } - case instanceresource.EdgeCurrentOs: - if id := m.current_os; id != nil { - return []ent.Value{*id} - } case instanceresource.EdgeOs: if id := m.os; id != nil { return []ent.Value{*id} @@ -16339,7 +16170,7 @@ func (m *InstanceResourceMutation) AddedIDs(name string) []ent.Value { // RemovedEdges returns all edge names that were removed in this mutation. func (m *InstanceResourceMutation) RemovedEdges() []string { - edges := make([]string, 0, 9) + edges := make([]string, 0, 7) if m.removedworkload_members != nil { edges = append(edges, instanceresource.EdgeWorkloadMembers) } @@ -16371,16 +16202,10 @@ func (m *InstanceResourceMutation) RemovedIDs(name string) []ent.Value { // ClearedEdges returns all edge names that were cleared in this mutation. func (m *InstanceResourceMutation) ClearedEdges() []string { - edges := make([]string, 0, 9) + edges := make([]string, 0, 7) if m.clearedhost { edges = append(edges, instanceresource.EdgeHost) } - if m.cleareddesired_os { - edges = append(edges, instanceresource.EdgeDesiredOs) - } - if m.clearedcurrent_os { - edges = append(edges, instanceresource.EdgeCurrentOs) - } if m.clearedos { edges = append(edges, instanceresource.EdgeOs) } @@ -16408,10 +16233,6 @@ func (m *InstanceResourceMutation) EdgeCleared(name string) bool { switch name { case instanceresource.EdgeHost: return m.clearedhost - case instanceresource.EdgeDesiredOs: - return m.cleareddesired_os - case instanceresource.EdgeCurrentOs: - return m.clearedcurrent_os case instanceresource.EdgeOs: return m.clearedos case instanceresource.EdgeWorkloadMembers: @@ -16435,12 +16256,6 @@ func (m *InstanceResourceMutation) ClearEdge(name string) error { case instanceresource.EdgeHost: m.ClearHost() return nil - case instanceresource.EdgeDesiredOs: - m.ClearDesiredOs() - return nil - case instanceresource.EdgeCurrentOs: - m.ClearCurrentOs() - return nil case instanceresource.EdgeOs: m.ClearOs() return nil @@ -16464,12 +16279,6 @@ func (m *InstanceResourceMutation) ResetEdge(name string) error { case instanceresource.EdgeHost: m.ResetHost() return nil - case instanceresource.EdgeDesiredOs: - m.ResetDesiredOs() - return nil - case instanceresource.EdgeCurrentOs: - m.ResetCurrentOs() - return nil case instanceresource.EdgeOs: m.ResetOs() return nil @@ -19651,9 +19460,7 @@ type OSUpdatePolicyResourceMutation struct { resource_id *string name *string description *string - install_packages *string update_sources *string - kernel_command *string update_packages *string update_kernel_command *string update_policy *osupdatepolicyresource.UpdatePolicy @@ -19887,55 +19694,6 @@ func (m *OSUpdatePolicyResourceMutation) ResetDescription() { delete(m.clearedFields, osupdatepolicyresource.FieldDescription) } -// SetInstallPackages sets the "install_packages" field. -func (m *OSUpdatePolicyResourceMutation) SetInstallPackages(s string) { - m.install_packages = &s -} - -// InstallPackages returns the value of the "install_packages" field in the mutation. -func (m *OSUpdatePolicyResourceMutation) InstallPackages() (r string, exists bool) { - v := m.install_packages - if v == nil { - return - } - return *v, true -} - -// OldInstallPackages returns the old "install_packages" field's value of the OSUpdatePolicyResource entity. -// If the OSUpdatePolicyResource object wasn't provided to the builder, the object is fetched from the database. -// An error is returned if the mutation operation is not UpdateOne, or the database query fails. -func (m *OSUpdatePolicyResourceMutation) OldInstallPackages(ctx context.Context) (v string, err error) { - if !m.op.Is(OpUpdateOne) { - return v, errors.New("OldInstallPackages is only allowed on UpdateOne operations") - } - if m.id == nil || m.oldValue == nil { - return v, errors.New("OldInstallPackages requires an ID field in the mutation") - } - oldValue, err := m.oldValue(ctx) - if err != nil { - return v, fmt.Errorf("querying old value for OldInstallPackages: %w", err) - } - return oldValue.InstallPackages, nil -} - -// ClearInstallPackages clears the value of the "install_packages" field. -func (m *OSUpdatePolicyResourceMutation) ClearInstallPackages() { - m.install_packages = nil - m.clearedFields[osupdatepolicyresource.FieldInstallPackages] = struct{}{} -} - -// InstallPackagesCleared returns if the "install_packages" field was cleared in this mutation. -func (m *OSUpdatePolicyResourceMutation) InstallPackagesCleared() bool { - _, ok := m.clearedFields[osupdatepolicyresource.FieldInstallPackages] - return ok -} - -// ResetInstallPackages resets all changes to the "install_packages" field. -func (m *OSUpdatePolicyResourceMutation) ResetInstallPackages() { - m.install_packages = nil - delete(m.clearedFields, osupdatepolicyresource.FieldInstallPackages) -} - // SetUpdateSources sets the "update_sources" field. func (m *OSUpdatePolicyResourceMutation) SetUpdateSources(s string) { m.update_sources = &s @@ -19985,55 +19743,6 @@ func (m *OSUpdatePolicyResourceMutation) ResetUpdateSources() { delete(m.clearedFields, osupdatepolicyresource.FieldUpdateSources) } -// SetKernelCommand sets the "kernel_command" field. -func (m *OSUpdatePolicyResourceMutation) SetKernelCommand(s string) { - m.kernel_command = &s -} - -// KernelCommand returns the value of the "kernel_command" field in the mutation. -func (m *OSUpdatePolicyResourceMutation) KernelCommand() (r string, exists bool) { - v := m.kernel_command - if v == nil { - return - } - return *v, true -} - -// OldKernelCommand returns the old "kernel_command" field's value of the OSUpdatePolicyResource entity. -// If the OSUpdatePolicyResource object wasn't provided to the builder, the object is fetched from the database. -// An error is returned if the mutation operation is not UpdateOne, or the database query fails. -func (m *OSUpdatePolicyResourceMutation) OldKernelCommand(ctx context.Context) (v string, err error) { - if !m.op.Is(OpUpdateOne) { - return v, errors.New("OldKernelCommand is only allowed on UpdateOne operations") - } - if m.id == nil || m.oldValue == nil { - return v, errors.New("OldKernelCommand requires an ID field in the mutation") - } - oldValue, err := m.oldValue(ctx) - if err != nil { - return v, fmt.Errorf("querying old value for OldKernelCommand: %w", err) - } - return oldValue.KernelCommand, nil -} - -// ClearKernelCommand clears the value of the "kernel_command" field. -func (m *OSUpdatePolicyResourceMutation) ClearKernelCommand() { - m.kernel_command = nil - m.clearedFields[osupdatepolicyresource.FieldKernelCommand] = struct{}{} -} - -// KernelCommandCleared returns if the "kernel_command" field was cleared in this mutation. -func (m *OSUpdatePolicyResourceMutation) KernelCommandCleared() bool { - _, ok := m.clearedFields[osupdatepolicyresource.FieldKernelCommand] - return ok -} - -// ResetKernelCommand resets all changes to the "kernel_command" field. -func (m *OSUpdatePolicyResourceMutation) ResetKernelCommand() { - m.kernel_command = nil - delete(m.clearedFields, osupdatepolicyresource.FieldKernelCommand) -} - // SetUpdatePackages sets the "update_packages" field. func (m *OSUpdatePolicyResourceMutation) SetUpdatePackages(s string) { m.update_packages = &s @@ -20362,7 +20071,7 @@ func (m *OSUpdatePolicyResourceMutation) Type() string { // order to get all numeric fields that were incremented/decremented, call // AddedFields(). func (m *OSUpdatePolicyResourceMutation) Fields() []string { - fields := make([]string, 0, 12) + fields := make([]string, 0, 10) if m.resource_id != nil { fields = append(fields, osupdatepolicyresource.FieldResourceID) } @@ -20372,15 +20081,9 @@ func (m *OSUpdatePolicyResourceMutation) Fields() []string { if m.description != nil { fields = append(fields, osupdatepolicyresource.FieldDescription) } - if m.install_packages != nil { - fields = append(fields, osupdatepolicyresource.FieldInstallPackages) - } if m.update_sources != nil { fields = append(fields, osupdatepolicyresource.FieldUpdateSources) } - if m.kernel_command != nil { - fields = append(fields, osupdatepolicyresource.FieldKernelCommand) - } if m.update_packages != nil { fields = append(fields, osupdatepolicyresource.FieldUpdatePackages) } @@ -20413,12 +20116,8 @@ func (m *OSUpdatePolicyResourceMutation) Field(name string) (ent.Value, bool) { return m.Name() case osupdatepolicyresource.FieldDescription: return m.Description() - case osupdatepolicyresource.FieldInstallPackages: - return m.InstallPackages() case osupdatepolicyresource.FieldUpdateSources: return m.UpdateSources() - case osupdatepolicyresource.FieldKernelCommand: - return m.KernelCommand() case osupdatepolicyresource.FieldUpdatePackages: return m.UpdatePackages() case osupdatepolicyresource.FieldUpdateKernelCommand: @@ -20446,12 +20145,8 @@ func (m *OSUpdatePolicyResourceMutation) OldField(ctx context.Context, name stri return m.OldName(ctx) case osupdatepolicyresource.FieldDescription: return m.OldDescription(ctx) - case osupdatepolicyresource.FieldInstallPackages: - return m.OldInstallPackages(ctx) case osupdatepolicyresource.FieldUpdateSources: return m.OldUpdateSources(ctx) - case osupdatepolicyresource.FieldKernelCommand: - return m.OldKernelCommand(ctx) case osupdatepolicyresource.FieldUpdatePackages: return m.OldUpdatePackages(ctx) case osupdatepolicyresource.FieldUpdateKernelCommand: @@ -20494,13 +20189,6 @@ func (m *OSUpdatePolicyResourceMutation) SetField(name string, value ent.Value) } m.SetDescription(v) return nil - case osupdatepolicyresource.FieldInstallPackages: - v, ok := value.(string) - if !ok { - return fmt.Errorf("unexpected type %T for field %s", value, name) - } - m.SetInstallPackages(v) - return nil case osupdatepolicyresource.FieldUpdateSources: v, ok := value.(string) if !ok { @@ -20508,13 +20196,6 @@ func (m *OSUpdatePolicyResourceMutation) SetField(name string, value ent.Value) } m.SetUpdateSources(v) return nil - case osupdatepolicyresource.FieldKernelCommand: - v, ok := value.(string) - if !ok { - return fmt.Errorf("unexpected type %T for field %s", value, name) - } - m.SetKernelCommand(v) - return nil case osupdatepolicyresource.FieldUpdatePackages: v, ok := value.(string) if !ok { @@ -20590,15 +20271,9 @@ func (m *OSUpdatePolicyResourceMutation) ClearedFields() []string { if m.FieldCleared(osupdatepolicyresource.FieldDescription) { fields = append(fields, osupdatepolicyresource.FieldDescription) } - if m.FieldCleared(osupdatepolicyresource.FieldInstallPackages) { - fields = append(fields, osupdatepolicyresource.FieldInstallPackages) - } if m.FieldCleared(osupdatepolicyresource.FieldUpdateSources) { fields = append(fields, osupdatepolicyresource.FieldUpdateSources) } - if m.FieldCleared(osupdatepolicyresource.FieldKernelCommand) { - fields = append(fields, osupdatepolicyresource.FieldKernelCommand) - } if m.FieldCleared(osupdatepolicyresource.FieldUpdatePackages) { fields = append(fields, osupdatepolicyresource.FieldUpdatePackages) } @@ -20625,15 +20300,9 @@ func (m *OSUpdatePolicyResourceMutation) ClearField(name string) error { case osupdatepolicyresource.FieldDescription: m.ClearDescription() return nil - case osupdatepolicyresource.FieldInstallPackages: - m.ClearInstallPackages() - return nil case osupdatepolicyresource.FieldUpdateSources: m.ClearUpdateSources() return nil - case osupdatepolicyresource.FieldKernelCommand: - m.ClearKernelCommand() - return nil case osupdatepolicyresource.FieldUpdatePackages: m.ClearUpdatePackages() return nil @@ -20660,15 +20329,9 @@ func (m *OSUpdatePolicyResourceMutation) ResetField(name string) error { case osupdatepolicyresource.FieldDescription: m.ResetDescription() return nil - case osupdatepolicyresource.FieldInstallPackages: - m.ResetInstallPackages() - return nil case osupdatepolicyresource.FieldUpdateSources: m.ResetUpdateSources() return nil - case osupdatepolicyresource.FieldKernelCommand: - m.ResetKernelCommand() - return nil case osupdatepolicyresource.FieldUpdatePackages: m.ResetUpdatePackages() return nil @@ -22021,8 +21684,6 @@ type OperatingSystemResourceMutation struct { resource_id *string name *string architecture *string - kernel_command *string - update_sources *string image_url *string image_id *string sha256 *string @@ -22282,104 +21943,6 @@ func (m *OperatingSystemResourceMutation) ResetArchitecture() { delete(m.clearedFields, operatingsystemresource.FieldArchitecture) } -// SetKernelCommand sets the "kernel_command" field. -func (m *OperatingSystemResourceMutation) SetKernelCommand(s string) { - m.kernel_command = &s -} - -// KernelCommand returns the value of the "kernel_command" field in the mutation. -func (m *OperatingSystemResourceMutation) KernelCommand() (r string, exists bool) { - v := m.kernel_command - if v == nil { - return - } - return *v, true -} - -// OldKernelCommand returns the old "kernel_command" field's value of the OperatingSystemResource entity. -// If the OperatingSystemResource object wasn't provided to the builder, the object is fetched from the database. -// An error is returned if the mutation operation is not UpdateOne, or the database query fails. -func (m *OperatingSystemResourceMutation) OldKernelCommand(ctx context.Context) (v string, err error) { - if !m.op.Is(OpUpdateOne) { - return v, errors.New("OldKernelCommand is only allowed on UpdateOne operations") - } - if m.id == nil || m.oldValue == nil { - return v, errors.New("OldKernelCommand requires an ID field in the mutation") - } - oldValue, err := m.oldValue(ctx) - if err != nil { - return v, fmt.Errorf("querying old value for OldKernelCommand: %w", err) - } - return oldValue.KernelCommand, nil -} - -// ClearKernelCommand clears the value of the "kernel_command" field. -func (m *OperatingSystemResourceMutation) ClearKernelCommand() { - m.kernel_command = nil - m.clearedFields[operatingsystemresource.FieldKernelCommand] = struct{}{} -} - -// KernelCommandCleared returns if the "kernel_command" field was cleared in this mutation. -func (m *OperatingSystemResourceMutation) KernelCommandCleared() bool { - _, ok := m.clearedFields[operatingsystemresource.FieldKernelCommand] - return ok -} - -// ResetKernelCommand resets all changes to the "kernel_command" field. -func (m *OperatingSystemResourceMutation) ResetKernelCommand() { - m.kernel_command = nil - delete(m.clearedFields, operatingsystemresource.FieldKernelCommand) -} - -// SetUpdateSources sets the "update_sources" field. -func (m *OperatingSystemResourceMutation) SetUpdateSources(s string) { - m.update_sources = &s -} - -// UpdateSources returns the value of the "update_sources" field in the mutation. -func (m *OperatingSystemResourceMutation) UpdateSources() (r string, exists bool) { - v := m.update_sources - if v == nil { - return - } - return *v, true -} - -// OldUpdateSources returns the old "update_sources" field's value of the OperatingSystemResource entity. -// If the OperatingSystemResource object wasn't provided to the builder, the object is fetched from the database. -// An error is returned if the mutation operation is not UpdateOne, or the database query fails. -func (m *OperatingSystemResourceMutation) OldUpdateSources(ctx context.Context) (v string, err error) { - if !m.op.Is(OpUpdateOne) { - return v, errors.New("OldUpdateSources is only allowed on UpdateOne operations") - } - if m.id == nil || m.oldValue == nil { - return v, errors.New("OldUpdateSources requires an ID field in the mutation") - } - oldValue, err := m.oldValue(ctx) - if err != nil { - return v, fmt.Errorf("querying old value for OldUpdateSources: %w", err) - } - return oldValue.UpdateSources, nil -} - -// ClearUpdateSources clears the value of the "update_sources" field. -func (m *OperatingSystemResourceMutation) ClearUpdateSources() { - m.update_sources = nil - m.clearedFields[operatingsystemresource.FieldUpdateSources] = struct{}{} -} - -// UpdateSourcesCleared returns if the "update_sources" field was cleared in this mutation. -func (m *OperatingSystemResourceMutation) UpdateSourcesCleared() bool { - _, ok := m.clearedFields[operatingsystemresource.FieldUpdateSources] - return ok -} - -// ResetUpdateSources resets all changes to the "update_sources" field. -func (m *OperatingSystemResourceMutation) ResetUpdateSources() { - m.update_sources = nil - delete(m.clearedFields, operatingsystemresource.FieldUpdateSources) -} - // SetImageURL sets the "image_url" field. func (m *OperatingSystemResourceMutation) SetImageURL(s string) { m.image_url = &s @@ -23391,7 +22954,7 @@ func (m *OperatingSystemResourceMutation) Type() string { // order to get all numeric fields that were incremented/decremented, call // AddedFields(). func (m *OperatingSystemResourceMutation) Fields() []string { - fields := make([]string, 0, 26) + fields := make([]string, 0, 24) if m.resource_id != nil { fields = append(fields, operatingsystemresource.FieldResourceID) } @@ -23401,12 +22964,6 @@ func (m *OperatingSystemResourceMutation) Fields() []string { if m.architecture != nil { fields = append(fields, operatingsystemresource.FieldArchitecture) } - if m.kernel_command != nil { - fields = append(fields, operatingsystemresource.FieldKernelCommand) - } - if m.update_sources != nil { - fields = append(fields, operatingsystemresource.FieldUpdateSources) - } if m.image_url != nil { fields = append(fields, operatingsystemresource.FieldImageURL) } @@ -23484,10 +23041,6 @@ func (m *OperatingSystemResourceMutation) Field(name string) (ent.Value, bool) { return m.Name() case operatingsystemresource.FieldArchitecture: return m.Architecture() - case operatingsystemresource.FieldKernelCommand: - return m.KernelCommand() - case operatingsystemresource.FieldUpdateSources: - return m.UpdateSources() case operatingsystemresource.FieldImageURL: return m.ImageURL() case operatingsystemresource.FieldImageID: @@ -23545,10 +23098,6 @@ func (m *OperatingSystemResourceMutation) OldField(ctx context.Context, name str return m.OldName(ctx) case operatingsystemresource.FieldArchitecture: return m.OldArchitecture(ctx) - case operatingsystemresource.FieldKernelCommand: - return m.OldKernelCommand(ctx) - case operatingsystemresource.FieldUpdateSources: - return m.OldUpdateSources(ctx) case operatingsystemresource.FieldImageURL: return m.OldImageURL(ctx) case operatingsystemresource.FieldImageID: @@ -23621,20 +23170,6 @@ func (m *OperatingSystemResourceMutation) SetField(name string, value ent.Value) } m.SetArchitecture(v) return nil - case operatingsystemresource.FieldKernelCommand: - v, ok := value.(string) - if !ok { - return fmt.Errorf("unexpected type %T for field %s", value, name) - } - m.SetKernelCommand(v) - return nil - case operatingsystemresource.FieldUpdateSources: - v, ok := value.(string) - if !ok { - return fmt.Errorf("unexpected type %T for field %s", value, name) - } - m.SetUpdateSources(v) - return nil case operatingsystemresource.FieldImageURL: v, ok := value.(string) if !ok { @@ -23818,12 +23353,6 @@ func (m *OperatingSystemResourceMutation) ClearedFields() []string { if m.FieldCleared(operatingsystemresource.FieldArchitecture) { fields = append(fields, operatingsystemresource.FieldArchitecture) } - if m.FieldCleared(operatingsystemresource.FieldKernelCommand) { - fields = append(fields, operatingsystemresource.FieldKernelCommand) - } - if m.FieldCleared(operatingsystemresource.FieldUpdateSources) { - fields = append(fields, operatingsystemresource.FieldUpdateSources) - } if m.FieldCleared(operatingsystemresource.FieldImageURL) { fields = append(fields, operatingsystemresource.FieldImageURL) } @@ -23895,12 +23424,6 @@ func (m *OperatingSystemResourceMutation) ClearField(name string) error { case operatingsystemresource.FieldArchitecture: m.ClearArchitecture() return nil - case operatingsystemresource.FieldKernelCommand: - m.ClearKernelCommand() - return nil - case operatingsystemresource.FieldUpdateSources: - m.ClearUpdateSources() - return nil case operatingsystemresource.FieldImageURL: m.ClearImageURL() return nil @@ -23969,12 +23492,6 @@ func (m *OperatingSystemResourceMutation) ResetField(name string) error { case operatingsystemresource.FieldArchitecture: m.ResetArchitecture() return nil - case operatingsystemresource.FieldKernelCommand: - m.ResetKernelCommand() - return nil - case operatingsystemresource.FieldUpdateSources: - m.ResetUpdateSources() - return nil case operatingsystemresource.FieldImageURL: m.ResetImageURL() return nil diff --git a/inventory/internal/ent/operatingsystemresource.go b/inventory/internal/ent/operatingsystemresource.go index c892cbfc..7144c200 100644 --- a/inventory/internal/ent/operatingsystemresource.go +++ b/inventory/internal/ent/operatingsystemresource.go @@ -22,10 +22,6 @@ type OperatingSystemResource struct { Name string `json:"name,omitempty"` // Architecture holds the value of the "architecture" field. Architecture string `json:"architecture,omitempty"` - // KernelCommand holds the value of the "kernel_command" field. - KernelCommand string `json:"kernel_command,omitempty"` - // UpdateSources holds the value of the "update_sources" field. - UpdateSources string `json:"update_sources,omitempty"` // ImageURL holds the value of the "image_url" field. ImageURL string `json:"image_url,omitempty"` // ImageID holds the value of the "image_id" field. @@ -78,7 +74,7 @@ func (*OperatingSystemResource) scanValues(columns []string) ([]any, error) { switch columns[i] { case operatingsystemresource.FieldID: values[i] = new(sql.NullInt64) - case operatingsystemresource.FieldResourceID, operatingsystemresource.FieldName, operatingsystemresource.FieldArchitecture, operatingsystemresource.FieldKernelCommand, operatingsystemresource.FieldUpdateSources, operatingsystemresource.FieldImageURL, operatingsystemresource.FieldImageID, operatingsystemresource.FieldSha256, operatingsystemresource.FieldProfileName, operatingsystemresource.FieldProfileVersion, operatingsystemresource.FieldInstalledPackages, operatingsystemresource.FieldInstalledPackagesURL, operatingsystemresource.FieldSecurityFeature, operatingsystemresource.FieldOsType, operatingsystemresource.FieldOsProvider, operatingsystemresource.FieldPlatformBundle, operatingsystemresource.FieldDescription, operatingsystemresource.FieldMetadata, operatingsystemresource.FieldTLSCaCert, operatingsystemresource.FieldExistingCvesURL, operatingsystemresource.FieldExistingCves, operatingsystemresource.FieldFixedCvesURL, operatingsystemresource.FieldFixedCves, operatingsystemresource.FieldTenantID, operatingsystemresource.FieldCreatedAt, operatingsystemresource.FieldUpdatedAt: + case operatingsystemresource.FieldResourceID, operatingsystemresource.FieldName, operatingsystemresource.FieldArchitecture, operatingsystemresource.FieldImageURL, operatingsystemresource.FieldImageID, operatingsystemresource.FieldSha256, operatingsystemresource.FieldProfileName, operatingsystemresource.FieldProfileVersion, operatingsystemresource.FieldInstalledPackages, operatingsystemresource.FieldInstalledPackagesURL, operatingsystemresource.FieldSecurityFeature, operatingsystemresource.FieldOsType, operatingsystemresource.FieldOsProvider, operatingsystemresource.FieldPlatformBundle, operatingsystemresource.FieldDescription, operatingsystemresource.FieldMetadata, operatingsystemresource.FieldTLSCaCert, operatingsystemresource.FieldExistingCvesURL, operatingsystemresource.FieldExistingCves, operatingsystemresource.FieldFixedCvesURL, operatingsystemresource.FieldFixedCves, operatingsystemresource.FieldTenantID, operatingsystemresource.FieldCreatedAt, operatingsystemresource.FieldUpdatedAt: values[i] = new(sql.NullString) default: values[i] = new(sql.UnknownType) @@ -119,18 +115,6 @@ func (_m *OperatingSystemResource) assignValues(columns []string, values []any) } else if value.Valid { _m.Architecture = value.String } - case operatingsystemresource.FieldKernelCommand: - if value, ok := values[i].(*sql.NullString); !ok { - return fmt.Errorf("unexpected type %T for field kernel_command", values[i]) - } else if value.Valid { - _m.KernelCommand = value.String - } - case operatingsystemresource.FieldUpdateSources: - if value, ok := values[i].(*sql.NullString); !ok { - return fmt.Errorf("unexpected type %T for field update_sources", values[i]) - } else if value.Valid { - _m.UpdateSources = value.String - } case operatingsystemresource.FieldImageURL: if value, ok := values[i].(*sql.NullString); !ok { return fmt.Errorf("unexpected type %T for field image_url", values[i]) @@ -302,12 +286,6 @@ func (_m *OperatingSystemResource) String() string { builder.WriteString("architecture=") builder.WriteString(_m.Architecture) builder.WriteString(", ") - builder.WriteString("kernel_command=") - builder.WriteString(_m.KernelCommand) - builder.WriteString(", ") - builder.WriteString("update_sources=") - builder.WriteString(_m.UpdateSources) - builder.WriteString(", ") builder.WriteString("image_url=") builder.WriteString(_m.ImageURL) builder.WriteString(", ") diff --git a/inventory/internal/ent/operatingsystemresource/operatingsystemresource.go b/inventory/internal/ent/operatingsystemresource/operatingsystemresource.go index 5fc4aa8a..4ae447d3 100644 --- a/inventory/internal/ent/operatingsystemresource/operatingsystemresource.go +++ b/inventory/internal/ent/operatingsystemresource/operatingsystemresource.go @@ -19,10 +19,6 @@ const ( FieldName = "name" // FieldArchitecture holds the string denoting the architecture field in the database. FieldArchitecture = "architecture" - // FieldKernelCommand holds the string denoting the kernel_command field in the database. - FieldKernelCommand = "kernel_command" - // FieldUpdateSources holds the string denoting the update_sources field in the database. - FieldUpdateSources = "update_sources" // FieldImageURL holds the string denoting the image_url field in the database. FieldImageURL = "image_url" // FieldImageID holds the string denoting the image_id field in the database. @@ -75,8 +71,6 @@ var Columns = []string{ FieldResourceID, FieldName, FieldArchitecture, - FieldKernelCommand, - FieldUpdateSources, FieldImageURL, FieldImageID, FieldSha256, @@ -205,16 +199,6 @@ func ByArchitecture(opts ...sql.OrderTermOption) OrderOption { return sql.OrderByField(FieldArchitecture, opts...).ToFunc() } -// ByKernelCommand orders the results by the kernel_command field. -func ByKernelCommand(opts ...sql.OrderTermOption) OrderOption { - return sql.OrderByField(FieldKernelCommand, opts...).ToFunc() -} - -// ByUpdateSources orders the results by the update_sources field. -func ByUpdateSources(opts ...sql.OrderTermOption) OrderOption { - return sql.OrderByField(FieldUpdateSources, opts...).ToFunc() -} - // ByImageURL orders the results by the image_url field. func ByImageURL(opts ...sql.OrderTermOption) OrderOption { return sql.OrderByField(FieldImageURL, opts...).ToFunc() diff --git a/inventory/internal/ent/operatingsystemresource/where.go b/inventory/internal/ent/operatingsystemresource/where.go index 99650253..0c7c52b7 100644 --- a/inventory/internal/ent/operatingsystemresource/where.go +++ b/inventory/internal/ent/operatingsystemresource/where.go @@ -67,16 +67,6 @@ func Architecture(v string) predicate.OperatingSystemResource { return predicate.OperatingSystemResource(sql.FieldEQ(FieldArchitecture, v)) } -// KernelCommand applies equality check predicate on the "kernel_command" field. It's identical to KernelCommandEQ. -func KernelCommand(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldEQ(FieldKernelCommand, v)) -} - -// UpdateSources applies equality check predicate on the "update_sources" field. It's identical to UpdateSourcesEQ. -func UpdateSources(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldEQ(FieldUpdateSources, v)) -} - // ImageURL applies equality check predicate on the "image_url" field. It's identical to ImageURLEQ. func ImageURL(v string) predicate.OperatingSystemResource { return predicate.OperatingSystemResource(sql.FieldEQ(FieldImageURL, v)) @@ -382,156 +372,6 @@ func ArchitectureContainsFold(v string) predicate.OperatingSystemResource { return predicate.OperatingSystemResource(sql.FieldContainsFold(FieldArchitecture, v)) } -// KernelCommandEQ applies the EQ predicate on the "kernel_command" field. -func KernelCommandEQ(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldEQ(FieldKernelCommand, v)) -} - -// KernelCommandNEQ applies the NEQ predicate on the "kernel_command" field. -func KernelCommandNEQ(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldNEQ(FieldKernelCommand, v)) -} - -// KernelCommandIn applies the In predicate on the "kernel_command" field. -func KernelCommandIn(vs ...string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldIn(FieldKernelCommand, vs...)) -} - -// KernelCommandNotIn applies the NotIn predicate on the "kernel_command" field. -func KernelCommandNotIn(vs ...string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldNotIn(FieldKernelCommand, vs...)) -} - -// KernelCommandGT applies the GT predicate on the "kernel_command" field. -func KernelCommandGT(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldGT(FieldKernelCommand, v)) -} - -// KernelCommandGTE applies the GTE predicate on the "kernel_command" field. -func KernelCommandGTE(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldGTE(FieldKernelCommand, v)) -} - -// KernelCommandLT applies the LT predicate on the "kernel_command" field. -func KernelCommandLT(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldLT(FieldKernelCommand, v)) -} - -// KernelCommandLTE applies the LTE predicate on the "kernel_command" field. -func KernelCommandLTE(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldLTE(FieldKernelCommand, v)) -} - -// KernelCommandContains applies the Contains predicate on the "kernel_command" field. -func KernelCommandContains(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldContains(FieldKernelCommand, v)) -} - -// KernelCommandHasPrefix applies the HasPrefix predicate on the "kernel_command" field. -func KernelCommandHasPrefix(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldHasPrefix(FieldKernelCommand, v)) -} - -// KernelCommandHasSuffix applies the HasSuffix predicate on the "kernel_command" field. -func KernelCommandHasSuffix(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldHasSuffix(FieldKernelCommand, v)) -} - -// KernelCommandIsNil applies the IsNil predicate on the "kernel_command" field. -func KernelCommandIsNil() predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldIsNull(FieldKernelCommand)) -} - -// KernelCommandNotNil applies the NotNil predicate on the "kernel_command" field. -func KernelCommandNotNil() predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldNotNull(FieldKernelCommand)) -} - -// KernelCommandEqualFold applies the EqualFold predicate on the "kernel_command" field. -func KernelCommandEqualFold(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldEqualFold(FieldKernelCommand, v)) -} - -// KernelCommandContainsFold applies the ContainsFold predicate on the "kernel_command" field. -func KernelCommandContainsFold(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldContainsFold(FieldKernelCommand, v)) -} - -// UpdateSourcesEQ applies the EQ predicate on the "update_sources" field. -func UpdateSourcesEQ(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldEQ(FieldUpdateSources, v)) -} - -// UpdateSourcesNEQ applies the NEQ predicate on the "update_sources" field. -func UpdateSourcesNEQ(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldNEQ(FieldUpdateSources, v)) -} - -// UpdateSourcesIn applies the In predicate on the "update_sources" field. -func UpdateSourcesIn(vs ...string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldIn(FieldUpdateSources, vs...)) -} - -// UpdateSourcesNotIn applies the NotIn predicate on the "update_sources" field. -func UpdateSourcesNotIn(vs ...string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldNotIn(FieldUpdateSources, vs...)) -} - -// UpdateSourcesGT applies the GT predicate on the "update_sources" field. -func UpdateSourcesGT(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldGT(FieldUpdateSources, v)) -} - -// UpdateSourcesGTE applies the GTE predicate on the "update_sources" field. -func UpdateSourcesGTE(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldGTE(FieldUpdateSources, v)) -} - -// UpdateSourcesLT applies the LT predicate on the "update_sources" field. -func UpdateSourcesLT(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldLT(FieldUpdateSources, v)) -} - -// UpdateSourcesLTE applies the LTE predicate on the "update_sources" field. -func UpdateSourcesLTE(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldLTE(FieldUpdateSources, v)) -} - -// UpdateSourcesContains applies the Contains predicate on the "update_sources" field. -func UpdateSourcesContains(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldContains(FieldUpdateSources, v)) -} - -// UpdateSourcesHasPrefix applies the HasPrefix predicate on the "update_sources" field. -func UpdateSourcesHasPrefix(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldHasPrefix(FieldUpdateSources, v)) -} - -// UpdateSourcesHasSuffix applies the HasSuffix predicate on the "update_sources" field. -func UpdateSourcesHasSuffix(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldHasSuffix(FieldUpdateSources, v)) -} - -// UpdateSourcesIsNil applies the IsNil predicate on the "update_sources" field. -func UpdateSourcesIsNil() predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldIsNull(FieldUpdateSources)) -} - -// UpdateSourcesNotNil applies the NotNil predicate on the "update_sources" field. -func UpdateSourcesNotNil() predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldNotNull(FieldUpdateSources)) -} - -// UpdateSourcesEqualFold applies the EqualFold predicate on the "update_sources" field. -func UpdateSourcesEqualFold(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldEqualFold(FieldUpdateSources, v)) -} - -// UpdateSourcesContainsFold applies the ContainsFold predicate on the "update_sources" field. -func UpdateSourcesContainsFold(v string) predicate.OperatingSystemResource { - return predicate.OperatingSystemResource(sql.FieldContainsFold(FieldUpdateSources, v)) -} - // ImageURLEQ applies the EQ predicate on the "image_url" field. func ImageURLEQ(v string) predicate.OperatingSystemResource { return predicate.OperatingSystemResource(sql.FieldEQ(FieldImageURL, v)) diff --git a/inventory/internal/ent/operatingsystemresource_create.go b/inventory/internal/ent/operatingsystemresource_create.go index df7407e9..03108bb5 100644 --- a/inventory/internal/ent/operatingsystemresource_create.go +++ b/inventory/internal/ent/operatingsystemresource_create.go @@ -53,34 +53,6 @@ func (_c *OperatingSystemResourceCreate) SetNillableArchitecture(v *string) *Ope return _c } -// SetKernelCommand sets the "kernel_command" field. -func (_c *OperatingSystemResourceCreate) SetKernelCommand(v string) *OperatingSystemResourceCreate { - _c.mutation.SetKernelCommand(v) - return _c -} - -// SetNillableKernelCommand sets the "kernel_command" field if the given value is not nil. -func (_c *OperatingSystemResourceCreate) SetNillableKernelCommand(v *string) *OperatingSystemResourceCreate { - if v != nil { - _c.SetKernelCommand(*v) - } - return _c -} - -// SetUpdateSources sets the "update_sources" field. -func (_c *OperatingSystemResourceCreate) SetUpdateSources(v string) *OperatingSystemResourceCreate { - _c.mutation.SetUpdateSources(v) - return _c -} - -// SetNillableUpdateSources sets the "update_sources" field if the given value is not nil. -func (_c *OperatingSystemResourceCreate) SetNillableUpdateSources(v *string) *OperatingSystemResourceCreate { - if v != nil { - _c.SetUpdateSources(*v) - } - return _c -} - // SetImageURL sets the "image_url" field. func (_c *OperatingSystemResourceCreate) SetImageURL(v string) *OperatingSystemResourceCreate { _c.mutation.SetImageURL(v) @@ -445,14 +417,6 @@ func (_c *OperatingSystemResourceCreate) createSpec() (*OperatingSystemResource, _spec.SetField(operatingsystemresource.FieldArchitecture, field.TypeString, value) _node.Architecture = value } - if value, ok := _c.mutation.KernelCommand(); ok { - _spec.SetField(operatingsystemresource.FieldKernelCommand, field.TypeString, value) - _node.KernelCommand = value - } - if value, ok := _c.mutation.UpdateSources(); ok { - _spec.SetField(operatingsystemresource.FieldUpdateSources, field.TypeString, value) - _node.UpdateSources = value - } if value, ok := _c.mutation.ImageURL(); ok { _spec.SetField(operatingsystemresource.FieldImageURL, field.TypeString, value) _node.ImageURL = value diff --git a/inventory/internal/ent/operatingsystemresource_update.go b/inventory/internal/ent/operatingsystemresource_update.go index 2309e958..cfcf2689 100644 --- a/inventory/internal/ent/operatingsystemresource_update.go +++ b/inventory/internal/ent/operatingsystemresource_update.go @@ -61,46 +61,6 @@ func (_u *OperatingSystemResourceUpdate) ClearArchitecture() *OperatingSystemRes return _u } -// SetKernelCommand sets the "kernel_command" field. -func (_u *OperatingSystemResourceUpdate) SetKernelCommand(v string) *OperatingSystemResourceUpdate { - _u.mutation.SetKernelCommand(v) - return _u -} - -// SetNillableKernelCommand sets the "kernel_command" field if the given value is not nil. -func (_u *OperatingSystemResourceUpdate) SetNillableKernelCommand(v *string) *OperatingSystemResourceUpdate { - if v != nil { - _u.SetKernelCommand(*v) - } - return _u -} - -// ClearKernelCommand clears the value of the "kernel_command" field. -func (_u *OperatingSystemResourceUpdate) ClearKernelCommand() *OperatingSystemResourceUpdate { - _u.mutation.ClearKernelCommand() - return _u -} - -// SetUpdateSources sets the "update_sources" field. -func (_u *OperatingSystemResourceUpdate) SetUpdateSources(v string) *OperatingSystemResourceUpdate { - _u.mutation.SetUpdateSources(v) - return _u -} - -// SetNillableUpdateSources sets the "update_sources" field if the given value is not nil. -func (_u *OperatingSystemResourceUpdate) SetNillableUpdateSources(v *string) *OperatingSystemResourceUpdate { - if v != nil { - _u.SetUpdateSources(*v) - } - return _u -} - -// ClearUpdateSources clears the value of the "update_sources" field. -func (_u *OperatingSystemResourceUpdate) ClearUpdateSources() *OperatingSystemResourceUpdate { - _u.mutation.ClearUpdateSources() - return _u -} - // SetInstalledPackages sets the "installed_packages" field. func (_u *OperatingSystemResourceUpdate) SetInstalledPackages(v string) *OperatingSystemResourceUpdate { _u.mutation.SetInstalledPackages(v) @@ -268,18 +228,6 @@ func (_u *OperatingSystemResourceUpdate) sqlSave(ctx context.Context) (_node int if _u.mutation.ArchitectureCleared() { _spec.ClearField(operatingsystemresource.FieldArchitecture, field.TypeString) } - if value, ok := _u.mutation.KernelCommand(); ok { - _spec.SetField(operatingsystemresource.FieldKernelCommand, field.TypeString, value) - } - if _u.mutation.KernelCommandCleared() { - _spec.ClearField(operatingsystemresource.FieldKernelCommand, field.TypeString) - } - if value, ok := _u.mutation.UpdateSources(); ok { - _spec.SetField(operatingsystemresource.FieldUpdateSources, field.TypeString, value) - } - if _u.mutation.UpdateSourcesCleared() { - _spec.ClearField(operatingsystemresource.FieldUpdateSources, field.TypeString) - } if _u.mutation.ImageURLCleared() { _spec.ClearField(operatingsystemresource.FieldImageURL, field.TypeString) } @@ -403,46 +351,6 @@ func (_u *OperatingSystemResourceUpdateOne) ClearArchitecture() *OperatingSystem return _u } -// SetKernelCommand sets the "kernel_command" field. -func (_u *OperatingSystemResourceUpdateOne) SetKernelCommand(v string) *OperatingSystemResourceUpdateOne { - _u.mutation.SetKernelCommand(v) - return _u -} - -// SetNillableKernelCommand sets the "kernel_command" field if the given value is not nil. -func (_u *OperatingSystemResourceUpdateOne) SetNillableKernelCommand(v *string) *OperatingSystemResourceUpdateOne { - if v != nil { - _u.SetKernelCommand(*v) - } - return _u -} - -// ClearKernelCommand clears the value of the "kernel_command" field. -func (_u *OperatingSystemResourceUpdateOne) ClearKernelCommand() *OperatingSystemResourceUpdateOne { - _u.mutation.ClearKernelCommand() - return _u -} - -// SetUpdateSources sets the "update_sources" field. -func (_u *OperatingSystemResourceUpdateOne) SetUpdateSources(v string) *OperatingSystemResourceUpdateOne { - _u.mutation.SetUpdateSources(v) - return _u -} - -// SetNillableUpdateSources sets the "update_sources" field if the given value is not nil. -func (_u *OperatingSystemResourceUpdateOne) SetNillableUpdateSources(v *string) *OperatingSystemResourceUpdateOne { - if v != nil { - _u.SetUpdateSources(*v) - } - return _u -} - -// ClearUpdateSources clears the value of the "update_sources" field. -func (_u *OperatingSystemResourceUpdateOne) ClearUpdateSources() *OperatingSystemResourceUpdateOne { - _u.mutation.ClearUpdateSources() - return _u -} - // SetInstalledPackages sets the "installed_packages" field. func (_u *OperatingSystemResourceUpdateOne) SetInstalledPackages(v string) *OperatingSystemResourceUpdateOne { _u.mutation.SetInstalledPackages(v) @@ -640,18 +548,6 @@ func (_u *OperatingSystemResourceUpdateOne) sqlSave(ctx context.Context) (_node if _u.mutation.ArchitectureCleared() { _spec.ClearField(operatingsystemresource.FieldArchitecture, field.TypeString) } - if value, ok := _u.mutation.KernelCommand(); ok { - _spec.SetField(operatingsystemresource.FieldKernelCommand, field.TypeString, value) - } - if _u.mutation.KernelCommandCleared() { - _spec.ClearField(operatingsystemresource.FieldKernelCommand, field.TypeString) - } - if value, ok := _u.mutation.UpdateSources(); ok { - _spec.SetField(operatingsystemresource.FieldUpdateSources, field.TypeString, value) - } - if _u.mutation.UpdateSourcesCleared() { - _spec.ClearField(operatingsystemresource.FieldUpdateSources, field.TypeString) - } if _u.mutation.ImageURLCleared() { _spec.ClearField(operatingsystemresource.FieldImageURL, field.TypeString) } diff --git a/inventory/internal/ent/osupdatepolicyresource.go b/inventory/internal/ent/osupdatepolicyresource.go index 1b3bd2d6..8dd43f6c 100644 --- a/inventory/internal/ent/osupdatepolicyresource.go +++ b/inventory/internal/ent/osupdatepolicyresource.go @@ -23,12 +23,8 @@ type OSUpdatePolicyResource struct { Name string `json:"name,omitempty"` // Description holds the value of the "description" field. Description string `json:"description,omitempty"` - // InstallPackages holds the value of the "install_packages" field. - InstallPackages string `json:"install_packages,omitempty"` // UpdateSources holds the value of the "update_sources" field. UpdateSources string `json:"update_sources,omitempty"` - // KernelCommand holds the value of the "kernel_command" field. - KernelCommand string `json:"kernel_command,omitempty"` // UpdatePackages holds the value of the "update_packages" field. UpdatePackages string `json:"update_packages,omitempty"` // UpdateKernelCommand holds the value of the "update_kernel_command" field. @@ -75,7 +71,7 @@ func (*OSUpdatePolicyResource) scanValues(columns []string) ([]any, error) { switch columns[i] { case osupdatepolicyresource.FieldID: values[i] = new(sql.NullInt64) - case osupdatepolicyresource.FieldResourceID, osupdatepolicyresource.FieldName, osupdatepolicyresource.FieldDescription, osupdatepolicyresource.FieldInstallPackages, osupdatepolicyresource.FieldUpdateSources, osupdatepolicyresource.FieldKernelCommand, osupdatepolicyresource.FieldUpdatePackages, osupdatepolicyresource.FieldUpdateKernelCommand, osupdatepolicyresource.FieldUpdatePolicy, osupdatepolicyresource.FieldTenantID, osupdatepolicyresource.FieldCreatedAt, osupdatepolicyresource.FieldUpdatedAt: + case osupdatepolicyresource.FieldResourceID, osupdatepolicyresource.FieldName, osupdatepolicyresource.FieldDescription, osupdatepolicyresource.FieldUpdateSources, osupdatepolicyresource.FieldUpdatePackages, osupdatepolicyresource.FieldUpdateKernelCommand, osupdatepolicyresource.FieldUpdatePolicy, osupdatepolicyresource.FieldTenantID, osupdatepolicyresource.FieldCreatedAt, osupdatepolicyresource.FieldUpdatedAt: values[i] = new(sql.NullString) case osupdatepolicyresource.ForeignKeys[0]: // os_update_policy_resource_target_os values[i] = new(sql.NullInt64) @@ -118,24 +114,12 @@ func (_m *OSUpdatePolicyResource) assignValues(columns []string, values []any) e } else if value.Valid { _m.Description = value.String } - case osupdatepolicyresource.FieldInstallPackages: - if value, ok := values[i].(*sql.NullString); !ok { - return fmt.Errorf("unexpected type %T for field install_packages", values[i]) - } else if value.Valid { - _m.InstallPackages = value.String - } case osupdatepolicyresource.FieldUpdateSources: if value, ok := values[i].(*sql.NullString); !ok { return fmt.Errorf("unexpected type %T for field update_sources", values[i]) } else if value.Valid { _m.UpdateSources = value.String } - case osupdatepolicyresource.FieldKernelCommand: - if value, ok := values[i].(*sql.NullString); !ok { - return fmt.Errorf("unexpected type %T for field kernel_command", values[i]) - } else if value.Valid { - _m.KernelCommand = value.String - } case osupdatepolicyresource.FieldUpdatePackages: if value, ok := values[i].(*sql.NullString); !ok { return fmt.Errorf("unexpected type %T for field update_packages", values[i]) @@ -229,15 +213,9 @@ func (_m *OSUpdatePolicyResource) String() string { builder.WriteString("description=") builder.WriteString(_m.Description) builder.WriteString(", ") - builder.WriteString("install_packages=") - builder.WriteString(_m.InstallPackages) - builder.WriteString(", ") builder.WriteString("update_sources=") builder.WriteString(_m.UpdateSources) builder.WriteString(", ") - builder.WriteString("kernel_command=") - builder.WriteString(_m.KernelCommand) - builder.WriteString(", ") builder.WriteString("update_packages=") builder.WriteString(_m.UpdatePackages) builder.WriteString(", ") diff --git a/inventory/internal/ent/osupdatepolicyresource/osupdatepolicyresource.go b/inventory/internal/ent/osupdatepolicyresource/osupdatepolicyresource.go index e0c34b06..0c1765d9 100644 --- a/inventory/internal/ent/osupdatepolicyresource/osupdatepolicyresource.go +++ b/inventory/internal/ent/osupdatepolicyresource/osupdatepolicyresource.go @@ -20,12 +20,8 @@ const ( FieldName = "name" // FieldDescription holds the string denoting the description field in the database. FieldDescription = "description" - // FieldInstallPackages holds the string denoting the install_packages field in the database. - FieldInstallPackages = "install_packages" // FieldUpdateSources holds the string denoting the update_sources field in the database. FieldUpdateSources = "update_sources" - // FieldKernelCommand holds the string denoting the kernel_command field in the database. - FieldKernelCommand = "kernel_command" // FieldUpdatePackages holds the string denoting the update_packages field in the database. FieldUpdatePackages = "update_packages" // FieldUpdateKernelCommand holds the string denoting the update_kernel_command field in the database. @@ -57,9 +53,7 @@ var Columns = []string{ FieldResourceID, FieldName, FieldDescription, - FieldInstallPackages, FieldUpdateSources, - FieldKernelCommand, FieldUpdatePackages, FieldUpdateKernelCommand, FieldUpdatePolicy, @@ -136,21 +130,11 @@ func ByDescription(opts ...sql.OrderTermOption) OrderOption { return sql.OrderByField(FieldDescription, opts...).ToFunc() } -// ByInstallPackages orders the results by the install_packages field. -func ByInstallPackages(opts ...sql.OrderTermOption) OrderOption { - return sql.OrderByField(FieldInstallPackages, opts...).ToFunc() -} - // ByUpdateSources orders the results by the update_sources field. func ByUpdateSources(opts ...sql.OrderTermOption) OrderOption { return sql.OrderByField(FieldUpdateSources, opts...).ToFunc() } -// ByKernelCommand orders the results by the kernel_command field. -func ByKernelCommand(opts ...sql.OrderTermOption) OrderOption { - return sql.OrderByField(FieldKernelCommand, opts...).ToFunc() -} - // ByUpdatePackages orders the results by the update_packages field. func ByUpdatePackages(opts ...sql.OrderTermOption) OrderOption { return sql.OrderByField(FieldUpdatePackages, opts...).ToFunc() diff --git a/inventory/internal/ent/osupdatepolicyresource/where.go b/inventory/internal/ent/osupdatepolicyresource/where.go index f6333370..8c8b0981 100644 --- a/inventory/internal/ent/osupdatepolicyresource/where.go +++ b/inventory/internal/ent/osupdatepolicyresource/where.go @@ -68,21 +68,11 @@ func Description(v string) predicate.OSUpdatePolicyResource { return predicate.OSUpdatePolicyResource(sql.FieldEQ(FieldDescription, v)) } -// InstallPackages applies equality check predicate on the "install_packages" field. It's identical to InstallPackagesEQ. -func InstallPackages(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldEQ(FieldInstallPackages, v)) -} - // UpdateSources applies equality check predicate on the "update_sources" field. It's identical to UpdateSourcesEQ. func UpdateSources(v string) predicate.OSUpdatePolicyResource { return predicate.OSUpdatePolicyResource(sql.FieldEQ(FieldUpdateSources, v)) } -// KernelCommand applies equality check predicate on the "kernel_command" field. It's identical to KernelCommandEQ. -func KernelCommand(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldEQ(FieldKernelCommand, v)) -} - // UpdatePackages applies equality check predicate on the "update_packages" field. It's identical to UpdatePackagesEQ. func UpdatePackages(v string) predicate.OSUpdatePolicyResource { return predicate.OSUpdatePolicyResource(sql.FieldEQ(FieldUpdatePackages, v)) @@ -313,81 +303,6 @@ func DescriptionContainsFold(v string) predicate.OSUpdatePolicyResource { return predicate.OSUpdatePolicyResource(sql.FieldContainsFold(FieldDescription, v)) } -// InstallPackagesEQ applies the EQ predicate on the "install_packages" field. -func InstallPackagesEQ(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldEQ(FieldInstallPackages, v)) -} - -// InstallPackagesNEQ applies the NEQ predicate on the "install_packages" field. -func InstallPackagesNEQ(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldNEQ(FieldInstallPackages, v)) -} - -// InstallPackagesIn applies the In predicate on the "install_packages" field. -func InstallPackagesIn(vs ...string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldIn(FieldInstallPackages, vs...)) -} - -// InstallPackagesNotIn applies the NotIn predicate on the "install_packages" field. -func InstallPackagesNotIn(vs ...string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldNotIn(FieldInstallPackages, vs...)) -} - -// InstallPackagesGT applies the GT predicate on the "install_packages" field. -func InstallPackagesGT(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldGT(FieldInstallPackages, v)) -} - -// InstallPackagesGTE applies the GTE predicate on the "install_packages" field. -func InstallPackagesGTE(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldGTE(FieldInstallPackages, v)) -} - -// InstallPackagesLT applies the LT predicate on the "install_packages" field. -func InstallPackagesLT(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldLT(FieldInstallPackages, v)) -} - -// InstallPackagesLTE applies the LTE predicate on the "install_packages" field. -func InstallPackagesLTE(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldLTE(FieldInstallPackages, v)) -} - -// InstallPackagesContains applies the Contains predicate on the "install_packages" field. -func InstallPackagesContains(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldContains(FieldInstallPackages, v)) -} - -// InstallPackagesHasPrefix applies the HasPrefix predicate on the "install_packages" field. -func InstallPackagesHasPrefix(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldHasPrefix(FieldInstallPackages, v)) -} - -// InstallPackagesHasSuffix applies the HasSuffix predicate on the "install_packages" field. -func InstallPackagesHasSuffix(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldHasSuffix(FieldInstallPackages, v)) -} - -// InstallPackagesIsNil applies the IsNil predicate on the "install_packages" field. -func InstallPackagesIsNil() predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldIsNull(FieldInstallPackages)) -} - -// InstallPackagesNotNil applies the NotNil predicate on the "install_packages" field. -func InstallPackagesNotNil() predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldNotNull(FieldInstallPackages)) -} - -// InstallPackagesEqualFold applies the EqualFold predicate on the "install_packages" field. -func InstallPackagesEqualFold(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldEqualFold(FieldInstallPackages, v)) -} - -// InstallPackagesContainsFold applies the ContainsFold predicate on the "install_packages" field. -func InstallPackagesContainsFold(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldContainsFold(FieldInstallPackages, v)) -} - // UpdateSourcesEQ applies the EQ predicate on the "update_sources" field. func UpdateSourcesEQ(v string) predicate.OSUpdatePolicyResource { return predicate.OSUpdatePolicyResource(sql.FieldEQ(FieldUpdateSources, v)) @@ -463,81 +378,6 @@ func UpdateSourcesContainsFold(v string) predicate.OSUpdatePolicyResource { return predicate.OSUpdatePolicyResource(sql.FieldContainsFold(FieldUpdateSources, v)) } -// KernelCommandEQ applies the EQ predicate on the "kernel_command" field. -func KernelCommandEQ(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldEQ(FieldKernelCommand, v)) -} - -// KernelCommandNEQ applies the NEQ predicate on the "kernel_command" field. -func KernelCommandNEQ(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldNEQ(FieldKernelCommand, v)) -} - -// KernelCommandIn applies the In predicate on the "kernel_command" field. -func KernelCommandIn(vs ...string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldIn(FieldKernelCommand, vs...)) -} - -// KernelCommandNotIn applies the NotIn predicate on the "kernel_command" field. -func KernelCommandNotIn(vs ...string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldNotIn(FieldKernelCommand, vs...)) -} - -// KernelCommandGT applies the GT predicate on the "kernel_command" field. -func KernelCommandGT(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldGT(FieldKernelCommand, v)) -} - -// KernelCommandGTE applies the GTE predicate on the "kernel_command" field. -func KernelCommandGTE(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldGTE(FieldKernelCommand, v)) -} - -// KernelCommandLT applies the LT predicate on the "kernel_command" field. -func KernelCommandLT(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldLT(FieldKernelCommand, v)) -} - -// KernelCommandLTE applies the LTE predicate on the "kernel_command" field. -func KernelCommandLTE(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldLTE(FieldKernelCommand, v)) -} - -// KernelCommandContains applies the Contains predicate on the "kernel_command" field. -func KernelCommandContains(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldContains(FieldKernelCommand, v)) -} - -// KernelCommandHasPrefix applies the HasPrefix predicate on the "kernel_command" field. -func KernelCommandHasPrefix(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldHasPrefix(FieldKernelCommand, v)) -} - -// KernelCommandHasSuffix applies the HasSuffix predicate on the "kernel_command" field. -func KernelCommandHasSuffix(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldHasSuffix(FieldKernelCommand, v)) -} - -// KernelCommandIsNil applies the IsNil predicate on the "kernel_command" field. -func KernelCommandIsNil() predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldIsNull(FieldKernelCommand)) -} - -// KernelCommandNotNil applies the NotNil predicate on the "kernel_command" field. -func KernelCommandNotNil() predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldNotNull(FieldKernelCommand)) -} - -// KernelCommandEqualFold applies the EqualFold predicate on the "kernel_command" field. -func KernelCommandEqualFold(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldEqualFold(FieldKernelCommand, v)) -} - -// KernelCommandContainsFold applies the ContainsFold predicate on the "kernel_command" field. -func KernelCommandContainsFold(v string) predicate.OSUpdatePolicyResource { - return predicate.OSUpdatePolicyResource(sql.FieldContainsFold(FieldKernelCommand, v)) -} - // UpdatePackagesEQ applies the EQ predicate on the "update_packages" field. func UpdatePackagesEQ(v string) predicate.OSUpdatePolicyResource { return predicate.OSUpdatePolicyResource(sql.FieldEQ(FieldUpdatePackages, v)) diff --git a/inventory/internal/ent/osupdatepolicyresource_create.go b/inventory/internal/ent/osupdatepolicyresource_create.go index 1cc72839..4472e055 100644 --- a/inventory/internal/ent/osupdatepolicyresource_create.go +++ b/inventory/internal/ent/osupdatepolicyresource_create.go @@ -46,20 +46,6 @@ func (_c *OSUpdatePolicyResourceCreate) SetNillableDescription(v *string) *OSUpd return _c } -// SetInstallPackages sets the "install_packages" field. -func (_c *OSUpdatePolicyResourceCreate) SetInstallPackages(v string) *OSUpdatePolicyResourceCreate { - _c.mutation.SetInstallPackages(v) - return _c -} - -// SetNillableInstallPackages sets the "install_packages" field if the given value is not nil. -func (_c *OSUpdatePolicyResourceCreate) SetNillableInstallPackages(v *string) *OSUpdatePolicyResourceCreate { - if v != nil { - _c.SetInstallPackages(*v) - } - return _c -} - // SetUpdateSources sets the "update_sources" field. func (_c *OSUpdatePolicyResourceCreate) SetUpdateSources(v string) *OSUpdatePolicyResourceCreate { _c.mutation.SetUpdateSources(v) @@ -74,20 +60,6 @@ func (_c *OSUpdatePolicyResourceCreate) SetNillableUpdateSources(v *string) *OSU return _c } -// SetKernelCommand sets the "kernel_command" field. -func (_c *OSUpdatePolicyResourceCreate) SetKernelCommand(v string) *OSUpdatePolicyResourceCreate { - _c.mutation.SetKernelCommand(v) - return _c -} - -// SetNillableKernelCommand sets the "kernel_command" field if the given value is not nil. -func (_c *OSUpdatePolicyResourceCreate) SetNillableKernelCommand(v *string) *OSUpdatePolicyResourceCreate { - if v != nil { - _c.SetKernelCommand(*v) - } - return _c -} - // SetUpdatePackages sets the "update_packages" field. func (_c *OSUpdatePolicyResourceCreate) SetUpdatePackages(v string) *OSUpdatePolicyResourceCreate { _c.mutation.SetUpdatePackages(v) @@ -259,18 +231,10 @@ func (_c *OSUpdatePolicyResourceCreate) createSpec() (*OSUpdatePolicyResource, * _spec.SetField(osupdatepolicyresource.FieldDescription, field.TypeString, value) _node.Description = value } - if value, ok := _c.mutation.InstallPackages(); ok { - _spec.SetField(osupdatepolicyresource.FieldInstallPackages, field.TypeString, value) - _node.InstallPackages = value - } if value, ok := _c.mutation.UpdateSources(); ok { _spec.SetField(osupdatepolicyresource.FieldUpdateSources, field.TypeString, value) _node.UpdateSources = value } - if value, ok := _c.mutation.KernelCommand(); ok { - _spec.SetField(osupdatepolicyresource.FieldKernelCommand, field.TypeString, value) - _node.KernelCommand = value - } if value, ok := _c.mutation.UpdatePackages(); ok { _spec.SetField(osupdatepolicyresource.FieldUpdatePackages, field.TypeString, value) _node.UpdatePackages = value diff --git a/inventory/internal/ent/osupdatepolicyresource_update.go b/inventory/internal/ent/osupdatepolicyresource_update.go index 20043cef..0f93ab86 100644 --- a/inventory/internal/ent/osupdatepolicyresource_update.go +++ b/inventory/internal/ent/osupdatepolicyresource_update.go @@ -168,15 +168,9 @@ func (_u *OSUpdatePolicyResourceUpdate) sqlSave(ctx context.Context) (_node int, if _u.mutation.DescriptionCleared() { _spec.ClearField(osupdatepolicyresource.FieldDescription, field.TypeString) } - if _u.mutation.InstallPackagesCleared() { - _spec.ClearField(osupdatepolicyresource.FieldInstallPackages, field.TypeString) - } if _u.mutation.UpdateSourcesCleared() { _spec.ClearField(osupdatepolicyresource.FieldUpdateSources, field.TypeString) } - if _u.mutation.KernelCommandCleared() { - _spec.ClearField(osupdatepolicyresource.FieldKernelCommand, field.TypeString) - } if _u.mutation.UpdatePackagesCleared() { _spec.ClearField(osupdatepolicyresource.FieldUpdatePackages, field.TypeString) } @@ -408,15 +402,9 @@ func (_u *OSUpdatePolicyResourceUpdateOne) sqlSave(ctx context.Context) (_node * if _u.mutation.DescriptionCleared() { _spec.ClearField(osupdatepolicyresource.FieldDescription, field.TypeString) } - if _u.mutation.InstallPackagesCleared() { - _spec.ClearField(osupdatepolicyresource.FieldInstallPackages, field.TypeString) - } if _u.mutation.UpdateSourcesCleared() { _spec.ClearField(osupdatepolicyresource.FieldUpdateSources, field.TypeString) } - if _u.mutation.KernelCommandCleared() { - _spec.ClearField(osupdatepolicyresource.FieldKernelCommand, field.TypeString) - } if _u.mutation.UpdatePackagesCleared() { _spec.ClearField(osupdatepolicyresource.FieldUpdatePackages, field.TypeString) } diff --git a/inventory/internal/ent/schema/instance_resource.go b/inventory/internal/ent/schema/instance_resource.go index 7526e6fb..3b931bda 100644 --- a/inventory/internal/ent/schema/instance_resource.go +++ b/inventory/internal/ent/schema/instance_resource.go @@ -15,10 +15,10 @@ type InstanceResource struct { } func (InstanceResource) Fields() []ent.Field { - return []ent.Field{field.String("resource_id").Unique(), field.Enum("kind").Optional().Values("INSTANCE_KIND_UNSPECIFIED", "INSTANCE_KIND_VM", "INSTANCE_KIND_METAL"), field.String("name").Optional(), field.Enum("desired_state").Optional().Values("INSTANCE_STATE_UNSPECIFIED", "INSTANCE_STATE_RUNNING", "INSTANCE_STATE_DELETED", "INSTANCE_STATE_UNTRUSTED"), field.Enum("current_state").Optional().Values("INSTANCE_STATE_UNSPECIFIED", "INSTANCE_STATE_RUNNING", "INSTANCE_STATE_DELETED", "INSTANCE_STATE_UNTRUSTED"), field.Uint64("vm_memory_bytes").Optional(), field.Uint32("vm_cpu_cores").Optional(), field.Uint64("vm_storage_bytes").Optional(), field.Enum("security_feature").Optional().Immutable().Values("SECURITY_FEATURE_UNSPECIFIED", "SECURITY_FEATURE_NONE", "SECURITY_FEATURE_SECURE_BOOT_AND_FULL_DISK_ENCRYPTION"), field.String("instance_status").Optional(), field.Enum("instance_status_indicator").Optional().Values("STATUS_INDICATION_UNSPECIFIED", "STATUS_INDICATION_ERROR", "STATUS_INDICATION_IN_PROGRESS", "STATUS_INDICATION_IDLE"), field.Uint64("instance_status_timestamp").Optional(), field.String("provisioning_status").Optional(), field.Enum("provisioning_status_indicator").Optional().Values("STATUS_INDICATION_UNSPECIFIED", "STATUS_INDICATION_ERROR", "STATUS_INDICATION_IN_PROGRESS", "STATUS_INDICATION_IDLE"), field.Uint64("provisioning_status_timestamp").Optional(), field.String("update_status").Optional(), field.Enum("update_status_indicator").Optional().Values("STATUS_INDICATION_UNSPECIFIED", "STATUS_INDICATION_ERROR", "STATUS_INDICATION_IN_PROGRESS", "STATUS_INDICATION_IDLE"), field.Uint64("update_status_timestamp").Optional(), field.String("update_status_detail").Optional(), field.String("trusted_attestation_status").Optional(), field.Enum("trusted_attestation_status_indicator").Optional().Values("STATUS_INDICATION_UNSPECIFIED", "STATUS_INDICATION_ERROR", "STATUS_INDICATION_IN_PROGRESS", "STATUS_INDICATION_IDLE"), field.Uint64("trusted_attestation_status_timestamp").Optional(), field.String("existing_cves").Optional(), field.String("runtime_packages").Optional(), field.String("os_update_available").Optional(), field.String("tenant_id").Immutable(), field.String("instance_status_detail").Optional(), field.String("created_at").Immutable().SchemaType(map[string]string{"postgres": "TIMESTAMP"}), field.String("updated_at").SchemaType(map[string]string{"postgres": "TIMESTAMP"})} + return []ent.Field{field.String("resource_id").Unique(), field.Enum("kind").Optional().Values("INSTANCE_KIND_UNSPECIFIED", "INSTANCE_KIND_VM", "INSTANCE_KIND_METAL"), field.String("name").Optional(), field.Enum("desired_state").Optional().Values("INSTANCE_STATE_UNSPECIFIED", "INSTANCE_STATE_RUNNING", "INSTANCE_STATE_DELETED", "INSTANCE_STATE_UNTRUSTED"), field.Enum("current_state").Optional().Values("INSTANCE_STATE_UNSPECIFIED", "INSTANCE_STATE_RUNNING", "INSTANCE_STATE_DELETED", "INSTANCE_STATE_UNTRUSTED"), field.Uint64("vm_memory_bytes").Optional(), field.Uint32("vm_cpu_cores").Optional(), field.Uint64("vm_storage_bytes").Optional(), field.Enum("security_feature").Optional().Immutable().Values("SECURITY_FEATURE_UNSPECIFIED", "SECURITY_FEATURE_NONE", "SECURITY_FEATURE_SECURE_BOOT_AND_FULL_DISK_ENCRYPTION"), field.String("instance_status").Optional(), field.Enum("instance_status_indicator").Optional().Values("STATUS_INDICATION_UNSPECIFIED", "STATUS_INDICATION_ERROR", "STATUS_INDICATION_IN_PROGRESS", "STATUS_INDICATION_IDLE"), field.Uint64("instance_status_timestamp").Optional(), field.String("provisioning_status").Optional(), field.Enum("provisioning_status_indicator").Optional().Values("STATUS_INDICATION_UNSPECIFIED", "STATUS_INDICATION_ERROR", "STATUS_INDICATION_IN_PROGRESS", "STATUS_INDICATION_IDLE"), field.Uint64("provisioning_status_timestamp").Optional(), field.String("update_status").Optional(), field.Enum("update_status_indicator").Optional().Values("STATUS_INDICATION_UNSPECIFIED", "STATUS_INDICATION_ERROR", "STATUS_INDICATION_IN_PROGRESS", "STATUS_INDICATION_IDLE"), field.Uint64("update_status_timestamp").Optional(), field.String("trusted_attestation_status").Optional(), field.Enum("trusted_attestation_status_indicator").Optional().Values("STATUS_INDICATION_UNSPECIFIED", "STATUS_INDICATION_ERROR", "STATUS_INDICATION_IN_PROGRESS", "STATUS_INDICATION_IDLE"), field.Uint64("trusted_attestation_status_timestamp").Optional(), field.String("existing_cves").Optional(), field.String("runtime_packages").Optional(), field.String("os_update_available").Optional(), field.String("tenant_id").Immutable(), field.String("instance_status_detail").Optional(), field.String("created_at").Immutable().SchemaType(map[string]string{"postgres": "TIMESTAMP"}), field.String("updated_at").SchemaType(map[string]string{"postgres": "TIMESTAMP"})} } func (InstanceResource) Edges() []ent.Edge { - return []ent.Edge{edge.To("host", HostResource.Type).Unique(), edge.To("desired_os", OperatingSystemResource.Type).Required().Unique(), edge.To("current_os", OperatingSystemResource.Type).Unique(), edge.To("os", OperatingSystemResource.Type).Unique(), edge.From("workload_members", WorkloadMember.Type).Ref("instance"), edge.To("provider", ProviderResource.Type).Unique(), edge.To("localaccount", LocalAccountResource.Type).Unique(), edge.To("os_update_policy", OSUpdatePolicyResource.Type).Unique(), edge.To("custom_config", CustomConfigResource.Type)} + return []ent.Edge{edge.To("host", HostResource.Type).Unique(), edge.To("os", OperatingSystemResource.Type).Required().Unique(), edge.From("workload_members", WorkloadMember.Type).Ref("instance"), edge.To("provider", ProviderResource.Type).Unique(), edge.To("localaccount", LocalAccountResource.Type).Unique(), edge.To("os_update_policy", OSUpdatePolicyResource.Type).Unique(), edge.To("custom_config", CustomConfigResource.Type)} } func (InstanceResource) Annotations() []schema.Annotation { return nil diff --git a/inventory/internal/ent/schema/o_s_update_policy_resource.go b/inventory/internal/ent/schema/o_s_update_policy_resource.go index 8d323d6c..7fbed47b 100644 --- a/inventory/internal/ent/schema/o_s_update_policy_resource.go +++ b/inventory/internal/ent/schema/o_s_update_policy_resource.go @@ -14,7 +14,7 @@ type OSUpdatePolicyResource struct { } func (OSUpdatePolicyResource) Fields() []ent.Field { - return []ent.Field{field.String("resource_id").Unique(), field.String("name"), field.String("description").Optional(), field.String("install_packages").Optional().Immutable(), field.String("update_sources").Optional().Immutable(), field.String("kernel_command").Optional().Immutable(), field.String("update_packages").Optional().Immutable(), field.String("update_kernel_command").Optional().Immutable(), field.Enum("update_policy").Optional().Immutable().Values("UPDATE_POLICY_UNSPECIFIED", "UPDATE_POLICY_LATEST", "UPDATE_POLICY_TARGET"), field.String("tenant_id").Immutable(), field.String("created_at").Immutable().SchemaType(map[string]string{"postgres": "TIMESTAMP"}), field.String("updated_at").SchemaType(map[string]string{"postgres": "TIMESTAMP"})} + return []ent.Field{field.String("resource_id").Unique(), field.String("name"), field.String("description").Optional(), field.String("update_sources").Optional().Immutable(), field.String("update_packages").Optional().Immutable(), field.String("update_kernel_command").Optional().Immutable(), field.Enum("update_policy").Optional().Immutable().Values("UPDATE_POLICY_UNSPECIFIED", "UPDATE_POLICY_LATEST", "UPDATE_POLICY_TARGET"), field.String("tenant_id").Immutable(), field.String("created_at").Immutable().SchemaType(map[string]string{"postgres": "TIMESTAMP"}), field.String("updated_at").SchemaType(map[string]string{"postgres": "TIMESTAMP"})} } func (OSUpdatePolicyResource) Edges() []ent.Edge { return []ent.Edge{edge.To("target_os", OperatingSystemResource.Type).Unique()} diff --git a/inventory/internal/ent/schema/operating_system_resource.go b/inventory/internal/ent/schema/operating_system_resource.go index c8c8a211..affbe7a5 100644 --- a/inventory/internal/ent/schema/operating_system_resource.go +++ b/inventory/internal/ent/schema/operating_system_resource.go @@ -14,7 +14,7 @@ type OperatingSystemResource struct { } func (OperatingSystemResource) Fields() []ent.Field { - return []ent.Field{field.String("resource_id").Unique(), field.String("name").Optional().Immutable(), field.String("architecture").Optional(), field.String("kernel_command").Optional(), field.String("update_sources").Optional(), field.String("image_url").Optional().Immutable(), field.String("image_id").Optional().Immutable(), field.String("sha256").Optional().Immutable(), field.String("profile_name").Optional().Immutable(), field.String("profile_version").Optional().Immutable(), field.String("installed_packages").Optional(), field.String("installed_packages_url").Optional().Immutable(), field.Enum("security_feature").Optional().Immutable().Values("SECURITY_FEATURE_UNSPECIFIED", "SECURITY_FEATURE_NONE", "SECURITY_FEATURE_SECURE_BOOT_AND_FULL_DISK_ENCRYPTION"), field.Enum("os_type").Optional().Immutable().Values("OS_TYPE_UNSPECIFIED", "OS_TYPE_MUTABLE", "OS_TYPE_IMMUTABLE"), field.Enum("os_provider").Immutable().Values("OS_PROVIDER_KIND_UNSPECIFIED", "OS_PROVIDER_KIND_INFRA", "OS_PROVIDER_KIND_LENOVO"), field.String("platform_bundle").Optional().Immutable(), field.String("description").Optional().Immutable(), field.String("metadata").Optional(), field.String("tls_ca_cert").Optional(), field.String("existing_cves_url").Optional().Immutable(), field.String("existing_cves").Optional(), field.String("fixed_cves_url").Optional().Immutable(), field.String("fixed_cves").Optional(), field.String("tenant_id").Immutable(), field.String("created_at").Immutable().SchemaType(map[string]string{"postgres": "TIMESTAMP"}), field.String("updated_at").SchemaType(map[string]string{"postgres": "TIMESTAMP"})} + return []ent.Field{field.String("resource_id").Unique(), field.String("name").Optional().Immutable(), field.String("architecture").Optional(), field.String("image_url").Optional().Immutable(), field.String("image_id").Optional().Immutable(), field.String("sha256").Optional().Immutable(), field.String("profile_name").Optional().Immutable(), field.String("profile_version").Optional().Immutable(), field.String("installed_packages").Optional(), field.String("installed_packages_url").Optional().Immutable(), field.Enum("security_feature").Optional().Immutable().Values("SECURITY_FEATURE_UNSPECIFIED", "SECURITY_FEATURE_NONE", "SECURITY_FEATURE_SECURE_BOOT_AND_FULL_DISK_ENCRYPTION"), field.Enum("os_type").Optional().Immutable().Values("OS_TYPE_UNSPECIFIED", "OS_TYPE_MUTABLE", "OS_TYPE_IMMUTABLE"), field.Enum("os_provider").Immutable().Values("OS_PROVIDER_KIND_UNSPECIFIED", "OS_PROVIDER_KIND_INFRA", "OS_PROVIDER_KIND_LENOVO"), field.String("platform_bundle").Optional().Immutable(), field.String("description").Optional().Immutable(), field.String("metadata").Optional(), field.String("tls_ca_cert").Optional(), field.String("existing_cves_url").Optional().Immutable(), field.String("existing_cves").Optional(), field.String("fixed_cves_url").Optional().Immutable(), field.String("fixed_cves").Optional(), field.String("tenant_id").Immutable(), field.String("created_at").Immutable().SchemaType(map[string]string{"postgres": "TIMESTAMP"}), field.String("updated_at").SchemaType(map[string]string{"postgres": "TIMESTAMP"})} } func (OperatingSystemResource) Edges() []ent.Edge { return nil diff --git a/inventory/internal/store/conversions.go b/inventory/internal/store/conversions.go index 077bd566..3d599976 100644 --- a/inventory/internal/store/conversions.go +++ b/inventory/internal/store/conversions.go @@ -198,7 +198,6 @@ func entOperatingSystemResourceToProtoOperatingSystemResource(os *ent.OperatingS ResourceId: os.ResourceID, Name: os.Name, Architecture: os.Architecture, - KernelCommand: os.KernelCommand, ImageUrl: os.ImageURL, ImageId: os.ImageID, Sha256: os.Sha256, @@ -221,9 +220,7 @@ func entOperatingSystemResourceToProtoOperatingSystemResource(os *ent.OperatingS Metadata: os.Metadata, TlsCaCert: os.TLSCaCert, } - if os.UpdateSources != "" { - protoUpdate.UpdateSources = strings.Split(os.UpdateSources, "|") - } + return protoUpdate } @@ -717,7 +714,6 @@ func entInstanceResourceToProtoInstanceResource(ins *ent.InstanceResource) *comp UpdateStatus: ins.UpdateStatus, UpdateStatusIndicator: statusv1.StatusIndication(updateStatusIndicator), UpdateStatusTimestamp: ins.UpdateStatusTimestamp, - UpdateStatusDetail: ins.UpdateStatusDetail, ProvisioningStatus: ins.ProvisioningStatus, ProvisioningStatusIndicator: statusv1.StatusIndication(provisioningStatusIndicator), ProvisioningStatusTimestamp: ins.ProvisioningStatusTimestamp, @@ -735,12 +731,6 @@ func entInstanceResourceToProtoInstanceResource(ins *ent.InstanceResource) *comp if host, qerr := ins.Edges.HostOrErr(); qerr == nil { protoInstance.Host = entHostResourceToProtoHostResource(host) } - if os, qerr := ins.Edges.DesiredOsOrErr(); qerr == nil { - protoInstance.DesiredOs = entOperatingSystemResourceToProtoOperatingSystemResource(os) - } - if os, qerr := ins.Edges.CurrentOsOrErr(); qerr == nil { - protoInstance.CurrentOs = entOperatingSystemResourceToProtoOperatingSystemResource(os) - } if os, qerr := ins.Edges.OsOrErr(); qerr == nil { protoInstance.Os = entOperatingSystemResourceToProtoOperatingSystemResource(os) } @@ -861,8 +851,6 @@ func entOSUpdatePolicyResourceToProtoOSUpdatePolicyResource(osup *ent.OSUpdatePo Name: osup.Name, Description: osup.Description, ResourceId: osup.ResourceID, - InstallPackages: osup.InstallPackages, - KernelCommand: osup.KernelCommand, UpdatePackages: osup.UpdatePackages, UpdateKernelCommand: osup.UpdateKernelCommand, UpdatePolicy: computev1.UpdatePolicy(updatePolicy), diff --git a/inventory/internal/store/host.go b/inventory/internal/store/host.go index 1715361d..9f54bcaf 100644 --- a/inventory/internal/store/host.go +++ b/inventory/internal/store/host.go @@ -179,9 +179,7 @@ func getHostQuery(ctx context.Context, tx *ent.Tx, tenantID, resourceID string, WithHostGpus() if nestedLoad { query.WithInstance(func(query *ent.InstanceResourceQuery) { - query.WithDesiredOs(). - WithCurrentOs(). - WithOs(). + query.WithOs(). WithOsUpdatePolicy() }) } else { @@ -484,9 +482,7 @@ func filterHosts(ctx context.Context, client *ent.Client, filter *inv_v1.Resourc WithHostUsbs(). WithHostGpus(). WithInstance(func(query *ent.InstanceResourceQuery) { - query.WithDesiredOs(). - WithCurrentOs(). - WithOs(). + query.WithOs(). WithOsUpdatePolicy() }). Where(pred). diff --git a/inventory/internal/store/host_test.go b/inventory/internal/store/host_test.go index 33e9d634..ae546514 100644 --- a/inventory/internal/store/host_test.go +++ b/inventory/internal/store/host_test.go @@ -376,8 +376,6 @@ func Test_Host_BackReferences_Read(t *testing.T) { usb := inv_testing.CreateHostusb(t, host) os := inv_testing.CreateOs(t) instance := inv_testing.CreateInstance(t, host, os) - instance.DesiredOs = os - instance.CurrentOs = os instance.Os = os host.Instance = instance gpu := inv_testing.CreatHostGPU(t, host) @@ -1743,8 +1741,6 @@ func Test_FilterHosts(t *testing.T) { t.Cleanup(func() { inv_testing.HardDeleteHost(t, expHost4.GetResourceId()) }) instance1 := inv_testing.CreateInstance(t, &expHost1, os1) - instance1.DesiredOs = os1 - instance1.CurrentOs = os1 instance1.Os = os1 expHost1.Instance = instance1 @@ -2648,8 +2644,6 @@ func Test_NestedFilterHost(t *testing.T) { ) instance := inv_testing.CreateInstanceWithLocalAccount(t, host1, os, localaccount) - instance.DesiredOs = os - instance.CurrentOs = os instance.Os = os hostGpu1 := inv_testing.CreatHostGPU(t, host1) @@ -2697,14 +2691,6 @@ func Test_NestedFilterHost(t *testing.T) { valid: true, }, "FilterByOsID": { - in: &inv_v1.ResourceFilter{ - Filter: fmt.Sprintf(`%s.%s.%s = %q`, hostresource.EdgeInstance, instanceresource.EdgeDesiredOs, - operatingsystemresource.FieldResourceID, os.GetResourceId()), - }, - resources: []*computev1.HostResource{host1}, - valid: true, - }, - "FilterByOsID2": { in: &inv_v1.ResourceFilter{ Filter: fmt.Sprintf(`%s.%s.%s = %q`, hostresource.EdgeInstance, instanceresource.EdgeOs, operatingsystemresource.FieldResourceID, os.GetResourceId()), @@ -2905,8 +2891,6 @@ func Test_NestedFilterHostByOsUpdatePolicyID(t *testing.T) { policy := inv_testing.CreateOsUpdatePolicy(t) instance := inv_testing.CreateInstanceWithOsUpdatePolicy(t, host1, os, policy) - instance.DesiredOs = os - instance.CurrentOs = os instance.Os = os host1.Site = site1 diff --git a/inventory/internal/store/instance.go b/inventory/internal/store/instance.go index 0ca105c2..77082368 100644 --- a/inventory/internal/store/instance.go +++ b/inventory/internal/store/instance.go @@ -144,14 +144,6 @@ func setRelationsForInstanceCreate(ctx context.Context, if err := setEdgeHostIDForMut(ctx, client, mut, in.GetHost()); err != nil { return err } - // Look up the optional Desired OS ID for this Instance. - if err := setEdgeDesiredOSIDForMut(ctx, client, mut, in.GetDesiredOs()); err != nil { - return err - } - // Look up the optional Desired OS ID for this Instance. - if err := setEdgeCurrentOSIDForMut(ctx, client, mut, in.GetCurrentOs()); err != nil { - return err - } // Look up the optional provider ID for this Instance. if err := setEdgeProviderIDForMut(ctx, client, mut, in.GetProvider()); err != nil { return err @@ -197,8 +189,6 @@ func (is *InvStore) GetInstance(ctx context.Context, id string) (*inv_v1.Resourc func getInstanceQuery(ctx context.Context, tx *ent.Tx, resourceID string, nestedLoad bool) (*ent.InstanceResource, error) { query := tx.InstanceResource.Query(). Where(instanceresource.ResourceID(resourceID)). - WithDesiredOs(). - WithCurrentOs(). WithOs(). WithProvider(). WithLocalaccount(). @@ -475,12 +465,10 @@ func filterInstances(ctx context.Context, client *ent.Client, filter *inv_v1.Res q.WithSite() // Populate the site of each host q.WithProvider() // Populate the provider of each host }). - WithDesiredOs(). - WithCurrentOs(). + WithOs(). WithWorkloadMembers(func(q *ent.WorkloadMemberQuery) { q.WithWorkload() // Populate the workload of each member }). - WithOs(). WithProvider(). WithLocalaccount(). WithOsUpdatePolicy(). @@ -546,18 +534,6 @@ func setRelationsForInstanceMutIfNeeded( return err } } - mut.ResetDesiredOs() - if slices.Contains(fieldmask.GetPaths(), instanceresource.EdgeDesiredOs) { - if err := setEdgeDesiredOSIDForMut(ctx, client, mut, in.GetDesiredOs()); err != nil { - return err - } - } - mut.ResetCurrentOs() - if slices.Contains(fieldmask.GetPaths(), instanceresource.EdgeCurrentOs) { - if err := setEdgeCurrentOSIDForMut(ctx, client, mut, in.GetCurrentOs()); err != nil { - return err - } - } mut.ResetProvider() if slices.Contains(fieldmask.GetPaths(), instanceresource.EdgeProvider) { if err := setEdgeProviderIDForMut(ctx, client, mut, in.GetProvider()); err != nil { diff --git a/inventory/internal/store/instance_test.go b/inventory/internal/store/instance_test.go index b9847389..fc6a1e3f 100644 --- a/inventory/internal/store/instance_test.go +++ b/inventory/internal/store/instance_test.go @@ -96,8 +96,7 @@ func Test_Create_Get_Delete_Instance(t *testing.T) { TenantId: tenantID, Kind: computev1.InstanceKind_INSTANCE_KIND_VM, DesiredState: computev1.InstanceState_INSTANCE_STATE_RUNNING, - DesiredOs: os, - CurrentOs: os, + Os: os, VmMemoryBytes: 2 * util.Gigabyte, VmCpuCores: 4, VmStorageBytes: 16 * util.Gigabyte, @@ -111,8 +110,6 @@ func Test_Create_Get_Delete_Instance(t *testing.T) { Kind: computev1.InstanceKind_INSTANCE_KIND_METAL, DesiredState: computev1.InstanceState_INSTANCE_STATE_RUNNING, Host: host, - DesiredOs: os, - CurrentOs: os, Os: os, ExistingCves: `[ { @@ -141,20 +138,20 @@ func Test_Create_Get_Delete_Instance(t *testing.T) { }, "CreateDiscoveredInstance": { in: &computev1.InstanceResource{ - TenantId: tenantID, - Kind: computev1.InstanceKind_INSTANCE_KIND_METAL, - Host: host, - DesiredOs: os, + TenantId: tenantID, + Kind: computev1.InstanceKind_INSTANCE_KIND_METAL, + Host: host, + Os: os, }, valid: true, }, "CreateDiscoveredInstanceWithProvider": { in: &computev1.InstanceResource{ - TenantId: tenantID, - Kind: computev1.InstanceKind_INSTANCE_KIND_METAL, - Host: host, - Provider: provider, - DesiredOs: os, + TenantId: tenantID, + Kind: computev1.InstanceKind_INSTANCE_KIND_METAL, + Host: host, + Provider: provider, + Os: os, }, valid: true, }, @@ -164,8 +161,7 @@ func Test_Create_Get_Delete_Instance(t *testing.T) { Kind: computev1.InstanceKind_INSTANCE_KIND_METAL, DesiredState: computev1.InstanceState_INSTANCE_STATE_RUNNING, Host: host, - DesiredOs: os, - CurrentOs: os, + Os: os, Localaccount: localaccount, }, valid: true, @@ -176,8 +172,7 @@ func Test_Create_Get_Delete_Instance(t *testing.T) { Kind: computev1.InstanceKind_INSTANCE_KIND_METAL, DesiredState: computev1.InstanceState_INSTANCE_STATE_RUNNING, Host: host, - DesiredOs: os, - CurrentOs: os, + Os: os, CustomConfig: []*computev1.CustomConfigResource{cc}, }, valid: true, @@ -188,8 +183,7 @@ func Test_Create_Get_Delete_Instance(t *testing.T) { Kind: computev1.InstanceKind_INSTANCE_KIND_METAL, DesiredState: computev1.InstanceState_INSTANCE_STATE_RUNNING, Host: host, - DesiredOs: os, - CurrentOs: os, + Os: os, OsUpdatePolicy: oup, }, valid: true, @@ -203,7 +197,7 @@ func Test_Create_Get_Delete_Instance(t *testing.T) { Kind: computev1.InstanceKind_INSTANCE_KIND_VM, DesiredState: computev1.InstanceState_INSTANCE_STATE_RUNNING, Host: host, - DesiredOs: os, + Os: os, VmMemoryBytes: 2 * util.Gigabyte, VmCpuCores: 4, VmStorageBytes: 16 * util.Gigabyte, @@ -219,7 +213,7 @@ func Test_Create_Get_Delete_Instance(t *testing.T) { Kind: computev1.InstanceKind_INSTANCE_KIND_VM, DesiredState: computev1.InstanceState_INSTANCE_STATE_RUNNING, Host: host, - DesiredOs: os, + Os: os, VmMemoryBytes: 2 * util.Gigabyte, VmCpuCores: 4, VmStorageBytes: 16 * util.Gigabyte, @@ -260,9 +254,9 @@ func Test_Create_Get_Delete_Instance(t *testing.T) { }, "CreateBadInstanceInvalidExistingCVEs": { in: &computev1.InstanceResource{ - Kind: computev1.InstanceKind_INSTANCE_KIND_METAL, - Host: host, - DesiredOs: os, + Kind: computev1.InstanceKind_INSTANCE_KIND_METAL, + Host: host, + Os: os, }, valid: false, }, @@ -338,8 +332,7 @@ func Test_CreateInstanceFromRM(t *testing.T) { instRes := computev1.InstanceResource{ Kind: computev1.InstanceKind_INSTANCE_KIND_METAL, DesiredState: computev1.InstanceState_INSTANCE_STATE_RUNNING, - DesiredOs: os, - CurrentOs: os, + Os: os, Host: host, SecurityFeature: osv1.SecurityFeature_SECURITY_FEATURE_SECURE_BOOT_AND_FULL_DISK_ENCRYPTION, } @@ -417,7 +410,7 @@ func Test_UpdateInstance(t *testing.T) { Resource: &inv_v1.Resource_Instance{ Instance: &computev1.InstanceResource{ Host: host, - DesiredOs: os, + Os: os, VmMemoryBytes: 2 * util.Gigabyte, VmCpuCores: 4, VmStorageBytes: 16 * util.Gigabyte, @@ -447,16 +440,14 @@ func Test_UpdateInstance(t *testing.T) { in: &computev1.InstanceResource{ VmCpuCores: 8, CurrentState: computev1.InstanceState_INSTANCE_STATE_RUNNING, - DesiredOs: os, - CurrentOs: os, + Os: os, }, resourceID: instanceResID, fieldMask: &fieldmaskpb.FieldMask{ Paths: []string{ instanceresource.FieldVMCPUCores, instanceresource.FieldCurrentState, - instanceresource.EdgeDesiredOs, - instanceresource.EdgeCurrentOs, + instanceresource.EdgeOs, }, }, valid: true, @@ -495,21 +486,21 @@ func Test_UpdateInstance(t *testing.T) { }, "UpdateInstanceOsNoop": { in: &computev1.InstanceResource{ - DesiredOs: os, + Os: os, }, resourceID: instanceResID, fieldMask: &fieldmaskpb.FieldMask{ - Paths: []string{instanceresource.EdgeDesiredOs}, + Paths: []string{instanceresource.EdgeOs}, }, valid: true, }, "UpdateInstanceOs2": { in: &computev1.InstanceResource{ - DesiredOs: os2, + Os: os2, }, resourceID: instanceResID, fieldMask: &fieldmaskpb.FieldMask{ - Paths: []string{instanceresource.EdgeDesiredOs}, + Paths: []string{instanceresource.EdgeOs}, }, valid: true, }, @@ -547,7 +538,7 @@ func Test_UpdateInstance(t *testing.T) { in: &computev1.InstanceResource{ VmCpuCores: 8, CurrentState: computev1.InstanceState_INSTANCE_STATE_RUNNING, - DesiredOs: os, + Os: os, }, resourceID: instanceResID, valid: false, @@ -574,7 +565,6 @@ func Test_UpdateInstance(t *testing.T) { UpdateStatus: "Some update status", UpdateStatusIndicator: statusv1.StatusIndication_STATUS_INDICATION_IDLE, UpdateStatusTimestamp: uint64(time.Now().Unix()), //nolint:gosec // This is a test - UpdateStatusDetail: "Some update status detail", }, resourceID: instanceResID, fieldMask: &fieldmaskpb.FieldMask{ @@ -582,7 +572,6 @@ func Test_UpdateInstance(t *testing.T) { instanceresource.FieldUpdateStatus, instanceresource.FieldUpdateStatusIndicator, instanceresource.FieldUpdateStatusTimestamp, - instanceresource.FieldUpdateStatusDetail, }, }, valid: true, @@ -1017,8 +1006,7 @@ func Test_FilterInstances(t *testing.T) { Resource: &inv_v1.Resource_Instance{ Instance: &computev1.InstanceResource{ Host: host1, - DesiredOs: os1, - CurrentOs: os1, + Os: os1, VmMemoryBytes: 2 * util.Gigabyte, VmCpuCores: 4, VmStorageBytes: 16 * util.Gigabyte, @@ -1032,7 +1020,7 @@ func Test_FilterInstances(t *testing.T) { Resource: &inv_v1.Resource_Instance{ Instance: &computev1.InstanceResource{ Host: host2, - DesiredOs: os2, + Os: os2, VmMemoryBytes: 2 * util.Gigabyte, VmCpuCores: 4, VmStorageBytes: 16 * util.Gigabyte, @@ -1046,7 +1034,7 @@ func Test_FilterInstances(t *testing.T) { Instance: &computev1.InstanceResource{ VmCpuCores: 4, DesiredState: computev1.InstanceState_INSTANCE_STATE_RUNNING, - DesiredOs: os3, + Os: os3, Provider: provider, }, }, @@ -1142,18 +1130,10 @@ func Test_FilterInstances(t *testing.T) { resources: []*computev1.InstanceResource{instExp1}, valid: true, }, - "FilterByDesiredOsID": { - in: &inv_v1.ResourceFilter{ - Filter: fmt.Sprintf(`%s.%s = %q`, instanceresource.EdgeDesiredOs, operatingsystemresource.FieldResourceID, - instExp1.GetDesiredOs().GetResourceId()), - }, - resources: []*computev1.InstanceResource{instExp1}, - valid: true, - }, "FilterByInstalledOsID": { in: &inv_v1.ResourceFilter{ - Filter: fmt.Sprintf(`%s.%s = %q`, instanceresource.EdgeCurrentOs, operatingsystemresource.FieldResourceID, - instExp1.GetCurrentOs().GetResourceId()), + Filter: fmt.Sprintf(`%s.%s = %q`, instanceresource.EdgeOs, operatingsystemresource.FieldResourceID, + instExp1.GetOs().GetResourceId()), }, resources: []*computev1.InstanceResource{instExp1}, valid: true, @@ -1165,10 +1145,10 @@ func Test_FilterInstances(t *testing.T) { resources: []*computev1.InstanceResource{instExpEmpty}, valid: true, }, - "FilterDesiredOSEmpty": { + "FilterOSEmpty": { // OS cannot be empty in: &inv_v1.ResourceFilter{ - Filter: fmt.Sprintf(`NOT has(%s)`, instanceresource.EdgeDesiredOs), + Filter: fmt.Sprintf(`NOT has(%s)`, instanceresource.EdgeOs), }, valid: true, }, @@ -1327,11 +1307,8 @@ func instanceEdgesOnlyResourceID(expected *computev1.InstanceResource) { if expected.Host != nil { expected.Host = &computev1.HostResource{ResourceId: expected.Host.ResourceId} } - if expected.DesiredOs != nil { - expected.DesiredOs = &osv1.OperatingSystemResource{ResourceId: expected.DesiredOs.ResourceId} - } - if expected.CurrentOs != nil { - expected.CurrentOs = &osv1.OperatingSystemResource{ResourceId: expected.CurrentOs.ResourceId} + if expected.Os != nil { + expected.Os = &osv1.OperatingSystemResource{ResourceId: expected.Os.ResourceId} } } @@ -1353,8 +1330,6 @@ func Test_NestedFilterInstances(t *testing.T) { workloadMember1.Workload = workload1 instance1.WorkloadMembers = append(instance1.WorkloadMembers, workloadMember1) instance1.Host = host1 - instance1.DesiredOs = os1 - instance1.CurrentOs = os1 instance1.Os = os1 instance2 := inv_testing.CreateInstance(t, host2, os1) @@ -1366,26 +1341,18 @@ func Test_NestedFilterInstances(t *testing.T) { workloadMember3.Workload = workload1 instance4.WorkloadMembers = append(instance4.WorkloadMembers, workloadMember3) instance4.Host = host5 - instance4.DesiredOs = os2 - instance4.CurrentOs = os2 instance4.Os = os2 instance2.WorkloadMembers = append(instance2.WorkloadMembers, workloadMember2) instance2.Host = host2 - instance2.DesiredOs = os1 - instance2.CurrentOs = os1 instance2.Os = os1 instance3 := inv_testing.CreateInstance(t, host3, os2) instance3.Host = host3 - instance3.DesiredOs = os2 - instance3.CurrentOs = os2 instance3.Os = os2 provider := inv_testing.CreateProvider(t, "Test Provider1") instanceWithProvider := inv_testing.CreateInstanceWithProvider(t, host4, os2, provider) instanceWithProvider.Host = host4 - instanceWithProvider.DesiredOs = os2 - instanceWithProvider.CurrentOs = os2 instanceWithProvider.Os = os2 instanceWithProvider.Provider = provider @@ -1395,8 +1362,6 @@ func Test_NestedFilterInstances(t *testing.T) { ) instanceWithLocalAccount := inv_testing.CreateInstanceWithLocalAccount(t, host6, os2, localaccount) instanceWithLocalAccount.Host = host6 - instanceWithLocalAccount.DesiredOs = os2 - instanceWithLocalAccount.CurrentOs = os2 instanceWithLocalAccount.Os = os2 instanceWithLocalAccount.Localaccount = localaccount @@ -1451,7 +1416,7 @@ func Test_NestedFilterInstances(t *testing.T) { "FilterByOsName": { in: &inv_v1.ResourceFilter{ Filter: fmt.Sprintf(`%s.%s = %q`, - instanceresource.EdgeDesiredOs, operatingsystemresource.FieldName, os1.GetName()), + instanceresource.EdgeOs, operatingsystemresource.FieldName, os1.GetName()), }, resources: []*computev1.InstanceResource{ instance1, instance2, @@ -1562,7 +1527,7 @@ func Test_One2One_Relation_InstanceHost(t *testing.T) { inst2Req := computev1.InstanceResource{ Kind: computev1.InstanceKind_INSTANCE_KIND_METAL, DesiredState: computev1.InstanceState_INSTANCE_STATE_RUNNING, - DesiredOs: os, + Os: os, Host: host1, } _, err := inv_testing.GetClient(t, inv_testing.APIClient).Create(ctx, diff --git a/inventory/internal/store/instance_transpiler.go b/inventory/internal/store/instance_transpiler.go index a7d4ac62..9fedb8b2 100644 --- a/inventory/internal/store/instance_transpiler.go +++ b/inventory/internal/store/instance_transpiler.go @@ -16,21 +16,11 @@ func (r *registry) RegisterInstanceResource() { inv_v1.ResourceKind_RESOURCE_KIND_INSTANCE, instanceresource.ValidColumn, map[string]edgeHandler{ - instanceresource.EdgeCurrentOs: { - func(p sqlPredicate) sqlPredicate { return instanceresource.HasCurrentOsWith(p) }, - inv_v1.ResourceKind_RESOURCE_KIND_OS, - }, - instanceresource.EdgeCustomConfig: { func(p sqlPredicate) sqlPredicate { return instanceresource.HasCustomConfigWith(p) }, inv_v1.ResourceKind_RESOURCE_KIND_CUSTOMCONFIG, }, - instanceresource.EdgeDesiredOs: { - func(p sqlPredicate) sqlPredicate { return instanceresource.HasDesiredOsWith(p) }, - inv_v1.ResourceKind_RESOURCE_KIND_OS, - }, - instanceresource.EdgeHost: { func(p sqlPredicate) sqlPredicate { return instanceresource.HasHostWith(p) }, inv_v1.ResourceKind_RESOURCE_KIND_HOST, @@ -62,9 +52,7 @@ func (r *registry) RegisterInstanceResource() { }, }, map[string]sqlPredicate{ - instanceresource.EdgeCurrentOs: instanceresource.HasCurrentOs(), instanceresource.EdgeCustomConfig: instanceresource.HasCustomConfig(), - instanceresource.EdgeDesiredOs: instanceresource.HasDesiredOs(), instanceresource.EdgeHost: instanceresource.HasHost(), instanceresource.EdgeLocalaccount: instanceresource.HasLocalaccount(), instanceresource.EdgeOs: instanceresource.HasOs(), diff --git a/inventory/internal/store/os_test.go b/inventory/internal/store/os_test.go index 9b9d3128..53643651 100644 --- a/inventory/internal/store/os_test.go +++ b/inventory/internal/store/os_test.go @@ -36,7 +36,6 @@ func Test_Create_Get_Delete_Update_Os(t *testing.T) { "CreateGoodOs": { in: &os_v1.OperatingSystemResource{ Name: "Test Os 1", - UpdateSources: []string{"test entry1", "test entry2"}, ImageUrl: "Repo test entry", ImageId: "some ID", Sha256: inv_testing.RandomSha256v1, @@ -98,7 +97,6 @@ func Test_Create_Get_Delete_Update_Os(t *testing.T) { "CreateGoodOsLenovoProvider": { in: &os_v1.OperatingSystemResource{ Name: "Test Os 1", - UpdateSources: []string{"test entry1", "test entry2"}, ImageUrl: "Repo test entry", ImageId: "some ID", Sha256: inv_testing.RandomSha256v1, @@ -115,39 +113,15 @@ func Test_Create_Get_Delete_Update_Os(t *testing.T) { }, "CreateBadOsWrongSha": { in: &os_v1.OperatingSystemResource{ - Name: "Test Os 1", - UpdateSources: []string{"test entry1", "test entry2"}, - ImageUrl: "Repo test entry", - Sha256: "________________________________________________________________", + Name: "Test Os 1", + ImageUrl: "Repo test entry", + Sha256: "________________________________________________________________", }, valid: false, }, - "CreateBadWithTooLongUpdateSource": { - in: &os_v1.OperatingSystemResource{ - Name: "Test Os 1", - UpdateSources: []string{"test entry1", inv_testing.RandomString(10001)}, - ImageUrl: "Repo test entry", - Sha256: inv_testing.RandomSha256v1, - OsType: os_v1.OsType_OS_TYPE_MUTABLE, - OsProvider: os_v1.OsProviderKind_OS_PROVIDER_KIND_INFRA, - }, - valid: false, - }, - "CreateGoodLongUpdateSource": { - in: &os_v1.OperatingSystemResource{ - Name: "Test Os 1", - UpdateSources: []string{"test entry1", inv_testing.RandomString(9999)}, - ImageUrl: "Repo test entry", - Sha256: inv_testing.RandomSha256v1, - OsType: os_v1.OsType_OS_TYPE_MUTABLE, - OsProvider: os_v1.OsProviderKind_OS_PROVIDER_KIND_INFRA, - }, - valid: true, - }, "CreateGoodOsMissingSha": { in: &os_v1.OperatingSystemResource{ Name: "Test Os 1", - UpdateSources: []string{"test entry1", "test entry2"}, ImageUrl: "Repo test entry", InstalledPackages: "intel-opencl-icd\nintel-level-zero-gpu\nlevel-zero", InstalledPackagesUrl: "https://manifest-url.example.com/installed-packages.txt", @@ -160,12 +134,11 @@ func Test_Create_Get_Delete_Update_Os(t *testing.T) { // This tests case verifies that create requests with a resource ID // already set are rejected. in: &os_v1.OperatingSystemResource{ - ResourceId: "os-12345678", - Name: "Test Os 2", - UpdateSources: []string{"test entries"}, - ImageUrl: "Repo test entry", - Sha256: inv_testing.RandomSha256v1, - ProfileName: "Test OS profile name", + ResourceId: "os-12345678", + Name: "Test Os 2", + ImageUrl: "Repo test entry", + Sha256: inv_testing.RandomSha256v1, + ProfileName: "Test OS profile name", }, valid: false, }, @@ -173,29 +146,26 @@ func Test_Create_Get_Delete_Update_Os(t *testing.T) { // This tests case verifies that create requests with a resource ID // already set are rejected. in: &os_v1.OperatingSystemResource{ - ResourceId: "os-1234678", - Name: "Test Os 2", - UpdateSources: []string{"test entries"}, - ImageUrl: "Repo test entry", - Sha256: inv_testing.RandomSha256v1, - ProfileName: "Test OS profile name", + ResourceId: "os-1234678", + Name: "Test Os 2", + ImageUrl: "Repo test entry", + Sha256: inv_testing.RandomSha256v1, + ProfileName: "Test OS profile name", }, valid: false, }, "CreateGoodOsBadSHA256": { in: &os_v1.OperatingSystemResource{ - Name: "Test Os 1", - UpdateSources: []string{"test entry1", "test entry2"}, - ImageUrl: "Repo test entry", - Sha256: strings.ToUpper(inv_testing.RandomSha256v1), - ProfileName: "Test OS profile name", + Name: "Test Os 1", + ImageUrl: "Repo test entry", + Sha256: strings.ToUpper(inv_testing.RandomSha256v1), + ProfileName: "Test OS profile name", }, valid: false, }, "CreateGoodOsNoRepoURL": { in: &os_v1.OperatingSystemResource{ Name: "Test Os 1", - UpdateSources: []string{"test entry1", "test entry2"}, Sha256: inv_testing.RandomSha256v1, ProfileName: "Test OS profile name", InstalledPackages: "intel-opencl-icd\nintel-level-zero-gpu\nlevel-zero", @@ -209,7 +179,6 @@ func Test_Create_Get_Delete_Update_Os(t *testing.T) { "CreateBadOsDuplicateMetadata1": { in: &os_v1.OperatingSystemResource{ Name: "Test Os 1", - UpdateSources: []string{"test entry1", "test entry2"}, Sha256: inv_testing.RandomSha256v1, ProfileName: "Test OS profile name", InstalledPackages: "intel-opencl-icd\nintel-level-zero-gpu\nlevel-zero", @@ -223,7 +192,6 @@ func Test_Create_Get_Delete_Update_Os(t *testing.T) { "CreateBadOsDuplicateMetadata2": { in: &os_v1.OperatingSystemResource{ Name: "Test Os 1", - UpdateSources: []string{"test entry1", "test entry2"}, Sha256: inv_testing.RandomSha256v1, ProfileName: "Test OS profile name", InstalledPackages: "intel-opencl-icd\nintel-level-zero-gpu\nlevel-zero", @@ -237,13 +205,12 @@ func Test_Create_Get_Delete_Update_Os(t *testing.T) { }, "CreateGoodOsWithTlsCaCert": { in: &os_v1.OperatingSystemResource{ - Name: "Test Os with TLS CA", - UpdateSources: []string{"test entry1"}, - ImageUrl: "Repo test entry", - Sha256: inv_testing.RandomSha256v1, - ProfileName: "Test OS profile name", - OsType: os_v1.OsType_OS_TYPE_MUTABLE, - OsProvider: os_v1.OsProviderKind_OS_PROVIDER_KIND_INFRA, + Name: "Test Os with TLS CA", + ImageUrl: "Repo test entry", + Sha256: inv_testing.RandomSha256v1, + ProfileName: "Test OS profile name", + OsType: os_v1.OsType_OS_TYPE_MUTABLE, + OsProvider: os_v1.OsProviderKind_OS_PROVIDER_KIND_INFRA, TlsCaCert: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUUvakNDQTJhZ0F3SUJBZ0lSQUtYL2hzUDhsUzZs" + "cWVRcUpSb0NabGt3RFFZSktvWklodmNOQVFFTUJRQXcKYXpFTE1Ba0dBMVVFQmhNQ1ZWTXhHakFZQmdO" + "VkJBb1RFVWx1ZEdWc0lFTnZjbkJ2Y21GMGFXOXVNVUF3UGdZRApWUVFERXpkMGFXNXJaWEppWld4c0xX" + @@ -279,27 +246,25 @@ func Test_Create_Get_Delete_Update_Os(t *testing.T) { }, "CreateGoodOsWithEmptyTlsCaCert": { in: &os_v1.OperatingSystemResource{ - Name: "Test Os with empty TLS CA", - UpdateSources: []string{"test entry1"}, - ImageUrl: "Repo test entry", - Sha256: inv_testing.RandomSha256v1, - ProfileName: "Test OS profile name", - OsType: os_v1.OsType_OS_TYPE_MUTABLE, - OsProvider: os_v1.OsProviderKind_OS_PROVIDER_KIND_INFRA, - TlsCaCert: "", + Name: "Test Os with empty TLS CA", + ImageUrl: "Repo test entry", + Sha256: inv_testing.RandomSha256v1, + ProfileName: "Test OS profile name", + OsType: os_v1.OsType_OS_TYPE_MUTABLE, + OsProvider: os_v1.OsProviderKind_OS_PROVIDER_KIND_INFRA, + TlsCaCert: "", }, valid: true, }, "CreateBadOsWithInvalidTlsCaCert": { in: &os_v1.OperatingSystemResource{ - Name: "Test Os with bad TLS CA", - UpdateSources: []string{"test entry1"}, - ImageUrl: "Repo test entry", - Sha256: inv_testing.RandomSha256v1, - ProfileName: "Test OS profile name", - OsType: os_v1.OsType_OS_TYPE_MUTABLE, - OsProvider: os_v1.OsProviderKind_OS_PROVIDER_KIND_INFRA, - TlsCaCert: "not a cert", + Name: "Test Os with bad TLS CA", + ImageUrl: "Repo test entry", + Sha256: inv_testing.RandomSha256v1, + ProfileName: "Test OS profile name", + OsType: os_v1.OsType_OS_TYPE_MUTABLE, + OsProvider: os_v1.OsProviderKind_OS_PROVIDER_KIND_INFRA, + TlsCaCert: "not a cert", }, valid: false, // Only if you enforce PEM pattern validation }, @@ -357,7 +322,7 @@ func Test_Create_Get_Delete_Update_Os(t *testing.T) { }, } fieldMask := &fieldmaskpb.FieldMask{ - Paths: []string{oss.FieldUpdateSources, oss.FieldInstalledPackages}, + Paths: []string{oss.FieldInstalledPackages}, } upRes, err := inv_testing.TestClients[inv_testing.APIClient].Update( ctx, @@ -434,13 +399,6 @@ func Test_FilterOss(t *testing.T) { resources: []*os_v1.OperatingSystemResource{cupdatesourceResp1}, valid: true, }, - "FilterUpdateSources": { - in: &inv_v1.ResourceFilter{ - Filter: fmt.Sprintf(`%s = %q`, oss.FieldUpdateSources, cupdatesourceResp1.UpdateSources[0]), - }, - resources: []*os_v1.OperatingSystemResource{cupdatesourceResp1, cupdatesourceResp2}, - valid: true, - }, "FilterBySecurityFeatures": { in: &inv_v1.ResourceFilter{ Filter: fmt.Sprintf(`%s = %v`, oss.FieldSecurityFeature, cupdatesourceResp1.SecurityFeature), @@ -600,7 +558,6 @@ func Test_UpdateOs(t *testing.T) { Resource: &inv_v1.Resource_Os{ Os: &os_v1.OperatingSystemResource{ Name: "Test Os 1", - UpdateSources: []string{"test entries"}, ImageUrl: "Repo test entry", Sha256: inv_testing.RandomSha256v1, ProfileName: "Test OS profile name 1", @@ -628,20 +585,6 @@ func Test_UpdateOs(t *testing.T) { valid bool expErrorCode codes.Code }{ - "UpdateMultipleFields": { - in: &os_v1.OperatingSystemResource{ - Name: "Updated Name", - KernelCommand: "linux", - UpdateSources: []string{"update 2"}, - }, - resourceID: osResID, - fieldMask: &fieldmaskpb.FieldMask{ - Paths: []string{ - oss.FieldKernelCommand, oss.FieldUpdateSources, - }, - }, - valid: true, - }, "UpdateImmutableSecurityFeatureFail": { in: &os_v1.OperatingSystemResource{ SecurityFeature: os_v1.SecurityFeature_SECURITY_FEATURE_NONE, @@ -830,7 +773,6 @@ func Test_ImmutableFieldsOnUpdate(t *testing.T) { Resource: &inv_v1.Resource_Os{ Os: &os_v1.OperatingSystemResource{ Name: "Test Os 1", - UpdateSources: []string{"test entries"}, ImageUrl: "Repo test entry", Sha256: inv_testing.RandomSha256v1, ProfileName: "Test OS profile name 1", @@ -860,8 +802,6 @@ func Test_ImmutableFieldsOnUpdate(t *testing.T) { ResourceId: os1.ResourceId, Name: "TEST", Architecture: "TEST", - KernelCommand: "TEST", - UpdateSources: []string{"TEST"}, ImageUrl: "TEST", Sha256: inv_testing.RandomSha256v2, ProfileName: "Test OS profile name 2", @@ -1032,13 +972,12 @@ func Test_StrongRelations_On_Delete_Ou_Os(t *testing.T) { // Create the Desired OS to test on. os := &os_v1.OperatingSystemResource{ - Name: "Test Os 1", - UpdateSources: []string{"source 1"}, - ImageUrl: "test repo url", - Sha256: inv_testing.RandomSha256v1, - ProfileName: "Test OS profile name", - OsType: os_v1.OsType_OS_TYPE_MUTABLE, - OsProvider: os_v1.OsProviderKind_OS_PROVIDER_KIND_INFRA, + Name: "Test Os 1", + ImageUrl: "test repo url", + Sha256: inv_testing.RandomSha256v1, + ProfileName: "Test OS profile name", + OsType: os_v1.OsType_OS_TYPE_MUTABLE, + OsProvider: os_v1.OsProviderKind_OS_PROVIDER_KIND_INFRA, } resp, err := inv_testing.TestClients[inv_testing.APIClient].Create(ctx, &inv_v1.Resource{Resource: &inv_v1.Resource_Os{Os: os}}) @@ -1053,7 +992,7 @@ func Test_StrongRelations_On_Delete_Ou_Os(t *testing.T) { Name: "test instance", DesiredState: computev1.InstanceState_INSTANCE_STATE_RUNNING, Host: nil, - DesiredOs: os, + Os: os, } resp, err = inv_testing.TestClients[inv_testing.APIClient].Create(ctx, &inv_v1.Resource{Resource: &inv_v1.Resource_Instance{Instance: ins}}) @@ -1079,7 +1018,6 @@ func Test_Create_Get_Delete_Update_Os_Install_Packages(t *testing.T) { "CreateOswithInstallPackages": { in: &os_v1.OperatingSystemResource{ Name: "Test Os 1", - UpdateSources: []string{"test entry1", "test entry2"}, ImageUrl: "Repo test entry", Sha256: inv_testing.RandomSha256v1, ProfileName: "Test OS profile name", @@ -1091,13 +1029,12 @@ func Test_Create_Get_Delete_Update_Os_Install_Packages(t *testing.T) { }, "CreateOswithoutInstallPackages": { in: &os_v1.OperatingSystemResource{ - Name: "Test Os 1", - UpdateSources: []string{"test entry1", "test entry2"}, - ImageUrl: "Repo test entry", - Sha256: inv_testing.RandomSha256v1, - ProfileName: "Test OS profile name", - OsType: os_v1.OsType_OS_TYPE_MUTABLE, - OsProvider: os_v1.OsProviderKind_OS_PROVIDER_KIND_INFRA, + Name: "Test Os 1", + ImageUrl: "Repo test entry", + Sha256: inv_testing.RandomSha256v1, + ProfileName: "Test OS profile name", + OsType: os_v1.OsType_OS_TYPE_MUTABLE, + OsProvider: os_v1.OsProviderKind_OS_PROVIDER_KIND_INFRA, }, valid: true, }, diff --git a/inventory/internal/store/osupdatepolicy_test.go b/inventory/internal/store/osupdatepolicy_test.go index 31d60a6d..669e4248 100644 --- a/inventory/internal/store/osupdatepolicy_test.go +++ b/inventory/internal/store/osupdatepolicy_test.go @@ -475,10 +475,10 @@ func Test_ImmutableFieldsOnUpdateOsUpdatePolicy(t *testing.T) { }, "UpdateImmutableKernelCommand": { in: &computev1.OSUpdatePolicyResource{ - KernelCommand: "test kernel command", + UpdateKernelCommand: "test kernel command", }, resourceID: osUpPolicy3.GetResourceId(), - fieldMask: &fieldmaskpb.FieldMask{Paths: []string{oup.FieldKernelCommand}}, + fieldMask: &fieldmaskpb.FieldMask{Paths: []string{oup.FieldUpdateKernelCommand}}, valid: false, expErrorCode: codes.InvalidArgument, }, diff --git a/inventory/internal/store/store.go b/inventory/internal/store/store.go index f9d44a81..9322079c 100644 --- a/inventory/internal/store/store.go +++ b/inventory/internal/store/store.go @@ -305,46 +305,6 @@ func setEdgeHostIDForMut(ctx context.Context, client *ent.Client, mut ent.Mutati return nil } -func setEdgeDesiredOSIDForMut( - ctx context.Context, client *ent.Client, mut ent.Mutation, osres *osv1.OperatingSystemResource, -) error { - if osres == nil { - return nil - } - osID, qerr := getOSIDFromResourceID(ctx, client, osres) - if qerr != nil { - return qerr - } - switch mut := mut.(type) { - case *ent.InstanceResourceMutation: - mut.SetDesiredOsID(osID) - default: - zlog.InfraSec().InfraError("unknown mutation kind: %T", mut).Msgf("") - return errors.Errorfc(codes.InvalidArgument, "unknown mutation kind: %T", mut) - } - return nil -} - -func setEdgeCurrentOSIDForMut( - ctx context.Context, client *ent.Client, mut ent.Mutation, osres *osv1.OperatingSystemResource, -) error { - if osres == nil { - return nil - } - osID, qerr := getOSIDFromResourceID(ctx, client, osres) - if qerr != nil { - return qerr - } - switch mut := mut.(type) { - case *ent.InstanceResourceMutation: - mut.SetCurrentOsID(osID) - default: - zlog.InfraSec().InfraError("unknown mutation kind: %T", mut).Msgf("") - return errors.Errorfc(codes.InvalidArgument, "unknown mutation kind: %T", mut) - } - return nil -} - func setEdgeOSIDForMut( ctx context.Context, client *ent.Client, mut ent.Mutation, osres *osv1.OperatingSystemResource, ) error { diff --git a/inventory/internal/store/timestamp_suite_test.go b/inventory/internal/store/timestamp_suite_test.go index 354916c1..fa1548c5 100644 --- a/inventory/internal/store/timestamp_suite_test.go +++ b/inventory/internal/store/timestamp_suite_test.go @@ -113,7 +113,7 @@ func (tts *TimestampTestSuite) TestUpdateTimestamps() { case "HostgpuResource", "HostnicResource", "HoststorageResource", "HostusbResource": fieldName = "device_name" case "OperatingSystemResource": - fieldName = "kernel_command" + fieldName = "installed_packages" default: fieldName = "name" } diff --git a/inventory/pkg/api/compute/v1/compute.pb.go b/inventory/pkg/api/compute/v1/compute.pb.go index 0eae315b..06271ab7 100644 --- a/inventory/pkg/api/compute/v1/compute.pb.go +++ b/inventory/pkg/api/compute/v1/compute.pb.go @@ -2006,8 +2006,6 @@ type InstanceResource struct { VmCpuCores uint32 `protobuf:"varint,7,opt,name=vm_cpu_cores,json=vmCpuCores,proto3" json:"vm_cpu_cores,omitempty"` // Number of CPU cores. Only applicable to VM instances. VmStorageBytes uint64 `protobuf:"varint,8,opt,name=vm_storage_bytes,json=vmStorageBytes,proto3" json:"vm_storage_bytes,omitempty"` // Storage quantity (primary), in bytes. Only applicable to VM instances. Host *HostResource `protobuf:"bytes,9,opt,name=host,proto3" json:"host,omitempty"` // Host this Instance is placed on. Only applicable to baremetal instances. - DesiredOs *v13.OperatingSystemResource `protobuf:"bytes,11,opt,name=desired_os,json=desiredOs,proto3" json:"desired_os,omitempty"` // Deprecated, use OSUpdatePolicy for driving day2, and os for day0 operations instead. OS resource that should be installed to this Instance. - CurrentOs *v13.OperatingSystemResource `protobuf:"bytes,25,opt,name=current_os,json=currentOs,proto3" json:"current_os,omitempty"` // Deprecated, use os field instead. OS resource that is currently installed for this Instance. Os *v13.OperatingSystemResource `protobuf:"bytes,12,opt,name=os,proto3" json:"os,omitempty"` // OS resource that is installed for this Instance. SecurityFeature v13.SecurityFeature `protobuf:"varint,14,opt,name=security_feature,json=securityFeature,proto3,enum=os.v1.SecurityFeature" json:"security_feature,omitempty"` // Select to enable security features such as Secure Boot (SB) and Full Disk Encryption (FDE). // A group of fields describing the Instance runtime status. instance_status, instance_status_indicator and @@ -2028,7 +2026,6 @@ type InstanceResource struct { UpdateStatus string `protobuf:"bytes,21,opt,name=update_status,json=updateStatus,proto3" json:"update_status,omitempty"` // textual message that describes the update status of Instance. Set by RMs only. UpdateStatusIndicator v12.StatusIndication `protobuf:"varint,22,opt,name=update_status_indicator,json=updateStatusIndicator,proto3,enum=status.v1.StatusIndication" json:"update_status_indicator,omitempty"` // Indicates interpretation of update_status. Set by RMs only. UpdateStatusTimestamp uint64 `protobuf:"varint,23,opt,name=update_status_timestamp,json=updateStatusTimestamp,proto3" json:"update_status_timestamp,omitempty"` // UTC timestamp when update_status was last changed. Set by RMs only. - UpdateStatusDetail string `protobuf:"bytes,24,opt,name=update_status_detail,json=updateStatusDetail,proto3" json:"update_status_detail,omitempty"` // Deprecated, will be removed in EMF v3.2.0, use OSUpdateRun instead. JSON field storing details of Instance update status. Set by RMs only. Beta, subject to change. // A group of fields describing the Instance trusted_attestation status. // trusted_attestation_status, trusted_attestation_status_indicator and // trusted_attestation_status_timestamp should always be updated in one shot. @@ -2145,20 +2142,6 @@ func (x *InstanceResource) GetHost() *HostResource { return nil } -func (x *InstanceResource) GetDesiredOs() *v13.OperatingSystemResource { - if x != nil { - return x.DesiredOs - } - return nil -} - -func (x *InstanceResource) GetCurrentOs() *v13.OperatingSystemResource { - if x != nil { - return x.CurrentOs - } - return nil -} - func (x *InstanceResource) GetOs() *v13.OperatingSystemResource { if x != nil { return x.Os @@ -2236,13 +2219,6 @@ func (x *InstanceResource) GetUpdateStatusTimestamp() uint64 { return 0 } -func (x *InstanceResource) GetUpdateStatusDetail() string { - if x != nil { - return x.UpdateStatusDetail - } - return "" -} - func (x *InstanceResource) GetTrustedAttestationStatus() string { if x != nil { return x.TrustedAttestationStatus @@ -2588,9 +2564,7 @@ type OSUpdatePolicyResource struct { ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` // resource ID, generated by inventory on Create Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // User-provided, human-readable name of OSUpdatePolicy Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` - InstallPackages string `protobuf:"bytes,4,opt,name=install_packages,json=installPackages,proto3" json:"install_packages,omitempty"` // Deprecated, use update_packages field instead. Freeform text, OS-dependent. A list of package names, one per line (newline separated). Should not contain version info. Applies only to Mutable OSes. UpdateSources []string `protobuf:"bytes,5,rep,name=update_sources,json=updateSources,proto3" json:"update_sources,omitempty"` // OS Update Sources. Should be in 'DEB822 Source Format' for Debian style OSs. Applies only to Mutable OSes. - KernelCommand string `protobuf:"bytes,6,opt,name=kernel_command,json=kernelCommand,proto3" json:"kernel_command,omitempty"` // Deprecated, use update_kernel_command field instead. Kernel Command Line Options. Applies only to Mutable OSes. UpdatePackages string `protobuf:"bytes,7,opt,name=update_packages,json=updatePackages,proto3" json:"update_packages,omitempty"` // Freeform text, OS-dependent. A list of package names, one per line (newline separated). Should not contain version info. Applies only to Mutable OSes. UpdateKernelCommand string `protobuf:"bytes,8,opt,name=update_kernel_command,json=updateKernelCommand,proto3" json:"update_kernel_command,omitempty"` // Kernel Command Line Options. Applies only to Mutable OSes. TargetOs *v13.OperatingSystemResource `protobuf:"bytes,50,opt,name=target_os,json=targetOs,proto3" json:"target_os,omitempty"` // OS resource that should be installed to this Instance. Applies only to Immutable OSes for A/B upgrades. The field is immutable. @@ -2653,13 +2627,6 @@ func (x *OSUpdatePolicyResource) GetDescription() string { return "" } -func (x *OSUpdatePolicyResource) GetInstallPackages() string { - if x != nil { - return x.InstallPackages - } - return "" -} - func (x *OSUpdatePolicyResource) GetUpdateSources() []string { if x != nil { return x.UpdateSources @@ -2667,13 +2634,6 @@ func (x *OSUpdatePolicyResource) GetUpdateSources() []string { return nil } -func (x *OSUpdatePolicyResource) GetKernelCommand() string { - if x != nil { - return x.KernelCommand - } - return "" -} - func (x *OSUpdatePolicyResource) GetUpdatePackages() string { if x != nil { return x.UpdatePackages @@ -3433,7 +3393,7 @@ var file_compute_v1_compute_proto_rawDesc = []byte{ 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x19, 0xb2, 0xf9, 0x03, 0x0f, 0x0a, 0x0d, 0x12, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x00, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x22, 0xca, 0x16, 0x0a, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x00, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x22, 0xf2, 0x14, 0x0a, 0x10, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x24, 0xba, 0x48, 0x1b, 0xd8, 0x01, 0x01, 0x72, 0x16, @@ -3465,294 +3425,132 @@ var file_compute_v1_compute_proto_rawDesc = []byte{ 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, - 0xc2, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x47, 0x0a, 0x0a, - 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x6f, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x6f, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x42, 0x08, 0xc2, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x18, 0x01, 0x52, 0x09, 0x64, 0x65, 0x73, 0x69, - 0x72, 0x65, 0x64, 0x4f, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x5f, 0x6f, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x73, 0x74, 0x65, - 0x6d, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xc2, 0xa6, 0x49, 0x04, 0x08, - 0x01, 0x18, 0x00, 0x52, 0x09, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4f, 0x73, 0x12, 0x38, - 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xc2, 0xa6, 0x49, 0x04, - 0x08, 0x01, 0x18, 0x00, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x4b, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6f, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, - 0x08, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3a, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x11, - 0xba, 0x48, 0x08, 0xd8, 0x01, 0x01, 0x72, 0x03, 0x28, 0x80, 0x08, 0xba, 0xa6, 0x49, 0x02, 0x08, - 0x01, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x5f, 0x0a, 0x19, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x17, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x42, 0x0a, 0x19, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x17, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x42, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, - 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x12, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x11, 0xba, 0x48, 0x08, 0xd8, 0x01, 0x01, 0x72, 0x03, 0x28, 0x80, 0x08, - 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, - 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x67, 0x0a, 0x1d, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, + 0xc2, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x02, + 0x6f, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xc2, 0xa6, 0x49, 0x04, 0x08, 0x01, + 0x18, 0x01, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x4b, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x16, 0x2e, 0x6f, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, + 0x28, 0x01, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x12, 0x3a, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x11, 0xba, 0x48, + 0x08, 0xd8, 0x01, 0x01, 0x72, 0x03, 0x28, 0x80, 0x08, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, + 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x5f, 0x0a, 0x19, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x17, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x42, 0x0a, 0x19, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x04, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x17, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x12, 0x42, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x11, 0xba, 0x48, 0x08, 0xd8, 0x01, 0x01, 0x72, 0x03, 0x28, 0x80, 0x08, 0xba, 0xa6, + 0x49, 0x02, 0x08, 0x01, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, + 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x67, 0x0a, 0x1d, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, + 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1b, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0xba, 0xa6, + 0x49, 0x02, 0x08, 0x01, 0x52, 0x1b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, + 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x4a, 0x0a, 0x1d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, + 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0x14, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, + 0x52, 0x1b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, + 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x15, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x11, 0xba, 0x48, 0x08, 0xd8, 0x01, 0x01, 0x72, 0x03, 0x28, 0x80, + 0x08, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x5b, 0x0a, 0x17, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x15, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x3e, 0x0a, 0x17, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x17, 0x20, + 0x01, 0x28, 0x04, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x15, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x12, 0x4f, 0x0a, 0x1a, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x11, 0xba, 0x48, 0x08, 0xd8, 0x01, 0x01, 0x72, 0x03, + 0x28, 0x80, 0x08, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x18, 0x74, 0x72, 0x75, 0x73, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x74, 0x0a, 0x24, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, - 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x1b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, - 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x4a, 0x0a, 0x1d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, - 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x14, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, - 0x08, 0x01, 0x52, 0x1b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x36, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x42, 0x11, 0xba, 0x48, 0x08, 0xd8, 0x01, 0x01, 0x72, 0x03, - 0x28, 0x80, 0x08, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x5b, 0x0a, 0x17, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x15, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x3e, 0x0a, 0x17, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0x17, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x15, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x44, 0x0a, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x18, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x12, 0xba, 0x48, 0x09, 0xd8, 0x01, 0x01, 0x72, 0x04, 0x28, 0xa0, 0x8d, 0x06, - 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x12, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x4f, 0x0a, 0x1a, 0x74, 0x72, - 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x11, - 0xba, 0x48, 0x08, 0xd8, 0x01, 0x01, 0x72, 0x03, 0x28, 0x80, 0x08, 0xba, 0xa6, 0x49, 0x02, 0x08, - 0x01, 0x52, 0x18, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x74, 0x0a, 0x24, 0x74, - 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x21, - 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x57, 0x0a, 0x24, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, - 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x04, 0x42, - 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x21, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x55, 0x0a, 0x10, 0x77, 0x6f, - 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x1e, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x42, 0x0e, 0xc2, 0xa6, 0x49, 0x0a, 0x12, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x12, 0x41, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x28, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x42, 0x06, 0xc2, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, - 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x42, 0x06, 0xc2, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x6e, 0x0a, 0x0d, 0x65, 0x78, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x76, 0x65, 0x73, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x49, - 0xba, 0x48, 0x40, 0xd8, 0x01, 0x01, 0x72, 0x3b, 0x18, 0xa0, 0xc2, 0x1e, 0x32, 0x35, 0x5e, 0x24, + 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x21, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x57, 0x0a, 0x24, 0x74, 0x72, 0x75, + 0x73, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x04, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, + 0x21, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x12, 0x55, 0x0a, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, + 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x0e, 0xc2, 0xa6, 0x49, 0x0a, 0x12, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x0f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, + 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x08, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xc2, 0xa6, 0x49, 0x02, + 0x08, 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0c, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x29, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0xc2, 0xa6, 0x49, 0x02, 0x08, + 0x01, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x6e, 0x0a, 0x0d, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x76, 0x65, 0x73, + 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x49, 0xba, 0x48, 0x40, 0xd8, 0x01, 0x01, 0x72, 0x3b, + 0x18, 0xa0, 0xc2, 0x1e, 0x32, 0x35, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, + 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, 0x2f, 0x3a, 0x3b, 0x3d, 0x40, 0x3f, 0x21, 0x23, 0x2c, + 0x3c, 0x3e, 0x2a, 0x2b, 0x7e, 0x28, 0x29, 0x22, 0x5c, 0x5c, 0xc3, 0x80, 0x2d, 0xc3, 0xbf, 0x20, + 0x5c, 0x6e, 0x7b, 0x7d, 0x5c, 0x5b, 0x5c, 0x5d, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x02, 0x08, + 0x01, 0x52, 0x0c, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x76, 0x65, 0x73, 0x12, + 0x56, 0x0a, 0x10, 0x6f, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x53, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xc2, + 0xa6, 0x49, 0x04, 0x08, 0x01, 0x18, 0x00, 0x52, 0x0e, 0x6f, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x6c, 0x0a, 0x10, 0x72, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x33, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x41, 0xba, 0x48, 0x38, 0x72, 0x36, 0x18, 0xa0, 0xc2, 0x1e, 0x32, 0x30, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, 0x2f, 0x3a, 0x3b, 0x3d, 0x40, 0x3f, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x2b, 0x7e, 0x28, 0x29, 0x22, - 0x5c, 0x5c, 0xc3, 0x80, 0x2d, 0xc3, 0xbf, 0x20, 0x5c, 0x6e, 0x7b, 0x7d, 0x5c, 0x5b, 0x5c, 0x5d, - 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x0c, 0x65, 0x78, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x67, 0x43, 0x76, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x10, 0x6f, 0x73, 0x5f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x2b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x53, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xc2, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x18, 0x00, 0x52, - 0x0e, 0x6f, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x6c, 0x0a, 0x10, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x73, 0x18, 0x33, 0x20, 0x01, 0x28, 0x09, 0x42, 0x41, 0xba, 0x48, 0x38, 0x72, 0x36, - 0x18, 0xa0, 0xc2, 0x1e, 0x32, 0x30, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, - 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, 0x2f, 0x3a, 0x3b, 0x3d, 0x40, 0x3f, 0x21, 0x23, 0x2c, - 0x3c, 0x3e, 0x2a, 0x2b, 0x7e, 0x28, 0x29, 0x22, 0x5c, 0x5c, 0x20, 0x5c, 0x6e, 0x7b, 0x7d, 0x5c, - 0x5b, 0x5c, 0x5d, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x0f, 0x72, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x68, 0x0a, - 0x13, 0x6f, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0xba, 0x48, 0x2f, 0x72, - 0x2d, 0x18, 0x90, 0x4e, 0x32, 0x28, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, - 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, 0x2f, 0x3a, 0x3b, 0x3d, 0x3f, 0x40, 0x21, 0x23, 0x2c, - 0x3c, 0x3e, 0x2a, 0x28, 0x29, 0x22, 0x5c, 0x5c, 0x20, 0x5c, 0x6e, 0x5d, 0x2b, 0x24, 0xba, 0xa6, - 0x49, 0x02, 0x08, 0x01, 0x52, 0x11, 0x6f, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x4b, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x35, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x42, 0x04, 0xc2, 0xa6, 0x49, 0x00, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0xba, 0x48, 0x0a, 0xd8, 0x01, 0x01, 0x72, - 0x05, 0x28, 0x24, 0xb0, 0x01, 0x01, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x00, 0x28, 0x01, 0x52, 0x08, - 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x6c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x18, 0x65, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xba, 0x48, 0x2d, 0xd8, 0x01, 0x01, - 0x72, 0x28, 0x18, 0x80, 0x08, 0x32, 0x23, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, - 0x2d, 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, 0x2f, 0x3a, 0x3b, 0x3d, 0x3f, 0x40, 0x21, 0x23, - 0x2c, 0x3c, 0x3e, 0x2a, 0x28, 0x29, 0x20, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, - 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0xa6, 0x49, - 0x1b, 0x08, 0x00, 0x28, 0x01, 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, - 0x73, 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x52, 0x09, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0xa6, - 0x49, 0x1b, 0x08, 0x00, 0x28, 0x00, 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, - 0x65, 0x73, 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x52, 0x09, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x19, 0xb2, 0xf9, 0x03, 0x0f, 0x0a, 0x0d, - 0x12, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x00, 0xba, 0xa6, 0x49, - 0x02, 0x08, 0x01, 0x4a, 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x22, 0xe9, 0x05, 0x0a, 0x10, 0x57, 0x6f, - 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x49, - 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x28, 0xba, 0x48, 0x1f, 0xd8, 0x01, 0x01, 0x72, 0x1a, 0x28, 0x11, 0x32, - 0x16, 0x5e, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, - 0x2d, 0x66, 0x5d, 0x7b, 0x38, 0x7d, 0x24, 0xba, 0xa6, 0x49, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x69, 0x6e, - 0x64, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x00, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, - 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xba, - 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x0b, 0x65, - 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x10, 0xba, 0x48, 0x07, 0xd8, 0x01, 0x01, 0x72, 0x02, 0x28, 0x28, 0xba, 0xa6, 0x49, 0x02, - 0x08, 0x01, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x46, - 0x0a, 0x0d, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x00, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, - 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, - 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, - 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x44, - 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, - 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x0e, 0xc2, 0xa6, 0x49, - 0x0a, 0x12, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x6d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0xba, 0x48, 0x0a, - 0xd8, 0x01, 0x01, 0x72, 0x05, 0x28, 0x24, 0xb0, 0x01, 0x01, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x00, - 0x28, 0x01, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x1f, 0xba, 0xa6, 0x49, 0x1b, 0x08, 0x00, 0x28, 0x01, 0x4a, 0x15, 0x0a, 0x08, 0x70, - 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, - 0x4d, 0x50, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3f, 0x0a, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0xc9, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x1f, 0xba, 0xa6, 0x49, 0x1b, 0x08, 0x00, 0x28, 0x00, 0x4a, 0x15, 0x0a, 0x08, - 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, - 0x41, 0x4d, 0x50, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x35, - 0xb2, 0xf9, 0x03, 0x2b, 0x0a, 0x1a, 0x12, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x5f, 0x69, 0x64, 0x12, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x0a, 0x0d, 0x12, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x00, 0xba, - 0xa6, 0x49, 0x02, 0x08, 0x01, 0x22, 0xe3, 0x03, 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, - 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xba, - 0x48, 0x25, 0xd8, 0x01, 0x01, 0x72, 0x20, 0x28, 0x17, 0x32, 0x1c, 0x5e, 0x77, 0x6f, 0x72, 0x6b, - 0x6c, 0x6f, 0x61, 0x64, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, - 0x2d, 0x66, 0x5d, 0x7b, 0x38, 0x7d, 0x24, 0xba, 0xa6, 0x49, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x00, 0x52, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x42, 0x0a, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, - 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xc2, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x18, 0x01, 0x52, - 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x42, 0x0a, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xc2, 0xa6, 0x49, 0x04, 0x08, - 0x01, 0x18, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, - 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x15, 0xba, 0x48, 0x0a, 0xd8, 0x01, 0x01, 0x72, 0x05, 0x28, 0x24, 0xb0, 0x01, 0x01, 0xba, - 0xa6, 0x49, 0x04, 0x08, 0x00, 0x28, 0x01, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, - 0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0xa6, 0x49, 0x1b, 0x08, 0x00, 0x28, 0x01, - 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, 0x49, - 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0xa6, 0x49, 0x1b, 0x08, 0x00, 0x28, - 0x00, 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, - 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x3a, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x22, 0xda, 0x08, 0x0a, 0x16, - 0x4f, 0x53, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xba, 0x48, 0x25, - 0xd8, 0x01, 0x01, 0x72, 0x20, 0x28, 0x17, 0x32, 0x1c, 0x5e, 0x6f, 0x73, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, - 0x5d, 0x7b, 0x38, 0x7d, 0x24, 0xba, 0xa6, 0x49, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xba, 0x48, 0x29, 0x72, 0x27, 0x28, 0x32, 0x32, 0x23, - 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, - 0x2e, 0x2f, 0x3a, 0x3b, 0x3d, 0x3f, 0x40, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x28, 0x29, 0x20, - 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x00, 0x28, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x57, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xba, 0x48, 0x2a, 0x72, 0x28, 0x28, 0xc8, 0x01, - 0x32, 0x23, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, - 0x2d, 0x39, 0x2e, 0x2f, 0x3a, 0x3b, 0x3d, 0x3f, 0x40, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x28, - 0x29, 0x20, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x00, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x64, 0x0a, 0x10, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, 0xba, 0x48, 0x2e, 0x72, 0x2c, 0x18, 0xa0, 0xc2, 0x1e, 0x32, - 0x26, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, 0x2d, - 0x39, 0x2e, 0x2f, 0x3a, 0x3b, 0x3d, 0x40, 0x3f, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x28, 0x29, - 0x22, 0x20, 0x5c, 0x0a, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, - 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, - 0x12, 0x69, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x42, 0xba, 0x48, 0x37, 0x92, 0x01, 0x34, - 0x08, 0x00, 0x10, 0x64, 0x22, 0x2e, 0x72, 0x2c, 0x28, 0x90, 0x4e, 0x32, 0x27, 0x5e, 0x24, 0x7c, - 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, 0x2f, 0x3a, - 0x3b, 0x3d, 0x40, 0x3f, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x2b, 0x28, 0x29, 0x22, 0x20, 0x5c, - 0x0a, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x0e, 0x6b, - 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x36, 0xba, 0x48, 0x2b, 0x72, 0x29, 0x18, 0xf4, 0x03, 0x32, 0x24, 0x5e, + 0x5c, 0x5c, 0x20, 0x5c, 0x6e, 0x7b, 0x7d, 0x5c, 0x5b, 0x5c, 0x5d, 0x5d, 0x2b, 0x24, 0xba, 0xa6, + 0x49, 0x02, 0x08, 0x01, 0x52, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x68, 0x0a, 0x13, 0x6f, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x34, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x38, 0xba, 0x48, 0x2f, 0x72, 0x2d, 0x18, 0x90, 0x4e, 0x32, 0x28, 0x5e, 0x24, + 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, 0x2f, + 0x3a, 0x3b, 0x3d, 0x3f, 0x40, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x28, 0x29, 0x22, 0x5c, 0x5c, + 0x20, 0x5c, 0x6e, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x11, 0x6f, 0x73, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x4b, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x35, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x04, 0xc2, 0xa6, 0x49, 0x00, 0x52, 0x0c, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x09, + 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x15, 0xba, 0x48, 0x0a, 0xd8, 0x01, 0x01, 0x72, 0x05, 0x28, 0x24, 0xb0, 0x01, 0x01, 0xba, 0xa6, + 0x49, 0x04, 0x08, 0x00, 0x28, 0x01, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x6c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x65, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x36, 0xba, 0x48, 0x2d, 0xd8, 0x01, 0x01, 0x72, 0x28, 0x18, 0x80, 0x08, 0x32, 0x23, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, - 0x2f, 0x3a, 0x3b, 0x3d, 0x40, 0x3f, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x28, 0x29, 0x22, 0x20, - 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x6b, 0x65, 0x72, - 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x62, 0x0a, 0x0f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x39, 0xba, 0x48, 0x2e, 0x72, 0x2c, 0x18, 0xa0, 0xc2, 0x1e, 0x32, 0x26, - 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, - 0x2e, 0x2f, 0x3a, 0x3b, 0x3d, 0x40, 0x3f, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x28, 0x29, 0x22, - 0x20, 0x5c, 0x0a, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0e, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x6a, - 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xba, - 0x48, 0x2b, 0x72, 0x29, 0x18, 0xf4, 0x03, 0x32, 0x24, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, - 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, 0x2f, 0x3a, 0x3b, 0x3d, 0x40, 0x3f, - 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x28, 0x29, 0x22, 0x20, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, - 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x72, - 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x45, 0x0a, 0x09, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6f, 0x73, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x6f, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xc2, - 0xa6, 0x49, 0x04, 0x08, 0x01, 0x18, 0x00, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4f, - 0x73, 0x12, 0x47, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x65, - 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0xba, - 0x48, 0x0a, 0xd8, 0x01, 0x01, 0x72, 0x05, 0x28, 0x24, 0xb0, 0x01, 0x01, 0xba, 0xa6, 0x49, 0x04, - 0x08, 0x00, 0x28, 0x01, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3f, + 0x2f, 0x3a, 0x3b, 0x3d, 0x3f, 0x40, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x28, 0x29, 0x20, 0x5d, + 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0xa6, 0x49, 0x1b, 0x08, 0x00, 0x28, 0x01, 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, @@ -3761,88 +3559,159 @@ var file_compute_v1_compute_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0xa6, 0x49, 0x1b, 0x08, 0x00, 0x28, 0x00, 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x3a, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x22, 0xae, 0x04, 0x0a, 0x14, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xba, 0x48, 0x23, 0xd8, 0x01, 0x01, 0x72, 0x1e, - 0x28, 0x15, 0x32, 0x1a, 0x5e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x5d, 0x7b, 0x38, 0x7d, 0x24, 0xba, 0xa6, - 0x49, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, - 0x12, 0x26, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x12, - 0xba, 0x48, 0x07, 0xd8, 0x01, 0x01, 0x72, 0x02, 0x28, 0x28, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x00, - 0x28, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x16, 0xba, 0x48, 0x0b, 0xd8, 0x01, 0x01, - 0x72, 0x06, 0x10, 0x01, 0x18, 0x80, 0x80, 0x01, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x00, 0x28, 0x01, - 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0xba, - 0x48, 0x0a, 0xd8, 0x01, 0x01, 0x72, 0x05, 0x10, 0x00, 0x18, 0x80, 0x02, 0xba, 0xa6, 0x49, 0x04, - 0x08, 0x01, 0x28, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x64, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0xba, 0x48, 0x0a, 0xd8, 0x01, 0x01, 0x72, 0x05, 0x28, 0x24, - 0xb0, 0x01, 0x01, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x00, 0x28, 0x01, 0x52, 0x08, 0x74, 0x65, 0x6e, - 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0xa6, 0x49, 0x1b, - 0x08, 0x00, 0x28, 0x01, 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, - 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0xa6, 0x49, - 0x1b, 0x08, 0x00, 0x28, 0x00, 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, - 0x73, 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x52, 0x09, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x50, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x18, 0xf4, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x13, 0xc2, 0xa6, 0x49, 0x0f, 0x12, - 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x3a, 0x2e, 0xb2, 0xf9, 0x03, 0x24, 0x0a, - 0x13, 0x12, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x0a, 0x0d, 0x12, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x00, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x22, 0x96, 0x07, 0x0a, 0x13, 0x4f, 0x53, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xba, 0x48, 0x22, 0xd8, 0x01, 0x01, 0x72, 0x1d, - 0x28, 0x14, 0x32, 0x19, 0x5e, 0x6f, 0x73, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x75, 0x6e, + 0x3a, 0x19, 0xb2, 0xf9, 0x03, 0x0f, 0x0a, 0x0d, 0x12, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x00, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x4a, 0x04, 0x08, 0x0a, 0x10, + 0x0b, 0x22, 0xe9, 0x05, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xba, 0x48, 0x1f, + 0xd8, 0x01, 0x01, 0x72, 0x1a, 0x28, 0x11, 0x32, 0x16, 0x5e, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, + 0x61, 0x64, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x5d, 0x7b, 0x38, 0x7d, 0x24, 0xba, + 0xa6, 0x49, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x64, 0x12, 0x34, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x18, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, + 0x00, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, + 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0xba, 0x48, 0x07, 0xd8, 0x01, 0x01, + 0x72, 0x02, 0x28, 0x28, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x0d, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, + 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, + 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x00, + 0x52, 0x0c, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x46, + 0x0a, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x44, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x42, 0x0e, 0xc2, 0xa6, 0x49, 0x0a, 0x12, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x6c, + 0x6f, 0x61, 0x64, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, + 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x32, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x15, 0xba, 0x48, 0x0a, 0xd8, 0x01, 0x01, 0x72, 0x05, 0x28, 0x24, 0xb0, + 0x01, 0x01, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x00, 0x28, 0x01, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0xa6, 0x49, 0x1b, 0x08, + 0x00, 0x28, 0x01, 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, + 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0xa6, 0x49, 0x1b, + 0x08, 0x00, 0x28, 0x00, 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, + 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x35, 0xb2, 0xf9, 0x03, 0x2b, 0x0a, 0x1a, 0x12, 0x0b, + 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x12, 0x09, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x0a, 0x0d, 0x12, 0x09, 0x74, 0x65, 0x6e, 0x61, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x00, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x22, 0xe3, 0x03, + 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x4f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2e, 0xba, 0x48, 0x25, 0xd8, 0x01, 0x01, 0x72, 0x20, 0x28, + 0x17, 0x32, 0x1c, 0x5e, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x5d, 0x7b, 0x38, 0x7d, 0x24, 0xba, + 0xa6, 0x49, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x64, 0x12, 0x3a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x42, + 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x00, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x42, 0x0a, + 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x6f, 0x72, + 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xc2, + 0xa6, 0x49, 0x04, 0x08, 0x01, 0x18, 0x01, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0x42, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x42, 0x08, 0xc2, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x18, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0xba, 0x48, 0x0a, 0xd8, 0x01, 0x01, + 0x72, 0x05, 0x28, 0x24, 0xb0, 0x01, 0x01, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x00, 0x28, 0x01, 0x52, + 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, + 0xba, 0xa6, 0x49, 0x1b, 0x08, 0x00, 0x28, 0x01, 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, + 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x1f, 0xba, 0xa6, 0x49, 0x1b, 0x08, 0x00, 0x28, 0x00, 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, + 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, + 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x06, 0xba, 0xa6, 0x49, + 0x02, 0x08, 0x01, 0x22, 0x95, 0x07, 0x0a, 0x16, 0x4f, 0x53, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, + 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x2e, 0xba, 0x48, 0x25, 0xd8, 0x01, 0x01, 0x72, 0x20, 0x28, 0x17, 0x32, + 0x1c, 0x5e, 0x6f, 0x73, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x5d, 0x7b, 0x38, 0x7d, 0x24, 0xba, 0xa6, 0x49, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0xba, - 0x48, 0x29, 0x72, 0x27, 0x28, 0x28, 0x32, 0x23, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, + 0x48, 0x29, 0x72, 0x27, 0x28, 0x32, 0x32, 0x23, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, 0x2f, 0x3a, 0x3b, 0x3d, 0x3f, 0x40, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x28, 0x29, 0x20, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x04, 0x08, - 0x01, 0x28, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x00, 0x28, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0xba, 0x48, 0x2a, 0x72, 0x28, 0x28, 0xc8, 0x01, 0x32, 0x23, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, 0x2f, 0x3a, 0x3b, 0x3d, 0x3f, 0x40, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x28, 0x29, 0x20, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, - 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x53, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, - 0xc2, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x18, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, - 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x42, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xc2, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x18, - 0x01, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x10, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x00, 0x28, 0x00, 0x52, 0x0f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0xba, - 0x48, 0x05, 0x72, 0x03, 0x18, 0x80, 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x00, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x38, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x11, 0xba, 0x48, 0x06, 0x72, 0x04, 0x18, 0xa0, 0x8d, 0x06, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, - 0x28, 0x00, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x12, 0x33, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x42, 0x08, 0xba, 0xa6, 0x49, - 0x04, 0x08, 0x00, 0x28, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, - 0x08, 0x00, 0x28, 0x01, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x23, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x04, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x00, 0x52, 0x07, 0x65, 0x6e, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, + 0x04, 0x08, 0x01, 0x28, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x42, 0xba, 0x48, 0x37, 0x92, + 0x01, 0x34, 0x08, 0x00, 0x10, 0x64, 0x22, 0x2e, 0x72, 0x2c, 0x28, 0x90, 0x4e, 0x32, 0x27, 0x5e, + 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, + 0x2f, 0x3a, 0x3b, 0x3d, 0x40, 0x3f, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x2b, 0x28, 0x29, 0x22, + 0x20, 0x5c, 0x0a, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0d, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x62, 0x0a, + 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, 0xba, 0x48, 0x2e, 0x72, 0x2c, 0x18, 0xa0, 0xc2, + 0x1e, 0x32, 0x26, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, + 0x30, 0x2d, 0x39, 0x2e, 0x2f, 0x3a, 0x3b, 0x3d, 0x40, 0x3f, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, + 0x28, 0x29, 0x22, 0x20, 0x5c, 0x0a, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, + 0x01, 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x73, 0x12, 0x6a, 0x0a, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x72, 0x6e, + 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x36, 0xba, 0x48, 0x2b, 0x72, 0x29, 0x18, 0xf4, 0x03, 0x32, 0x24, 0x5e, 0x24, 0x7c, 0x5e, + 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, 0x2f, 0x3a, 0x3b, + 0x3d, 0x40, 0x3f, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x28, 0x29, 0x22, 0x20, 0x5d, 0x2b, 0x24, + 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x45, 0x0a, + 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6f, 0x73, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x6f, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x42, 0x08, 0xc2, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x18, 0x00, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x4f, 0x73, 0x12, 0x47, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, + 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x32, 0x0a, + 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x15, 0xba, 0x48, 0x0a, 0xd8, 0x01, 0x01, 0x72, 0x05, 0x28, 0x24, 0xb0, 0x01, 0x01, 0xba, + 0xa6, 0x49, 0x04, 0x08, 0x00, 0x28, 0x01, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, + 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0xa6, 0x49, 0x1b, 0x08, 0x00, 0x28, 0x01, + 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, 0x49, + 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0xa6, 0x49, 0x1b, 0x08, 0x00, 0x28, + 0x00, 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, + 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x3a, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x22, 0xae, 0x04, 0x0a, 0x14, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0xba, 0x48, 0x23, 0xd8, 0x01, + 0x01, 0x72, 0x1e, 0x28, 0x15, 0x32, 0x1a, 0x5e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x5d, 0x7b, 0x38, 0x7d, + 0x24, 0xba, 0xa6, 0x49, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x12, 0xba, 0x48, 0x07, 0xd8, 0x01, 0x01, 0x72, 0x02, 0x28, 0x28, 0xba, 0xa6, 0x49, + 0x04, 0x08, 0x00, 0x28, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x16, 0xba, 0x48, 0x0b, + 0xd8, 0x01, 0x01, 0x72, 0x06, 0x10, 0x01, 0x18, 0x80, 0x80, 0x01, 0xba, 0xa6, 0x49, 0x04, 0x08, + 0x00, 0x28, 0x01, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x15, 0xba, 0x48, 0x0a, 0xd8, 0x01, 0x01, 0x72, 0x05, 0x10, 0x00, 0x18, 0x80, 0x02, 0xba, + 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0xba, 0x48, 0x0a, 0xd8, 0x01, 0x01, 0x72, 0x05, 0x28, 0x24, 0xb0, 0x01, 0x01, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x00, 0x28, 0x01, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, @@ -3853,133 +3722,198 @@ var file_compute_v1_compute_proto_rawDesc = []byte{ 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0xa6, 0x49, 0x1b, 0x08, 0x00, 0x28, 0x00, 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x52, - 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x06, 0xba, 0xa6, 0x49, 0x02, - 0x08, 0x01, 0x2a, 0x94, 0x01, 0x0a, 0x09, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x1a, 0x0a, 0x16, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, - 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, - 0x45, 0x44, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x42, 0x4f, 0x41, 0x52, 0x44, 0x45, 0x44, 0x10, 0x03, 0x12, 0x18, - 0x0a, 0x14, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x54, - 0x52, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x48, 0x4f, 0x53, 0x54, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, 0x45, 0x52, 0x45, - 0x44, 0x10, 0x05, 0x22, 0x04, 0x08, 0x01, 0x10, 0x01, 0x2a, 0xdc, 0x01, 0x0a, 0x0a, 0x50, 0x6f, - 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, 0x57, 0x45, - 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x4f, 0x57, - 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0x03, 0x12, 0x15, - 0x0a, 0x11, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x4c, - 0x45, 0x45, 0x50, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x48, 0x49, 0x42, 0x45, 0x52, 0x4e, 0x41, 0x54, 0x45, 0x10, 0x05, - 0x12, 0x15, 0x0a, 0x11, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, 0x57, 0x45, 0x52, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x43, 0x59, 0x43, - 0x4c, 0x45, 0x10, 0x07, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, - 0x10, 0x08, 0x22, 0x04, 0x08, 0x01, 0x10, 0x01, 0x2a, 0x80, 0x01, 0x0a, 0x12, 0x50, 0x6f, 0x77, - 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x24, 0x0a, 0x20, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, - 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x43, - 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x49, 0x4d, - 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x4f, 0x57, - 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, - 0x59, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x45, 0x44, 0x10, 0x02, 0x2a, 0xd3, 0x01, 0x0a, 0x17, - 0x42, 0x61, 0x72, 0x65, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x25, 0x42, 0x41, 0x52, 0x45, 0x4d, - 0x45, 0x54, 0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, 0x45, 0x52, 0x5f, - 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x41, 0x52, 0x45, 0x4d, 0x45, 0x54, 0x41, 0x4c, 0x5f, - 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, - 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x41, 0x52, 0x45, 0x4d, 0x45, - 0x54, 0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x4b, - 0x49, 0x4e, 0x44, 0x5f, 0x49, 0x50, 0x4d, 0x49, 0x10, 0x02, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x41, + 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x50, 0x0a, 0x09, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xf4, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x13, 0xc2, 0xa6, + 0x49, 0x0f, 0x12, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x3a, 0x2e, 0xb2, 0xf9, + 0x03, 0x24, 0x0a, 0x13, 0x12, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x09, 0x74, 0x65, 0x6e, 0x61, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x0a, 0x0d, 0x12, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x00, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x22, 0x96, 0x07, 0x0a, + 0x13, 0x4f, 0x53, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xba, 0x48, 0x22, 0xd8, 0x01, + 0x01, 0x72, 0x1d, 0x28, 0x14, 0x32, 0x19, 0x5e, 0x6f, 0x73, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x72, 0x75, 0x6e, 0x2d, 0x5b, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x66, 0x5d, 0x7b, 0x38, 0x7d, 0x24, + 0xba, 0xa6, 0x49, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x49, 0x64, 0x12, 0x48, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x34, 0xba, 0x48, 0x29, 0x72, 0x27, 0x28, 0x28, 0x32, 0x23, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, + 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, 0x2f, 0x3a, 0x3b, 0x3d, + 0x3f, 0x40, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x28, 0x29, 0x20, 0x5d, 0x2b, 0x24, 0xba, 0xa6, + 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x35, 0xba, 0x48, 0x2a, 0x72, 0x28, 0x28, 0xc8, 0x01, 0x32, 0x23, 0x5e, 0x24, 0x7c, + 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, 0x2f, 0x3a, + 0x3b, 0x3d, 0x3f, 0x40, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x28, 0x29, 0x20, 0x5d, 0x2b, 0x24, + 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x53, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x42, 0x08, 0xc2, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x18, 0x01, 0x52, 0x0d, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x42, 0x0a, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xc2, 0xa6, 0x49, 0x04, + 0x08, 0x01, 0x18, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x50, + 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x00, 0x28, 0x00, 0x52, + 0x0f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x28, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x10, 0xba, 0x48, 0x05, 0x72, 0x03, 0x18, 0x80, 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, + 0x28, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x38, 0x0a, 0x0e, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x11, 0xba, 0x48, 0x06, 0x72, 0x04, 0x18, 0xa0, 0x8d, 0x06, 0xba, 0xa6, 0x49, + 0x04, 0x08, 0x01, 0x28, 0x00, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x12, 0x33, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x42, 0x08, + 0xba, 0xa6, 0x49, 0x04, 0x08, 0x00, 0x28, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x42, 0x08, 0xba, + 0xa6, 0x49, 0x04, 0x08, 0x00, 0x28, 0x01, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x04, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x00, 0x52, 0x07, + 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0xba, 0x48, 0x0a, 0xd8, + 0x01, 0x01, 0x72, 0x05, 0x28, 0x24, 0xb0, 0x01, 0x01, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x00, 0x28, + 0x01, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x1f, 0xba, 0xa6, 0x49, 0x1b, 0x08, 0x00, 0x28, 0x01, 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, + 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, + 0x50, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3f, 0x0a, 0x0a, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0xc9, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x1f, 0xba, 0xa6, 0x49, 0x1b, 0x08, 0x00, 0x28, 0x00, 0x4a, 0x15, 0x0a, 0x08, 0x70, + 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, + 0x4d, 0x50, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x06, 0xba, + 0xa6, 0x49, 0x02, 0x08, 0x01, 0x2a, 0x94, 0x01, 0x0a, 0x09, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x16, 0x0a, 0x12, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, + 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x48, 0x4f, 0x53, 0x54, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x42, 0x4f, 0x41, 0x52, 0x44, 0x45, 0x44, 0x10, + 0x03, 0x12, 0x18, 0x0a, 0x14, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x55, 0x4e, 0x54, 0x52, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x48, + 0x4f, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x53, 0x54, + 0x45, 0x52, 0x45, 0x44, 0x10, 0x05, 0x22, 0x04, 0x08, 0x01, 0x10, 0x01, 0x2a, 0xdc, 0x01, 0x0a, + 0x0a, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x50, + 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x4f, 0x57, 0x45, + 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, + 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x10, + 0x03, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x53, 0x4c, 0x45, 0x45, 0x50, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4f, 0x57, 0x45, + 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x48, 0x49, 0x42, 0x45, 0x52, 0x4e, 0x41, 0x54, + 0x45, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, + 0x57, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, + 0x43, 0x59, 0x43, 0x4c, 0x45, 0x10, 0x07, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x4f, 0x57, 0x45, 0x52, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x54, 0x5f, 0x52, 0x45, 0x50, + 0x45, 0x41, 0x54, 0x10, 0x08, 0x22, 0x04, 0x08, 0x01, 0x10, 0x01, 0x2a, 0x80, 0x01, 0x0a, 0x12, + 0x50, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, + 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x4f, 0x57, 0x45, + 0x52, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, + 0x5f, 0x49, 0x4d, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, + 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x5f, 0x50, 0x4f, + 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x45, 0x44, 0x10, 0x02, 0x2a, 0xd3, + 0x01, 0x0a, 0x17, 0x42, 0x61, 0x72, 0x65, 0x6d, 0x65, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x29, 0x0a, 0x25, 0x42, 0x41, 0x52, 0x45, 0x4d, 0x45, 0x54, 0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, - 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x56, 0x50, 0x52, 0x4f, 0x10, 0x03, 0x12, 0x21, - 0x0a, 0x1d, 0x42, 0x41, 0x52, 0x45, 0x4d, 0x45, 0x54, 0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x54, - 0x52, 0x4f, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x50, 0x44, 0x55, 0x10, - 0x04, 0x2a, 0x79, 0x0a, 0x08, 0x41, 0x6d, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, - 0x15, 0x41, 0x4d, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x4d, 0x54, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, - 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x4d, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x55, 0x4e, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x02, - 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x4d, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x49, - 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x43, 0x0a, 0x06, - 0x41, 0x6d, 0x74, 0x53, 0x6b, 0x75, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4d, 0x54, 0x5f, 0x53, 0x4b, - 0x55, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x0f, 0x0a, 0x0b, 0x41, 0x4d, 0x54, 0x5f, 0x53, 0x4b, 0x55, 0x5f, 0x41, 0x4d, 0x54, 0x10, 0x01, - 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4d, 0x54, 0x5f, 0x53, 0x4b, 0x55, 0x5f, 0x49, 0x53, 0x4d, 0x10, - 0x02, 0x2a, 0x9d, 0x01, 0x0a, 0x12, 0x48, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x48, 0x4f, 0x53, 0x54, - 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, - 0x0a, 0x1a, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x20, - 0x0a, 0x1c, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x02, - 0x12, 0x1f, 0x0a, 0x1b, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, - 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, - 0x03, 0x2a, 0x95, 0x01, 0x0a, 0x19, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x2c, 0x0a, 0x28, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, - 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, - 0x1f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, - 0x43, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x50, - 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x49, 0x4e, - 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x2a, 0x85, 0x01, 0x0a, 0x0d, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x49, - 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, - 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x55, - 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x53, 0x54, 0x41, - 0x4e, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, - 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x54, 0x52, 0x55, 0x53, 0x54, 0x45, 0x44, 0x10, - 0x03, 0x2a, 0x5c, 0x0a, 0x0c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4b, 0x69, 0x6e, - 0x64, 0x12, 0x1d, 0x0a, 0x19, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4b, 0x49, - 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4b, 0x49, 0x4e, - 0x44, 0x5f, 0x56, 0x4d, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, - 0x43, 0x45, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x4c, 0x10, 0x02, 0x2a, - 0xa2, 0x01, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x54, + 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x41, 0x52, 0x45, 0x4d, 0x45, 0x54, + 0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x49, + 0x4e, 0x44, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x41, 0x52, + 0x45, 0x4d, 0x45, 0x54, 0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, 0x45, + 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x49, 0x50, 0x4d, 0x49, 0x10, 0x02, 0x12, 0x22, 0x0a, + 0x1e, 0x42, 0x41, 0x52, 0x45, 0x4d, 0x45, 0x54, 0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, + 0x4f, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x56, 0x50, 0x52, 0x4f, 0x10, + 0x03, 0x12, 0x21, 0x0a, 0x1d, 0x42, 0x41, 0x52, 0x45, 0x4d, 0x45, 0x54, 0x41, 0x4c, 0x5f, 0x43, + 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x50, + 0x44, 0x55, 0x10, 0x04, 0x2a, 0x79, 0x0a, 0x08, 0x41, 0x6d, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x19, 0x0a, 0x15, 0x41, 0x4d, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x41, + 0x4d, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, + 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x4d, 0x54, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, + 0x44, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x4d, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x2a, + 0x43, 0x0a, 0x06, 0x41, 0x6d, 0x74, 0x53, 0x6b, 0x75, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4d, 0x54, + 0x5f, 0x53, 0x4b, 0x55, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4d, 0x54, 0x5f, 0x53, 0x4b, 0x55, 0x5f, 0x41, 0x4d, + 0x54, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4d, 0x54, 0x5f, 0x53, 0x4b, 0x55, 0x5f, 0x49, + 0x53, 0x4d, 0x10, 0x02, 0x2a, 0x9d, 0x01, 0x0a, 0x12, 0x48, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x48, + 0x4f, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x18, 0x0a, 0x14, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x57, - 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, - 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x57, 0x4f, 0x52, 0x4b, - 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, - 0x45, 0x44, 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, - 0x45, 0x44, 0x10, 0x04, 0x2a, 0x60, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, - 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x19, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, + 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, + 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, + 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, + 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, + 0x44, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, + 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x58, 0x49, 0x53, + 0x54, 0x53, 0x10, 0x03, 0x2a, 0x95, 0x01, 0x0a, 0x19, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x28, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x49, 0x4e, + 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x23, 0x0a, 0x1f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x49, 0x4e, 0x54, 0x45, + 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x55, 0x50, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x2a, 0x85, 0x01, 0x0a, + 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, + 0x0a, 0x1a, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, + 0x0a, 0x16, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, + 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x4c, + 0x45, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, + 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x54, 0x52, 0x55, 0x53, 0x54, + 0x45, 0x44, 0x10, 0x03, 0x2a, 0x5c, 0x0a, 0x0c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x19, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, 0x5f, - 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x16, - 0x0a, 0x12, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, - 0x44, 0x48, 0x43, 0x50, 0x10, 0x02, 0x2a, 0x61, 0x0a, 0x12, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, - 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x20, - 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, - 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x4d, - 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, - 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x10, 0x01, 0x2a, 0x61, 0x0a, 0x0c, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x50, 0x44, - 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4c, 0x41, 0x54, 0x45, 0x53, 0x54, - 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x4c, - 0x49, 0x43, 0x59, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x10, 0x02, 0x42, 0x54, 0x5a, 0x52, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2d, - 0x65, 0x64, 0x67, 0x65, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x69, 0x6e, - 0x66, 0x72, 0x61, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, - 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, + 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x56, 0x4d, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x53, + 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x4c, + 0x10, 0x02, 0x2a, 0xa2, 0x01, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x1b, + 0x0a, 0x17, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x57, + 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, + 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x57, 0x4f, 0x52, 0x4b, 0x4c, + 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, + 0x49, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x04, 0x2a, 0x60, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, + 0x6f, 0x61, 0x64, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x19, 0x57, 0x4f, 0x52, 0x4b, 0x4c, + 0x4f, 0x41, 0x44, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, + 0x41, 0x44, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x43, 0x4c, 0x55, 0x53, 0x54, 0x45, 0x52, 0x10, + 0x01, 0x12, 0x16, 0x0a, 0x12, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x4b, 0x49, + 0x4e, 0x44, 0x5f, 0x44, 0x48, 0x43, 0x50, 0x10, 0x02, 0x2a, 0x61, 0x0a, 0x12, 0x57, 0x6f, 0x72, + 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x12, + 0x24, 0x0a, 0x20, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x4d, 0x45, 0x4d, 0x42, + 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x57, 0x4f, 0x52, 0x4b, 0x4c, 0x4f, 0x41, + 0x44, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x43, 0x4c, + 0x55, 0x53, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x10, 0x01, 0x2a, 0x61, 0x0a, 0x0c, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1d, 0x0a, 0x19, + 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x55, + 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4c, 0x41, 0x54, + 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, + 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x10, 0x02, 0x42, + 0x54, 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, + 0x65, 0x6e, 0x2d, 0x65, 0x64, 0x67, 0x65, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x69, 0x6e, 0x76, 0x65, + 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -4060,37 +3994,35 @@ var file_compute_v1_compute_proto_depIdxs = []int32{ 8, // 27: compute.v1.InstanceResource.desired_state:type_name -> compute.v1.InstanceState 8, // 28: compute.v1.InstanceResource.current_state:type_name -> compute.v1.InstanceState 14, // 29: compute.v1.InstanceResource.host:type_name -> compute.v1.HostResource - 28, // 30: compute.v1.InstanceResource.desired_os:type_name -> os.v1.OperatingSystemResource - 28, // 31: compute.v1.InstanceResource.current_os:type_name -> os.v1.OperatingSystemResource - 28, // 32: compute.v1.InstanceResource.os:type_name -> os.v1.OperatingSystemResource - 29, // 33: compute.v1.InstanceResource.security_feature:type_name -> os.v1.SecurityFeature - 27, // 34: compute.v1.InstanceResource.instance_status_indicator:type_name -> status.v1.StatusIndication - 27, // 35: compute.v1.InstanceResource.provisioning_status_indicator:type_name -> status.v1.StatusIndication - 27, // 36: compute.v1.InstanceResource.update_status_indicator:type_name -> status.v1.StatusIndication - 27, // 37: compute.v1.InstanceResource.trusted_attestation_status_indicator:type_name -> status.v1.StatusIndication - 21, // 38: compute.v1.InstanceResource.workload_members:type_name -> compute.v1.WorkloadMember - 26, // 39: compute.v1.InstanceResource.provider:type_name -> provider.v1.ProviderResource - 30, // 40: compute.v1.InstanceResource.localaccount:type_name -> localaccount.v1.LocalAccountResource - 22, // 41: compute.v1.InstanceResource.os_update_policy:type_name -> compute.v1.OSUpdatePolicyResource - 23, // 42: compute.v1.InstanceResource.custom_config:type_name -> compute.v1.CustomConfigResource - 11, // 43: compute.v1.WorkloadResource.kind:type_name -> compute.v1.WorkloadKind - 10, // 44: compute.v1.WorkloadResource.desired_state:type_name -> compute.v1.WorkloadState - 10, // 45: compute.v1.WorkloadResource.current_state:type_name -> compute.v1.WorkloadState - 21, // 46: compute.v1.WorkloadResource.members:type_name -> compute.v1.WorkloadMember - 12, // 47: compute.v1.WorkloadMember.kind:type_name -> compute.v1.WorkloadMemberKind - 20, // 48: compute.v1.WorkloadMember.workload:type_name -> compute.v1.WorkloadResource - 19, // 49: compute.v1.WorkloadMember.instance:type_name -> compute.v1.InstanceResource - 28, // 50: compute.v1.OSUpdatePolicyResource.target_os:type_name -> os.v1.OperatingSystemResource - 13, // 51: compute.v1.OSUpdatePolicyResource.update_policy:type_name -> compute.v1.UpdatePolicy - 19, // 52: compute.v1.CustomConfigResource.instances:type_name -> compute.v1.InstanceResource - 22, // 53: compute.v1.OSUpdateRunResource.applied_policy:type_name -> compute.v1.OSUpdatePolicyResource - 19, // 54: compute.v1.OSUpdateRunResource.instance:type_name -> compute.v1.InstanceResource - 27, // 55: compute.v1.OSUpdateRunResource.status_indicator:type_name -> status.v1.StatusIndication - 56, // [56:56] is the sub-list for method output_type - 56, // [56:56] is the sub-list for method input_type - 56, // [56:56] is the sub-list for extension type_name - 56, // [56:56] is the sub-list for extension extendee - 0, // [0:56] is the sub-list for field type_name + 28, // 30: compute.v1.InstanceResource.os:type_name -> os.v1.OperatingSystemResource + 29, // 31: compute.v1.InstanceResource.security_feature:type_name -> os.v1.SecurityFeature + 27, // 32: compute.v1.InstanceResource.instance_status_indicator:type_name -> status.v1.StatusIndication + 27, // 33: compute.v1.InstanceResource.provisioning_status_indicator:type_name -> status.v1.StatusIndication + 27, // 34: compute.v1.InstanceResource.update_status_indicator:type_name -> status.v1.StatusIndication + 27, // 35: compute.v1.InstanceResource.trusted_attestation_status_indicator:type_name -> status.v1.StatusIndication + 21, // 36: compute.v1.InstanceResource.workload_members:type_name -> compute.v1.WorkloadMember + 26, // 37: compute.v1.InstanceResource.provider:type_name -> provider.v1.ProviderResource + 30, // 38: compute.v1.InstanceResource.localaccount:type_name -> localaccount.v1.LocalAccountResource + 22, // 39: compute.v1.InstanceResource.os_update_policy:type_name -> compute.v1.OSUpdatePolicyResource + 23, // 40: compute.v1.InstanceResource.custom_config:type_name -> compute.v1.CustomConfigResource + 11, // 41: compute.v1.WorkloadResource.kind:type_name -> compute.v1.WorkloadKind + 10, // 42: compute.v1.WorkloadResource.desired_state:type_name -> compute.v1.WorkloadState + 10, // 43: compute.v1.WorkloadResource.current_state:type_name -> compute.v1.WorkloadState + 21, // 44: compute.v1.WorkloadResource.members:type_name -> compute.v1.WorkloadMember + 12, // 45: compute.v1.WorkloadMember.kind:type_name -> compute.v1.WorkloadMemberKind + 20, // 46: compute.v1.WorkloadMember.workload:type_name -> compute.v1.WorkloadResource + 19, // 47: compute.v1.WorkloadMember.instance:type_name -> compute.v1.InstanceResource + 28, // 48: compute.v1.OSUpdatePolicyResource.target_os:type_name -> os.v1.OperatingSystemResource + 13, // 49: compute.v1.OSUpdatePolicyResource.update_policy:type_name -> compute.v1.UpdatePolicy + 19, // 50: compute.v1.CustomConfigResource.instances:type_name -> compute.v1.InstanceResource + 22, // 51: compute.v1.OSUpdateRunResource.applied_policy:type_name -> compute.v1.OSUpdatePolicyResource + 19, // 52: compute.v1.OSUpdateRunResource.instance:type_name -> compute.v1.InstanceResource + 27, // 53: compute.v1.OSUpdateRunResource.status_indicator:type_name -> status.v1.StatusIndication + 54, // [54:54] is the sub-list for method output_type + 54, // [54:54] is the sub-list for method input_type + 54, // [54:54] is the sub-list for extension type_name + 54, // [54:54] is the sub-list for extension extendee + 0, // [0:54] is the sub-list for field type_name } func init() { file_compute_v1_compute_proto_init() } diff --git a/inventory/pkg/api/compute/v1/compute_constants.pb.go b/inventory/pkg/api/compute/v1/compute_constants.pb.go index 8de257bf..24aeaa40 100644 --- a/inventory/pkg/api/compute/v1/compute_constants.pb.go +++ b/inventory/pkg/api/compute/v1/compute_constants.pb.go @@ -151,8 +151,6 @@ const ( InstanceResourceFieldVmCpuCores = "vm_cpu_cores" InstanceResourceFieldVmStorageBytes = "vm_storage_bytes" InstanceResourceEdgeHost = "host" - InstanceResourceEdgeDesiredOs = "desired_os" - InstanceResourceEdgeCurrentOs = "current_os" InstanceResourceEdgeOs = "os" InstanceResourceFieldSecurityFeature = "security_feature" InstanceResourceFieldInstanceStatus = "instance_status" @@ -164,7 +162,6 @@ const ( InstanceResourceFieldUpdateStatus = "update_status" InstanceResourceFieldUpdateStatusIndicator = "update_status_indicator" InstanceResourceFieldUpdateStatusTimestamp = "update_status_timestamp" - InstanceResourceFieldUpdateStatusDetail = "update_status_detail" InstanceResourceFieldTrustedAttestationStatus = "trusted_attestation_status" InstanceResourceFieldTrustedAttestationStatusIndicator = "trusted_attestation_status_indicator" InstanceResourceFieldTrustedAttestationStatusTimestamp = "trusted_attestation_status_timestamp" @@ -208,9 +205,7 @@ const ( OSUpdatePolicyResourceFieldResourceId = "resource_id" OSUpdatePolicyResourceFieldName = "name" OSUpdatePolicyResourceFieldDescription = "description" - OSUpdatePolicyResourceFieldInstallPackages = "install_packages" OSUpdatePolicyResourceFieldUpdateSources = "update_sources" - OSUpdatePolicyResourceFieldKernelCommand = "kernel_command" OSUpdatePolicyResourceFieldUpdatePackages = "update_packages" OSUpdatePolicyResourceFieldUpdateKernelCommand = "update_kernel_command" OSUpdatePolicyResourceEdgeTargetOs = "target_os" diff --git a/inventory/pkg/api/os/v1/os.pb.go b/inventory/pkg/api/os/v1/os.pb.go index 7757667e..ae6793d6 100644 --- a/inventory/pkg/api/os/v1/os.pb.go +++ b/inventory/pkg/api/os/v1/os.pb.go @@ -184,17 +184,15 @@ type OperatingSystemResource struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` // Resource ID of this OperatingSystemResource - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // user-provided, human-readable name of OS - Architecture string `protobuf:"bytes,3,opt,name=architecture,proto3" json:"architecture,omitempty"` // CPU architecture supported - KernelCommand string `protobuf:"bytes,4,opt,name=kernel_command,json=kernelCommand,proto3" json:"kernel_command,omitempty"` // Kernel Command Line Options. Deprecated in EMF-v3.1, use OSUpdatePolicy. - UpdateSources []string `protobuf:"bytes,5,rep,name=update_sources,json=updateSources,proto3" json:"update_sources,omitempty"` // OS Update Sources. Should be in 'DEB822 Source Format' for Debian style OSs. Deprecated in EMF-v3.1, use OSUpdatePolicy. - ImageUrl string `protobuf:"bytes,6,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"` // OS image URL. URL of the original installation source. - ImageId string `protobuf:"bytes,13,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"` // OS image ID. This must be a unique identifier of OS image that can be retrieved from running OS. Used by IMMUTABLE only. - Sha256 string `protobuf:"bytes,7,opt,name=sha256,proto3" json:"sha256,omitempty"` // SHA256 checksum of the OS resource in HEX. It's length is 32 bytes, but string representation of HEX is twice long (64 chars) - ProfileName string `protobuf:"bytes,8,opt,name=profile_name,json=profileName,proto3" json:"profile_name,omitempty"` // Name of an OS profile that the OS resource belongs to. Uniquely identifies family of OSResources. - ProfileVersion string `protobuf:"bytes,12,opt,name=profile_version,json=profileVersion,proto3" json:"profile_version,omitempty"` // Version of an OS profile that the OS resource belongs to. Along with profile_name uniquely identifies OS resource. - InstalledPackages string `protobuf:"bytes,9,opt,name=installed_packages,json=installedPackages,proto3" json:"installed_packages,omitempty"` // Freeform text, OS-dependent. A list of package names, one per line (newline separated). Should not contain version info. Deprecated in EMF-v3.1, use OSUpdatePolicy. + ResourceId string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` // Resource ID of this OperatingSystemResource + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // user-provided, human-readable name of OS + Architecture string `protobuf:"bytes,3,opt,name=architecture,proto3" json:"architecture,omitempty"` // CPU architecture supported + ImageUrl string `protobuf:"bytes,6,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"` // OS image URL. URL of the original installation source. + ImageId string `protobuf:"bytes,13,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"` // OS image ID. This must be a unique identifier of OS image that can be retrieved from running OS. Used by IMMUTABLE only. + Sha256 string `protobuf:"bytes,7,opt,name=sha256,proto3" json:"sha256,omitempty"` // SHA256 checksum of the OS resource in HEX. It's length is 32 bytes, but string representation of HEX is twice long (64 chars) + ProfileName string `protobuf:"bytes,8,opt,name=profile_name,json=profileName,proto3" json:"profile_name,omitempty"` // Name of an OS profile that the OS resource belongs to. Uniquely identifies family of OSResources. + ProfileVersion string `protobuf:"bytes,12,opt,name=profile_version,json=profileVersion,proto3" json:"profile_version,omitempty"` // Version of an OS profile that the OS resource belongs to. Along with profile_name uniquely identifies OS resource. + InstalledPackages string `protobuf:"bytes,9,opt,name=installed_packages,json=installedPackages,proto3" json:"installed_packages,omitempty"` // Freeform text, OS-dependent. A list of installed package names, one per line (newline separated). Populated internally for immutable OS only. // The URL of the OS manifest which contains install packages details. This will be used to fill the installed_packages field // for the advance use case to allow manual creation of OSProfiles when supported from backend. InstalledPackagesUrl string `protobuf:"bytes,17,opt,name=installed_packages_url,json=installedPackagesUrl,proto3" json:"installed_packages_url,omitempty"` @@ -267,20 +265,6 @@ func (x *OperatingSystemResource) GetArchitecture() string { return "" } -func (x *OperatingSystemResource) GetKernelCommand() string { - if x != nil { - return x.KernelCommand - } - return "" -} - -func (x *OperatingSystemResource) GetUpdateSources() []string { - if x != nil { - return x.UpdateSources - } - return nil -} - func (x *OperatingSystemResource) GetImageUrl() string { if x != nil { return x.ImageUrl @@ -436,7 +420,7 @@ var file_os_v1_os_proto_rawDesc = []byte{ 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x65, 0x6e, 0x74, 0x2f, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x69, 0x6e, 0x76, 0x2f, 0x69, - 0x6e, 0x66, 0x72, 0x61, 0x69, 0x6e, 0x76, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x0d, + 0x6e, 0x66, 0x72, 0x61, 0x69, 0x6e, 0x76, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf1, 0x0c, 0x0a, 0x17, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, @@ -447,132 +431,125 @@ var file_os_v1_os_proto_rawDesc = []byte{ 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x2d, 0x0a, 0x0e, 0x6b, 0x65, 0x72, 0x6e, - 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x06, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x0d, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, - 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x3a, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, - 0x13, 0xba, 0x48, 0x0a, 0x92, 0x01, 0x07, 0x22, 0x05, 0x72, 0x03, 0x28, 0x90, 0x4e, 0xba, 0xa6, - 0x49, 0x02, 0x08, 0x01, 0x52, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, - 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x23, 0x0a, 0x08, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0xa6, - 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, - 0x38, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x20, 0xba, 0x48, 0x15, 0xd8, 0x01, 0x01, 0x72, 0x10, 0x32, 0x0b, 0x5e, 0x5b, 0x61, 0x2d, 0x66, - 0x30, 0x2d, 0x39, 0x5d, 0x2b, 0x24, 0xa0, 0x01, 0x40, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, - 0x01, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x2b, 0x0a, 0x0c, 0x70, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x12, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x00, 0x52, - 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x73, 0x12, 0x49, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x5f, - 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x13, 0xba, 0x48, 0x08, 0x72, 0x06, 0x18, 0xc8, 0x01, 0x90, 0x01, 0x01, 0xba, - 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x55, 0x72, 0x6c, 0x12, 0x4b, 0x0a, - 0x10, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6f, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, - 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x07, 0x6f, 0x73, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x6f, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, - 0x08, 0x01, 0x28, 0x01, 0x52, 0x06, 0x6f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x0b, - 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x15, 0x2e, 0x6f, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x73, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x00, - 0x28, 0x01, 0x52, 0x0a, 0x6f, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x31, - 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, - 0x01, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x12, 0x64, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x42, 0x42, 0xba, 0x48, 0x37, 0xd8, 0x01, 0x01, 0x72, 0x32, - 0x28, 0xe8, 0x07, 0x32, 0x2d, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, - 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, 0x3a, 0x3b, 0x3d, 0x40, 0x3f, 0x21, 0x23, 0x2c, 0x3c, 0x3e, - 0x2a, 0x28, 0x29, 0x7b, 0x7d, 0x26, 0x25, 0x24, 0x60, 0x5e, 0x5c, 0x2b, 0x5c, 0x2d, 0x20, 0x5d, - 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xba, 0x48, 0x2d, 0x72, 0x2b, - 0x18, 0xf4, 0x03, 0x32, 0x26, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, - 0x2c, 0x2e, 0x5c, 0x2d, 0x5f, 0x3a, 0x2f, 0x22, 0x5c, 0x5c, 0x20, 0x5c, 0x5c, 0x6e, 0x5c, 0x7b, - 0x5c, 0x7d, 0x5c, 0x5b, 0x5c, 0x5d, 0x5c, 0x2b, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x02, 0x08, - 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x75, 0x0a, 0x0b, 0x74, - 0x6c, 0x73, 0x5f, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x55, 0xba, 0x48, 0x4c, 0x72, 0x4a, 0x10, 0x00, 0x18, 0x90, 0x4e, 0x32, 0x43, 0x5e, 0x24, - 0x7c, 0x5e, 0x28, 0x3f, 0x3a, 0x5b, 0x41, 0x2d, 0x5a, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x2b, - 0x2f, 0x5d, 0x7b, 0x34, 0x7d, 0x29, 0x2a, 0x28, 0x3f, 0x3a, 0x5b, 0x41, 0x2d, 0x5a, 0x61, 0x2d, - 0x7a, 0x30, 0x2d, 0x39, 0x2b, 0x2f, 0x5d, 0x7b, 0x32, 0x7d, 0x3d, 0x3d, 0x7c, 0x5b, 0x41, 0x2d, - 0x5a, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x2b, 0x2f, 0x5d, 0x7b, 0x33, 0x7d, 0x3d, 0x29, 0x3f, - 0x24, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x09, 0x74, 0x6c, 0x73, 0x43, 0x61, 0x43, 0x65, - 0x72, 0x74, 0x12, 0x42, 0x0a, 0x11, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, - 0x76, 0x65, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x16, 0xba, - 0x48, 0x0b, 0xd8, 0x01, 0x01, 0x72, 0x06, 0x18, 0xf4, 0x03, 0x90, 0x01, 0x01, 0xba, 0xa6, 0x49, - 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x43, - 0x76, 0x65, 0x73, 0x55, 0x72, 0x6c, 0x12, 0x70, 0x0a, 0x0d, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x67, 0x5f, 0x63, 0x76, 0x65, 0x73, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x4b, 0xba, - 0x48, 0x42, 0xd8, 0x01, 0x01, 0x72, 0x3d, 0x18, 0xa0, 0xc2, 0x1e, 0x32, 0x37, 0x5e, 0x24, 0x7c, - 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, 0x2f, 0x3a, - 0x3b, 0x3d, 0x40, 0x3f, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x2b, 0x7e, 0x28, 0x29, 0x22, 0x5c, - 0x5c, 0xc3, 0x80, 0x2d, 0xc3, 0xbf, 0x20, 0x5c, 0x0a, 0x5c, 0x7b, 0x5c, 0x7d, 0x5c, 0x5b, 0x5c, - 0x5d, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x0c, 0x65, 0x78, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x67, 0x43, 0x76, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x0e, 0x66, 0x69, 0x78, 0x65, - 0x64, 0x5f, 0x63, 0x76, 0x65, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x16, 0xba, 0x48, 0x0b, 0xd8, 0x01, 0x01, 0x72, 0x06, 0x18, 0xf4, 0x03, 0x90, 0x01, 0x01, - 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x66, 0x69, 0x78, 0x65, 0x64, 0x43, - 0x76, 0x65, 0x73, 0x55, 0x72, 0x6c, 0x12, 0x5e, 0x0a, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, - 0x63, 0x76, 0x65, 0x73, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3f, 0xba, 0x48, 0x36, 0xd8, - 0x01, 0x01, 0x72, 0x31, 0x18, 0xa0, 0xc2, 0x1e, 0x32, 0x2b, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x5c, - 0x70, 0x7b, 0x4c, 0x7d, 0x5c, 0x70, 0x7b, 0x4e, 0x7d, 0x5c, 0x70, 0x7b, 0x50, 0x7d, 0x5c, 0x70, - 0x7b, 0x53, 0x7d, 0x5c, 0x70, 0x7b, 0x5a, 0x7d, 0x5c, 0x6e, 0x5c, 0x7b, 0x5c, 0x7d, 0x5c, 0x5b, - 0x5c, 0x5d, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x09, 0x66, 0x69, 0x78, - 0x65, 0x64, 0x43, 0x76, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0xba, 0x48, 0x0a, 0xd8, 0x01, - 0x01, 0x72, 0x05, 0x28, 0x24, 0xb0, 0x01, 0x01, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x00, 0x28, 0x01, - 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x1f, 0xba, 0xa6, 0x49, 0x1b, 0x08, 0x00, 0x28, 0x01, 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, - 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, - 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3f, 0x0a, 0x0a, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x1f, 0xba, 0xa6, 0x49, 0x1b, 0x08, 0x00, 0x28, 0x00, 0x4a, 0x15, 0x0a, 0x08, 0x70, 0x6f, - 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, 0x54, 0x41, 0x4d, - 0x50, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x3a, 0x2e, 0xb2, 0xf9, - 0x03, 0x24, 0x0a, 0x13, 0x12, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x09, 0x74, 0x65, 0x6e, 0x61, - 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x0a, 0x0d, 0x12, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x00, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x2a, 0x89, 0x01, 0x0a, - 0x0f, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x46, 0x45, 0x41, - 0x54, 0x55, 0x52, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x46, - 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x39, 0x0a, - 0x35, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, - 0x45, 0x5f, 0x53, 0x45, 0x43, 0x55, 0x52, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x5f, 0x41, 0x4e, - 0x44, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x44, 0x49, 0x53, 0x4b, 0x5f, 0x45, 0x4e, 0x43, 0x52, - 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x2a, 0x4d, 0x0a, 0x06, 0x4f, 0x73, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4f, - 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x55, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, - 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4d, 0x4d, 0x55, - 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x2a, 0x6b, 0x0a, 0x0e, 0x4f, 0x73, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x53, 0x5f, - 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4f, - 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, - 0x49, 0x4e, 0x46, 0x52, 0x41, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x4f, 0x53, 0x5f, 0x50, 0x52, - 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x4c, 0x45, 0x4e, 0x4f, - 0x56, 0x4f, 0x10, 0x02, 0x42, 0x4a, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2d, 0x65, 0x64, 0x67, 0x65, 0x2d, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2d, 0x63, 0x6f, 0x72, 0x65, - 0x2f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6b, - 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6f, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x6f, 0x73, 0x76, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0xa6, 0x49, + 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, + 0x23, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x07, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xba, 0x48, 0x15, 0xd8, 0x01, 0x01, 0x72, 0x10, 0x32, 0x0b, + 0x5e, 0x5b, 0x61, 0x2d, 0x66, 0x30, 0x2d, 0x39, 0x5d, 0x2b, 0x24, 0xa0, 0x01, 0x40, 0xba, 0xa6, + 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x2b, + 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0b, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x0f, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0e, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, + 0x0a, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, + 0x08, 0x01, 0x28, 0x00, 0x52, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x13, 0xba, 0x48, 0x08, 0x72, 0x06, 0x18, 0xc8, + 0x01, 0x90, 0x01, 0x01, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x14, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x55, + 0x72, 0x6c, 0x12, 0x4b, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6f, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x42, 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0f, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, + 0x30, 0x0a, 0x07, 0x6f, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x0d, 0x2e, 0x6f, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x42, + 0x08, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x06, 0x6f, 0x73, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6f, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x08, 0xba, + 0xa6, 0x49, 0x04, 0x08, 0x00, 0x28, 0x01, 0x52, 0x0a, 0x6f, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, + 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0xa6, + 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x64, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x42, 0x42, 0xba, 0x48, 0x37, + 0xd8, 0x01, 0x01, 0x72, 0x32, 0x28, 0xe8, 0x07, 0x32, 0x2d, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, + 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x2e, 0x3a, 0x3b, 0x3d, 0x40, 0x3f, + 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x28, 0x29, 0x7b, 0x7d, 0x26, 0x25, 0x24, 0x60, 0x5e, 0x5c, + 0x2b, 0x5c, 0x2d, 0x20, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, + 0xba, 0x48, 0x2d, 0x72, 0x2b, 0x18, 0xf4, 0x03, 0x32, 0x26, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, + 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x2c, 0x2e, 0x5c, 0x2d, 0x5f, 0x3a, 0x2f, 0x22, 0x5c, 0x5c, 0x20, + 0x5c, 0x5c, 0x6e, 0x5c, 0x7b, 0x5c, 0x7d, 0x5c, 0x5b, 0x5c, 0x5d, 0x5c, 0x2b, 0x5d, 0x2b, 0x24, + 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x75, 0x0a, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x09, 0x42, 0x55, 0xba, 0x48, 0x4c, 0x72, 0x4a, 0x10, 0x00, 0x18, 0x90, + 0x4e, 0x32, 0x43, 0x5e, 0x24, 0x7c, 0x5e, 0x28, 0x3f, 0x3a, 0x5b, 0x41, 0x2d, 0x5a, 0x61, 0x2d, + 0x7a, 0x30, 0x2d, 0x39, 0x2b, 0x2f, 0x5d, 0x7b, 0x34, 0x7d, 0x29, 0x2a, 0x28, 0x3f, 0x3a, 0x5b, + 0x41, 0x2d, 0x5a, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x2b, 0x2f, 0x5d, 0x7b, 0x32, 0x7d, 0x3d, + 0x3d, 0x7c, 0x5b, 0x41, 0x2d, 0x5a, 0x61, 0x2d, 0x7a, 0x30, 0x2d, 0x39, 0x2b, 0x2f, 0x5d, 0x7b, + 0x33, 0x7d, 0x3d, 0x29, 0x3f, 0x24, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, 0x09, 0x74, 0x6c, + 0x73, 0x43, 0x61, 0x43, 0x65, 0x72, 0x74, 0x12, 0x42, 0x0a, 0x11, 0x65, 0x78, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x76, 0x65, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x2a, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x16, 0xba, 0x48, 0x0b, 0xd8, 0x01, 0x01, 0x72, 0x06, 0x18, 0xf4, 0x03, 0x90, + 0x01, 0x01, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x65, 0x78, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x67, 0x43, 0x76, 0x65, 0x73, 0x55, 0x72, 0x6c, 0x12, 0x70, 0x0a, 0x0d, 0x65, + 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x76, 0x65, 0x73, 0x18, 0x2b, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x4b, 0xba, 0x48, 0x42, 0xd8, 0x01, 0x01, 0x72, 0x3d, 0x18, 0xa0, 0xc2, 0x1e, + 0x32, 0x37, 0x5e, 0x24, 0x7c, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x2d, 0x5f, 0x30, + 0x2d, 0x39, 0x2e, 0x2f, 0x3a, 0x3b, 0x3d, 0x40, 0x3f, 0x21, 0x23, 0x2c, 0x3c, 0x3e, 0x2a, 0x2b, + 0x7e, 0x28, 0x29, 0x22, 0x5c, 0x5c, 0xc3, 0x80, 0x2d, 0xc3, 0xbf, 0x20, 0x5c, 0x0a, 0x5c, 0x7b, + 0x5c, 0x7d, 0x5c, 0x5b, 0x5c, 0x5d, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, 0x52, + 0x0c, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x76, 0x65, 0x73, 0x12, 0x3c, 0x0a, + 0x0e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x63, 0x76, 0x65, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, + 0x2c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x16, 0xba, 0x48, 0x0b, 0xd8, 0x01, 0x01, 0x72, 0x06, 0x18, + 0xf4, 0x03, 0x90, 0x01, 0x01, 0xba, 0xa6, 0x49, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x43, 0x76, 0x65, 0x73, 0x55, 0x72, 0x6c, 0x12, 0x5e, 0x0a, 0x0a, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x5f, 0x63, 0x76, 0x65, 0x73, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x3f, 0xba, 0x48, 0x36, 0xd8, 0x01, 0x01, 0x72, 0x31, 0x18, 0xa0, 0xc2, 0x1e, 0x32, 0x2b, 0x5e, + 0x24, 0x7c, 0x5e, 0x5b, 0x5c, 0x70, 0x7b, 0x4c, 0x7d, 0x5c, 0x70, 0x7b, 0x4e, 0x7d, 0x5c, 0x70, + 0x7b, 0x50, 0x7d, 0x5c, 0x70, 0x7b, 0x53, 0x7d, 0x5c, 0x70, 0x7b, 0x5a, 0x7d, 0x5c, 0x6e, 0x5c, + 0x7b, 0x5c, 0x7d, 0x5c, 0x5b, 0x5c, 0x5d, 0x5d, 0x2b, 0x24, 0xba, 0xa6, 0x49, 0x02, 0x08, 0x01, + 0x52, 0x09, 0x66, 0x69, 0x78, 0x65, 0x64, 0x43, 0x76, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x09, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, + 0xba, 0x48, 0x0a, 0xd8, 0x01, 0x01, 0x72, 0x05, 0x28, 0x24, 0xb0, 0x01, 0x01, 0xba, 0xa6, 0x49, + 0x04, 0x08, 0x00, 0x28, 0x01, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, + 0x3f, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0xc8, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0xa6, 0x49, 0x1b, 0x08, 0x00, 0x28, 0x01, 0x4a, 0x15, + 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, 0x49, 0x4d, 0x45, + 0x53, 0x54, 0x41, 0x4d, 0x50, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x3f, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0xc9, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xba, 0xa6, 0x49, 0x1b, 0x08, 0x00, 0x28, 0x00, 0x4a, + 0x15, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x12, 0x09, 0x54, 0x49, 0x4d, + 0x45, 0x53, 0x54, 0x41, 0x4d, 0x50, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x3a, 0x2e, 0xb2, 0xf9, 0x03, 0x24, 0x0a, 0x13, 0x12, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x0a, 0x0d, 0x12, 0x09, + 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x00, 0xba, 0xa6, 0x49, 0x02, 0x08, + 0x01, 0x2a, 0x89, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x46, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, + 0x59, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x43, 0x55, 0x52, + 0x49, 0x54, 0x59, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, + 0x10, 0x01, 0x12, 0x39, 0x0a, 0x35, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x46, + 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x55, 0x52, 0x45, 0x5f, 0x42, 0x4f, + 0x4f, 0x54, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x44, 0x49, 0x53, 0x4b, + 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x2a, 0x4d, 0x0a, + 0x06, 0x4f, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x53, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x55, 0x54, 0x41, + 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x49, 0x4d, 0x4d, 0x55, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x2a, 0x6b, 0x0a, 0x0e, + 0x4f, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x20, + 0x0a, 0x1c, 0x4f, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x4b, 0x49, + 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, + 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, + 0x4f, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x5f, 0x4b, 0x49, 0x4e, 0x44, + 0x5f, 0x4c, 0x45, 0x4e, 0x4f, 0x56, 0x4f, 0x10, 0x02, 0x42, 0x4a, 0x5a, 0x48, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2d, 0x65, 0x64, 0x67, + 0x65, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, + 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x2f, + 0x76, 0x32, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6f, 0x73, 0x2f, 0x76, 0x31, + 0x3b, 0x6f, 0x73, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/inventory/pkg/api/os/v1/os_constants.pb.go b/inventory/pkg/api/os/v1/os_constants.pb.go index 62100577..5545cd0a 100644 --- a/inventory/pkg/api/os/v1/os_constants.pb.go +++ b/inventory/pkg/api/os/v1/os_constants.pb.go @@ -9,8 +9,6 @@ const ( OperatingSystemResourceFieldResourceId = "resource_id" OperatingSystemResourceFieldName = "name" OperatingSystemResourceFieldArchitecture = "architecture" - OperatingSystemResourceFieldKernelCommand = "kernel_command" - OperatingSystemResourceFieldUpdateSources = "update_sources" OperatingSystemResourceFieldImageUrl = "image_url" OperatingSystemResourceFieldImageId = "image_id" OperatingSystemResourceFieldSha256 = "sha256" diff --git a/inventory/pkg/client/client_test.go b/inventory/pkg/client/client_test.go index 05f93c65..4dcc2f13 100644 --- a/inventory/pkg/client/client_test.go +++ b/inventory/pkg/client/client_test.go @@ -377,7 +377,6 @@ func TestInventoryClient_Subscribe(t *testing.T) { Os: &osv1.OperatingSystemResource{ Name: "Test OS resource", Sha256: inv_testing.GenerateRandomSha256(), - UpdateSources: []string{"foo"}, ImageUrl: "test", InstalledPackages: "intel-opencl-icd\nintel-level-zero-gpu\nlevel-zero", OsType: osv1.OsType_OS_TYPE_MUTABLE, @@ -1018,9 +1017,9 @@ func TestCacheUuidInvalidateViaCreateEvent(t *testing.T) { resp, err := rmClient.Create(ctx, &inv_v1.Resource{ Resource: &inv_v1.Resource_Instance{Instance: &computev1.InstanceResource{ - Kind: computev1.InstanceKind_INSTANCE_KIND_METAL, - DesiredOs: osRes, - Host: host, + Kind: computev1.InstanceKind_INSTANCE_KIND_METAL, + Host: host, + Os: osRes, }}, }) require.NoError(t, err) @@ -1142,9 +1141,9 @@ func TestCacheUuidCreateWithWarmCache(t *testing.T) { resp, err := clientCache.Create(ctx, &inv_v1.Resource{ Resource: &inv_v1.Resource_Instance{Instance: &computev1.InstanceResource{ - Kind: computev1.InstanceKind_INSTANCE_KIND_METAL, - DesiredOs: osRes, - Host: host, + Kind: computev1.InstanceKind_INSTANCE_KIND_METAL, + Os: osRes, + Host: host, }}, }) require.NoError(t, err) diff --git a/inventory/pkg/fuzz/client_fuzz_test.go b/inventory/pkg/fuzz/client_fuzz_test.go index 4dda30d6..e9445586 100644 --- a/inventory/pkg/fuzz/client_fuzz_test.go +++ b/inventory/pkg/fuzz/client_fuzz_test.go @@ -935,7 +935,6 @@ func FuzzCreateInstance(f *testing.F) { uint64(100000), "updateStatus", uint64(100000), - "updateStatusDetail", "tenant-12345678", ) f.Add( @@ -949,7 +948,6 @@ func FuzzCreateInstance(f *testing.F) { uint64(200000), "updateStatus1", uint64(200000), - "updateStatusDetail1", "tenant-87654321", ) f.Add( @@ -963,7 +961,6 @@ func FuzzCreateInstance(f *testing.F) { uint64(300000), "updateStatus2", uint64(300000), - "updateStatusDetail2", "tenant-11223344", ) f.Add( @@ -977,7 +974,6 @@ func FuzzCreateInstance(f *testing.F) { uint64(400000), "updateStatus3", uint64(400000), - " ", "tenant-55667788", ) f.Fuzz( @@ -992,7 +988,6 @@ func FuzzCreateInstance(f *testing.F) { provisioningStatusTimestamp uint64, updateStatus string, updateStatusTimestamp uint64, - updateStatusDetail string, tenantId string, ) { res := &invv1.Resource{ @@ -1008,7 +1003,6 @@ func FuzzCreateInstance(f *testing.F) { ProvisioningStatusTimestamp: provisioningStatusTimestamp, UpdateStatus: updateStatus, UpdateStatusTimestamp: updateStatusTimestamp, - UpdateStatusDetail: updateStatusDetail, TenantId: tenantId, }, }, @@ -1167,7 +1161,6 @@ func FuzzCreateOs(f *testing.F) { f.Add( "name", "architecture", - "kernelCommand", "http://", "123132", inv_testing.GenerateRandomSha256(), @@ -1179,7 +1172,6 @@ func FuzzCreateOs(f *testing.F) { f.Add( "name1", "architecture1", - "-asdda/dsa ", "1111", " ", inv_testing.GenerateRandomSha256(), @@ -1191,7 +1183,6 @@ func FuzzCreateOs(f *testing.F) { f.Add( "name2", "architecture2", - "kernelCommand2", "imageUrl2", "BBBB", inv_testing.GenerateRandomSha256(), @@ -1203,7 +1194,6 @@ func FuzzCreateOs(f *testing.F) { f.Add( "name3", "xxxxx", - "dasdasd", "imageUrl3", " ", inv_testing.GenerateRandomSha256(), @@ -1216,7 +1206,6 @@ func FuzzCreateOs(f *testing.F) { func(t *testing.T, name string, architecture string, - kernelCommand string, imageUrl string, imageId string, sha256 string, @@ -1230,7 +1219,6 @@ func FuzzCreateOs(f *testing.F) { Os: &osv1.OperatingSystemResource{ Name: name, Architecture: architecture, - KernelCommand: kernelCommand, ImageUrl: imageUrl, ImageId: imageId, Sha256: sha256, diff --git a/inventory/pkg/testing/testing_utils.go b/inventory/pkg/testing/testing_utils.go index 5759c94a..7fe74cf2 100644 --- a/inventory/pkg/testing/testing_utils.go +++ b/inventory/pkg/testing/testing_utils.go @@ -851,7 +851,6 @@ func (c *InvResourceDAO) createOsWithOpts( // a default OS resource, can be overwritten by opts osCreateReq := &osv1.OperatingSystemResource{ Name: "for unit testing purposes", - UpdateSources: []string{"test entries"}, ImageUrl: "Repo URL Test", ImageId: "some image ID", ProfileName: "test profile name", @@ -1075,8 +1074,6 @@ func (c *InvResourceDAO) createInstanceWithOpts( Kind: computev1.InstanceKind_INSTANCE_KIND_METAL, Name: dummyInstanceName, DesiredState: computev1.InstanceState_INSTANCE_STATE_RUNNING, - DesiredOs: osRes, - CurrentOs: osRes, // always create with desired OS == current OS for testing Os: osRes, Host: hostRes, SecurityFeature: osv1.SecurityFeature_SECURITY_FEATURE_UNSPECIFIED, @@ -1102,8 +1099,6 @@ func (c *InvResourceDAO) createInstanceWithOpts( // resource, we do not expect further embedded messages. This matches the // structure of objects returned by ent queries, i.e. no two layers of // embedded objects for edges. - instResp.DesiredOs = nil - instResp.CurrentOs = nil instResp.Os = nil instResp.Host = nil instResp.WorkloadMembers = nil diff --git a/inventory/python/infra_inventory/compute/v1.py b/inventory/python/infra_inventory/compute/v1.py index c4afc34b..21d7ac87 100644 --- a/inventory/python/infra_inventory/compute/v1.py +++ b/inventory/python/infra_inventory/compute/v1.py @@ -324,8 +324,6 @@ class InstanceResource(betterproto.Message): vm_cpu_cores: int = betterproto.uint32_field(7) vm_storage_bytes: int = betterproto.uint64_field(8) host: "HostResource" = betterproto.message_field(9) - desired_os: v1.OperatingSystemResource = betterproto.message_field(11) - current_os: v1.OperatingSystemResource = betterproto.message_field(25) os: v1.OperatingSystemResource = betterproto.message_field(12) security_feature: v1.SecurityFeature = betterproto.enum_field(14) # A group of fields describing the Instance runtime status. instance_status, @@ -351,7 +349,6 @@ class InstanceResource(betterproto.Message): update_status: str = betterproto.string_field(21) update_status_indicator: v1.StatusIndication = betterproto.enum_field(22) update_status_timestamp: int = betterproto.uint64_field(23) - update_status_detail: str = betterproto.string_field(24) # A group of fields describing the Instance trusted_attestation status. # trusted_attestation_status, trusted_attestation_status_indicator and # trusted_attestation_status_timestamp should always be updated in one shot. @@ -418,9 +415,7 @@ class OSUpdatePolicyResource(betterproto.Message): resource_id: str = betterproto.string_field(1) name: str = betterproto.string_field(2) description: str = betterproto.string_field(3) - install_packages: str = betterproto.string_field(4) update_sources: List[str] = betterproto.string_field(5) - kernel_command: str = betterproto.string_field(6) update_packages: str = betterproto.string_field(7) update_kernel_command: str = betterproto.string_field(8) target_os: v1.OperatingSystemResource = betterproto.message_field(50) diff --git a/inventory/python/infra_inventory/os/v1.py b/inventory/python/infra_inventory/os/v1.py index 7bd6fd05..c94015d4 100644 --- a/inventory/python/infra_inventory/os/v1.py +++ b/inventory/python/infra_inventory/os/v1.py @@ -2,7 +2,6 @@ # sources: os/v1/os.proto # plugin: python-betterproto from dataclasses import dataclass -from typing import List import betterproto @@ -44,8 +43,6 @@ class OperatingSystemResource(betterproto.Message): resource_id: str = betterproto.string_field(1) name: str = betterproto.string_field(2) architecture: str = betterproto.string_field(3) - kernel_command: str = betterproto.string_field(4) - update_sources: List[str] = betterproto.string_field(5) image_url: str = betterproto.string_field(6) image_id: str = betterproto.string_field(13) sha256: str = betterproto.string_field(7) diff --git a/inventory/sql/inventory.sql b/inventory/sql/inventory.sql index c4f41fc9..d73f173d 100644 --- a/inventory/sql/inventory.sql +++ b/inventory/sql/inventory.sql @@ -15,7 +15,7 @@ CREATE INDEX "providerresource_tenant_id" ON "provider_resources" ("tenant_id"); CREATE TABLE "site_resources" ("id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, "resource_id" character varying NOT NULL, "name" character varying NULL, "address" character varying NULL, "site_lat" integer NULL, "site_lng" integer NULL, "dns_servers" character varying NULL, "docker_registries" character varying NULL, "metrics_endpoint" character varying NULL, "http_proxy" character varying NULL, "https_proxy" character varying NULL, "ftp_proxy" character varying NULL, "no_proxy" character varying NULL, "metadata" character varying NULL, "tenant_id" character varying NOT NULL, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL, "site_resource_region" bigint NULL, "site_resource_ou" bigint NULL, "site_resource_provider" bigint NULL, PRIMARY KEY ("id"), CONSTRAINT "site_resources_region_resources_region" FOREIGN KEY ("site_resource_region") REFERENCES "region_resources" ("id") ON DELETE SET NULL, CONSTRAINT "site_resources_ou_resources_ou" FOREIGN KEY ("site_resource_ou") REFERENCES "ou_resources" ("id") ON DELETE SET NULL, CONSTRAINT "site_resources_provider_resources_provider" FOREIGN KEY ("site_resource_provider") REFERENCES "provider_resources" ("id") ON DELETE SET NULL); CREATE UNIQUE INDEX "site_resources_resource_id_key" ON "site_resources" ("resource_id"); CREATE INDEX "siteresource_tenant_id" ON "site_resources" ("tenant_id"); -CREATE TABLE "operating_system_resources" ("id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, "resource_id" character varying NOT NULL, "name" character varying NULL, "architecture" character varying NULL, "kernel_command" character varying NULL, "update_sources" character varying NULL, "image_url" character varying NULL, "image_id" character varying NULL, "sha256" character varying NULL, "profile_name" character varying NULL, "profile_version" character varying NULL, "installed_packages" character varying NULL, "installed_packages_url" character varying NULL, "security_feature" character varying NULL, "os_type" character varying NULL, "os_provider" character varying NOT NULL, "platform_bundle" character varying NULL, "description" character varying NULL, "metadata" character varying NULL, "tls_ca_cert" character varying NULL, "existing_cves_url" character varying NULL, "existing_cves" character varying NULL, "fixed_cves_url" character varying NULL, "fixed_cves" character varying NULL, "tenant_id" character varying NOT NULL, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL, PRIMARY KEY ("id")); +CREATE TABLE "operating_system_resources" ("id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, "resource_id" character varying NOT NULL, "name" character varying NULL, "architecture" character varying NULL, "image_url" character varying NULL, "image_id" character varying NULL, "sha256" character varying NULL, "profile_name" character varying NULL, "profile_version" character varying NULL, "installed_packages" character varying NULL, "installed_packages_url" character varying NULL, "security_feature" character varying NULL, "os_type" character varying NULL, "os_provider" character varying NOT NULL, "platform_bundle" character varying NULL, "description" character varying NULL, "metadata" character varying NULL, "tls_ca_cert" character varying NULL, "existing_cves_url" character varying NULL, "existing_cves" character varying NULL, "fixed_cves_url" character varying NULL, "fixed_cves" character varying NULL, "tenant_id" character varying NOT NULL, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL, PRIMARY KEY ("id")); CREATE UNIQUE INDEX "operating_system_resources_resource_id_key" ON "operating_system_resources" ("resource_id"); CREATE UNIQUE INDEX "operatingsystemresource_name_tenant_id" ON "operating_system_resources" ("name", "tenant_id"); CREATE INDEX "operatingsystemresource_tenant_id" ON "operating_system_resources" ("tenant_id"); @@ -23,9 +23,9 @@ CREATE TABLE "local_account_resources" ("id" bigint NOT NULL GENERATED BY DEFAUL CREATE UNIQUE INDEX "local_account_resources_resource_id_key" ON "local_account_resources" ("resource_id"); CREATE UNIQUE INDEX "localaccountresource_username_tenant_id" ON "local_account_resources" ("username", "tenant_id"); CREATE INDEX "localaccountresource_tenant_id" ON "local_account_resources" ("tenant_id"); -CREATE TABLE "os_update_policy_resources" ("id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, "resource_id" character varying NOT NULL, "name" character varying NOT NULL, "description" character varying NULL, "install_packages" character varying NULL, "update_sources" character varying NULL, "kernel_command" character varying NULL, "update_packages" character varying NULL, "update_kernel_command" character varying NULL, "update_policy" character varying NULL, "tenant_id" character varying NOT NULL, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL, "os_update_policy_resource_target_os" bigint NULL, PRIMARY KEY ("id"), CONSTRAINT "os_update_policy_resources_operating_system_resources_target_os" FOREIGN KEY ("os_update_policy_resource_target_os") REFERENCES "operating_system_resources" ("id") ON DELETE SET NULL); +CREATE TABLE "os_update_policy_resources" ("id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, "resource_id" character varying NOT NULL, "name" character varying NOT NULL, "description" character varying NULL, "update_sources" character varying NULL, "update_packages" character varying NULL, "update_kernel_command" character varying NULL, "update_policy" character varying NULL, "tenant_id" character varying NOT NULL, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL, "os_update_policy_resource_target_os" bigint NULL, PRIMARY KEY ("id"), CONSTRAINT "os_update_policy_resources_operating_system_resources_target_os" FOREIGN KEY ("os_update_policy_resource_target_os") REFERENCES "operating_system_resources" ("id") ON DELETE SET NULL); CREATE UNIQUE INDEX "os_update_policy_resources_resource_id_key" ON "os_update_policy_resources" ("resource_id"); -CREATE TABLE "instance_resources" ("id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, "resource_id" character varying NOT NULL, "kind" character varying NULL, "name" character varying NULL, "desired_state" character varying NULL, "current_state" character varying NULL, "vm_memory_bytes" bigint NULL, "vm_cpu_cores" bigint NULL, "vm_storage_bytes" bigint NULL, "security_feature" character varying NULL, "instance_status" character varying NULL, "instance_status_indicator" character varying NULL, "instance_status_timestamp" bigint NULL, "provisioning_status" character varying NULL, "provisioning_status_indicator" character varying NULL, "provisioning_status_timestamp" bigint NULL, "update_status" character varying NULL, "update_status_indicator" character varying NULL, "update_status_timestamp" bigint NULL, "update_status_detail" character varying NULL, "trusted_attestation_status" character varying NULL, "trusted_attestation_status_indicator" character varying NULL, "trusted_attestation_status_timestamp" bigint NULL, "existing_cves" character varying NULL, "runtime_packages" character varying NULL, "os_update_available" character varying NULL, "tenant_id" character varying NOT NULL, "instance_status_detail" character varying NULL, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL, "instance_resource_desired_os" bigint NOT NULL, "instance_resource_current_os" bigint NULL, "instance_resource_os" bigint NULL, "instance_resource_provider" bigint NULL, "instance_resource_localaccount" bigint NULL, "instance_resource_os_update_policy" bigint NULL, PRIMARY KEY ("id"), CONSTRAINT "instance_resources_operating_system_resources_desired_os" FOREIGN KEY ("instance_resource_desired_os") REFERENCES "operating_system_resources" ("id") ON DELETE NO ACTION, CONSTRAINT "instance_resources_operating_system_resources_current_os" FOREIGN KEY ("instance_resource_current_os") REFERENCES "operating_system_resources" ("id") ON DELETE SET NULL, CONSTRAINT "instance_resources_operating_system_resources_os" FOREIGN KEY ("instance_resource_os") REFERENCES "operating_system_resources" ("id") ON DELETE SET NULL, CONSTRAINT "instance_resources_provider_resources_provider" FOREIGN KEY ("instance_resource_provider") REFERENCES "provider_resources" ("id") ON DELETE SET NULL, CONSTRAINT "instance_resources_local_account_resources_localaccount" FOREIGN KEY ("instance_resource_localaccount") REFERENCES "local_account_resources" ("id") ON DELETE SET NULL, CONSTRAINT "instance_resources_os_update_policy_resources_os_update_policy" FOREIGN KEY ("instance_resource_os_update_policy") REFERENCES "os_update_policy_resources" ("id") ON DELETE SET NULL); +CREATE TABLE "instance_resources" ("id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, "resource_id" character varying NOT NULL, "kind" character varying NULL, "name" character varying NULL, "desired_state" character varying NULL, "current_state" character varying NULL, "vm_memory_bytes" bigint NULL, "vm_cpu_cores" bigint NULL, "vm_storage_bytes" bigint NULL, "security_feature" character varying NULL, "instance_status" character varying NULL, "instance_status_indicator" character varying NULL, "instance_status_timestamp" bigint NULL, "provisioning_status" character varying NULL, "provisioning_status_indicator" character varying NULL, "provisioning_status_timestamp" bigint NULL, "update_status" character varying NULL, "update_status_indicator" character varying NULL, "update_status_timestamp" bigint NULL, "trusted_attestation_status" character varying NULL, "trusted_attestation_status_indicator" character varying NULL, "trusted_attestation_status_timestamp" bigint NULL, "existing_cves" character varying NULL, "runtime_packages" character varying NULL, "os_update_available" character varying NULL, "tenant_id" character varying NOT NULL, "instance_status_detail" character varying NULL, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL, "instance_resource_os" bigint NOT NULL, "instance_resource_provider" bigint NULL, "instance_resource_localaccount" bigint NULL, "instance_resource_os_update_policy" bigint NULL, PRIMARY KEY ("id"), CONSTRAINT "instance_resources_operating_system_resources_os" FOREIGN KEY ("instance_resource_os") REFERENCES "operating_system_resources" ("id") ON DELETE NO ACTION, CONSTRAINT "instance_resources_provider_resources_provider" FOREIGN KEY ("instance_resource_provider") REFERENCES "provider_resources" ("id") ON DELETE SET NULL, CONSTRAINT "instance_resources_local_account_resources_localaccount" FOREIGN KEY ("instance_resource_localaccount") REFERENCES "local_account_resources" ("id") ON DELETE SET NULL, CONSTRAINT "instance_resources_os_update_policy_resources_os_update_policy" FOREIGN KEY ("instance_resource_os_update_policy") REFERENCES "os_update_policy_resources" ("id") ON DELETE SET NULL); CREATE UNIQUE INDEX "instance_resources_resource_id_key" ON "instance_resources" ("resource_id"); CREATE INDEX "instanceresource_tenant_id" ON "instance_resources" ("tenant_id"); CREATE TABLE "host_resources" ("id" bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY, "resource_id" character varying NOT NULL, "kind" character varying NULL, "name" character varying NULL, "desired_state" character varying NULL, "current_state" character varying NULL, "note" character varying NULL, "hardware_kind" character varying NULL, "serial_number" character varying NULL, "uuid" character varying NULL, "memory_bytes" bigint NULL, "cpu_model" character varying NULL, "cpu_sockets" bigint NULL, "cpu_cores" bigint NULL, "cpu_capabilities" character varying NULL, "cpu_architecture" character varying NULL, "cpu_threads" bigint NULL, "cpu_topology" character varying NULL, "mgmt_ip" character varying NULL, "bmc_kind" character varying NULL, "bmc_ip" character varying NULL, "bmc_username" character varying NULL, "bmc_password" character varying NULL, "pxe_mac" character varying NULL, "hostname" character varying NULL, "product_name" character varying NULL, "bios_version" character varying NULL, "bios_release_date" character varying NULL, "bios_vendor" character varying NULL, "metadata" character varying NULL, "desired_power_state" character varying NULL, "current_power_state" character varying NULL, "power_status" character varying NULL, "power_status_indicator" character varying NULL, "power_status_timestamp" bigint NULL, "power_command_policy" character varying NULL, "power_on_time" bigint NULL, "host_status" character varying NULL, "host_status_indicator" character varying NULL, "host_status_timestamp" bigint NULL, "onboarding_status" character varying NULL, "onboarding_status_indicator" character varying NULL, "onboarding_status_timestamp" bigint NULL, "registration_status" character varying NULL, "registration_status_indicator" character varying NULL, "registration_status_timestamp" bigint NULL, "amt_sku" character varying NULL, "desired_amt_state" character varying NULL, "current_amt_state" character varying NULL, "amt_status" character varying NULL, "amt_status_indicator" character varying NULL, "amt_status_timestamp" bigint NULL, "user_lvm_size" bigint NULL, "tenant_id" character varying NOT NULL, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL, "host_resource_site" bigint NULL, "host_resource_provider" bigint NULL, "instance_resource_host" bigint NULL, PRIMARY KEY ("id"), CONSTRAINT "host_resources_site_resources_site" FOREIGN KEY ("host_resource_site") REFERENCES "site_resources" ("id") ON DELETE SET NULL, CONSTRAINT "host_resources_provider_resources_provider" FOREIGN KEY ("host_resource_provider") REFERENCES "provider_resources" ("id") ON DELETE SET NULL, CONSTRAINT "host_resources_instance_resources_host" FOREIGN KEY ("instance_resource_host") REFERENCES "instance_resources" ("id") ON DELETE SET NULL);