mirror of
https://github.com/inspec/inspec
synced 2024-12-12 22:32:46 +00:00
b3fafab1e6
* add aws_eks_cluster Signed-off-by: Timothy van Zadelhoff timothy.inspec@theothersolution.nl * disable ABC check on fetch_from_api Signed-off-by: Timothy van Zadelhoff <timothy.inspec@theothersolution.nl> * add status predicates * Change docs for status attribute Signed-off-by: Timothy van Zadelhoff <timothy.inspec@theothersolution.nl> * Add integration tests Signed-off-by: Timothy van Zadelhoff <timothy.inspec@theothersolution.nl> * Adjust EKS build code to almost work Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * EKS only uses private subnets - integration tests pass Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * Correct AWS Exception class for resource search miss in unit test Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * Update unit test to reflect AWS resource-standard miss behavior, returning nil for most properties Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
264 lines
17 KiB
Ruby
264 lines
17 KiB
Ruby
require 'helper'
|
|
|
|
# MAEKSB = MockAwsEksClusterSingularBackend
|
|
# Abbreviation not used outside this file
|
|
|
|
#=============================================================================#
|
|
# Constructor Tests
|
|
#=============================================================================#
|
|
class AwsEksClusterConstructorTest < Minitest::Test
|
|
|
|
def setup
|
|
AwsEksCluster::BackendFactory.select(MAEKSB::Empty)
|
|
end
|
|
|
|
def test_empty_params_rejected
|
|
assert_raises(ArgumentError) { AwsEksCluster.new }
|
|
end
|
|
|
|
def test_string_accepted
|
|
AwsEksCluster.new 'kangaroo'
|
|
end
|
|
|
|
def test_hash_accepted
|
|
AwsEksCluster.new cluster_name: 'polar_bear'
|
|
end
|
|
|
|
def test_rejects_unrecognized_params
|
|
assert_raises(ArgumentError) { AwsEksCluster.new(shoe_size: 9) }
|
|
end
|
|
end
|
|
|
|
|
|
#=============================================================================#
|
|
# Search / Recall
|
|
#=============================================================================#
|
|
class AwsEksClusterFilterCriteriaTest < Minitest::Test
|
|
|
|
def setup
|
|
AwsEksCluster::BackendFactory.select(MAEKSB::Basic)
|
|
end
|
|
|
|
def test_search_miss
|
|
refute AwsEksCluster.new('nonesuch').exists?
|
|
end
|
|
|
|
def test_recall_when_provided_a_string
|
|
cluster = AwsEksCluster.new 'kangaroo'
|
|
assert cluster.exists?
|
|
assert_equal('kangaroo', cluster.cluster_name)
|
|
end
|
|
|
|
def test_recall_when_provided_a_hash
|
|
cluster = AwsEksCluster.new cluster_name: 'kang-the-alien'
|
|
assert cluster.exists?
|
|
assert_equal('kang-the-alien', cluster.name)
|
|
end
|
|
|
|
end
|
|
|
|
#=============================================================================#
|
|
# Properties
|
|
#=============================================================================#
|
|
class AwsEksClusterProperties < Minitest::Test
|
|
|
|
def setup
|
|
AwsEksCluster::BackendFactory.select(MAEKSB::Basic)
|
|
@roo = AwsEksCluster.new('kangaroo')
|
|
@kang = AwsEksCluster.new('kang-the-alien')
|
|
@kodos = AwsEksCluster.new('kodos-the-alien')
|
|
@gamma = AwsEksCluster.new('gamma')
|
|
@miss = AwsEksCluster.new('nonesuch')
|
|
end
|
|
|
|
def test_property_with_cluster_arn
|
|
assert_equal('arn:aws:eks:ab-region-1:012345678910:cluster/kangaroo', @roo.arn)
|
|
assert_equal('arn:aws:eks:ab-region-1:019876543210:cluster/kang-the-alien', @kang.arn)
|
|
assert_equal('arn:aws:eks:ab-region-1:013836573410:cluster/gamma', @gamma.arn)
|
|
assert_nil(@miss.arn)
|
|
end
|
|
|
|
def test_property_with_name
|
|
assert_equal('kangaroo', @roo.name)
|
|
assert_equal('kang-the-alien', @kang.name)
|
|
assert_equal('gamma', @gamma.name)
|
|
assert_equal('nonesuch', @miss.name) # Even misses retain their identifier
|
|
end
|
|
|
|
def test_property_with_status
|
|
assert_equal('ACTIVE', @roo.status)
|
|
assert_equal('CREATING', @kang.status)
|
|
assert_equal('DELETING', @gamma.status)
|
|
assert_equal('FAILED', @kodos.status)
|
|
assert_nil(@miss.status)
|
|
end
|
|
|
|
def test_property_with_status_predicate
|
|
assert(@roo.active?)
|
|
refute(@kang.active?)
|
|
assert(@kang.creating?)
|
|
assert(@gamma.deleting?)
|
|
assert(@kodos.failed?)
|
|
assert_nil(@miss.active?)
|
|
end
|
|
|
|
def test_property_with_subnets_count
|
|
assert_equal(4, @roo.subnets_count)
|
|
assert_equal(2, @kang.subnets_count)
|
|
assert_equal(0, @gamma.subnets_count)
|
|
assert_nil(@miss.subnets_count)
|
|
end
|
|
|
|
def test_property_with_security_groups_count
|
|
assert_equal(0, @roo.security_groups_count)
|
|
assert_equal(1, @kang.security_groups_count)
|
|
assert_equal(2, @gamma.security_groups_count)
|
|
assert_nil(@miss.security_groups_count)
|
|
end
|
|
|
|
def test_property_with_subnet_ids
|
|
assert_includes(@roo.subnet_ids, 'subnet-e7e741bc')
|
|
assert_includes(@kang.subnet_ids, 'subnet-1234e12a')
|
|
refute_includes(@gamma.subnet_ids, nil)
|
|
assert_kind_of(Array, @miss.subnet_ids)
|
|
assert_empty(@miss.subnet_ids)
|
|
end
|
|
|
|
def test_property_with_security_group_ids
|
|
refute_includes(@roo.security_group_ids, nil)
|
|
assert_includes(@kang.security_group_ids, 'sg-6979fe18')
|
|
assert_includes(@gamma.security_group_ids, 'sg-6975fe18')
|
|
assert_kind_of(Array, @miss.security_group_ids)
|
|
assert_empty(@miss.security_group_ids)
|
|
end
|
|
|
|
def test_property_with_version
|
|
assert_includes(@roo.version,'1.0')
|
|
assert_includes(@kang.version, '1.3')
|
|
assert_includes(@gamma.version, '2.3')
|
|
assert_nil(@miss.version)
|
|
end
|
|
|
|
def test_property_with_created_at
|
|
assert_operator(@roo.created_at, :>, Time.at(1527807878))
|
|
assert_operator(@kang.created_at, :<, Time.at(1527807979))
|
|
assert_operator(@kang.created_at, :<, @gamma.created_at)
|
|
refute_operator(@kang.created_at, :>, @gamma.created_at)
|
|
assert_equal(@gamma.created_at, Time.at(9999999999))
|
|
assert_nil(@miss.created_at)
|
|
end
|
|
|
|
def test_property_with_role_arn
|
|
assert_equal(@roo.role_arn, 'arn:aws:iam::012345678910:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI')
|
|
assert_nil(@miss.role_arn)
|
|
end
|
|
|
|
def test_property_with_certificate_authority
|
|
assert_equal(@roo.certificate_authority, 'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRFNE1EVXpNVEl6TVRFek1Wb1hEVEk0TURVeU9ESXpNVEV6TVZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTTZWCjVUaG4rdFcySm9Xa2hQMzRlVUZMNitaRXJOZGIvWVdrTmtDdWNGS2RaaXl2TjlMVmdvUmV2MjlFVFZlN1ZGbSsKUTJ3ZURyRXJiQyt0dVlibkFuN1ZLYmE3ay9hb1BHekZMdmVnb0t6b0M1N2NUdGVwZzRIazRlK2tIWHNaME10MApyb3NzcjhFM1ROeExETnNJTThGL1cwdjhsTGNCbWRPcjQyV2VuTjFHZXJnaDNSZ2wzR3JIazBnNTU0SjFWenJZCm9hTi8zODFUczlOTFF2QTBXb0xIcjBFRlZpTFdSZEoyZ3lXaC9ybDVyOFNDOHZaQXg1YW1BU0hVd01aTFpWRC8KTDBpOW4wRVM0MkpVdzQyQmxHOEdpd3NhTkJWV3lUTHZKclNhRXlDSHFtVVZaUTFDZkFXUjl0L3JleVVOVXM3TApWV1FqM3BFbk9RMitMSWJrc0RzQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFNZ3RsQ1dIQ2U2YzVHMXl2YlFTS0Q4K2hUalkKSm1NSG56L2EvRGt0WG9YUjFVQzIrZUgzT1BZWmVjRVZZZHVaSlZCckNNQ2VWR0ZkeWdBYlNLc1FxWDg0S2RXbAp1MU5QaERDSmEyRHliN2pVMUV6VThTQjFGZUZ5ZFE3a0hNS1E1blpBRVFQOTY4S01hSGUrSm0yQ2x1UFJWbEJVCjF4WlhTS1gzTVZ0K1Q0SU1EV2d6c3JRSjVuQkRjdEtLcUZtM3pKdVVubHo5ZEpVckdscEltMjVJWXJDckxYUFgKWkUwRUtRNWEzMHhkVWNrTHRGQkQrOEtBdFdqSS9yZUZPNzM1YnBMdVoyOTBaNm42QlF3elRrS0p4cnhVc3QvOAppNGsxcnlsaUdWMm5SSjBUYjNORkczNHgrYWdzYTRoSTFPbU90TFM0TmgvRXJxT3lIUXNDc2hEQUtKUT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=',
|
|
)
|
|
assert_nil(@miss.certificate_authority)
|
|
end
|
|
|
|
def test_property_with_vpc_id
|
|
assert_equal(@roo.vpc_id,'vpc-166723ec')
|
|
assert_equal(@kang.vpc_id, 'vpc-266723ec')
|
|
assert_equal(@gamma.vpc_id, 'vpc-366723ec')
|
|
assert_nil(@miss.vpc_id)
|
|
end
|
|
|
|
end
|
|
#=============================================================================#
|
|
# Test Fixtures
|
|
#=============================================================================#
|
|
module MAEKSB
|
|
class Empty < AwsBackendBase
|
|
def describe_cluster(query = {})
|
|
raise Aws::EKS::Errors::ResourceNotFoundException.new(nil, nil)
|
|
end
|
|
end
|
|
|
|
class Basic < AwsBackendBase
|
|
def describe_cluster(query = {})
|
|
fixtures = [
|
|
OpenStruct.new({
|
|
version: '1.0',
|
|
name: 'kangaroo',
|
|
arn: 'arn:aws:eks:ab-region-1:012345678910:cluster/kangaroo',
|
|
certificate_authority: OpenStruct.new({
|
|
data: 'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRFNE1EVXpNVEl6TVRFek1Wb1hEVEk0TURVeU9ESXpNVEV6TVZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTTZWCjVUaG4rdFcySm9Xa2hQMzRlVUZMNitaRXJOZGIvWVdrTmtDdWNGS2RaaXl2TjlMVmdvUmV2MjlFVFZlN1ZGbSsKUTJ3ZURyRXJiQyt0dVlibkFuN1ZLYmE3ay9hb1BHekZMdmVnb0t6b0M1N2NUdGVwZzRIazRlK2tIWHNaME10MApyb3NzcjhFM1ROeExETnNJTThGL1cwdjhsTGNCbWRPcjQyV2VuTjFHZXJnaDNSZ2wzR3JIazBnNTU0SjFWenJZCm9hTi8zODFUczlOTFF2QTBXb0xIcjBFRlZpTFdSZEoyZ3lXaC9ybDVyOFNDOHZaQXg1YW1BU0hVd01aTFpWRC8KTDBpOW4wRVM0MkpVdzQyQmxHOEdpd3NhTkJWV3lUTHZKclNhRXlDSHFtVVZaUTFDZkFXUjl0L3JleVVOVXM3TApWV1FqM3BFbk9RMitMSWJrc0RzQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFNZ3RsQ1dIQ2U2YzVHMXl2YlFTS0Q4K2hUalkKSm1NSG56L2EvRGt0WG9YUjFVQzIrZUgzT1BZWmVjRVZZZHVaSlZCckNNQ2VWR0ZkeWdBYlNLc1FxWDg0S2RXbAp1MU5QaERDSmEyRHliN2pVMUV6VThTQjFGZUZ5ZFE3a0hNS1E1blpBRVFQOTY4S01hSGUrSm0yQ2x1UFJWbEJVCjF4WlhTS1gzTVZ0K1Q0SU1EV2d6c3JRSjVuQkRjdEtLcUZtM3pKdVVubHo5ZEpVckdscEltMjVJWXJDckxYUFgKWkUwRUtRNWEzMHhkVWNrTHRGQkQrOEtBdFdqSS9yZUZPNzM1YnBMdVoyOTBaNm42QlF3elRrS0p4cnhVc3QvOAppNGsxcnlsaUdWMm5SSjBUYjNORkczNHgrYWdzYTRoSTFPbU90TFM0TmgvRXJxT3lIUXNDc2hEQUtKUT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=',
|
|
}),
|
|
created_at: Time.at(1527807879),
|
|
endpoint: 'https://A0DCCD80A04F01705DD065655C30CC3D.yl4.aq-south-2.eks.amazonaws.com',
|
|
resources_vpc_config: OpenStruct.new({
|
|
security_group_ids: [],
|
|
subnet_ids: %w[subnet-1234e12a subnet-e7e741bc subnet-e7a763ac subnet-e7b781cc],
|
|
vpc_id: 'vpc-166723ec',
|
|
}),
|
|
role_arn: 'arn:aws:iam::012345678910:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI',
|
|
status: 'ACTIVE',
|
|
}),
|
|
OpenStruct.new({
|
|
version: '1.3',
|
|
name: 'kang-the-alien',
|
|
arn: 'arn:aws:eks:ab-region-1:019876543210:cluster/kang-the-alien',
|
|
certificate_authority: OpenStruct.new({
|
|
data: 'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRFNE1EVXpNVEl6TVRFek1Wb1hEVEk0TURVeU9ESXpNVEV6TVZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTTZWCjVUaG4rdFcySm9Xa2hQMzRlVUZMNitaRXJOZGIvWVdrTmtDdWNGS2RaaXl2TjlMVmdvUmV2MjlFVFZlN1ZGbSsKUTJ3ZURyRXJiQyt0dVlibkFuN1ZLYmE3ay9hb1BHekZMdmVnb0t6b0M1N2NUdGVwZzRIazRlK2tIWHNaME10MApyb3NzcjhFM1ROeExETnNJTThGL1cwdjhsTGNCbWRPcjQyV2VuTjFHZXJnaDNSZ2wzR3JIazBnNTU0SjFWenJZCm9hTi8zODFUczlOTFF2QTBXb0xIcjBFRlZpTFdSZEoyZ3lXaC9ybDVyOFNDOHZaQXg1YW1BU0hVd01aTFpWRC8KTDBpOW4wRVM0MkpVdzQyQmxHOEdpd3NhTkJWV3lUTHZKclNhRXlDSHFtVVZaUTFDZkFXUjl0L3JleVVOVXM3TApWV1FqM3BFbk9RMitMSWJrc0RzQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFNZ3RsQ1dIQ2U2YzVHMXl2YlFTS0Q4K2hUalkKSm1NSG56L2EvRGt0WG9YUjFVQzIrZUgzT1BZWmVjRVZZZHVaSlZCckNNQ2VWR0ZkeWdBYlNLc1FxWDg0S2RXbAp1MU5QaERDSmEyRHliN2pVMUV6VThTQjFGZUZ5ZFE3a0hNS1E1blpBRVFQOTY4S01hSGUrSm0yQ2x1UFJWbEJVCjF4WlhTS1gzTVZ0K1Q0SU1EV2d6c3JRSjVuQkRjdEtLcUZtM3pKdVVubHo5ZEpVckdscEltMjVJWXJDckxYUFgKWkUwRUtRNWEzMHhkVWNrTHRGQkQrOEtBdFdqSS9yZUZPNzM1YnBMdVoyOTBaNm42QlF3elRrS0p4cnhVc3QvOAppNGsxcnlsaUdWMm5SSjBUYjNORkczNHgrYWdzYTRoSTFPbU90TFM0TmgvRXJxT3lIUXNDc2hEQUtKUT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=',
|
|
}),
|
|
created_at: Time.at(1527807879),
|
|
endpoint: 'https://A0DCCD80A04F01705DD065655C30CC3D.yl4.aq-south-1.eks.amazonaws.com',
|
|
resources_vpc_config: OpenStruct.new({
|
|
security_group_ids: ['sg-6979fe18'],
|
|
subnet_ids: %w[subnet-1234e12a subnet-e7e741bc],
|
|
vpc_id: 'vpc-266723ec',
|
|
}),
|
|
role_arn: 'arn:aws:iam::012345678910:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI',
|
|
status: 'CREATING',
|
|
}),
|
|
OpenStruct.new({
|
|
version: '2.3',
|
|
name: 'gamma',
|
|
arn: 'arn:aws:eks:ab-region-1:013836573410:cluster/gamma',
|
|
certificate_authority: OpenStruct.new({
|
|
data: 'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRFNE1EVXpNVEl6TVRFek1Wb1hEVEk0TURVeU9ESXpNVEV6TVZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTTZWCjVUaG4rdFcySm9Xa2hQMzRlVUZMNitaRXJOZGIvWVdrTmtDdWNGS2RaaXl2TjlMVmdvUmV2MjlFVFZlN1ZGbSsKUTJ3ZURyRXJiQyt0dVlibkFuN1ZLYmE3ay9hb1BHekZMdmVnb0t6b0M1N2NUdGVwZzRIazRlK2tIWHNaME10MApyb3NzcjhFM1ROeExETnNJTThGL1cwdjhsTGNCbWRPcjQyV2VuTjFHZXJnaDNSZ2wzR3JIazBnNTU0SjFWenJZCm9hTi8zODFUczlOTFF2QTBXb0xIcjBFRlZpTFdSZEoyZ3lXaC9ybDVyOFNDOHZaQXg1YW1BU0hVd01aTFpWRC8KTDBpOW4wRVM0MkpVdzQyQmxHOEdpd3NhTkJWV3lUTHZKclNhRXlDSHFtVVZaUTFDZkFXUjl0L3JleVVOVXM3TApWV1FqM3BFbk9RMitMSWJrc0RzQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFNZ3RsQ1dIQ2U2YzVHMXl2YlFTS0Q4K2hUalkKSm1NSG56L2EvRGt0WG9YUjFVQzIrZUgzT1BZWmVjRVZZZHVaSlZCckNNQ2VWR0ZkeWdBYlNLc1FxWDg0S2RXbAp1MU5QaERDSmEyRHliN2pVMUV6VThTQjFGZUZ5ZFE3a0hNS1E1blpBRVFQOTY4S01hSGUrSm0yQ2x1UFJWbEJVCjF4WlhTS1gzTVZ0K1Q0SU1EV2d6c3JRSjVuQkRjdEtLcUZtM3pKdVVubHo5ZEpVckdscEltMjVJWXJDckxYUFgKWkUwRUtRNWEzMHhkVWNrTHRGQkQrOEtBdFdqSS9yZUZPNzM1YnBMdVoyOTBaNm42QlF3elRrS0p4cnhVc3QvOAppNGsxcnlsaUdWMm5SSjBUYjNORkczNHgrYWdzYTRoSTFPbU90TFM0TmgvRXJxT3lIUXNDc2hEQUtKUT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=',
|
|
}),
|
|
created_at: Time.at(9999999999),
|
|
endpoint: 'https://A0DCCD80A04F01705DD065655C30CC3D.yl4.aq-south-3.eks.amazonaws.com',
|
|
resources_vpc_config: OpenStruct.new({
|
|
security_group_ids: %w[sg-6975fe18 sg-6479fe18],
|
|
subnet_ids: [],
|
|
vpc_id: 'vpc-366723ec',
|
|
}),
|
|
role_arn: 'arn:aws:iam::012345678910:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI',
|
|
status: 'DELETING',
|
|
}),
|
|
OpenStruct.new({
|
|
version: '2.0',
|
|
name: 'kodos-the-alien',
|
|
arn: 'arn:aws:eks:ab-region-1:013836573410:cluster/kodos',
|
|
certificate_authority: OpenStruct.new({
|
|
data: 'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRFNE1EVXpNVEl6TVRFek1Wb1hEVEk0TURVeU9ESXpNVEV6TVZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTTZWCjVUaG4rdFcySm9Xa2hQMzRlVUZMNitaRXJOZGIvWVdrTmtDdWNGS2RaaXl2TjlMVmdvUmV2MjlFVFZlN1ZGbSsKUTJ3ZURyRXJiQyt0dVlibkFuN1ZLYmE3ay9hb1BHekZMdmVnb0t6b0M1N2NUdGVwZzRIazRlK2tIWHNaME10MApyb3NzcjhFM1ROeExETnNJTThGL1cwdjhsTGNCbWRPcjQyV2VuTjFHZXJnaDNSZ2wzR3JIazBnNTU0SjFWenJZCm9hTi8zODFUczlOTFF2QTBXb0xIcjBFRlZpTFdSZEoyZ3lXaC9ybDVyOFNDOHZaQXg1YW1BU0hVd01aTFpWRC8KTDBpOW4wRVM0MkpVdzQyQmxHOEdpd3NhTkJWV3lUTHZKclNhRXlDSHFtVVZaUTFDZkFXUjl0L3JleVVOVXM3TApWV1FqM3BFbk9RMitMSWJrc0RzQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFNZ3RsQ1dIQ2U2YzVHMXl2YlFTS0Q4K2hUalkKSm1NSG56L2EvRGt0WG9YUjFVQzIrZUgzT1BZWmVjRVZZZHVaSlZCckNNQ2VWR0ZkeWdBYlNLc1FxWDg0S2RXbAp1MU5QaERDSmEyRHliN2pVMUV6VThTQjFGZUZ5ZFE3a0hNS1E1blpBRVFQOTY4S01hSGUrSm0yQ2x1UFJWbEJVCjF4WlhTS1gzTVZ0K1Q0SU1EV2d6c3JRSjVuQkRjdEtLcUZtM3pKdVVubHo5ZEpVckdscEltMjVJWXJDckxYUFgKWkUwRUtRNWEzMHhkVWNrTHRGQkQrOEtBdFdqSS9yZUZPNzM1YnBMdVoyOTBaNm42QlF3elRrS0p4cnhVc3QvOAppNGsxcnlsaUdWMm5SSjBUYjNORkczNHgrYWdzYTRoSTFPbU90TFM0TmgvRXJxT3lIUXNDc2hEQUtKUT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=',
|
|
}),
|
|
created_at: Time.at(0),
|
|
endpoint: 'https://A0DCCD80A04F01705DD065655C30CC3D.yl4.aq-south-3.eks.amazonaws.com',
|
|
resources_vpc_config: OpenStruct.new({
|
|
security_group_ids: %w[sg-6975fe18 sg-6479fe18],
|
|
subnet_ids: [],
|
|
vpc_id: 'vpc-366723ec',
|
|
}),
|
|
role_arn: 'arn:aws:iam::012345678910:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI',
|
|
status: 'FAILED',
|
|
})
|
|
]
|
|
if query[:name]
|
|
result = fixtures.select do |clst|
|
|
query[:name].include? clst.name
|
|
end
|
|
if result.empty?
|
|
raise Aws::EKS::Errors::ResourceNotFoundException.new(nil,nil)
|
|
else
|
|
OpenStruct.new({ cluster: result[0] })
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|