github.com/turbot/steampipe@v1.7.0-rc.0.0.20240517123944-7cef272d4458/tests/manual_testing/args/with1/dashboard.sp (about) 1 2 dashboard "bug_column_does_not_exist" { 3 title = "column does not exist" 4 5 6 input "policy_arn" { 7 title = "Select a policy:" 8 query = query.test1_aws_iam_policy_input 9 width = 4 10 } 11 12 13 container { 14 15 graph { 16 title = "Relationships" 17 type = "graph" 18 direction = "left_right" //"TD" 19 20 with "attached_users" { 21 sql = <<-EOQ 22 select 23 u.arn as user_arn 24 --,policy_arn 25 from 26 aws_iam_user as u, 27 jsonb_array_elements_text(attached_policy_arns) as policy_arn 28 where 29 policy_arn = $1; 30 --policy_arn = 'arn:aws:iam::aws:policy/AdministratorAccess' 31 EOQ 32 33 param policy_arn { 34 // commented out becuase input not working here yet.. 35 // default = self.input.policy_arn.value 36 default = "arn:aws:iam::aws:policy/AdministratorAccess" 37 } 38 39 } 40 41 with "attached_roles" { 42 sql = <<-EOQ 43 select 44 arn as role_arn 45 from 46 aws_iam_role, 47 jsonb_array_elements_text(attached_policy_arns) as policy_arn 48 where 49 policy_arn = $1; 50 EOQ 51 52 #args = [self.input.policy_arn.value] 53 #args = ["arn:aws:iam::aws:policy/AdministratorAccess"] 54 55 param policy_arn { 56 //default = self.input.policy_arn.value 57 default = "arn:aws:iam::aws:policy/AdministratorAccess" 58 } 59 } 60 61 62 nodes = [ 63 node.test1_aws_iam_policy_node, 64 node.test1_aws_iam_user_nodes, 65 ] 66 67 edges = [ 68 edge.test1_aws_iam_policy_from_iam_user_edges, 69 ] 70 71 args = { 72 policy_arn = "arn:aws:iam::aws:policy/AdministratorAccess" //self.input.policy_arn.value 73 74 //// works if you hardcode the list 75 policy_arns = ["arn:aws:iam::aws:policy/AdministratorAccess"] 76 77 // this causes cannot serialize unknown values 78 //policy_arns = [self.input.policy_arn.value] 79 80 user_arns = [with.attached_users.rows[0].user_arn] 81 role_arns = with.attached_roles.rows[*].role_arn 82 83 } 84 } 85 86 } 87 } 88 89 query "test1_aws_iam_policy_input" { 90 sql = <<-EOQ 91 with policies as ( 92 select 93 title as label, 94 arn as value, 95 json_build_object( 96 'account_id', account_id 97 ) as tags 98 from 99 aws_iam_policy 100 where 101 not is_aws_managed 102 103 union all select 104 distinct on (arn) 105 title as label, 106 arn as value, 107 json_build_object( 108 'account_id', 'AWS Managed' 109 ) as tags 110 from 111 aws_iam_policy 112 where 113 is_aws_managed 114 ) 115 select 116 * 117 from 118 policies 119 order by 120 label; 121 EOQ 122 } 123 124 125 126 node "test1_aws_iam_policy_node" { 127 sql = <<-EOQ 128 select 129 distinct on (arn) 130 arn as id, 131 name as title, 132 jsonb_build_object( 133 'ARN', arn, 134 'AWS Managed', is_aws_managed::text, 135 'Attached', is_attached::text, 136 'Create Date', create_date, 137 'Account ID', account_id 138 ) as properties 139 from 140 aws_iam_policy 141 where 142 arn = $1; 143 EOQ 144 145 param "policy_arn" {} 146 } 147 148 149 node "test1_aws_iam_user_nodes" { 150 151 sql = <<-EOQ 152 select 153 arn as id, 154 name as title, 155 jsonb_build_object( 156 'ARN', arn, 157 'Path', path, 158 'Create Date', create_date, 159 'MFA Enabled', mfa_enabled::text, 160 'Account ID', account_id 161 ) as properties 162 from 163 aws_iam_user 164 where 165 arn = any($1::text[]); 166 EOQ 167 168 param "user_arns" {} 169 } 170 171 172 173 edge "test1_aws_iam_policy_from_iam_user_edges" { 174 title = "attaches" 175 176 sql = <<-EOQ 177 select 178 policy_arns as to_id, 179 user_arns as from_id 180 from 181 unnest($1::text[]) as policy_arns, 182 unnest($2::text[]) as user_arns 183 EOQ 184 185 param "policy_arns" {} 186 param "user_arns" {} 187 188 }