Class: Awspec::Type::AlbListener
- Inherits:
-
ResourceBase
- Object
- Base
- ResourceBase
- Awspec::Type::AlbListener
- Defined in:
- lib/awspec/type/alb_listener.rb
Constant Summary
Constants included from Helper::Finder
Helper::Finder::CLIENTS, Helper::Finder::CLIENT_OPTIONS
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
- #has_rule?(rule_id = nil, priority = nil, conditions = nil, actions = nil) ⇒ Boolean
- #id ⇒ Object
- #resource_via_client ⇒ Object
Methods inherited from ResourceBase
aws_resource, #exists?, #initialize
Methods inherited from Base
#inspect, #method_missing, #respond_to_missing?, tags_allowed, #to_s
Methods included from BlackListForwardable
#method_missing_via_black_list
Methods included from Helper::Finder
Methods included from Helper::Finder::Transfer
Methods included from Helper::Finder::CognitoIdentityPool
Methods included from Helper::Finder::Msk
Methods included from Helper::Finder::CognitoUserPool
Methods included from Helper::Finder::Secretsmanager
Methods included from Helper::Finder::Mq
Methods included from Helper::Finder::Codedeploy
#find_codedeploy_app, #find_codedeploy_deployment_group
Methods included from Helper::Finder::Redshift
#find_redshift_cluster_identifier, #select_all_redshift_cluster_parameters, #select_redshift_by_vpc_id
Methods included from Helper::Finder::Emr
Methods included from Helper::Finder::SNSTopic
#find_sns_topic, #find_sns_topic_subs
Methods included from Helper::Finder::Eks
#find_eks_cluster, #find_eks_nodegroup
Methods included from Helper::Finder::Batch
#find_batch_compute_environment, #find_batch_job_definition, #find_batch_job_queue
Methods included from Helper::Finder::Kinesis
Methods included from Helper::Finder::Apigateway
#find_api_resources_by_id, #find_apigateway_by_id, #find_apigateway_by_name
Methods included from Helper::Finder::Codebuild
#find_codebuild_project, #select_all_codebuild_projects
Methods included from Helper::Finder::Cloudformation
Methods included from Helper::Finder::SsmParameter
#find_parameter_tag, #find_ssm_parameter
Methods included from Helper::Finder::Sqs
#find_queue, #find_tags_for_queue
Methods included from Helper::Finder::Dynamodb
Methods included from Helper::Finder::CloudwatchLogs
#find_cloudwatch_logs_group, #find_cloudwatch_logs_metric_fileter_by_log_group_name, #find_cloudwatch_logs_stream_by_log_group_name, #find_cloudwatch_logs_subscription_fileter_by_log_group_name, #find_tags_by_log_group_name, #last_cloudwatch_logs_stream_by_log_group_name, #select_all_cloudwatch_logs_log_groups
Methods included from Helper::Finder::AccountAttributes
#find_ec2_account_attributes, #find_lambda_account_settings, #find_rds_account_attributes, #find_ses_send_quota
Methods included from Helper::Finder::Acm
#find_certificate, #select_all_certificates
Methods included from Helper::Finder::WafRegional
#find_wafregional_ip_set, #find_wafregional_rule, #find_wafregional_web_acl
Methods included from Helper::Finder::Waf
#find_waf_ip_set, #find_waf_rule, #find_waf_web_acl
Methods included from Helper::Finder::Cloudtrail
#find_trail, #get_trail_status, #get_trail_tags, #is_logging?, #select_all_trails
Methods included from Helper::Finder::Elastictranscoder
Methods included from Helper::Finder::Cloudfront
Methods included from Helper::Finder::Ami
Methods included from Helper::Finder::Directconnect
#find_virtual_interface, #select_virtual_interfaces
Methods included from Helper::Finder::Ses
Methods included from Helper::Finder::CloudwatchEvent
#find_cloudwatch_event, #select_all_cloudwatch_events
Methods included from Helper::Finder::Cloudwatch
#find_cloudwatch_alarm, #select_all_cloudwatch_alarms
Methods included from Helper::Finder::Elasticsearch
#find_elasticsearch_domain, #select_all_elasticsearch_domains
Methods included from Helper::Finder::Elasticache
#find_cache_cluster, #find_cache_subnet_group
Methods included from Helper::Finder::Kms
#find_kms_key, #find_kms_key_by_alias, #select_all_kms_aliases
Methods included from Helper::Finder::Iam
#select_all_attached_policies, #select_all_iam_groups, #select_all_iam_roles, #select_all_iam_users, #select_attached_entities, #select_attached_groups, #select_attached_roles, #select_attached_users, #select_iam_group_by_user_name, #select_policy_evaluation_results
Methods included from Helper::Finder::Lambda
#find_lambda, #select_all_lambda_functions, #select_event_source_by_function_arn
Methods included from Helper::Finder::Elb
#find_elb, #find_elb_attribute, #select_all_elb_tags, #select_elb_by_vpc_id
Methods included from Helper::Finder::Ebs
#find_ebs, #select_all_attached_ebs, #select_ebs_by_instance_id
Methods included from Helper::Finder::Autoscaling
#find_autoscaling_group, #find_block_device_mapping, #find_launch_configuration, #select_alb_target_group_by_autoscaling_group_name, #select_autoscaling_group_by_vpc_id, #select_lb_target_group_by_autoscaling_group_name
Methods included from Helper::Finder::S3
#find_bucket, #find_bucket_acl, #find_bucket_cors, #find_bucket_lifecycle_configuration, #find_bucket_location, #find_bucket_logging, #find_bucket_policy, #find_bucket_server_side_encryption, #find_bucket_tag, #find_bucket_versioning, #head_object, #select_all_buckets
Methods included from Helper::Finder::Route53
#find_hosted_zone, #select_record_sets_by_hosted_zone_id
Methods included from Helper::Finder::Rds
#find_db_cluster, #find_db_subnet_group, #find_global_cluster, #find_rds, #find_rds_proxy, #select_all_rds_db_cluster_parameters, #select_all_rds_db_parameters, #select_rds_by_vpc_id, #select_rds_proxy_by_vpc_id
Methods included from Helper::Finder::SecurityGroup
#describe_security_groups, #find_security_group, #select_security_group_by_group_id, #select_security_group_by_group_name, #select_security_group_by_tag_name, #select_security_group_by_vpc_id
Methods included from Helper::Finder::Firehose
Methods included from Helper::Finder::Eip
#select_eip, #select_eip_by_instance_id
Methods included from Helper::Finder::Efs
#find_efs, #find_efs_tags, #get_id_by_name_tag, #get_name_by_id, #select_all_file_systems
Methods included from Helper::Finder::Ecs
#find_ecs_cluster, #find_ecs_container_instance, #find_ecs_container_instances, #find_ecs_service, #find_ecs_task_definition, #select_ecs_container_instance_arn_by_cluster_name
Methods included from Helper::Finder::Ecr
#find_ecr_repository, #get_policy_text
Methods included from Helper::Finder::Ec2
#dup_ec2_instance, #find_ec2, #find_ec2_attribute, #find_ec2_credit_specifications, #find_ec2_status, #find_launch_template, #find_launch_template_versions, #find_managed_prefix_list, #find_nat_gateway, #find_network_interface, #find_tgw_attachments_by_tgw_id, #find_vpn_connection, #select_ec2_by_vpc_id, #select_internet_gateway_by_vpc_id, #select_managed_prefix_list_entries, #select_nat_gateway_by_vpc_id, #select_network_interface_by_instance_id, #select_network_interface_by_vpc_id
Methods included from Helper::Finder::Subnet
Methods included from Helper::Finder::VpcEndpoints
Methods included from Helper::Finder::Vpc
#find_network_acl, #find_route_table, #find_vpc, #find_vpc_attribute, #find_vpc_peering_connection, #select_network_acl_by_vpc_id, #select_route_table_by_vpc_id, #select_vpc_attribute, #select_vpc_peering_connection_by_vpc_id
Methods included from Helper::Finder::Alb
#find_alb, #find_alb_listener, #find_alb_target_group, #select_alb_by_vpc_id, #select_alb_listener_by_alb_arn, #select_all_alb_tags, #select_rule_by_alb_listener_id
Methods included from Helper::Finder::Nlb
#find_nlb, #find_nlb_listener, #find_nlb_target_group, #select_nlb_by_vpc_id, #select_nlb_listener_by_nlb_arn, #select_rule_by_nlb_listener_id
Constructor Details
This class inherits a constructor from Awspec::Type::ResourceBase
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Awspec::Type::Base
Instance Method Details
#has_rule?(rule_id = nil, priority = nil, conditions = nil, actions = nil) ⇒ Boolean
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/awspec/type/alb_listener.rb', line 13 def has_rule?(rule_id = nil, priority = nil, conditions = nil, actions = nil) rules = select_rule_by_alb_listener_id(id) ret = rules.select do |rule| conditions = [conditions] if conditions.is_a?(Hash) actions = [actions] if actions.is_a?(Hash) next false if !rule_id.nil? && rule.rule_arn != rule_id next false if !priority.nil? && rule.priority != priority unless conditions.nil? next false unless conditions.map do |condition| rule_conds = rule.conditions.select { |rule_cond| rule_cond[:field] == condition[:field] } next if rule_conds.empty? next unless rule_conds.reject { |rule_cond| condition[:values] == rule_cond[:values] }.empty? condition end.compact.size == conditions.size end unless actions.nil? actions = actions.map do |action| if action.key?(:target_group_name) target_group = find_alb_target_group(action[:target_group_name]) action[:target_group_arn] = target_group.target_group_arn action.delete(:target_group_name) end action end next false if rule.actions.map(&:to_h).sort_by(&:to_s) != actions.sort_by(&:to_s) end true end ret.single_resource("rule_id = #{rule_id}, priority = #{priority}, \ conditions = #{conditions}, actions = #{actions}") end |
#id ⇒ Object
9 10 11 |
# File 'lib/awspec/type/alb_listener.rb', line 9 def id @id ||= resource_via_client.listener_arn if resource_via_client end |
#resource_via_client ⇒ Object
5 6 7 |
# File 'lib/awspec/type/alb_listener.rb', line 5 def resource_via_client @resource_via_client ||= find_alb_listener(@display_name) end |