Loading modules/cloud_service_providers/openstack/config/install/views.view.openstack_port.yml +544 −1 Original line number Diff line number Diff line Loading @@ -257,7 +257,17 @@ display: distinct: false replica: false query_tags: { } relationships: { } relationships: router: id: router table: openstack_port field: router relationship: none group_type: group admin_label: Router entity_type: openstack_port plugin_id: standard required: true use_ajax: true header: { } footer: { } Loading Loading @@ -1736,3 +1746,536 @@ display: - url.query_args - user.permissions tags: { } router_interface: id: router_interface display_title: 'Router Interface' display_plugin: page position: 1 display_options: title: 'OpenStack router interfaces' fields: name: id: name table: openstack_port field: name relationship: none group_type: group admin_label: '' entity_type: null entity_field: name plugin_id: field label: Name exclude: false alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: false element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true click_sort_column: value type: string settings: link_to_entity: true group_column: value group_columns: { } group_rows: true delta_limit: 0 delta_offset: 0 delta_reversed: false delta_first_last: false multi_type: separator separator: ', ' field_api_classes: false fixed_ips: id: fixed_ips table: openstack_port__fixed_ips field: fixed_ips_value relationship: none group_type: group admin_label: '' entity_type: openstack_port entity_field: fixed_ips plugin_id: field label: 'Fixed IPs' exclude: false alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: false element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true click_sort_column: value type: openstack_fixed_ips_simple_formatter settings: { } group_column: value group_columns: { } group_rows: true delta_limit: 0 delta_offset: 0 delta_reversed: false delta_first_last: false multi_type: separator separator: ', ' field_api_classes: false status: id: status table: openstack_port field: status relationship: none group_type: group admin_label: '' entity_type: openstack_port entity_field: status plugin_id: field label: Status exclude: false alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true click_sort_column: value type: string settings: link_to_entity: false group_column: value group_columns: { } group_rows: true delta_limit: 0 delta_offset: 0 delta_reversed: false delta_first_last: false multi_type: separator separator: ', ' field_api_classes: false device_owner: id: device_owner table: openstack_port field: device_owner relationship: none group_type: group admin_label: '' entity_type: openstack_port entity_field: device_owner plugin_id: field label: Type exclude: false alter: alter_text: true text: "{% if device_owner == 'network:router_interface' %}\r\n Internal Interface\r\n{% elseif device_owner == 'network:router_gateway' %}\r\n External Gateway\r\n{% else %}\r\n Unknown\r\n{% endif %}\r\n" make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true click_sort_column: value type: string settings: link_to_entity: false group_column: value group_columns: { } group_rows: true delta_limit: 0 delta_offset: 0 delta_reversed: false delta_first_last: false multi_type: separator separator: ', ' field_api_classes: false admin_state_up: id: admin_state_up table: openstack_port field: admin_state_up relationship: none group_type: group admin_label: '' entity_type: openstack_port entity_field: admin_state_up plugin_id: field label: 'Admin State' exclude: false alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true click_sort_column: value type: boolean settings: format: default format_custom_false: '' format_custom_true: '' group_column: value group_columns: { } group_rows: true delta_limit: 0 delta_offset: 0 delta_reversed: false delta_first_last: false multi_type: separator separator: ', ' field_api_classes: false access: type: ViewsCloudContextAccess options: perm: 'list openstack port' arguments: cloud_context: id: cloud_context table: openstack_port field: cloud_context relationship: none group_type: group admin_label: '' entity_type: openstack_port entity_field: cloud_context plugin_id: string default_action: default exception: value: all title_enable: false title: All title_enable: false title: '' default_argument_type: raw default_argument_options: index: 2 use_alias: false default_argument_skip_url: false summary_options: base_path: '' count: true override: false items_per_page: 25 summary: sort_order: asc number_of_records: 0 format: default_summary specify_validation: false validate: type: none fail: 'not found' validate_options: { } glossary: false limit: 0 case: none path_case: none transform_dash: false break_phrase: false id: id: id table: openstack_router field: id relationship: router group_type: group admin_label: '' entity_type: openstack_router entity_field: id plugin_id: numeric default_action: ignore exception: value: all title_enable: false title: All title_enable: false title: '' default_argument_type: fixed default_argument_options: argument: '' default_argument_skip_url: false summary_options: base_path: '' count: true override: false items_per_page: 25 summary: sort_order: asc number_of_records: 0 format: default_summary specify_validation: false validate: type: none fail: 'not found' validate_options: { } break_phrase: false not: false filters: { } filter_groups: operator: AND groups: { } style: type: table options: grouping: { } row_class: '' default_row_class: true columns: openstack_port_bulk_form: openstack_port_bulk_form name: name network_id: network_id fixed_ips: fixed_ips mac_address: mac_address device_owner: device_owner status: status admin_state_up: admin_state_up operations: operations default: '-1' info: openstack_port_bulk_form: align: '' separator: '' empty_column: false responsive: '' name: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' network_id: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' fixed_ips: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' mac_address: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' device_owner: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' status: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' admin_state_up: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' operations: align: '' separator: '' empty_column: false responsive: '' override: true sticky: true summary: '' empty_table: false caption: '' description: '' row: type: fields options: default_field_elements: true inline: { } separator: '' hide_empty: false defaults: access: false title: false style: false row: false fields: false arguments: false filters: false filter_groups: false display_description: '' display_extenders: { } path: clouds/openstack/%cloud_context/router/%openstack_router/interface cache_metadata: max-age: -1 contexts: - 'languages:language_content' - 'languages:language_interface' - url - url.query_args - user.permissions tags: { } modules/cloud_service_providers/openstack/openstack.install +12 −0 Original line number Diff line number Diff line Loading @@ -1596,3 +1596,15 @@ function openstack_update_8271() { \Drupal::service('cloud')->updateYmlDefinitions($files, 'openstack'); drupal_flush_all_caches(); } /** * Add router_interface to openstac_port view. */ function openstack_update_8272() { $files = [ 'views.view.openstack_port.yml', ]; \Drupal::service('cloud')->updateYmlDefinitions($files, 'openstack'); drupal_flush_all_caches(); } modules/cloud_service_providers/openstack/openstack.links.task.yml +11 −0 Original line number Diff line number Diff line Loading @@ -308,3 +308,14 @@ entity.openstack_floating_ip.delete_form: base_route: entity.openstack_floating_ip.canonical title: Delete weight: 10 # OpenStack Router entity.openstack_router.canonical: route_name: entity.openstack_router.canonical base_route: entity.openstack_router.canonical title: 'View' entity.openstack_router.interface: route_name: view.openstack_port.router_interface base_route: entity.openstack_router.canonical title: 'Interfaces' modules/cloud_service_providers/openstack/src/Entity/OpenStackPortViewsData.php +11 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,17 @@ class OpenStackPortViewsData extends AwsCloudViewsData { ], ]; $data[$table_name]['router']['relationship'] = [ 'id' => 'standard', 'title' => $this->t('Router'), 'label' => $this->t('Router'), 'group' => 'Port', 'help' => $this->t('Reference to router'), 'base' => 'openstack_router', 'base field' => 'router_id', 'relationship field' => 'device_id', ]; // The following is a list of fields to turn from text search to // select list. This list can be expanded through hook_views_data_alter(). $selectable = []; Loading Loading
modules/cloud_service_providers/openstack/config/install/views.view.openstack_port.yml +544 −1 Original line number Diff line number Diff line Loading @@ -257,7 +257,17 @@ display: distinct: false replica: false query_tags: { } relationships: { } relationships: router: id: router table: openstack_port field: router relationship: none group_type: group admin_label: Router entity_type: openstack_port plugin_id: standard required: true use_ajax: true header: { } footer: { } Loading Loading @@ -1736,3 +1746,536 @@ display: - url.query_args - user.permissions tags: { } router_interface: id: router_interface display_title: 'Router Interface' display_plugin: page position: 1 display_options: title: 'OpenStack router interfaces' fields: name: id: name table: openstack_port field: name relationship: none group_type: group admin_label: '' entity_type: null entity_field: name plugin_id: field label: Name exclude: false alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: false element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true click_sort_column: value type: string settings: link_to_entity: true group_column: value group_columns: { } group_rows: true delta_limit: 0 delta_offset: 0 delta_reversed: false delta_first_last: false multi_type: separator separator: ', ' field_api_classes: false fixed_ips: id: fixed_ips table: openstack_port__fixed_ips field: fixed_ips_value relationship: none group_type: group admin_label: '' entity_type: openstack_port entity_field: fixed_ips plugin_id: field label: 'Fixed IPs' exclude: false alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: false element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true click_sort_column: value type: openstack_fixed_ips_simple_formatter settings: { } group_column: value group_columns: { } group_rows: true delta_limit: 0 delta_offset: 0 delta_reversed: false delta_first_last: false multi_type: separator separator: ', ' field_api_classes: false status: id: status table: openstack_port field: status relationship: none group_type: group admin_label: '' entity_type: openstack_port entity_field: status plugin_id: field label: Status exclude: false alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true click_sort_column: value type: string settings: link_to_entity: false group_column: value group_columns: { } group_rows: true delta_limit: 0 delta_offset: 0 delta_reversed: false delta_first_last: false multi_type: separator separator: ', ' field_api_classes: false device_owner: id: device_owner table: openstack_port field: device_owner relationship: none group_type: group admin_label: '' entity_type: openstack_port entity_field: device_owner plugin_id: field label: Type exclude: false alter: alter_text: true text: "{% if device_owner == 'network:router_interface' %}\r\n Internal Interface\r\n{% elseif device_owner == 'network:router_gateway' %}\r\n External Gateway\r\n{% else %}\r\n Unknown\r\n{% endif %}\r\n" make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true click_sort_column: value type: string settings: link_to_entity: false group_column: value group_columns: { } group_rows: true delta_limit: 0 delta_offset: 0 delta_reversed: false delta_first_last: false multi_type: separator separator: ', ' field_api_classes: false admin_state_up: id: admin_state_up table: openstack_port field: admin_state_up relationship: none group_type: group admin_label: '' entity_type: openstack_port entity_field: admin_state_up plugin_id: field label: 'Admin State' exclude: false alter: alter_text: false text: '' make_link: false path: '' absolute: false external: false replace_spaces: false path_case: none trim_whitespace: false alt: '' rel: '' link_class: '' prefix: '' suffix: '' target: '' nl2br: false max_length: 0 word_boundary: true ellipsis: true more_link: false more_link_text: '' more_link_path: '' strip_tags: false trim: false preserve_tags: '' html: false element_type: '' element_class: '' element_label_type: '' element_label_class: '' element_label_colon: true element_wrapper_type: '' element_wrapper_class: '' element_default_classes: true empty: '' hide_empty: false empty_zero: false hide_alter_empty: true click_sort_column: value type: boolean settings: format: default format_custom_false: '' format_custom_true: '' group_column: value group_columns: { } group_rows: true delta_limit: 0 delta_offset: 0 delta_reversed: false delta_first_last: false multi_type: separator separator: ', ' field_api_classes: false access: type: ViewsCloudContextAccess options: perm: 'list openstack port' arguments: cloud_context: id: cloud_context table: openstack_port field: cloud_context relationship: none group_type: group admin_label: '' entity_type: openstack_port entity_field: cloud_context plugin_id: string default_action: default exception: value: all title_enable: false title: All title_enable: false title: '' default_argument_type: raw default_argument_options: index: 2 use_alias: false default_argument_skip_url: false summary_options: base_path: '' count: true override: false items_per_page: 25 summary: sort_order: asc number_of_records: 0 format: default_summary specify_validation: false validate: type: none fail: 'not found' validate_options: { } glossary: false limit: 0 case: none path_case: none transform_dash: false break_phrase: false id: id: id table: openstack_router field: id relationship: router group_type: group admin_label: '' entity_type: openstack_router entity_field: id plugin_id: numeric default_action: ignore exception: value: all title_enable: false title: All title_enable: false title: '' default_argument_type: fixed default_argument_options: argument: '' default_argument_skip_url: false summary_options: base_path: '' count: true override: false items_per_page: 25 summary: sort_order: asc number_of_records: 0 format: default_summary specify_validation: false validate: type: none fail: 'not found' validate_options: { } break_phrase: false not: false filters: { } filter_groups: operator: AND groups: { } style: type: table options: grouping: { } row_class: '' default_row_class: true columns: openstack_port_bulk_form: openstack_port_bulk_form name: name network_id: network_id fixed_ips: fixed_ips mac_address: mac_address device_owner: device_owner status: status admin_state_up: admin_state_up operations: operations default: '-1' info: openstack_port_bulk_form: align: '' separator: '' empty_column: false responsive: '' name: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' network_id: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' fixed_ips: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' mac_address: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' device_owner: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' status: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' admin_state_up: sortable: true default_sort_order: asc align: '' separator: '' empty_column: false responsive: '' operations: align: '' separator: '' empty_column: false responsive: '' override: true sticky: true summary: '' empty_table: false caption: '' description: '' row: type: fields options: default_field_elements: true inline: { } separator: '' hide_empty: false defaults: access: false title: false style: false row: false fields: false arguments: false filters: false filter_groups: false display_description: '' display_extenders: { } path: clouds/openstack/%cloud_context/router/%openstack_router/interface cache_metadata: max-age: -1 contexts: - 'languages:language_content' - 'languages:language_interface' - url - url.query_args - user.permissions tags: { }
modules/cloud_service_providers/openstack/openstack.install +12 −0 Original line number Diff line number Diff line Loading @@ -1596,3 +1596,15 @@ function openstack_update_8271() { \Drupal::service('cloud')->updateYmlDefinitions($files, 'openstack'); drupal_flush_all_caches(); } /** * Add router_interface to openstac_port view. */ function openstack_update_8272() { $files = [ 'views.view.openstack_port.yml', ]; \Drupal::service('cloud')->updateYmlDefinitions($files, 'openstack'); drupal_flush_all_caches(); }
modules/cloud_service_providers/openstack/openstack.links.task.yml +11 −0 Original line number Diff line number Diff line Loading @@ -308,3 +308,14 @@ entity.openstack_floating_ip.delete_form: base_route: entity.openstack_floating_ip.canonical title: Delete weight: 10 # OpenStack Router entity.openstack_router.canonical: route_name: entity.openstack_router.canonical base_route: entity.openstack_router.canonical title: 'View' entity.openstack_router.interface: route_name: view.openstack_port.router_interface base_route: entity.openstack_router.canonical title: 'Interfaces'
modules/cloud_service_providers/openstack/src/Entity/OpenStackPortViewsData.php +11 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,17 @@ class OpenStackPortViewsData extends AwsCloudViewsData { ], ]; $data[$table_name]['router']['relationship'] = [ 'id' => 'standard', 'title' => $this->t('Router'), 'label' => $this->t('Router'), 'group' => 'Port', 'help' => $this->t('Reference to router'), 'base' => 'openstack_router', 'base field' => 'router_id', 'relationship field' => 'device_id', ]; // The following is a list of fields to turn from text search to // select list. This list can be expanded through hook_views_data_alter(). $selectable = []; Loading