From 5f3d0d9aa23c7e7f648f279583270cb9a39ed0cf Mon Sep 17 00:00:00 2001 From: Yair Slobodin Date: Wed, 9 Oct 2024 16:16:17 +0300 Subject: [PATCH 01/13] fixed --- go.mod | 2 +- go.sum | 2 ++ pkg/io/jsonio/unmarshal.go | 21 +++++++++++++++------ pkg/ir/spec.go | 13 ++----------- pkg/ir/unspecified.go | 11 ++++------- pkg/synth/acl.go | 9 ++++----- 6 files changed, 28 insertions(+), 30 deletions(-) diff --git a/go.mod b/go.mod index 2a404e56..25753169 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.23.0 require ( github.com/IBM/vpc-go-sdk v0.60.0 github.com/np-guard/cloud-resource-collector v0.15.0 - github.com/np-guard/models v0.5.0 + github.com/np-guard/models v0.5.1 github.com/spf13/cobra v1.8.1 ) diff --git a/go.sum b/go.sum index e4aac127..f19ac670 100644 --- a/go.sum +++ b/go.sum @@ -136,6 +136,8 @@ github.com/np-guard/cloud-resource-collector v0.15.0 h1:jkmxql6D1uBr/qmSOsBzUgeD github.com/np-guard/cloud-resource-collector v0.15.0/go.mod h1:klCHnNnuuVcCtGQHA7R1a8fqnvfMCk/5Jdld6V7sN2A= github.com/np-guard/models v0.5.0 h1:P37gCg3RD23hZHymFWtthrF+mGIwyHJkWy0wIWIzokQ= github.com/np-guard/models v0.5.0/go.mod h1:29M8utxinyUpYaDuIuOyCcMBf7EsMWZcIrRWCjFm0Bw= +github.com/np-guard/models v0.5.1 h1:qxewCB3cBLkBdcpMk05gKJkV1D7qkbteQdIXbN1juW0= +github.com/np-guard/models v0.5.1/go.mod h1:29M8utxinyUpYaDuIuOyCcMBf7EsMWZcIrRWCjFm0Bw= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= diff --git a/pkg/io/jsonio/unmarshal.go b/pkg/io/jsonio/unmarshal.go index 7f6f8c00..b3fe9cbe 100644 --- a/pkg/io/jsonio/unmarshal.go +++ b/pkg/io/jsonio/unmarshal.go @@ -17,6 +17,7 @@ import ( "github.com/np-guard/models/pkg/spec" "github.com/np-guard/vpc-network-config-synthesis/pkg/ir" + "github.com/np-guard/vpc-network-config-synthesis/pkg/utils" ) // Reader implements ir.Reader @@ -110,8 +111,10 @@ func parseCidrSegments(jsonSegments spec.SpecSegments, configDefs *ir.ConfigDefs cidrSegments := filterSegmentsByType(jsonSegments, spec.SegmentTypeCidr) result := make(map[ir.ID]*ir.CidrSegmentDetails) for segmentName, segment := range cidrSegments { - // each cidr saves the contained subnets - segmentMap := make(map[*netset.IPBlock]ir.CIDRDetails) + cidrs := netset.NewIPBlock() + containedSubnets := map[string]interface{}{} + overlappingVPCs := map[string]interface{}{} + for _, cidr := range segment { c, err := netset.IPBlockFromCidr(cidr) if err != nil { @@ -122,13 +125,19 @@ func parseCidrSegments(jsonSegments spec.SpecSegments, configDefs *ir.ConfigDefs if err != nil { return nil, err } - segmentMap[c] = ir.CIDRDetails{ - OverlappingVPCs: vpcs, - ContainedSubnets: subnets, + + cidrs = cidrs.Union(c) + for _, vpc := range vpcs { + overlappingVPCs[vpc] = struct{}{} + } + for _, subnet := range subnets { + containedSubnets[subnet] = struct{}{} } } cidrSegmentDetails := ir.CidrSegmentDetails{ - Cidrs: segmentMap, + Cidrs: cidrs, + ContainedSubnets: utils.SortedMapKeys(containedSubnets), + OverlappingVPCs: utils.SortedMapKeys(overlappingVPCs), } result[segmentName] = &cidrSegmentDetails } diff --git a/pkg/ir/spec.go b/pkg/ir/spec.go index cb069dc5..aa262729 100644 --- a/pkg/ir/spec.go +++ b/pkg/ir/spec.go @@ -131,10 +131,7 @@ type ( } CidrSegmentDetails struct { - Cidrs map[*netset.IPBlock]CIDRDetails - } - - CIDRDetails struct { + Cidrs *netset.IPBlock ContainedSubnets []ID OverlappingVPCs []ID } @@ -241,13 +238,7 @@ func (s *Definitions) lookupCidrSegment(name string) (Resource, error) { if !ok { return Resource{}, containerNotFoundError(name, ResourceTypeSegment) } - cidrs := make([]*netset.IPBlock, len(cidrSegmentDetails.Cidrs)) - i := 0 - for cidr := range cidrSegmentDetails.Cidrs { - cidrs[i] = cidr - i++ - } - return Resource{name, cidrs, ResourceTypeCidr}, nil + return Resource{name, cidrSegmentDetails.Cidrs.SplitToCidrs(), ResourceTypeCidr}, nil } func (s *Definitions) Lookup(t ResourceType, name string) (Resource, error) { diff --git a/pkg/ir/unspecified.go b/pkg/ir/unspecified.go index 79f75115..3553e582 100644 --- a/pkg/ir/unspecified.go +++ b/pkg/ir/unspecified.go @@ -42,13 +42,10 @@ func (s *Spec) ComputeBlockedSubnets() []ID { // cidr segments which include the subnet cidrSegments := []ID{} for segmentName, cidrSegmentDetails := range s.Defs.CidrSegments { - segmentDetailsLoops: - for _, cidrDetails := range cidrSegmentDetails.Cidrs { - for _, s := range cidrDetails.ContainedSubnets { - if subnet == s { - cidrSegments = append(cidrSegments, segmentName) - break segmentDetailsLoops - } + for _, s := range cidrSegmentDetails.ContainedSubnets { + if subnet == s { + cidrSegments = append(cidrSegments, segmentName) + break } } } diff --git a/pkg/synth/acl.go b/pkg/synth/acl.go index 2c318d1d..044d72ce 100644 --- a/pkg/synth/acl.go +++ b/pkg/synth/acl.go @@ -143,7 +143,7 @@ func adjustResource(s *ir.Definitions, addrs *netset.IPBlock, resource ir.Resour result := expandNifToSubnet(s, addrs) return result, result[0].Addrs // return nif's subnet, not its IP address case ir.ResourceTypeCidr: - return adjustCidrSegment(s, addrs, resource.Name), addrs + return adjustCidrSegment(s, resource.Name), addrs } return []*namedAddrs{}, nil // shouldn't happen } @@ -162,11 +162,10 @@ func adjustSubnet(s *ir.Definitions, addrs *netset.IPBlock, resourceName string) return []*namedAddrs{} // shouldn't happen } -func adjustCidrSegment(s *ir.Definitions, cidr *netset.IPBlock, resourceName string) []*namedAddrs { +func adjustCidrSegment(s *ir.Definitions, resourceName string) []*namedAddrs { cidrSegmentDetails := s.CidrSegments[resourceName] - cidrDetails := cidrSegmentDetails.Cidrs[cidr] - result := make([]*namedAddrs, len(cidrDetails.ContainedSubnets)) - for i, subnet := range cidrDetails.ContainedSubnets { + result := make([]*namedAddrs, len(cidrSegmentDetails.ContainedSubnets)) + for i, subnet := range cidrSegmentDetails.ContainedSubnets { result[i] = &namedAddrs{Name: subnet, Addrs: s.Subnets[subnet].Address()} } return result From 68f23ed1f9a46a0ebd0d01e83c0e5304c1a2af4e Mon Sep 17 00:00:00 2001 From: Yair Slobodin Date: Thu, 10 Oct 2024 17:35:58 +0300 Subject: [PATCH 02/13] wip --- cmd/subcmds/synth.go | 12 +- cmd/subcmds/synthACL.go | 2 +- cmd/subcmds/synthSG.go | 2 +- cmd/subcmds/unmarshal.go | 4 +- go.mod | 2 +- go.sum | 6 +- pkg/io/jsonio/unmarshal.go | 333 ++++++-------------------- pkg/io/jsonio/unmarshalConn.go | 132 ++++++++++ pkg/io/jsonio/unmarshalDefinitions.go | 137 +++++++++++ pkg/ir/spec.go | 258 +++++++++++--------- pkg/synth/acl.go | 146 +++-------- pkg/synth/common.go | 13 +- pkg/synth/sg.go | 98 +++----- test/error_test_list.go | 22 +- 14 files changed, 591 insertions(+), 576 deletions(-) create mode 100644 pkg/io/jsonio/unmarshalConn.go create mode 100644 pkg/io/jsonio/unmarshalDefinitions.go diff --git a/cmd/subcmds/synth.go b/cmd/subcmds/synth.go index ef0f81d4..83bfc550 100644 --- a/cmd/subcmds/synth.go +++ b/cmd/subcmds/synth.go @@ -30,16 +30,12 @@ func NewSynthCommand(args *inArgs) *cobra.Command { return cmd } -func synthesis(cmd *cobra.Command, args *inArgs, newSynthesizer func(*ir.Spec, bool) synth.Synthesizer, single bool) error { +func synthesis(cmd *cobra.Command, args *inArgs, newSynthesizer func(*ir.Spec, bool) synth.Synthesizer, singleacl, isSG bool) error { cmd.SilenceUsage = true // if we got this far, flags are syntactically correct, so no need to print usage - spec, err := unmarshal(args) + spec, err := unmarshal(args, isSG) if err != nil { return err } - synthesizer := newSynthesizer(spec, single) - collection, err := synthesizer.Synth() - if err != nil { - return err - } - return writeOutput(args, collection, utils.MapKeys(spec.Defs.ConfigDefs.VPCs)) + synthesizer := newSynthesizer(spec, singleacl) + return writeOutput(args, synthesizer.Synth(), utils.MapKeys(spec.Defs.ConfigDefs.VPCs)) } diff --git a/cmd/subcmds/synthACL.go b/cmd/subcmds/synthACL.go index 4aee4040..0aa05e61 100644 --- a/cmd/subcmds/synthACL.go +++ b/cmd/subcmds/synthACL.go @@ -19,7 +19,7 @@ func NewSynthACLCommand(args *inArgs) *cobra.Command { Endpoints in the required-connectivity specification may be subnets, subnet segments, CIDR segments and externals.`, Args: cobra.NoArgs, RunE: func(cmd *cobra.Command, _ []string) error { - return synthesis(cmd, args, synth.NewACLSynthesizer, args.singleacl) + return synthesis(cmd, args, synth.NewACLSynthesizer, args.singleacl, false) }, } diff --git a/cmd/subcmds/synthSG.go b/cmd/subcmds/synthSG.go index 88bb4a56..a93497e9 100644 --- a/cmd/subcmds/synthSG.go +++ b/cmd/subcmds/synthSG.go @@ -19,7 +19,7 @@ func NewSynthSGCommand(args *inArgs) *cobra.Command { Endpoints in the required-connectivity specification may be Instances (VSIs), Network Interfaces, VPEs and externals.`, Args: cobra.NoArgs, RunE: func(cmd *cobra.Command, _ []string) error { - return synthesis(cmd, args, synth.NewSGSynthesizer, false) + return synthesis(cmd, args, synth.NewSGSynthesizer, false, true) }, } return cmd diff --git a/cmd/subcmds/unmarshal.go b/cmd/subcmds/unmarshal.go index 5fa7c720..c1321f97 100644 --- a/cmd/subcmds/unmarshal.go +++ b/cmd/subcmds/unmarshal.go @@ -13,13 +13,13 @@ import ( "github.com/np-guard/vpc-network-config-synthesis/pkg/ir" ) -func unmarshal(args *inArgs) (*ir.Spec, error) { +func unmarshal(args *inArgs, isSG bool) (*ir.Spec, error) { defs, err := confio.ReadDefs(args.configFile) if err != nil { return nil, fmt.Errorf("could not parse config file %v: %w", args.configFile, err) } - model, err := jsonio.NewReader().ReadSpec(args.specFile, defs) + model, err := jsonio.NewReader().ReadSpec(args.specFile, defs, isSG) if err != nil { return nil, fmt.Errorf("could not parse connectivity file %s: %w", args.specFile, err) } diff --git a/go.mod b/go.mod index 25753169..f452c820 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.23.0 require ( github.com/IBM/vpc-go-sdk v0.60.0 github.com/np-guard/cloud-resource-collector v0.15.0 - github.com/np-guard/models v0.5.1 + github.com/np-guard/models v0.5.2-0.20241010083230-9425a786fb15 github.com/spf13/cobra v1.8.1 ) diff --git a/go.sum b/go.sum index f19ac670..d070856e 100644 --- a/go.sum +++ b/go.sum @@ -134,10 +134,8 @@ github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWb github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/np-guard/cloud-resource-collector v0.15.0 h1:jkmxql6D1uBr/qmSOsBzUgeDxlUXSCe7dBKfqfK+QZ4= github.com/np-guard/cloud-resource-collector v0.15.0/go.mod h1:klCHnNnuuVcCtGQHA7R1a8fqnvfMCk/5Jdld6V7sN2A= -github.com/np-guard/models v0.5.0 h1:P37gCg3RD23hZHymFWtthrF+mGIwyHJkWy0wIWIzokQ= -github.com/np-guard/models v0.5.0/go.mod h1:29M8utxinyUpYaDuIuOyCcMBf7EsMWZcIrRWCjFm0Bw= -github.com/np-guard/models v0.5.1 h1:qxewCB3cBLkBdcpMk05gKJkV1D7qkbteQdIXbN1juW0= -github.com/np-guard/models v0.5.1/go.mod h1:29M8utxinyUpYaDuIuOyCcMBf7EsMWZcIrRWCjFm0Bw= +github.com/np-guard/models v0.5.2-0.20241010083230-9425a786fb15 h1:UYBqJOLWWP3WX9duDDZqsZ4axHnnzOodw9BUZ63MYAY= +github.com/np-guard/models v0.5.2-0.20241010083230-9425a786fb15/go.mod h1:29M8utxinyUpYaDuIuOyCcMBf7EsMWZcIrRWCjFm0Bw= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= diff --git a/pkg/io/jsonio/unmarshal.go b/pkg/io/jsonio/unmarshal.go index 0c7ca5f3..1140fea9 100644 --- a/pkg/io/jsonio/unmarshal.go +++ b/pkg/io/jsonio/unmarshal.go @@ -8,13 +8,10 @@ package jsonio import ( "encoding/json" + "errors" "fmt" - "log" "os" - "slices" - "github.com/np-guard/models/pkg/netp" - "github.com/np-guard/models/pkg/netset" "github.com/np-guard/models/pkg/spec" "github.com/np-guard/vpc-network-config-synthesis/pkg/ir" @@ -28,169 +25,71 @@ func NewReader() *Reader { return &Reader{} } -func (*Reader) ReadSpec(filename string, configDefs *ir.ConfigDefs) (*ir.Spec, error) { +func (r *Reader) ReadSpec(filename string, configDefs *ir.ConfigDefs, isSG bool) (*ir.Spec, error) { jsonSpec, err := unmarshal(filename) if err != nil { return nil, err } - - err = validateSegments(jsonSpec.Segments) - if err != nil { - return nil, err - } - - subnetSegments := parseSubnetSegments(jsonSpec.Segments) - - cidrSegments, err := parseCidrSegments(jsonSpec.Segments, configDefs) + defs, err := r.readDefinitions(jsonSpec, configDefs) if err != nil { return nil, err } // replace to fully qualified name - jsonSpec, finalSubnetSegments, err := replaceResourcesName(jsonSpec, subnetSegments, configDefs) + jsonSpec, defs, err = replaceResourcesName(jsonSpec, defs) if err != nil { return nil, err } - externals, err := translateExternals(jsonSpec.Externals) + connections, err := r.transalteConnections(jsonSpec.RequiredConnections, defs, isSG) if err != nil { return nil, err } - defs := &ir.Definitions{ - ConfigDefs: *configDefs, - SubnetSegments: finalSubnetSegments, - CidrSegments: cidrSegments, - Externals: externals, - } - - var connections []ir.Connection - for i := range jsonSpec.RequiredConnections { - bidiConns, err := translateConnection(defs, &jsonSpec.RequiredConnections[i], i) - if err != nil { - return nil, err - } - connections = append(connections, bidiConns...) - } - return &ir.Spec{ Connections: connections, - Defs: *defs, + Defs: defs, }, nil } -func validateSegments(jsonSegments spec.SpecSegments) error { - for _, v := range jsonSegments { - if v.Type != spec.SegmentTypeSubnet && v.Type != spec.SegmentTypeCidr { - return fmt.Errorf("only subnet and cidr segments are supported, not %q", v.Type) - } - } - return nil -} - -func filterSegmentsByType(jsonSegments spec.SpecSegments, segmentType spec.SegmentType) map[string][]string { - result := make(map[string][]string) - for k, v := range jsonSegments { - if v.Type == segmentType { - result[k] = v.Items - } - } - return result -} - -func parseSubnetSegments(jsonSegments spec.SpecSegments) map[string][]ir.ID { - subnetSegments := filterSegmentsByType(jsonSegments, spec.SegmentTypeSubnet) - result := make(map[string][]ir.ID) - for segmentName, subnets := range subnetSegments { - result[segmentName] = subnets - } - return result -} - -func parseCidrSegments(jsonSegments spec.SpecSegments, configDefs *ir.ConfigDefs) (map[ir.ID]*ir.CidrSegmentDetails, error) { - cidrSegments := filterSegmentsByType(jsonSegments, spec.SegmentTypeCidr) - result := make(map[ir.ID]*ir.CidrSegmentDetails) - for segmentName, segment := range cidrSegments { - cidrs := netset.NewIPBlock() - containedSubnets := make([]ir.ID, 0) - overlappingVPCs := make([]ir.ID, 0) - - for _, cidr := range segment { - c, err := netset.IPBlockFromCidr(cidr) - if err != nil { - return nil, err - } - vpcs := parseOverlappingVpcs(c, configDefs.VPCs) - subnets, err := configDefs.SubnetsContainedInCidr(*c) - if err != nil { - return nil, err - } - - cidrs = cidrs.Union(c) - overlappingVPCs = append(overlappingVPCs, vpcs...) - containedSubnets = append(containedSubnets, subnets...) - } - cidrSegmentDetails := ir.CidrSegmentDetails{ - Cidrs: cidrs, - ContainedSubnets: slices.Compact(slices.Sorted(slices.Values(containedSubnets))), - OverlappingVPCs: slices.Compact(slices.Sorted(slices.Values(overlappingVPCs))), - } - result[segmentName] = &cidrSegmentDetails - } - return result, nil -} +// replace all resources names to fully qualified name +func replaceResourcesName(jsonSpec *spec.Spec, defs *ir.Definitions) (*spec.Spec, *ir.Definitions, error) { + config := defs.ConfigDefs -// read externals from conn-spec -func translateExternals(m map[string]string) (map[ir.ID]*ir.ExternalDetails, error) { - result := make(map[ir.ID]*ir.ExternalDetails) - for k, v := range m { - address, err := netset.IPBlockFromCidrOrAddress(v) - if err != nil { - return nil, err - } - result[k] = &ir.ExternalDetails{ExternalAddrs: address} - } - return result, nil -} + // calculate distinct and ambiguous names for every endpoint type + distinctSubnets, ambiguousSubnets := inverseMapToFullyQualifiedName(config.Subnets) + distinctNifs, ambiguousNifs := inverseMapToFullyQualifiedName(config.NIFs) + distinctInstances, ambiguousInstances := inverseMapToFullyQualifiedName(config.Instances) + distinctVpes, ambiguousVpes := inverseMapToFullyQualifiedName(config.VPEs) -// replace all resources names in conn-spec to fully qualified name -func replaceResourcesName(jsonSpec *spec.Spec, subnetSegments map[string][]ir.ID, - config *ir.ConfigDefs) (*spec.Spec, map[ir.ID]*ir.SubnetSegmentDetails, error) { - subnetsCache, ambiguousSubnets := inverseMapToFullyQualifiedName(config.Subnets) - nifsCache, ambiguousNifs := inverseMapToFullyQualifiedName(config.NIFs) - instancesCache, ambiguousInstances := inverseMapToFullyQualifiedName(config.Instances) - vpesCache, ambiguousVpes := inverseMapToFullyQualifiedName(config.VPEs) + // translate segments to fully qualified names + subnetSegments, err1 := replaceSegmentNames(defs.SubnetSegments, distinctSubnets, ambiguousSubnets, spec.ResourceType(spec.SegmentTypeSubnet)) + nifSegments, err2 := replaceSegmentNames(defs.NifSegments, distinctNifs, ambiguousNifs, spec.ResourceType(spec.SegmentTypeNif)) + instanceSegments, err3 := replaceSegmentNames(defs.InstanceSegments, distinctInstances, ambiguousInstances, spec.ResourceType(spec.SegmentTypeInstance)) + vpeSegments, err4 := replaceSegmentNames(defs.VpeSegments, distinctVpes, ambiguousVpes, spec.ResourceType(spec.SegmentTypeVpe)) - // go over subnetSegments - finalSubnetSegments := make(map[ir.ID]*ir.SubnetSegmentDetails) - for segmentName, subnets := range subnetSegments { - subnetsNames := make([]ir.ID, 0) - VPCs := make([]ir.ID, 0) - for _, subnet := range subnets { - fullyQualifiedName, err := replaceResourceName(subnetsCache, ambiguousSubnets, subnet, spec.ResourceTypeSubnet) - if err != nil { - return nil, nil, err - } - subnetsNames = append(subnetsNames, fullyQualifiedName) - VPCs = append(VPCs, config.Subnets[fullyQualifiedName].VPC) - } - finalSubnetSegments[segmentName] = &ir.SubnetSegmentDetails{Subnets: subnetsNames, OverlappingVPCs: ir.UniqueIDValues(VPCs)} + if err := errors.Join(err1, err2, err3, err4); err != nil { + return nil, nil, err } + defs.SubnetSegments = subnetSegments + defs.NifSegments = nifSegments + defs.InstanceSegments = instanceSegments + defs.VpeSegments = vpeSegments + // translate connections resources to fully qualified names var err error - // go over Spec for i := range jsonSpec.RequiredConnections { conn := &jsonSpec.RequiredConnections[i] fullyQualifiedSrc := conn.Src.Name switch conn.Src.Type { case spec.ResourceTypeSubnet: - fullyQualifiedSrc, err = replaceResourceName(subnetsCache, ambiguousSubnets, conn.Src.Name, spec.ResourceTypeSubnet) + fullyQualifiedSrc, err = replaceResourceName(distinctSubnets, ambiguousSubnets, conn.Src.Name, spec.ResourceTypeSubnet) case spec.ResourceTypeNif: - fullyQualifiedSrc, err = replaceResourceName(nifsCache, ambiguousNifs, conn.Src.Name, spec.ResourceTypeNif) + fullyQualifiedSrc, err = replaceResourceName(distinctNifs, ambiguousNifs, conn.Src.Name, spec.ResourceTypeNif) case spec.ResourceTypeInstance: - fullyQualifiedSrc, err = replaceResourceName(instancesCache, ambiguousInstances, conn.Src.Name, spec.ResourceTypeInstance) + fullyQualifiedSrc, err = replaceResourceName(distinctInstances, ambiguousInstances, conn.Src.Name, spec.ResourceTypeInstance) case spec.ResourceTypeVpe: - fullyQualifiedSrc, err = replaceResourceName(vpesCache, ambiguousVpes, conn.Src.Name, spec.ResourceTypeVpe) + fullyQualifiedSrc, err = replaceResourceName(distinctVpes, ambiguousVpes, conn.Src.Name, spec.ResourceTypeVpe) } if err != nil { return nil, nil, err @@ -200,109 +99,70 @@ func replaceResourcesName(jsonSpec *spec.Spec, subnetSegments map[string][]ir.ID fullyQualifiedDst := conn.Dst.Name switch conn.Dst.Type { case spec.ResourceTypeSubnet: - fullyQualifiedDst, err = replaceResourceName(subnetsCache, ambiguousSubnets, conn.Dst.Name, spec.ResourceTypeSubnet) + fullyQualifiedDst, err = replaceResourceName(distinctSubnets, ambiguousSubnets, conn.Dst.Name, spec.ResourceTypeSubnet) case spec.ResourceTypeNif: - fullyQualifiedDst, err = replaceResourceName(nifsCache, ambiguousNifs, conn.Dst.Name, spec.ResourceTypeNif) + fullyQualifiedDst, err = replaceResourceName(distinctNifs, ambiguousNifs, conn.Dst.Name, spec.ResourceTypeNif) case spec.ResourceTypeInstance: - fullyQualifiedDst, err = replaceResourceName(instancesCache, ambiguousInstances, conn.Dst.Name, spec.ResourceTypeInstance) + fullyQualifiedDst, err = replaceResourceName(distinctInstances, ambiguousInstances, conn.Dst.Name, spec.ResourceTypeInstance) case spec.ResourceTypeVpe: - fullyQualifiedDst, err = replaceResourceName(vpesCache, ambiguousVpes, conn.Dst.Name, spec.ResourceTypeVpe) + fullyQualifiedDst, err = replaceResourceName(distinctVpes, ambiguousVpes, conn.Dst.Name, spec.ResourceTypeVpe) } if err != nil { return nil, nil, err } conn.Dst.Name = fullyQualifiedDst } - return jsonSpec, finalSubnetSegments, nil + return jsonSpec, defs, nil } -func translateConnection(defs *ir.Definitions, v *spec.SpecRequiredConnectionsElem, connectionIndex int) ([]ir.Connection, error) { - p, err := translateProtocols(v.AllowedProtocols) - if err != nil { - return nil, err - } - srcResourceType, err := translateResourceType(v.Src.Type) - if err != nil { - return nil, err - } - src, err := defs.Lookup(srcResourceType, v.Src.Name) - if err != nil { - return nil, err - } - dstResourceType, err := translateResourceType(v.Dst.Type) - if err != nil { - return nil, err - } - dst, err := defs.Lookup(dstResourceType, v.Dst.Name) - if err != nil { - return nil, err - } - if srcResourceType == ir.ResourceTypeExternal && dstResourceType == ir.ResourceTypeExternal { - return nil, fmt.Errorf("both source (%s) and destination (%s) are external in required connection", v.Src.Name, v.Dst.Name) - } - - origin := connectionOrigin{ - connectionIndex: connectionIndex, - srcName: resourceName(v.Src), - dstName: resourceName(v.Dst), - } - out := ir.Connection{Src: src, Dst: dst, TrackedProtocols: p, Origin: origin} - if v.Bidirectional { - backOrigin := origin - backOrigin.inverse = true - in := ir.Connection{Src: dst, Dst: src, TrackedProtocols: p, Origin: &backOrigin} - return []ir.Connection{out, in}, nil - } - return []ir.Connection{out}, nil -} - -func translateProtocols(protocols spec.ProtocolList) ([]ir.TrackedProtocol, error) { - var result = make([]ir.TrackedProtocol, len(protocols)) - for i, _p := range protocols { - result[i].Origin = protocolOrigin{protocolIndex: i} - switch p := _p.(type) { - case spec.AnyProtocol: - if len(protocols) != 1 { - log.Println("when allowing any protocol, there is no need in other protocols") - } - result[i].Protocol = netp.AnyProtocol{} - case spec.Icmp: - icmp, err := netp.ICMPFromTypeAndCode(p.Type, p.Code) +func replaceSegmentNames(segments map[ir.ID]*ir.SegmentDetails, distinctNames map[string]ir.ID, ambiguousNames map[string]struct{}, + resourceType spec.ResourceType) (map[ir.ID]*ir.SegmentDetails, error) { + for i, segmentDetails := range segments { + for j, el := range segmentDetails.Elements { + fullName, err := replaceResourceName(distinctNames, ambiguousNames, el, resourceType) if err != nil { return nil, err } - result[i].Protocol = icmp - case spec.TcpUdp: - tcpudp, err := netp.NewTCPUDP(p.Protocol == spec.TcpUdpProtocolTCP, p.MinSourcePort, p.MaxSourcePort, - p.MinDestinationPort, p.MaxDestinationPort) - if err != nil { - return nil, err - } - result[i].Protocol = tcpudp - default: - return nil, fmt.Errorf("impossible protocol: %v", p) + segmentDetails.Elements[j] = fullName } + segments[i] = segmentDetails } - return result, nil + return segments, nil } -func translateResourceType(resourceType spec.ResourceType) (ir.ResourceType, error) { - switch resourceType { - case spec.ResourceTypeExternal: - return ir.ResourceTypeExternal, nil - case spec.ResourceTypeSegment: - return ir.ResourceTypeSegment, nil - case spec.ResourceTypeSubnet: - return ir.ResourceTypeSubnet, nil - case spec.ResourceTypeNif: - return ir.ResourceTypeNIF, nil - case spec.ResourceTypeInstance: - return ir.ResourceTypeInstance, nil - case spec.ResourceTypeVpe: - return ir.ResourceTypeVPE, nil - default: - return ir.ResourceTypeSubnet, fmt.Errorf("unsupported resource type %v", resourceType) +func replaceResourceName(distinctNames map[string]ir.ID, ambiguousNames map[string]struct{}, resourceName string, + resourceType spec.ResourceType) (string, error) { + if len(ir.ScopingComponents(resourceName)) != 1 { + return resourceName, nil + } + if val, ok := distinctNames[resourceName]; ok { + return val, nil } + if _, ok := ambiguousNames[resourceName]; ok { + return "", fmt.Errorf("ambiguous resource name: %s", resourceName) + } + return "", fmt.Errorf("unknown resource name %s (resource type: %q)", resourceName, resourceType) +} + +// inverseMapToFullyQualifiedName returns two maps: one from a name to a fully qualified name, +// and the second is a set of ambiguous names +func inverseMapToFullyQualifiedName[T ir.Named](m map[ir.ID]T) (distinctNames map[string]ir.ID, ambiguousNames map[string]struct{}) { + ambiguousNames = make(map[string]struct{}) + distinctNames = make(map[string]ir.ID) + + for fullNifName, nif := range m { + nifName := nif.Name() + if _, ok := ambiguousNames[nifName]; ok { + continue + } + if _, ok := distinctNames[nifName]; !ok { + distinctNames[nifName] = fullNifName + } else { + delete(distinctNames, nifName) + ambiguousNames[nifName] = struct{}{} + } + } + return distinctNames, ambiguousNames } // unmarshal returns a Spec struct given a file adhering to spec_schema.input @@ -351,46 +211,3 @@ func unmarshal(filename string) (*spec.Spec, error) { } return jsonSpec, err } - -func parseOverlappingVpcs(cidr *netset.IPBlock, vpcs map[ir.ID]*ir.VPCDetails) []ir.ID { - result := make([]ir.ID, 0) - for vpcName, vpcDetails := range vpcs { - if vpcDetails.AddressPrefixes.Overlap(cidr) { - result = append(result, vpcName) - } - } - return result -} - -func replaceResourceName(cache map[string]ir.ID, ambiguous map[string]struct{}, resourceName string, - resourceType spec.ResourceType) (string, error) { - if len(ir.ScopingComponents(resourceName)) != 1 { - return resourceName, nil - } - if val, ok := cache[resourceName]; ok { - return val, nil - } - if _, ok := ambiguous[resourceName]; ok { - return "", fmt.Errorf("ambiguous resource name: %s", resourceName) - } - return "", fmt.Errorf("unknown resource name %s (resource type: %q)", resourceName, resourceType) -} - -func inverseMapToFullyQualifiedName[T ir.Named](m map[ir.ID]T) (cache map[string]ir.ID, ambiguous map[string]struct{}) { - ambiguous = make(map[string]struct{}) - cache = make(map[string]ir.ID) - - for fullNifName, nif := range m { - nifName := nif.Name() - if _, ok := ambiguous[nifName]; ok { - continue - } - if _, ok := cache[nifName]; !ok { - cache[nifName] = fullNifName - } else { - delete(cache, nifName) - ambiguous[nifName] = struct{}{} - } - } - return cache, ambiguous -} diff --git a/pkg/io/jsonio/unmarshalConn.go b/pkg/io/jsonio/unmarshalConn.go new file mode 100644 index 00000000..695e1c79 --- /dev/null +++ b/pkg/io/jsonio/unmarshalConn.go @@ -0,0 +1,132 @@ +/* +Copyright 2023- IBM Inc. All Rights Reserved. +SPDX-License-Identifier: Apache-2.0 +*/ + +// Package jsonio handles global specification written in a JSON file, as described by spec_schema.input +package jsonio + +import ( + "errors" + "fmt" + "log" + + "github.com/np-guard/models/pkg/netp" + "github.com/np-guard/models/pkg/spec" + "github.com/np-guard/vpc-network-config-synthesis/pkg/ir" +) + +// transalteConnections translate requires connections from spec.Spec to []*ir.Connection +func (r *Reader) transalteConnections(conns []spec.SpecRequiredConnectionsElem, defs *ir.Definitions, isSG bool) ([]*ir.Connection, error) { + var connections []*ir.Connection + for i := range conns { + conns, err := translateConnection(defs, &conns[i], i, isSG) + if err != nil { + return nil, err + } + connections = append(connections, conns...) + } + return connections, nil +} + +func translateConnection(defs *ir.Definitions, conn *spec.SpecRequiredConnectionsElem, connIdx int, isSG bool) ([]*ir.Connection, error) { + protocols, err1 := translateProtocols(conn.AllowedProtocols) + srcResource, isSrcExternal, err2 := transalteConnectionResource(defs, &conn.Src, isSG) + dstResource, isDstExternal, err3 := transalteConnectionResource(defs, &conn.Src, isSG) + if err := errors.Join(err1, err2, err3); err != nil { + return nil, err + } + if isSrcExternal && isDstExternal { + return nil, fmt.Errorf("both source (%s) and destination (%s) are external in required connection", conn.Src.Name, conn.Dst.Name) + } + + origin := connectionOrigin{ + connectionIndex: connIdx, + srcName: resourceName(conn.Src), + dstName: resourceName(conn.Dst), + } + out := &ir.Connection{Src: srcResource, Dst: dstResource, TrackedProtocols: protocols, Origin: origin} + if conn.Bidirectional { + backOrigin := origin + backOrigin.inverse = true + in := &ir.Connection{Src: dstResource, Dst: srcResource, TrackedProtocols: protocols, Origin: &backOrigin} + return []*ir.Connection{out, in}, nil + } + return []*ir.Connection{out}, nil +} + +func transalteConnectionResource(defs *ir.Definitions, resource *spec.Resource, isSG bool) (r *ir.Resource, isExternal bool, err error) { + resourceType, err := translateResourceType(defs, resource) + if err != nil { + return nil, false, err + } + var res *ir.Resource + if isSG { + res, err = defs.LookupSG(resourceType, resource.Name) + } else { + res, err = defs.LookupACL(resourceType, resource.Name) + } + return res, resourceType == ir.ResourceTypeExternal, err +} + +func translateProtocols(protocols spec.ProtocolList) ([]*ir.TrackedProtocol, error) { + var result = make([]*ir.TrackedProtocol, len(protocols)) + for i, _p := range protocols { + result[i].Origin = protocolOrigin{protocolIndex: i} + switch p := _p.(type) { + case spec.AnyProtocol: + if len(protocols) != 1 { + log.Println("when allowing any protocol, there is no need in other protocols") + } + result[i].Protocol = netp.AnyProtocol{} + case spec.Icmp: + icmp, err := netp.ICMPFromTypeAndCode(p.Type, p.Code) + if err != nil { + return nil, err + } + result[i].Protocol = icmp + case spec.TcpUdp: + tcpudp, err := netp.NewTCPUDP(p.Protocol == spec.TcpUdpProtocolTCP, p.MinSourcePort, p.MaxSourcePort, + p.MinDestinationPort, p.MaxDestinationPort) + if err != nil { + return nil, err + } + result[i].Protocol = tcpudp + default: + return nil, fmt.Errorf("impossible protocol: %v", p) + } + } + return result, nil +} + +func translateResourceType(defs *ir.Definitions, resource *spec.Resource) (ir.ResourceType, error) { + switch resource.Type { + case spec.ResourceTypeExternal: + return ir.ResourceTypeExternal, nil + case spec.ResourceTypeSubnet: + return ir.ResourceTypeSubnet, nil + case spec.ResourceTypeNif: + return ir.ResourceTypeNIF, nil + case spec.ResourceTypeInstance: + return ir.ResourceTypeInstance, nil + case spec.ResourceTypeVpe: + return ir.ResourceTypeVPE, nil + case spec.ResourceTypeSegment: + if _, ok := defs.SubnetSegments[resource.Name]; ok { + return ir.ResourceTypeSubnetSegment, nil + } + if _, ok := defs.CidrSegments[resource.Name]; ok { + return ir.ResourceTypeCidrSegment, nil + } + if _, ok := defs.NifSegments[resource.Name]; ok { + return ir.ResourceTypeNifSegment, nil + } + if _, ok := defs.InstanceSegments[resource.Name]; ok { + return ir.ResourceTypeInstanceSegment, nil + } + if _, ok := defs.VpeSegments[resource.Name]; ok { + return ir.ResourceTypeVpeSegment, nil + } + } + return ir.ResourceTypeSubnet, fmt.Errorf("unsupported resource type %v (%v)", resource.Type, resource.Name) +} diff --git a/pkg/io/jsonio/unmarshalDefinitions.go b/pkg/io/jsonio/unmarshalDefinitions.go new file mode 100644 index 00000000..45d8b990 --- /dev/null +++ b/pkg/io/jsonio/unmarshalDefinitions.go @@ -0,0 +1,137 @@ +/* +Copyright 2023- IBM Inc. All Rights Reserved. +SPDX-License-Identifier: Apache-2.0 +*/ + +// Package jsonio handles global specification written in a JSON file, as described by spec_schema.input +package jsonio + +import ( + "fmt" + "slices" + + "github.com/np-guard/models/pkg/netset" + "github.com/np-guard/models/pkg/spec" + "github.com/np-guard/vpc-network-config-synthesis/pkg/ir" +) + +type segmentsTypes struct { + subnetSegment map[string][]string + cidrSegment map[string][]string + nifSegment map[string][]string + instanceSegment map[string][]string + vpeSegment map[string][]string +} + +// ReadDefinitions translates segments and externals +func (r *Reader) readDefinitions(jsonSpec *spec.Spec, configDefs *ir.ConfigDefs) (*ir.Definitions, error) { + if err := validateSegments(&jsonSpec.Segments); err != nil { + return nil, err + } + segments := divideSegmentsByType(&jsonSpec.Segments) + subnetSegments := parseSegments(segments.subnetSegment, spec.SegmentTypeSubnet) + nifSegments := parseSegments(segments.nifSegment, spec.SegmentTypeNif) + instanceSegments := parseSegments(segments.instanceSegment, spec.SegmentTypeInstance) + vpeSegments := parseSegments(segments.vpeSegment, spec.SegmentTypeVpe) + cidrSegments, err := parseCidrSegments(segments.cidrSegment, configDefs) + if err != nil { + return nil, err + } + externals, err := translateExternals(jsonSpec.Externals) + if err != nil { + return nil, err + } + return &ir.Definitions{ + ConfigDefs: *configDefs, + SubnetSegments: subnetSegments, + CidrSegments: cidrSegments, + NifSegments: nifSegments, + InstanceSegments: instanceSegments, + VpeSegments: vpeSegments, + Externals: externals, + }, nil +} + +// validateSegments validates that all segments are supported +func validateSegments(jsonSegments *spec.SpecSegments) error { + for _, v := range *jsonSegments { + if v.Type != spec.SegmentTypeSubnet && v.Type != spec.SegmentTypeCidr && + v.Type != spec.SegmentTypeInstance && v.Type != spec.SegmentTypeNif && + v.Type != spec.SegmentTypeVpe { + return fmt.Errorf("only subnet, cidr, instance, nif and vpe segments are supported, not %q", v.Type) + } + } + return nil +} + +// translates segment to ir ds +func parseSegments(segments map[string][]string, segmentType spec.SegmentType) map[ir.ID]*ir.SegmentDetails { + result := make(map[string]*ir.SegmentDetails) + for segmentName, elements := range segments { + result[segmentName] = &ir.SegmentDetails{Elements: elements} + } + return result +} + +// parseCidrSegments translates cidr segments +func parseCidrSegments(cidrSegments map[string][]string, configDefs *ir.ConfigDefs) (map[ir.ID]*ir.CidrSegmentDetails, error) { + result := make(map[ir.ID]*ir.CidrSegmentDetails) + for segmentName, segment := range cidrSegments { + cidrs := netset.NewIPBlock() + containedSubnets := make([]ir.ID, 0) + + for _, cidr := range segment { + c, err := netset.IPBlockFromCidr(cidr) + if err != nil { + return nil, err + } + subnets, err := configDefs.SubnetsContainedInCidr(c) + if err != nil { + return nil, err + } + + cidrs = cidrs.Union(c) + containedSubnets = append(containedSubnets, subnets...) + } + cidrSegmentDetails := ir.CidrSegmentDetails{ + Cidrs: cidrs, + ContainedSubnets: slices.Compact(slices.Sorted(slices.Values(containedSubnets))), + } + result[segmentName] = &cidrSegmentDetails + } + return result, nil +} + +// translateExternals reads externals from spec file +func translateExternals(m map[string]string) (map[ir.ID]*ir.ExternalDetails, error) { + result := make(map[ir.ID]*ir.ExternalDetails) + for k, v := range m { + address, err := netset.IPBlockFromCidrOrAddress(v) + if err != nil { + return nil, err + } + result[k] = &ir.ExternalDetails{ExternalAddrs: address} + } + return result, nil +} + +func divideSegmentsByType(jsonSegments *spec.SpecSegments) segmentsTypes { + res := segmentsTypes{subnetSegment: make(map[string][]string), nifSegment: make(map[string][]string), + instanceSegment: make(map[string][]string), vpeSegment: make(map[string][]string), + cidrSegment: make(map[string][]string)} + for k, v := range *jsonSegments { + switch v.Type { + case spec.SegmentTypeSubnet: + res.subnetSegment[k] = v.Items + case spec.SegmentTypeCidr: + res.cidrSegment[k] = v.Items + case spec.SegmentTypeInstance: + res.instanceSegment[k] = v.Items + case spec.SegmentTypeNif: + res.nifSegment[k] = v.Items + case spec.SegmentTypeVpe: + res.vpeSegment[k] = v.Items + } + } + return res +} diff --git a/pkg/ir/spec.go b/pkg/ir/spec.go index aa262729..8b1e51e8 100644 --- a/pkg/ir/spec.go +++ b/pkg/ir/spec.go @@ -13,28 +13,30 @@ import ( "github.com/np-guard/models/pkg/netp" "github.com/np-guard/models/pkg/netset" + "github.com/np-guard/vpc-network-config-synthesis/pkg/utils" ) type ( - ID = string - NamedEntity string + ID = string + NamedEntity string + ResourceType string Spec struct { // Required connections - Connections []Connection + Connections []*Connection - Defs Definitions + Defs *Definitions } Connection struct { // Egress resource - Src Resource + Src *Resource // Ingress resource - Dst Resource + Dst *Resource // Allowed protocols - TrackedProtocols []TrackedProtocol + TrackedProtocols []*TrackedProtocol // Provenance information Origin fmt.Stringer @@ -42,13 +44,21 @@ type ( Resource struct { // Symbolic name of resource, if available - Name string + Name *string // list of CIDR / Ip addresses. - IPAddrs []*netset.IPBlock + NamedAddrs []*NamedAddrs + + // Cidr list (in case of CIDR segment) + Cidrs []*NamedAddrs // Type of resource - Type ResourceType + Type *ResourceType + } + + NamedAddrs struct { + IPAddrs *netset.IPBlock + Name *string } TrackedProtocol struct { @@ -74,13 +84,18 @@ type ( // Definitions adds to ConfigDefs the spec-specific definitions Definitions struct { ConfigDefs - // Segments are a way for users to create aggregations. - SubnetSegments map[ID]*SubnetSegmentDetails - // Cidr segment might contain some cidrs + SubnetSegments map[ID]*SegmentDetails + CidrSegments map[ID]*CidrSegmentDetails + NifSegments map[ID]*SegmentDetails + + InstanceSegments map[ID]*SegmentDetails + + VpeSegments map[ID]*SegmentDetails + // Externals are a way for users to name IP addresses or ranges external to the VPC. Externals map[ID]*ExternalDetails } @@ -125,21 +140,23 @@ type ( VPC ID } - SubnetSegmentDetails struct { - Subnets []ID - OverlappingVPCs []ID + SegmentDetails struct { + Elements []ID } CidrSegmentDetails struct { Cidrs *netset.IPBlock ContainedSubnets []ID - OverlappingVPCs []ID } ExternalDetails struct { ExternalAddrs *netset.IPBlock } + Reader interface { + ReadSpec(filename string, defs *ConfigDefs) (*Spec, error) + } + Named interface { Name() string } @@ -149,6 +166,23 @@ type ( } ) +const ( + ResourceTypeExternal ResourceType = "external" + ResourceTypeCidr ResourceType = "cidr" + ResourceTypeSubnet ResourceType = "subnet" + ResourceTypeNIF ResourceType = "nif" + ResourceTypeVPE ResourceType = "vpe" + ResourceTypeInstance ResourceType = "instance" + ResourceTypeSubnetSegment ResourceType = "subnetSegment" + ResourceTypeCidrSegment ResourceType = "cidrSegment" + ResourceTypeNifSegment ResourceType = "nifSegment" + ResourceTypeInstanceSegment ResourceType = "instanceSegment" + ResourceTypeVpeSegment ResourceType = "vpeSegment" + + resourceNotFound = "%v %v not found" + containerNotFound = "container %v %v not found" +) + func (n *NamedEntity) Name() string { return string(*n) } @@ -169,24 +203,63 @@ func (e *ExternalDetails) Address() *netset.IPBlock { return e.ExternalAddrs } -type ResourceType string +func lookupSingle[T NWResource](m map[ID]T, name string, t ResourceType) (*Resource, error) { + if details, ok := m[name]; ok { + return &Resource{ + Name: &name, + NamedAddrs: []*NamedAddrs{{Name: &name, IPAddrs: details.Address()}}, + Cidrs: []*NamedAddrs{{Name: &name, IPAddrs: details.Address()}}, + Type: utils.Ptr(ResourceTypeSubnet), + }, nil + } + return nil, fmt.Errorf(resourceNotFound, name, t) +} -const ( - ResourceTypeExternal ResourceType = "external" - ResourceTypeSegment ResourceType = "segment" - ResourceTypeCidr ResourceType = "cidr" - ResourceTypeSubnet ResourceType = "subnet" - ResourceTypeNIF ResourceType = "nif" - ResourceTypeVPE ResourceType = "vpe" - ResourceTypeInstance ResourceType = "instance" - ResourceTypeAny ResourceType = "any" -) +func (s *Definitions) lookupNifACL(name string) (*Resource, error) { + if nifDetails, ok := s.NIFs[name]; ok { + + } + return nil, fmt.Errorf(resourceNotFound, name, ResourceTypeNIF) +} + +func (s *Definitions) lookupSubnetSegmentACL(name string) (*Resource, error) { + if segmentDetails, ok := s.SubnetSegments[name]; ok { + res := &Resource{Name: &name, NamedAddrs: []*NamedAddrs{}, Cidrs: []*NamedAddrs{}, Type: utils.Ptr(ResourceTypeSubnet)} + for _, subnetName := range segmentDetails.Elements { + subnet, err := lookupSingle(s.Subnets, subnetName, ResourceTypeSubnet) + if err != nil { + return nil, fmt.Errorf("%w while looking up %v %v for subnet segment %v", err, ResourceTypeSubnet, subnetName, name) + } + res.NamedAddrs = append(res.NamedAddrs, subnet.NamedAddrs...) + res.Cidrs = append(res.Cidrs, subnet.Cidrs...) + } + return res, nil + } + return nil, fmt.Errorf(containerNotFound, name, ResourceTypeSubnetSegment) +} + +func (s *Definitions) lookupCidrSegmentACL(name string) (*Resource, error) { + if segmentDetails, ok := s.CidrSegments[name]; ok { + res := &Resource{Name: &name, NamedAddrs: []*NamedAddrs{}, Cidrs: []*NamedAddrs{}, Type: utils.Ptr(ResourceTypeSubnet)} + for _, subnetName := range segmentDetails.ContainedSubnets { + subnet, err := lookupSingle(s.Subnets, subnetName, ResourceTypeSubnet) + if err != nil { + return nil, fmt.Errorf("%w while looking up %v %v for cidr segment %v", err, ResourceTypeSubnet, subnetName, name) + } + res.NamedAddrs = append(res.NamedAddrs, subnet.NamedAddrs...) + } + for _, cidr := range segmentDetails.Cidrs.SplitToCidrs() { + res.Cidrs = append(res.Cidrs, &NamedAddrs{Name: &name, IPAddrs: cidr}) + } + return res, nil + } + return nil, fmt.Errorf(containerNotFound, name, ResourceTypeSubnet) +} + +func (s *Definitions) lookupInstanceACL(name string) (*Resource, error) { + if instnaceDetails, ok := s.Instances[name]; ok { -func lookupSingle[T NWResource](m map[ID]T, name string, t ResourceType) (Resource, error) { - if details, ok := m[name]; ok { - return Resource{name, []*netset.IPBlock{details.Address()}, t}, nil } - return Resource{}, resourceNotFoundError(name, t) } func (s *Definitions) lookupInstance(name string) (Resource, error) { @@ -217,79 +290,62 @@ func (s *Definitions) lookupVPE(name string) (Resource, error) { return Resource{name, ips, ResourceTypeVPE}, nil } -func (s *Definitions) lookupSubnetSegment(name string) (Resource, error) { - if subnetSegmentDetails, ok := s.SubnetSegments[name]; ok { - cidrs := make([]*netset.IPBlock, len(subnetSegmentDetails.Subnets)) - for i, subnetName := range subnetSegmentDetails.Subnets { - subnet, err := s.Lookup(ResourceTypeSubnet, subnetName) - if err != nil { - return Resource{}, fmt.Errorf("%w while looking up %v %v for subnet %v", err, ResourceTypeSubnet, subnetName, name) - } - // each subnet has only one CIDR block. - cidrs[i] = subnet.IPAddrs[0] - } - return Resource{name, cidrs, ResourceTypeSubnet}, nil - } - return Resource{}, containerNotFoundError(name, ResourceTypeSegment) -} - -func (s *Definitions) lookupCidrSegment(name string) (Resource, error) { - cidrSegmentDetails, ok := s.CidrSegments[name] - if !ok { - return Resource{}, containerNotFoundError(name, ResourceTypeSegment) - } - return Resource{name, cidrSegmentDetails.Cidrs.SplitToCidrs(), ResourceTypeCidr}, nil -} - -func (s *Definitions) Lookup(t ResourceType, name string) (Resource, error) { - err := fmt.Errorf("invalid type %v (resource %v)", t, name) +func (s *Definitions) LookupACL(t ResourceType, name string) (*Resource, error) { switch t { case ResourceTypeExternal: return lookupSingle(s.Externals, name, t) case ResourceTypeSubnet: return lookupSingle(s.Subnets, name, t) - case ResourceTypeCidr: - return lookupSingle(s.Subnets, name, t) case ResourceTypeNIF: - return lookupSingle(s.NIFs, name, t) - case ResourceTypeVPE: - return s.lookupVPE(name) + return s.lookupNifACL(s.NIFs, name, t) case ResourceTypeInstance: - return s.lookupInstance(name) - case ResourceTypeSegment: - if _, ok := s.SubnetSegments[name]; ok { // subnet segment - return s.lookupSubnetSegment(name) - } else if _, ok := s.CidrSegments[name]; ok { // cidr segment - return s.lookupCidrSegment(name) - } else { - return Resource{}, err - } - default: - return Resource{}, err + return s.lookupInstanceACL(name) + case ResourceTypeVPE: + return s.lookupVpeACL(name) + case ResourceTypeSubnetSegment: + return s.lookupSubnetSegmentACL(name) + case ResourceTypeCidrSegment: + return s.lookupCidrSegmentACL(name) + case ResourceTypeNifSegment: + return s.lookupNifSegmentACL(name) + case ResourceTypeInstanceSegment: + return s.lookupInstanceSegmentACL(name) + case ResourceTypeVpeSegment: + return s.lookupVpeSegmentACL(name) } + return nil, nil // should not get here } -func inverseLookup[T NWResource](m map[ID]T, address *netset.IPBlock) (result string, ok bool) { - for name, details := range m { - if details.Address().Equal(address) { - return name, true - } +func (s *Definitions) LookupSG(t ResourceType, name string) (*Resource, error) { + switch t { + case ResourceTypeExternal: + return lookupSingle(s.Externals, name, t) + case ResourceTypeSubnet: + return lookupSubnetSG(s.Subnets, name, t) + case ResourceTypeNIF: + return s.lookupNifSG(s.NIFs, name, t) + case ResourceTypeInstance: + return s.lookupInstanceSG(name) + case ResourceTypeVPE: + return s.lookupVpeSG(name) + case ResourceTypeSubnetSegment: + return s.lookupSubnetSegmentSG(name) + case ResourceTypeCidrSegment: + return s.lookupCidrSegmentSG(name) + case ResourceTypeNifSegment: + return s.lookupNifSegmentSG(name) + case ResourceTypeInstanceSegment: + return s.lookupInstanceSegmentSG(name) + case ResourceTypeVpeSegment: + return s.lookupVpeSegmentSG(name) } - return "", false + return nil, nil // should not get here } -func (s *ConfigDefs) NIFFromIP(ip *netset.IPBlock) (string, bool) { - return inverseLookup(s.NIFs, ip) -} - -type Reader interface { - ReadSpec(filename string, defs *ConfigDefs) (*Spec, error) -} - -func (s *ConfigDefs) SubnetsContainedInCidr(cidr netset.IPBlock) ([]ID, error) { +func (s *ConfigDefs) SubnetsContainedInCidr(cidr *netset.IPBlock) ([]ID, error) { var containedSubnets []string for subnet, subnetDetails := range s.Subnets { - if subnetDetails.CIDR.IsSubset(&cidr) { + if subnetDetails.CIDR.IsSubset(cidr) { containedSubnets = append(containedSubnets, subnet) } } @@ -297,28 +353,6 @@ func (s *ConfigDefs) SubnetsContainedInCidr(cidr netset.IPBlock) ([]ID, error) { return containedSubnets, nil } -func resourceNotFoundError(name string, resource ResourceType) error { - return fmt.Errorf("%v %v not found", resource, name) -} - -func containerNotFoundError(name string, resource ResourceType) error { - return fmt.Errorf("container %v %v not found", resource, name) -} - -func UniqueIDValues(s []ID) []ID { - result := make([]ID, 0) - seenValues := make(map[ID]struct{}) - - for _, item := range s { - if _, seen := seenValues[item]; !seen { - seenValues[item] = struct{}{} - result = append(result, item) - } - } - - return result -} - func ScopingComponents(s string) []string { return strings.Split(s, "/") } diff --git a/pkg/synth/acl.go b/pkg/synth/acl.go index 044d72ce..7fc86560 100644 --- a/pkg/synth/acl.go +++ b/pkg/synth/acl.go @@ -27,96 +27,76 @@ func NewACLSynthesizer(s *ir.Spec, single bool) Synthesizer { return &ACLSynthesizer{spec: s, singleACL: single, result: ir.NewACLCollection()} } -func (a *ACLSynthesizer) Synth() (ir.Collection, error) { +func (a *ACLSynthesizer) Synth() ir.Collection { return a.makeACL() } // makeACL translates Spec to a collection of nACLs // 1. generate nACL rules for relevant subnets for each connection // 2. generate nACL rules for blocked subnets (subnets that do not appear in Spec) -func (a *ACLSynthesizer) makeACL() (*ir.ACLCollection, error) { +func (a *ACLSynthesizer) makeACL() *ir.ACLCollection { for c := range a.spec.Connections { - err := a.generateACLRulesFromConnection(&a.spec.Connections[c]) - if err != nil { - return nil, err - } + a.generateACLRulesFromConnection(a.spec.Connections[c]) } a.generateACLRulesForBlockedSubnets() - return a.result, nil + return a.result } -// 1. check that both resources are supported in nACL generation. -// 2. check that at least one resource is internal. -// 3. convert src and dst resources to namedAddrs slices to make it more convenient to go through the addrs -// and add the rule to the relevant acl. Note: in case where the resource in a nif, src/dst will be -// updated to be its subnet. -// 4. generate rules and add them to relevant ACL to allow traffic for all pairs of IPAddrs of both resources. -func (a *ACLSynthesizer) generateACLRulesFromConnection(conn *ir.Connection) error { - if !resourceRelevantToACL(conn.Src.Type) { - return fmt.Errorf(ACLTypeNotSupported, string(conn.Src.Type)) - } - if !resourceRelevantToACL(conn.Dst.Type) { - return fmt.Errorf(ACLTypeNotSupported, string(conn.Dst.Type)) +func (a *ACLSynthesizer) generateACLRulesFromConnection(conn *ir.Connection) { + for _, srcSubnet := range conn.Src.NamedAddrs { + for _, dstCidr := range conn.Dst.Cidrs { + if srcSubnet.IPAddrs.Equal(dstCidr.IPAddrs) && *conn.Src.Type != ir.ResourceTypeCidr && *conn.Dst.Type != ir.ResourceTypeCidr { + continue + } + for _, trackedProtocol := range conn.TrackedProtocols { + a.allowConnectionFromSrc(conn, trackedProtocol, srcSubnet, dstCidr.IPAddrs) + } + } } - for _, src := range conn.Src.IPAddrs { - srcSubnets, srcCidr := adjustResource(&a.spec.Defs, src, conn.Src) - for _, dst := range conn.Dst.IPAddrs { - dstSubnets, dstCidr := adjustResource(&a.spec.Defs, dst, conn.Dst) - if src == dst && conn.Src.Type != ir.ResourceTypeCidr && conn.Dst.Type != ir.ResourceTypeCidr { + + for _, srcCidr := range conn.Src.Cidrs { + for _, dstSubnet := range conn.Dst.NamedAddrs { + if dstSubnet.IPAddrs.Equal(srcCidr.IPAddrs) && *conn.Src.Type != ir.ResourceTypeCidr && *conn.Dst.Type != ir.ResourceTypeCidr { continue } for _, trackedProtocol := range conn.TrackedProtocols { - a.allowConnectionFromSrc(conn, trackedProtocol, srcSubnets, dstCidr) - a.allowConnectionToDst(conn, trackedProtocol, dstSubnets, srcCidr) + a.allowConnectionToDst(conn, trackedProtocol, dstSubnet, srcCidr.IPAddrs) } } } - return nil } // if the src in internal, rule(s) will be created to allow traffic. // if the protocol allows response, more rules will be created. -func (a *ACLSynthesizer) allowConnectionFromSrc(conn *ir.Connection, trackedProtocol ir.TrackedProtocol, - srcSubnets []*namedAddrs, dstCidr *netset.IPBlock) { +func (a *ACLSynthesizer) allowConnectionFromSrc(conn *ir.Connection, p *ir.TrackedProtocol, srcSubnet *ir.NamedAddrs, dstCidr *netset.IPBlock) { internalSrc, _, internal := internalConn(conn) - if !internalSrc { + if !internalSrc || srcSubnet.IPAddrs.Equal(dstCidr) { return } - reason := explanation{internal: internal, connectionOrigin: conn.Origin, protocolOrigin: trackedProtocol.Origin} - for _, srcSubnet := range srcSubnets { - if srcSubnet.Addrs.Equal(dstCidr) { // srcSubnet and dstCidr are the same subnet - continue - } - request := &ir.Packet{Src: srcSubnet.Addrs, Dst: dstCidr, Protocol: trackedProtocol.Protocol, Explanation: reason.String()} - a.addRuleToACL(ir.AllowSend(request), srcSubnet, internal, a.singleACL) - if inverseProtocol := trackedProtocol.Protocol.InverseDirection(); inverseProtocol != nil { - response := &ir.Packet{Src: dstCidr, Dst: srcSubnet.Addrs, Protocol: inverseProtocol, Explanation: reason.response().String()} - a.addRuleToACL(ir.AllowReceive(response), srcSubnet, internal, a.singleACL) - } + reason := explanation{internal: internal, connectionOrigin: conn.Origin, protocolOrigin: p.Origin} + request := &ir.Packet{Src: srcSubnet.IPAddrs, Dst: dstCidr, Protocol: p.Protocol, Explanation: reason.String()} + a.addRuleToACL(ir.AllowSend(request), *srcSubnet.Name, internal, a.singleACL) + if inverseProtocol := p.Protocol.InverseDirection(); inverseProtocol != nil { + response := &ir.Packet{Src: dstCidr, Dst: srcSubnet.IPAddrs, Protocol: inverseProtocol, Explanation: reason.response().String()} + a.addRuleToACL(ir.AllowReceive(response), *srcSubnet.Name, internal, a.singleACL) } } // if the dst in internal, rule(s) will be created to allow traffic. // if the protocol allows response, more rules will be created. -func (a *ACLSynthesizer) allowConnectionToDst(conn *ir.Connection, trackedProtocol ir.TrackedProtocol, - dstSubnets []*namedAddrs, srcCidr *netset.IPBlock) { +func (a *ACLSynthesizer) allowConnectionToDst(conn *ir.Connection, p *ir.TrackedProtocol, dstSubnet *ir.NamedAddrs, srcCidr *netset.IPBlock) { _, internalDst, internal := internalConn(conn) - if !internalDst { + if !internalDst || dstSubnet.IPAddrs.Equal(srcCidr) { return } - reason := explanation{internal: internal, connectionOrigin: conn.Origin, protocolOrigin: trackedProtocol.Origin} - for _, dstSubnet := range dstSubnets { - if dstSubnet.Addrs.Equal(srcCidr) { // dstSubnet and srcCidr are the same subnet - continue - } - request := &ir.Packet{Src: srcCidr, Dst: dstSubnet.Addrs, Protocol: trackedProtocol.Protocol, Explanation: reason.String()} - a.addRuleToACL(ir.AllowReceive(request), dstSubnet, internal, a.singleACL) - if inverseProtocol := trackedProtocol.Protocol.InverseDirection(); inverseProtocol != nil { - response := &ir.Packet{Src: dstSubnet.Addrs, Dst: srcCidr, Protocol: inverseProtocol, Explanation: reason.response().String()} - a.addRuleToACL(ir.AllowSend(response), dstSubnet, internal, a.singleACL) - } + reason := explanation{internal: internal, connectionOrigin: conn.Origin, protocolOrigin: p.Origin} + request := &ir.Packet{Src: srcCidr, Dst: dstSubnet.IPAddrs, Protocol: p.Protocol, Explanation: reason.String()} + a.addRuleToACL(ir.AllowReceive(request), *dstSubnet.Name, internal, a.singleACL) + if inverseProtocol := p.Protocol.InverseDirection(); inverseProtocol != nil { + response := &ir.Packet{Src: dstSubnet.IPAddrs, Dst: srcCidr, Protocol: inverseProtocol, Explanation: reason.response().String()} + a.addRuleToACL(ir.AllowSend(response), *dstSubnet.Name, internal, a.singleACL) } } @@ -131,54 +111,6 @@ func (a *ACLSynthesizer) generateACLRulesForBlockedSubnets() { } } -// convert src and dst resources to namedAddrs slices to make it more convenient to go through the addrs and add -// the rule to the relevant acl. Note: in case where the resource in a nif, src/dst will be updated to be its subnet. -func adjustResource(s *ir.Definitions, addrs *netset.IPBlock, resource ir.Resource) ([]*namedAddrs, *netset.IPBlock) { - switch resource.Type { - case ir.ResourceTypeSubnet: - return adjustSubnet(s, addrs, resource.Name), addrs - case ir.ResourceTypeExternal: - return []*namedAddrs{{Name: resource.Name, Addrs: addrs}}, addrs - case ir.ResourceTypeNIF: - result := expandNifToSubnet(s, addrs) - return result, result[0].Addrs // return nif's subnet, not its IP address - case ir.ResourceTypeCidr: - return adjustCidrSegment(s, resource.Name), addrs - } - return []*namedAddrs{}, nil // shouldn't happen -} - -func adjustSubnet(s *ir.Definitions, addrs *netset.IPBlock, resourceName string) []*namedAddrs { - // Todo: Handle the case where there is a subnet and a subnetSegment with the same name - if subnetDetails, ok := s.Subnets[resourceName]; ok { // resource is a subnet - return []*namedAddrs{{Name: resourceName, Addrs: subnetDetails.Address()}} - } - // resource is a subnet segment - for _, subnetName := range s.SubnetSegments[resourceName].Subnets { - if s.Subnets[subnetName].Address().Equal(addrs) { - return []*namedAddrs{{Name: subnetName, Addrs: s.Subnets[subnetName].Address()}} - } - } - return []*namedAddrs{} // shouldn't happen -} - -func adjustCidrSegment(s *ir.Definitions, resourceName string) []*namedAddrs { - cidrSegmentDetails := s.CidrSegments[resourceName] - result := make([]*namedAddrs, len(cidrSegmentDetails.ContainedSubnets)) - for i, subnet := range cidrSegmentDetails.ContainedSubnets { - result[i] = &namedAddrs{Name: subnet, Addrs: s.Subnets[subnet].Address()} - } - return result -} - -func expandNifToSubnet(s *ir.Definitions, addr *netset.IPBlock) []*namedAddrs { - nifName, _ := s.NIFFromIP(addr) // already checked before (Lookup function) that the NIF exists - subnetName := s.NIFs[nifName].Subnet - subnetCidr := s.Subnets[subnetName].Address() - - return []*namedAddrs{{Name: subnetName, Addrs: subnetCidr}} -} - func aclSelector(subnetName ir.ID, single bool) string { if single { return fmt.Sprintf("%s/singleACL", ir.VpcFromScopedResource(subnetName)) @@ -186,12 +118,8 @@ func aclSelector(subnetName ir.ID, single bool) string { return subnetName } -func resourceRelevantToACL(e ir.ResourceType) bool { - return e == ir.ResourceTypeSubnet || e == ir.ResourceTypeCidr || e == ir.ResourceTypeNIF || e == ir.ResourceTypeExternal -} - -func (a *ACLSynthesizer) addRuleToACL(rule *ir.ACLRule, resource *namedAddrs, internal, single bool) { - acl := a.result.LookupOrCreate(aclSelector(resource.Name, single)) +func (a *ACLSynthesizer) addRuleToACL(rule *ir.ACLRule, resourceName ir.ID, internal, single bool) { + acl := a.result.LookupOrCreate(aclSelector(resourceName, single)) if internal { acl.AppendInternal(rule) } else { diff --git a/pkg/synth/common.go b/pkg/synth/common.go index e6e516f3..92d52d8f 100644 --- a/pkg/synth/common.go +++ b/pkg/synth/common.go @@ -8,19 +8,12 @@ package synth import ( "fmt" - "github.com/np-guard/models/pkg/netset" - "github.com/np-guard/vpc-network-config-synthesis/pkg/ir" ) type ( Synthesizer interface { - Synth() (ir.Collection, error) - } - - namedAddrs struct { - Name ir.ID - Addrs *netset.IPBlock + Synth() ir.Collection } explanation struct { @@ -50,8 +43,8 @@ func (e explanation) String() string { } func internalConn(conn *ir.Connection) (internalSrc, internalDst, internal bool) { - internalSrc = conn.Src.Type != ir.ResourceTypeExternal - internalDst = conn.Dst.Type != ir.ResourceTypeExternal + internalSrc = *conn.Src.Type != ir.ResourceTypeExternal + internalDst = *conn.Dst.Type != ir.ResourceTypeExternal internal = internalSrc && internalDst return } diff --git a/pkg/synth/sg.go b/pkg/synth/sg.go index c90b1783..b9f4717e 100644 --- a/pkg/synth/sg.go +++ b/pkg/synth/sg.go @@ -6,8 +6,6 @@ SPDX-License-Identifier: Apache-2.0 package synth import ( - "fmt" - "github.com/np-guard/models/pkg/netp" "github.com/np-guard/vpc-network-config-synthesis/pkg/ir" @@ -20,27 +18,24 @@ type SGSynthesizer struct { result *ir.SGCollection } -// NewSGSynthesizer creates and returns a new SGSynthesizer instance +// NewSGSynthesizer creates and returns a new SGSynthesizer instances func NewSGSynthesizer(s *ir.Spec, _ bool) Synthesizer { return &SGSynthesizer{spec: s, result: ir.NewSGCollection()} } -func (s *SGSynthesizer) Synth() (ir.Collection, error) { +func (s *SGSynthesizer) Synth() ir.Collection { return s.makeSG() } // this method translates spec to a collection of Security Groups // 1. generate SGs for relevant endpoints for each connection // 2. generate SGs for blocked endpoints (endpoints that do not appear in Spec) -func (s *SGSynthesizer) makeSG() (*ir.SGCollection, error) { +func (s *SGSynthesizer) makeSG() *ir.SGCollection { for c := range s.spec.Connections { - err := s.generateSGRulesFromConnection(&s.spec.Connections[c]) - if err != nil { - return nil, err - } + s.generateSGRulesFromConnection(s.spec.Connections[c]) } s.generateSGsForBlockedResources() - return s.result, nil + return s.result } // 1. check that both resources are supported in SG generation. @@ -48,52 +43,66 @@ func (s *SGSynthesizer) makeSG() (*ir.SGCollection, error) { // 3. convert src and dst resources to namedAddrs slices to make it more convenient to go through the addrs // and add the rule to the relevant SG. // 4. generate rules and add them to relevant SG to allow traffic for all pairs of IPAddrs of both resources. -func (s *SGSynthesizer) generateSGRulesFromConnection(conn *ir.Connection) error { - if !resourceRelevantToSG(conn.Src.Type) { - return fmt.Errorf(SGTypeNotSupported, string(conn.Src.Type)) - } - if !resourceRelevantToSG(conn.Dst.Type) { - return fmt.Errorf(SGTypeNotSupported, string(conn.Dst.Type)) - } +func (s *SGSynthesizer) generateSGRulesFromConnection(conn *ir.Connection) { internalSrc, internalDst, internalConn := internalConn(conn) - srcEndpoints := updateEndpoints(&s.spec.Defs, conn.Src) - dstEndpoints := updateEndpoints(&s.spec.Defs, conn.Dst) + for _, srcEndpoint := range conn.Src.NamedAddrs { + for _, dstCidr := range conn.Dst.Cidrs { + if srcEndpoint.IPAddrs.Equal(dstCidr.IPAddrs) { + continue + } - for _, srcEndpoint := range srcEndpoints { - for _, dstEndpoint := range dstEndpoints { - if srcEndpoint.Addrs.Equal(dstEndpoint.Addrs) { + for _, trackedProtocol := range conn.TrackedProtocols { + ruleExplanation := explanation{internal: internalConn, connectionOrigin: conn.Origin, protocolOrigin: trackedProtocol.Origin}.String() + s.allowConnectionEndpoint(srcEndpoint, dstCidr, trackedProtocol.Protocol, ir.Outbound, internalSrc, ruleExplanation) + } + } + } + + for _, dstEndpoint := range conn.Dst.NamedAddrs { + for _, srcCidr := range conn.Src.Cidrs { + if dstEndpoint.IPAddrs.Equal(srcCidr.IPAddrs) { continue } for _, trackedProtocol := range conn.TrackedProtocols { ruleExplanation := explanation{internal: internalConn, connectionOrigin: conn.Origin, protocolOrigin: trackedProtocol.Origin}.String() - s.allowConnectionEndpoint(srcEndpoint, dstEndpoint, trackedProtocol.Protocol, ir.Outbound, internalSrc, ruleExplanation) - s.allowConnectionEndpoint(dstEndpoint, srcEndpoint, trackedProtocol.Protocol, ir.Inbound, internalDst, ruleExplanation) + s.allowConnectionEndpoint(dstEndpoint, srcCidr, trackedProtocol.Protocol, ir.Inbound, internalDst, ruleExplanation) } } } - return nil } // if the endpoint in internal, a rule will be created to allow traffic. -func (s *SGSynthesizer) allowConnectionEndpoint(localEndpoint, remoteEndpoint *namedAddrs, protocol netp.Protocol, - direction ir.Direction, internalEndpoint bool, ruleExplanation string) { +func (s *SGSynthesizer) allowConnectionEndpoint(localEndpoint, remoteEndpoint *ir.NamedAddrs, p netp.Protocol, direction ir.Direction, + internalEndpoint bool, ruleExplanation string) { if !internalEndpoint { return } - localSGName := ir.SGName(localEndpoint.Name) + localSGName := ir.SGName(*localEndpoint.Name) localSG := s.result.LookupOrCreate(localSGName) localSG.Attached = []ir.ID{ir.ID(localSGName)} rule := &ir.SGRule{ - Remote: sgRemote(&s.spec.Defs, remoteEndpoint), + Remote: sgRemote(s.spec.Defs, remoteEndpoint), Direction: direction, - Protocol: protocol, + Protocol: p, Explanation: ruleExplanation, } localSG.Add(rule) } +// what to do if its a cidr segment? +func sgRemote(s *ir.Definitions, resource *ir.NamedAddrs) ir.RemoteType { + if _, ok := s.Externals[*resource.Name]; ok { + return resource.IPAddrs + } + if _, ok := s.Subnets[*resource.Name]; ok { + return resource.IPAddrs + } + // what to do if its a cidr? + return ir.SGName(*resource.Name) +} + // generate SGs for blocked endpoints (endpoints that do not appear in Spec) func (s *SGSynthesizer) generateSGsForBlockedResources() { blockedResources := s.spec.ComputeBlockedResources() @@ -102,32 +111,3 @@ func (s *SGSynthesizer) generateSGsForBlockedResources() { sg.Attached = []ir.ID{resource} } } - -// convert src and dst resources to namedAddrs slices to make it more convenient to go through the addrs and add -// the rule to the relevant sg. -func updateEndpoints(s *ir.Definitions, resource ir.Resource) []*namedAddrs { - if resource.Type == ir.ResourceTypeExternal { - return []*namedAddrs{{Name: resource.Name, Addrs: resource.IPAddrs[0]}} - } - result := make([]*namedAddrs, len(resource.IPAddrs)) - for i, ip := range resource.IPAddrs { - name := resource.Name - // TODO: delete the following if statement when there will be a support in VSIs with multiple NIFs - if nifDetails, ok := s.NIFs[resource.Name]; ok { - name = nifDetails.Instance - } - result[i] = &namedAddrs{Name: name, Addrs: ip} - } - return result -} - -func sgRemote(s *ir.Definitions, resource *namedAddrs) ir.RemoteType { - if _, ok := s.Externals[resource.Name]; ok { - return resource.Addrs - } - return ir.SGName(resource.Name) -} - -func resourceRelevantToSG(e ir.ResourceType) bool { - return e == ir.ResourceTypeNIF || e == ir.ResourceTypeExternal || e == ir.ResourceTypeVPE -} diff --git a/test/error_test_list.go b/test/error_test_list.go index 72927b3f..edcd1ff8 100644 --- a/test/error_test_list.go +++ b/test/error_test_list.go @@ -140,17 +140,17 @@ func errorTestsList() []testCase { }, // vpe resource in ACL generation - { - testName: "vpe acl", - expectedErr: "ACL: src/dst of type vpe is not supported", - args: &command{ - cmd: synth, - subcmd: acl, - config: "%s/vpe_acl/config_object.json", - spec: "%s/vpe_acl/conn_spec.json", - outputFile: outputPath, - }, - }, + // { + // testName: "vpe acl", + // expectedErr: "ACL: src/dst of type vpe is not supported", + // args: &command{ + // cmd: synth, + // subcmd: acl, + // config: "%s/vpe_acl/config_object.json", + // spec: "%s/vpe_acl/conn_spec.json", + // outputFile: outputPath, + // }, + // }, // impossible resource type { From 38f9fa5364d3145cd13d4cfeaa6385386dbc3469 Mon Sep 17 00:00:00 2001 From: Yair Slobodin Date: Sun, 13 Oct 2024 18:42:46 +0300 Subject: [PATCH 03/13] lookup functions --- .../{unmarshalConn.go => unmarshalConns.go} | 4 +- pkg/io/jsonio/unmarshalDefinitions.go | 11 ++ pkg/ir/lookupForACLSynth.go | 110 ++++++++++++ pkg/ir/lookupForSGSynth.go | 145 +++++++++++++++ pkg/ir/spec.go | 170 +++++------------- pkg/synth/acl.go | 22 +-- pkg/synth/sg.go | 67 +++---- 7 files changed, 355 insertions(+), 174 deletions(-) rename pkg/io/jsonio/{unmarshalConn.go => unmarshalConns.go} (97%) create mode 100644 pkg/ir/lookupForACLSynth.go create mode 100644 pkg/ir/lookupForSGSynth.go diff --git a/pkg/io/jsonio/unmarshalConn.go b/pkg/io/jsonio/unmarshalConns.go similarity index 97% rename from pkg/io/jsonio/unmarshalConn.go rename to pkg/io/jsonio/unmarshalConns.go index 695e1c79..9ab62ec3 100644 --- a/pkg/io/jsonio/unmarshalConn.go +++ b/pkg/io/jsonio/unmarshalConns.go @@ -62,9 +62,9 @@ func transalteConnectionResource(defs *ir.Definitions, resource *spec.Resource, } var res *ir.Resource if isSG { - res, err = defs.LookupSG(resourceType, resource.Name) + res, err = defs.LookupForSGSynth(resourceType, resource.Name) } else { - res, err = defs.LookupACL(resourceType, resource.Name) + res, err = defs.LookupForACLSynth(resourceType, resource.Name) } return res, resourceType == ir.ResourceTypeExternal, err } diff --git a/pkg/io/jsonio/unmarshalDefinitions.go b/pkg/io/jsonio/unmarshalDefinitions.go index 45d8b990..ef6e7c63 100644 --- a/pkg/io/jsonio/unmarshalDefinitions.go +++ b/pkg/io/jsonio/unmarshalDefinitions.go @@ -93,6 +93,9 @@ func parseCidrSegments(cidrSegments map[string][]string, configDefs *ir.ConfigDe cidrs = cidrs.Union(c) containedSubnets = append(containedSubnets, subnets...) } + if !internalCidr(configDefs, cidrs) { + return nil, fmt.Errorf("only internal cidrs are supportd in cidr segment resource type (segment name: %v)", segmentName) + } cidrSegmentDetails := ir.CidrSegmentDetails{ Cidrs: cidrs, ContainedSubnets: slices.Compact(slices.Sorted(slices.Values(containedSubnets))), @@ -135,3 +138,11 @@ func divideSegmentsByType(jsonSegments *spec.SpecSegments) segmentsTypes { } return res } + +func internalCidr(configDefs *ir.ConfigDefs, cidr *netset.IPBlock) bool { + res := cidr + for _, vpcDetails := range configDefs.VPCs { + res = res.Subtract(vpcDetails.AddressPrefixes) + } + return res == netset.NewIPBlock() +} diff --git a/pkg/ir/lookupForACLSynth.go b/pkg/ir/lookupForACLSynth.go new file mode 100644 index 00000000..d218ae6c --- /dev/null +++ b/pkg/ir/lookupForACLSynth.go @@ -0,0 +1,110 @@ +/* +Copyright 2023- IBM Inc. All Rights Reserved. +SPDX-License-Identifier: Apache-2.0 +*/ + +// Package ir describes the input-format-agnostic specification of the required connectivity +package ir + +import ( + "fmt" + + "github.com/np-guard/vpc-network-config-synthesis/pkg/utils" +) + +func (s *Definitions) LookupForACLSynth(t ResourceType, name string) (*Resource, error) { + switch t { + case ResourceTypeExternal: + return lookupSingle(s.Externals, name, t) + case ResourceTypeSubnet: + return lookupSingle(s.Subnets, name, t) + case ResourceTypeNIF: + return lookupSingleForACLSynth(s.NIFs, s.Subnets, name, t) + case ResourceTypeInstance: + return lookupContainerForACLSynth(s.Instances, s, name, ResourceTypeInstance) + case ResourceTypeVPE: + return lookupContainerForACLSynth(s.VPEs, s, name, ResourceTypeVPE) + case ResourceTypeSubnetSegment: + return s.lookupSegmentForACLSynth(s.SubnetSegments, name, t, ResourceTypeSubnet) + case ResourceTypeCidrSegment: + return s.lookupCidrSegmentACL(name) + case ResourceTypeNifSegment: + return s.lookupSegmentForACLSynth(s.SubnetSegments, name, t, ResourceTypeNIF) + case ResourceTypeInstanceSegment: + return s.lookupSegmentForACLSynth(s.SubnetSegments, name, t, ResourceTypeInstance) + case ResourceTypeVpeSegment: + return s.lookupSegmentForACLSynth(s.SubnetSegments, name, t, ResourceTypeVPE) + } + return nil, nil // should not get here +} + +func lookupSingleForACLSynth[T InternalNWResource](m map[ID]T, subnets map[ID]*SubnetDetails, name string, t ResourceType) (*Resource, error) { + details, ok := m[name] + if !ok { + return nil, fmt.Errorf(resourceNotFound, name, t) + } + + res, err := lookupSingle(subnets, details.SubnetName(), ResourceTypeSubnet) + if err != nil { + return nil, err + } + res.Name = &name // save NIF's name as resource name + return res, nil +} + +func (s *Definitions) lookupSegmentForACLSynth(segment map[ID]*SegmentDetails, name string, t, elementType ResourceType) (*Resource, error) { + segmentDetails, ok := segment[name] + if !ok { + return nil, fmt.Errorf(containerNotFound, name, t) + } + + res := &Resource{Name: &name, NamedAddrs: []*NamedAddrs{}, Cidrs: []*NamedAddrs{}, Type: utils.Ptr(ResourceTypeSubnet)} + for _, elementName := range segmentDetails.Elements { + subnet, err := s.LookupForACLSynth(elementType, elementName) + if err != nil { + return nil, err + } + res.NamedAddrs = append(res.NamedAddrs, subnet.NamedAddrs...) + res.Cidrs = append(res.Cidrs, subnet.Cidrs...) + } + return res, nil +} + +func lookupContainerForACLSynth[T EndpointProvider](m map[ID]T, defs *Definitions, name string, t ResourceType) (*Resource, error) { + containerDetails, ok := m[name] + if !ok { + return nil, fmt.Errorf(containerNotFound, name, ResourceTypeInstance) + } + + res := &Resource{Name: &name, NamedAddrs: []*NamedAddrs{}, Cidrs: []*NamedAddrs{}, Type: utils.Ptr(ResourceTypeSubnet)} + endpointMap := containerDetails.endpointMap(defs) + for _, endpointName := range containerDetails.endpointNames() { + subnet, err := lookupSingleForACLSynth(endpointMap, defs.Subnets, endpointName, containerDetails.endpointType()) + if err != nil { + return nil, err + } + res.Cidrs = append(res.Cidrs, subnet.Cidrs...) + res.NamedAddrs = append(res.NamedAddrs, subnet.NamedAddrs...) + } + return res, nil +} + +func (s *Definitions) lookupCidrSegmentACL(name string) (*Resource, error) { + segmentDetails, ok := s.CidrSegments[name] + if !ok { + return nil, fmt.Errorf(containerNotFound, name, ResourceTypeCidrSegment) + } + + res := &Resource{Name: &name, NamedAddrs: []*NamedAddrs{}, Cidrs: []*NamedAddrs{}, Type: utils.Ptr(ResourceTypeSubnet)} + for _, subnetName := range segmentDetails.ContainedSubnets { + subnet, err := lookupSingle(s.Subnets, subnetName, ResourceTypeSubnet) + if err != nil { + return nil, fmt.Errorf("%w while looking up %v %v for cidr segment %v", err, ResourceTypeSubnet, subnetName, name) + } + res.NamedAddrs = append(res.NamedAddrs, subnet.NamedAddrs...) + } + for _, cidr := range segmentDetails.Cidrs.SplitToCidrs() { + res.Cidrs = append(res.Cidrs, &NamedAddrs{Name: &name, IPAddrs: cidr}) + } + return res, nil +} diff --git a/pkg/ir/lookupForSGSynth.go b/pkg/ir/lookupForSGSynth.go new file mode 100644 index 00000000..fc4db5d9 --- /dev/null +++ b/pkg/ir/lookupForSGSynth.go @@ -0,0 +1,145 @@ +/* +Copyright 2023- IBM Inc. All Rights Reserved. +SPDX-License-Identifier: Apache-2.0 +*/ + +// Package ir describes the input-format-agnostic specification of the required connectivity +package ir + +import ( + "fmt" + "slices" + + "github.com/np-guard/models/pkg/netset" + "github.com/np-guard/vpc-network-config-synthesis/pkg/utils" +) + +func (s *Definitions) LookupForSGSynth(t ResourceType, name string) (*Resource, error) { + switch t { + case ResourceTypeExternal: + return lookupSingle(s.Externals, name, t) + case ResourceTypeSubnet: + return s.lookupSubnetForSGSynth(name) + case ResourceTypeNIF: + return s.lookupNIFForSGSynth(name) + case ResourceTypeInstance: + return lookupContainerForSGSynth(s.Instances, name, ResourceTypeInstance) + case ResourceTypeVPE: + return lookupContainerForSGSynth(s.Instances, name, ResourceTypeVPE) + case ResourceTypeSubnetSegment: + return s.lookupSubnetSegmentForSGSynth(name) + case ResourceTypeCidrSegment: + return s.lookupCidrSegmentForSGSynth(name) + case ResourceTypeNifSegment: + return s.lookupSegmentForSGSynth(s.NifSegments, name, ResourceTypeNIF) + case ResourceTypeInstanceSegment: + return s.lookupSegmentForSGSynth(s.InstanceSegments, name, ResourceTypeInstance) + case ResourceTypeVpeSegment: + return s.lookupSegmentForSGSynth(s.VpeSegments, name, ResourceTypeVPE) + } + return nil, nil // should not get here +} + +func (s *Definitions) lookupNIFForSGSynth(name string) (*Resource, error) { + if _, ok := s.NIFs[name]; ok { + return &Resource{ + Name: &name, + NamedAddrs: []*NamedAddrs{{Name: &s.NIFs[name].Instance}}, + Cidrs: []*NamedAddrs{}, + Type: utils.Ptr(ResourceTypeNIF), + }, nil + } + return nil, fmt.Errorf(resourceNotFound, ResourceTypeNIF, name) +} + +func lookupContainerForSGSynth[T EndpointProvider](m map[string]T, name string, t ResourceType) (*Resource, error) { + if _, ok := m[name]; ok { + return &Resource{ + Name: &name, + NamedAddrs: []*NamedAddrs{{Name: &name}}, + Cidrs: []*NamedAddrs{}, + Type: utils.Ptr(t), + }, nil + } + return nil, fmt.Errorf(containerNotFound, t, name) +} + +func (s *Definitions) lookupSubnetForSGSynth(name string) (*Resource, error) { + if subnetDetails, ok := s.Subnets[name]; ok { + return &Resource{Name: &name, + NamedAddrs: s.containedResourcesInCidr(subnetDetails.CIDR), + Cidrs: []*NamedAddrs{{IPAddrs: subnetDetails.CIDR}}, + Type: utils.Ptr(ResourceTypeSubnet), + }, nil + } + return nil, fmt.Errorf(resourceNotFound, ResourceTypeSubnet, name) +} + +func (s *Definitions) lookupSubnetSegmentForSGSynth(name string) (*Resource, error) { + segmentDetails, ok := s.SubnetSegments[name] + if !ok { + return nil, fmt.Errorf(containerNotFound, ResourceTypeSubnetSegment, name) + } + + res := &Resource{Name: &name, NamedAddrs: []*NamedAddrs{}, Cidrs: []*NamedAddrs{}, Type: utils.Ptr(ResourceTypeSubnet)} + for _, subnetName := range segmentDetails.Elements { + subnetRes, err := s.lookupSubnetForSGSynth(subnetName) + if err != nil { + return nil, err + } + res.NamedAddrs = append(res.NamedAddrs, subnetRes.NamedAddrs...) + res.Cidrs = append(res.Cidrs, subnetRes.Cidrs...) + } + return res, nil +} + +func (s *Definitions) lookupCidrSegmentForSGSynth(name string) (*Resource, error) { + if segmentDetails, ok := s.CidrSegments[name]; ok { + return &Resource{Name: &name, + NamedAddrs: s.containedResourcesInCidr(segmentDetails.Cidrs), + Cidrs: cidrToNamedAddrs(segmentDetails.Cidrs), + Type: utils.Ptr(ResourceTypeCidr), + }, nil + } + return nil, fmt.Errorf(containerNotFound, ResourceTypeCidrSegment, name) +} + +func (s *Definitions) lookupSegmentForSGSynth(segment map[string]*SegmentDetails, name string, t ResourceType) (*Resource, error) { + if segmentDetails, ok := segment[name]; ok { + return &Resource{Name: &name, NamedAddrs: namesToNamedAddrs(segmentDetails.Elements), Cidrs: []*NamedAddrs{}, Type: utils.Ptr(t)}, nil + } + return nil, fmt.Errorf(containerNotFound, name, t) +} + +func (s *Definitions) containedResourcesInCidr(cidr *netset.IPBlock) []*NamedAddrs { + names := make([]string, 0) + for _, nifDetails := range s.NIFs { + if nifDetails.IP.IsSubset(cidr) { + names = append(names, nifDetails.Instance) + } + } + for _, reservedIPName := range s.VPEReservedIPs { + if reservedIPName.IP.IsSubset(cidr) { + names = append(names, reservedIPName.VPEName) + } + } + slices.Compact(slices.Sorted(slices.Values(names))) + return namesToNamedAddrs(names) +} + +func cidrToNamedAddrs(cidr *netset.IPBlock) []*NamedAddrs { + cidrs := cidr.SplitToCidrs() + res := make([]*NamedAddrs, len(cidrs)) + for _, c := range cidrs { + res = append(res, &NamedAddrs{IPAddrs: c}) + } + return res +} + +func namesToNamedAddrs(names []string) []*NamedAddrs { + res := make([]*NamedAddrs, len(names)) + for _, name := range names { + res = append(res, &NamedAddrs{Name: &name}) + } + return res +} diff --git a/pkg/ir/spec.go b/pkg/ir/spec.go index 8b1e51e8..f8756549 100644 --- a/pkg/ir/spec.go +++ b/pkg/ir/spec.go @@ -49,7 +49,7 @@ type ( // list of CIDR / Ip addresses. NamedAddrs []*NamedAddrs - // Cidr list (in case of CIDR segment) + // Cidr list Cidrs []*NamedAddrs // Type of resource @@ -164,6 +164,17 @@ type ( NWResource interface { Address() *netset.IPBlock } + + InternalNWResource interface { + NWResource + SubnetName() ID + } + + EndpointProvider interface { + endpointNames() []ID + endpointMap(s *Definitions) map[ID]InternalNWResource + endpointType() ResourceType + } ) const ( @@ -195,151 +206,64 @@ func (n *NifDetails) Address() *netset.IPBlock { return n.IP } +func (n *NifDetails) SubnetName() ID { + return n.Subnet +} + func (v *VPEReservedIPsDetails) Address() *netset.IPBlock { return v.IP } -func (e *ExternalDetails) Address() *netset.IPBlock { - return e.ExternalAddrs +func (v *VPEReservedIPsDetails) SubnetName() ID { + return v.Subnet } -func lookupSingle[T NWResource](m map[ID]T, name string, t ResourceType) (*Resource, error) { - if details, ok := m[name]; ok { - return &Resource{ - Name: &name, - NamedAddrs: []*NamedAddrs{{Name: &name, IPAddrs: details.Address()}}, - Cidrs: []*NamedAddrs{{Name: &name, IPAddrs: details.Address()}}, - Type: utils.Ptr(ResourceTypeSubnet), - }, nil - } - return nil, fmt.Errorf(resourceNotFound, name, t) -} - -func (s *Definitions) lookupNifACL(name string) (*Resource, error) { - if nifDetails, ok := s.NIFs[name]; ok { - - } - return nil, fmt.Errorf(resourceNotFound, name, ResourceTypeNIF) +func (e *ExternalDetails) Address() *netset.IPBlock { + return e.ExternalAddrs } -func (s *Definitions) lookupSubnetSegmentACL(name string) (*Resource, error) { - if segmentDetails, ok := s.SubnetSegments[name]; ok { - res := &Resource{Name: &name, NamedAddrs: []*NamedAddrs{}, Cidrs: []*NamedAddrs{}, Type: utils.Ptr(ResourceTypeSubnet)} - for _, subnetName := range segmentDetails.Elements { - subnet, err := lookupSingle(s.Subnets, subnetName, ResourceTypeSubnet) - if err != nil { - return nil, fmt.Errorf("%w while looking up %v %v for subnet segment %v", err, ResourceTypeSubnet, subnetName, name) - } - res.NamedAddrs = append(res.NamedAddrs, subnet.NamedAddrs...) - res.Cidrs = append(res.Cidrs, subnet.Cidrs...) - } - return res, nil - } - return nil, fmt.Errorf(containerNotFound, name, ResourceTypeSubnetSegment) +func (i *InstanceDetails) endpointNames() []ID { + return i.Nifs } -func (s *Definitions) lookupCidrSegmentACL(name string) (*Resource, error) { - if segmentDetails, ok := s.CidrSegments[name]; ok { - res := &Resource{Name: &name, NamedAddrs: []*NamedAddrs{}, Cidrs: []*NamedAddrs{}, Type: utils.Ptr(ResourceTypeSubnet)} - for _, subnetName := range segmentDetails.ContainedSubnets { - subnet, err := lookupSingle(s.Subnets, subnetName, ResourceTypeSubnet) - if err != nil { - return nil, fmt.Errorf("%w while looking up %v %v for cidr segment %v", err, ResourceTypeSubnet, subnetName, name) - } - res.NamedAddrs = append(res.NamedAddrs, subnet.NamedAddrs...) - } - for _, cidr := range segmentDetails.Cidrs.SplitToCidrs() { - res.Cidrs = append(res.Cidrs, &NamedAddrs{Name: &name, IPAddrs: cidr}) - } - return res, nil +func (i *InstanceDetails) endpointMap(s *Definitions) map[ID]InternalNWResource { + res := make(map[ID]InternalNWResource, len(s.NIFs)) + for k, v := range s.NIFs { + res[k] = v } - return nil, fmt.Errorf(containerNotFound, name, ResourceTypeSubnet) + return res } -func (s *Definitions) lookupInstanceACL(name string) (*Resource, error) { - if instnaceDetails, ok := s.Instances[name]; ok { - - } +func (i *InstanceDetails) endpointType() ResourceType { + return ResourceTypeNIF } -func (s *Definitions) lookupInstance(name string) (Resource, error) { - if instanceDetails, ok := s.Instances[name]; ok { - ips := make([]*netset.IPBlock, len(instanceDetails.Nifs)) - for i, elemName := range instanceDetails.Nifs { - nif, err := s.Lookup(ResourceTypeNIF, elemName) - if err != nil { - return Resource{}, fmt.Errorf("%w while looking up %v %v for instance %v", err, ResourceTypeNIF, elemName, name) - } - // each nif has only one IP address - ips[i] = nif.IPAddrs[0] - } - return Resource{name, ips, ResourceTypeNIF}, nil - } - return Resource{}, containerNotFoundError(name, ResourceTypeInstance) +func (v *VPEDetails) endpointNames() []ID { + return v.VPEReservedIPs } -func (s *Definitions) lookupVPE(name string) (Resource, error) { - VPEDetails, ok := s.VPEs[name] - if !ok { - return Resource{}, resourceNotFoundError(name, ResourceTypeVPE) +func (v *VPEDetails) endpointMap(s *Definitions) map[ID]InternalNWResource { + res := make(map[ID]InternalNWResource, len(s.VPEReservedIPs)) + for k, v := range s.VPEReservedIPs { + res[k] = v } - ips := make([]*netset.IPBlock, len(VPEDetails.VPEReservedIPs)) - for i, vpeEndPoint := range VPEDetails.VPEReservedIPs { - ips[i] = s.VPEReservedIPs[vpeEndPoint].IP - } - return Resource{name, ips, ResourceTypeVPE}, nil + return res } -func (s *Definitions) LookupACL(t ResourceType, name string) (*Resource, error) { - switch t { - case ResourceTypeExternal: - return lookupSingle(s.Externals, name, t) - case ResourceTypeSubnet: - return lookupSingle(s.Subnets, name, t) - case ResourceTypeNIF: - return s.lookupNifACL(s.NIFs, name, t) - case ResourceTypeInstance: - return s.lookupInstanceACL(name) - case ResourceTypeVPE: - return s.lookupVpeACL(name) - case ResourceTypeSubnetSegment: - return s.lookupSubnetSegmentACL(name) - case ResourceTypeCidrSegment: - return s.lookupCidrSegmentACL(name) - case ResourceTypeNifSegment: - return s.lookupNifSegmentACL(name) - case ResourceTypeInstanceSegment: - return s.lookupInstanceSegmentACL(name) - case ResourceTypeVpeSegment: - return s.lookupVpeSegmentACL(name) - } - return nil, nil // should not get here +func (v *VPEDetails) endpointType() ResourceType { + return ResourceTypeVPE } -func (s *Definitions) LookupSG(t ResourceType, name string) (*Resource, error) { - switch t { - case ResourceTypeExternal: - return lookupSingle(s.Externals, name, t) - case ResourceTypeSubnet: - return lookupSubnetSG(s.Subnets, name, t) - case ResourceTypeNIF: - return s.lookupNifSG(s.NIFs, name, t) - case ResourceTypeInstance: - return s.lookupInstanceSG(name) - case ResourceTypeVPE: - return s.lookupVpeSG(name) - case ResourceTypeSubnetSegment: - return s.lookupSubnetSegmentSG(name) - case ResourceTypeCidrSegment: - return s.lookupCidrSegmentSG(name) - case ResourceTypeNifSegment: - return s.lookupNifSegmentSG(name) - case ResourceTypeInstanceSegment: - return s.lookupInstanceSegmentSG(name) - case ResourceTypeVpeSegment: - return s.lookupVpeSegmentSG(name) +func lookupSingle[T NWResource](m map[ID]T, name string, t ResourceType) (*Resource, error) { + if details, ok := m[name]; ok { + return &Resource{ + Name: &name, + NamedAddrs: []*NamedAddrs{{Name: &name, IPAddrs: details.Address()}}, + Cidrs: []*NamedAddrs{{Name: &name, IPAddrs: details.Address()}}, + Type: utils.Ptr(t), + }, nil } - return nil, nil // should not get here + return nil, fmt.Errorf(resourceNotFound, name, t) } func (s *ConfigDefs) SubnetsContainedInCidr(cidr *netset.IPBlock) ([]ID, error) { diff --git a/pkg/synth/acl.go b/pkg/synth/acl.go index 7fc86560..37769bf4 100644 --- a/pkg/synth/acl.go +++ b/pkg/synth/acl.go @@ -100,17 +100,6 @@ func (a *ACLSynthesizer) allowConnectionToDst(conn *ir.Connection, p *ir.Tracked } } -// generate nACL rules for blocked subnets (subnets that do not appear in Spec) -func (a *ACLSynthesizer) generateACLRulesForBlockedSubnets() { - blockedSubnets := a.spec.ComputeBlockedSubnets() - for _, subnet := range blockedSubnets { - acl := a.result.LookupOrCreate(aclSelector(subnet, a.singleACL)) - cidr := a.spec.Defs.Subnets[subnet].Address() - acl.AppendInternal(ir.DenyAllReceive(subnet, cidr)) - acl.AppendInternal(ir.DenyAllSend(subnet, cidr)) - } -} - func aclSelector(subnetName ir.ID, single bool) string { if single { return fmt.Sprintf("%s/singleACL", ir.VpcFromScopedResource(subnetName)) @@ -126,3 +115,14 @@ func (a *ACLSynthesizer) addRuleToACL(rule *ir.ACLRule, resourceName ir.ID, inte acl.AppendExternal(rule) } } + +// generate nACL rules for blocked subnets (subnets that do not appear in Spec) +func (a *ACLSynthesizer) generateACLRulesForBlockedSubnets() { + blockedSubnets := a.spec.ComputeBlockedSubnets() + for _, subnet := range blockedSubnets { + acl := a.result.LookupOrCreate(aclSelector(subnet, a.singleACL)) + cidr := a.spec.Defs.Subnets[subnet].Address() + acl.AppendInternal(ir.DenyAllReceive(subnet, cidr)) + acl.AppendInternal(ir.DenyAllSend(subnet, cidr)) + } +} diff --git a/pkg/synth/sg.go b/pkg/synth/sg.go index b9f4717e..3186a8a4 100644 --- a/pkg/synth/sg.go +++ b/pkg/synth/sg.go @@ -32,49 +32,28 @@ func (s *SGSynthesizer) Synth() ir.Collection { // 2. generate SGs for blocked endpoints (endpoints that do not appear in Spec) func (s *SGSynthesizer) makeSG() *ir.SGCollection { for c := range s.spec.Connections { - s.generateSGRulesFromConnection(s.spec.Connections[c]) + s.generateSGRulesFromConnection(s.spec.Connections[c], ir.Outbound) + s.generateSGRulesFromConnection(s.spec.Connections[c], ir.Inbound) } s.generateSGsForBlockedResources() return s.result } -// 1. check that both resources are supported in SG generation. -// 2. check that at least one resource is internal. -// 3. convert src and dst resources to namedAddrs slices to make it more convenient to go through the addrs -// and add the rule to the relevant SG. -// 4. generate rules and add them to relevant SG to allow traffic for all pairs of IPAddrs of both resources. -func (s *SGSynthesizer) generateSGRulesFromConnection(conn *ir.Connection) { - internalSrc, internalDst, internalConn := internalConn(conn) - - for _, srcEndpoint := range conn.Src.NamedAddrs { - for _, dstCidr := range conn.Dst.Cidrs { - if srcEndpoint.IPAddrs.Equal(dstCidr.IPAddrs) { - continue - } - - for _, trackedProtocol := range conn.TrackedProtocols { - ruleExplanation := explanation{internal: internalConn, connectionOrigin: conn.Origin, protocolOrigin: trackedProtocol.Origin}.String() - s.allowConnectionEndpoint(srcEndpoint, dstCidr, trackedProtocol.Protocol, ir.Outbound, internalSrc, ruleExplanation) - } - } - } - - for _, dstEndpoint := range conn.Dst.NamedAddrs { - for _, srcCidr := range conn.Src.Cidrs { - if dstEndpoint.IPAddrs.Equal(srcCidr.IPAddrs) { - continue - } +func (s *SGSynthesizer) generateSGRulesFromConnection(conn *ir.Connection, direction ir.Direction) { + localResource, remoteResource, internalEndpoint, internalConn := connSettings(conn, direction) + for _, localEndpoint := range localResource.NamedAddrs { + for _, remoteCidr := range remoteResource.Cidrs { for _, trackedProtocol := range conn.TrackedProtocols { ruleExplanation := explanation{internal: internalConn, connectionOrigin: conn.Origin, protocolOrigin: trackedProtocol.Origin}.String() - s.allowConnectionEndpoint(dstEndpoint, srcCidr, trackedProtocol.Protocol, ir.Inbound, internalDst, ruleExplanation) + s.allowConnectionEndpoint(localEndpoint, remoteCidr, remoteResource.Type, trackedProtocol.Protocol, direction, internalEndpoint, ruleExplanation) } } } } // if the endpoint in internal, a rule will be created to allow traffic. -func (s *SGSynthesizer) allowConnectionEndpoint(localEndpoint, remoteEndpoint *ir.NamedAddrs, p netp.Protocol, direction ir.Direction, +func (s *SGSynthesizer) allowConnectionEndpoint(localEndpoint, remoteEndpoint *ir.NamedAddrs, remoteType *ir.ResourceType, p netp.Protocol, direction ir.Direction, internalEndpoint bool, ruleExplanation string) { if !internalEndpoint { return @@ -83,7 +62,7 @@ func (s *SGSynthesizer) allowConnectionEndpoint(localEndpoint, remoteEndpoint *i localSG := s.result.LookupOrCreate(localSGName) localSG.Attached = []ir.ID{ir.ID(localSGName)} rule := &ir.SGRule{ - Remote: sgRemote(s.spec.Defs, remoteEndpoint), + Remote: sgRemote(remoteEndpoint, remoteType), Direction: direction, Protocol: p, Explanation: ruleExplanation, @@ -91,16 +70,28 @@ func (s *SGSynthesizer) allowConnectionEndpoint(localEndpoint, remoteEndpoint *i localSG.Add(rule) } -// what to do if its a cidr segment? -func sgRemote(s *ir.Definitions, resource *ir.NamedAddrs) ir.RemoteType { - if _, ok := s.Externals[*resource.Name]; ok { - return resource.IPAddrs +func sgRemote(resource *ir.NamedAddrs, t *ir.ResourceType) ir.RemoteType { + if isSGRemote(*t) { + return ir.SGName(*resource.Name) } - if _, ok := s.Subnets[*resource.Name]; ok { - return resource.IPAddrs + return resource.IPAddrs +} + +func connSettings(conn *ir.Connection, direction ir.Direction) (*ir.Resource, *ir.Resource, bool, bool) { + internalSrc, internalDst, internalConn := internalConn(conn) + localResource := conn.Src + remoteResource := conn.Dst + internalEndpoint := internalSrc + if direction == ir.Inbound { + localResource = conn.Dst + remoteResource = conn.Src + internalEndpoint = internalDst } - // what to do if its a cidr? - return ir.SGName(*resource.Name) + return localResource, remoteResource, internalEndpoint, internalConn +} + +func isSGRemote(t ir.ResourceType) bool { + return t == ir.ResourceTypeInstance || t == ir.ResourceTypeNIF || t == ir.ResourceTypeVPE } // generate SGs for blocked endpoints (endpoints that do not appear in Spec) From c565d25a248b5c0b545f0eab1432b7af5214ce5c Mon Sep 17 00:00:00 2001 From: Yair Slobodin Date: Mon, 14 Oct 2024 10:50:28 +0300 Subject: [PATCH 04/13] better lookup --- pkg/ir/lookupForACLSynth.go | 26 ++++---------------------- pkg/ir/lookupForSGSynth.go | 35 +++++------------------------------ pkg/ir/spec.go | 19 +++++++++++++++++++ 3 files changed, 28 insertions(+), 52 deletions(-) diff --git a/pkg/ir/lookupForACLSynth.go b/pkg/ir/lookupForACLSynth.go index d218ae6c..9fdb7f38 100644 --- a/pkg/ir/lookupForACLSynth.go +++ b/pkg/ir/lookupForACLSynth.go @@ -25,15 +25,15 @@ func (s *Definitions) LookupForACLSynth(t ResourceType, name string) (*Resource, case ResourceTypeVPE: return lookupContainerForACLSynth(s.VPEs, s, name, ResourceTypeVPE) case ResourceTypeSubnetSegment: - return s.lookupSegmentForACLSynth(s.SubnetSegments, name, t, ResourceTypeSubnet) + return s.lookupSegment(s.SubnetSegments, name, t, ResourceTypeSubnet, s.LookupForACLSynth) case ResourceTypeCidrSegment: return s.lookupCidrSegmentACL(name) case ResourceTypeNifSegment: - return s.lookupSegmentForACLSynth(s.SubnetSegments, name, t, ResourceTypeNIF) + return s.lookupSegment(s.NifSegments, name, t, ResourceTypeNIF, s.LookupForACLSynth) case ResourceTypeInstanceSegment: - return s.lookupSegmentForACLSynth(s.SubnetSegments, name, t, ResourceTypeInstance) + return s.lookupSegment(s.InstanceSegments, name, t, ResourceTypeInstance, s.LookupForACLSynth) case ResourceTypeVpeSegment: - return s.lookupSegmentForACLSynth(s.SubnetSegments, name, t, ResourceTypeVPE) + return s.lookupSegment(s.VpeSegments, name, t, ResourceTypeVPE, s.LookupForACLSynth) } return nil, nil // should not get here } @@ -52,24 +52,6 @@ func lookupSingleForACLSynth[T InternalNWResource](m map[ID]T, subnets map[ID]*S return res, nil } -func (s *Definitions) lookupSegmentForACLSynth(segment map[ID]*SegmentDetails, name string, t, elementType ResourceType) (*Resource, error) { - segmentDetails, ok := segment[name] - if !ok { - return nil, fmt.Errorf(containerNotFound, name, t) - } - - res := &Resource{Name: &name, NamedAddrs: []*NamedAddrs{}, Cidrs: []*NamedAddrs{}, Type: utils.Ptr(ResourceTypeSubnet)} - for _, elementName := range segmentDetails.Elements { - subnet, err := s.LookupForACLSynth(elementType, elementName) - if err != nil { - return nil, err - } - res.NamedAddrs = append(res.NamedAddrs, subnet.NamedAddrs...) - res.Cidrs = append(res.Cidrs, subnet.Cidrs...) - } - return res, nil -} - func lookupContainerForACLSynth[T EndpointProvider](m map[ID]T, defs *Definitions, name string, t ResourceType) (*Resource, error) { containerDetails, ok := m[name] if !ok { diff --git a/pkg/ir/lookupForSGSynth.go b/pkg/ir/lookupForSGSynth.go index fc4db5d9..3466794b 100644 --- a/pkg/ir/lookupForSGSynth.go +++ b/pkg/ir/lookupForSGSynth.go @@ -25,17 +25,17 @@ func (s *Definitions) LookupForSGSynth(t ResourceType, name string) (*Resource, case ResourceTypeInstance: return lookupContainerForSGSynth(s.Instances, name, ResourceTypeInstance) case ResourceTypeVPE: - return lookupContainerForSGSynth(s.Instances, name, ResourceTypeVPE) + return lookupContainerForSGSynth(s.VPEs, name, ResourceTypeVPE) case ResourceTypeSubnetSegment: - return s.lookupSubnetSegmentForSGSynth(name) + return s.lookupSegment(s.SubnetSegments, name, t, ResourceTypeSubnet, s.LookupForSGSynth) case ResourceTypeCidrSegment: return s.lookupCidrSegmentForSGSynth(name) case ResourceTypeNifSegment: - return s.lookupSegmentForSGSynth(s.NifSegments, name, ResourceTypeNIF) + return s.lookupSegment(s.NifSegments, name, t, ResourceTypeNIF, s.LookupForSGSynth) case ResourceTypeInstanceSegment: - return s.lookupSegmentForSGSynth(s.InstanceSegments, name, ResourceTypeInstance) + return s.lookupSegment(s.InstanceSegments, name, t, ResourceTypeInstance, s.LookupForSGSynth) case ResourceTypeVpeSegment: - return s.lookupSegmentForSGSynth(s.VpeSegments, name, ResourceTypeVPE) + return s.lookupSegment(s.VpeSegments, name, t, ResourceTypeVPE, s.LookupForSGSynth) } return nil, nil // should not get here } @@ -75,24 +75,6 @@ func (s *Definitions) lookupSubnetForSGSynth(name string) (*Resource, error) { return nil, fmt.Errorf(resourceNotFound, ResourceTypeSubnet, name) } -func (s *Definitions) lookupSubnetSegmentForSGSynth(name string) (*Resource, error) { - segmentDetails, ok := s.SubnetSegments[name] - if !ok { - return nil, fmt.Errorf(containerNotFound, ResourceTypeSubnetSegment, name) - } - - res := &Resource{Name: &name, NamedAddrs: []*NamedAddrs{}, Cidrs: []*NamedAddrs{}, Type: utils.Ptr(ResourceTypeSubnet)} - for _, subnetName := range segmentDetails.Elements { - subnetRes, err := s.lookupSubnetForSGSynth(subnetName) - if err != nil { - return nil, err - } - res.NamedAddrs = append(res.NamedAddrs, subnetRes.NamedAddrs...) - res.Cidrs = append(res.Cidrs, subnetRes.Cidrs...) - } - return res, nil -} - func (s *Definitions) lookupCidrSegmentForSGSynth(name string) (*Resource, error) { if segmentDetails, ok := s.CidrSegments[name]; ok { return &Resource{Name: &name, @@ -104,13 +86,6 @@ func (s *Definitions) lookupCidrSegmentForSGSynth(name string) (*Resource, error return nil, fmt.Errorf(containerNotFound, ResourceTypeCidrSegment, name) } -func (s *Definitions) lookupSegmentForSGSynth(segment map[string]*SegmentDetails, name string, t ResourceType) (*Resource, error) { - if segmentDetails, ok := segment[name]; ok { - return &Resource{Name: &name, NamedAddrs: namesToNamedAddrs(segmentDetails.Elements), Cidrs: []*NamedAddrs{}, Type: utils.Ptr(t)}, nil - } - return nil, fmt.Errorf(containerNotFound, name, t) -} - func (s *Definitions) containedResourcesInCidr(cidr *netset.IPBlock) []*NamedAddrs { names := make([]string, 0) for _, nifDetails := range s.NIFs { diff --git a/pkg/ir/spec.go b/pkg/ir/spec.go index f8756549..b0ff6e64 100644 --- a/pkg/ir/spec.go +++ b/pkg/ir/spec.go @@ -266,6 +266,25 @@ func lookupSingle[T NWResource](m map[ID]T, name string, t ResourceType) (*Resou return nil, fmt.Errorf(resourceNotFound, name, t) } +func (s *Definitions) lookupSegment(segment map[ID]*SegmentDetails, name string, t, elementType ResourceType, + lookup func(ResourceType, string) (*Resource, error)) (*Resource, error) { + segmentDetails, ok := segment[name] + if !ok { + return nil, fmt.Errorf(containerNotFound, name, t) + } + + res := &Resource{Name: &name, NamedAddrs: []*NamedAddrs{}, Cidrs: []*NamedAddrs{}, Type: utils.Ptr(ResourceTypeSubnet)} + for _, elementName := range segmentDetails.Elements { + subnet, err := lookup(elementType, elementName) + if err != nil { + return nil, err + } + res.NamedAddrs = append(res.NamedAddrs, subnet.NamedAddrs...) + res.Cidrs = append(res.Cidrs, subnet.Cidrs...) + } + return res, nil +} + func (s *ConfigDefs) SubnetsContainedInCidr(cidr *netset.IPBlock) ([]ID, error) { var containedSubnets []string for subnet, subnetDetails := range s.Subnets { From 4ba19c28b739b75117691cb7b3c64a45ce1e7d4b Mon Sep 17 00:00:00 2001 From: Yair Slobodin Date: Mon, 14 Oct 2024 12:53:59 +0300 Subject: [PATCH 05/13] lookup, blocked --- pkg/io/jsonio/unmarshalConns.go | 21 ++++ pkg/io/jsonio/unmarshalDefinitions.go | 26 ++++- pkg/ir/lookupForACLSynth.go | 2 +- pkg/ir/lookupForSGSynth.go | 15 ++- pkg/ir/spec.go | 20 +++- pkg/ir/unspecified.go | 140 -------------------------- pkg/synth/acl.go | 4 +- pkg/synth/sg.go | 4 +- pkg/utils/utils.go | 10 ++ 9 files changed, 85 insertions(+), 157 deletions(-) delete mode 100644 pkg/ir/unspecified.go diff --git a/pkg/io/jsonio/unmarshalConns.go b/pkg/io/jsonio/unmarshalConns.go index 9ab62ec3..d2d522bd 100644 --- a/pkg/io/jsonio/unmarshalConns.go +++ b/pkg/io/jsonio/unmarshalConns.go @@ -63,8 +63,10 @@ func transalteConnectionResource(defs *ir.Definitions, resource *spec.Resource, var res *ir.Resource if isSG { res, err = defs.LookupForSGSynth(resourceType, resource.Name) + updateBlockedResourcesSGSynth(defs, res) } else { res, err = defs.LookupForACLSynth(resourceType, resource.Name) + updateBlockedResourcesACLSynth(defs, res) } return res, resourceType == ir.ResourceTypeExternal, err } @@ -130,3 +132,22 @@ func translateResourceType(defs *ir.Definitions, resource *spec.Resource) (ir.Re } return ir.ResourceTypeSubnet, fmt.Errorf("unsupported resource type %v (%v)", resource.Type, resource.Name) } + +func updateBlockedResourcesSGSynth(defs *ir.Definitions, resource *ir.Resource) { + for _, namedAddrs := range resource.NamedAddrs { + if _, ok := defs.BlockedInstances[*namedAddrs.Name]; ok { + defs.BlockedInstances[*namedAddrs.Name] = false + } + if _, ok := defs.BlockedVPEs[*namedAddrs.Name]; ok { + defs.BlockedVPEs[*namedAddrs.Name] = false + } + } +} + +func updateBlockedResourcesACLSynth(defs *ir.Definitions, resource *ir.Resource) { + for _, namedAddrs := range resource.NamedAddrs { + if _, ok := defs.BlockedSubnets[*namedAddrs.Name]; ok { + defs.BlockedSubnets[*namedAddrs.Name] = false + } + } +} diff --git a/pkg/io/jsonio/unmarshalDefinitions.go b/pkg/io/jsonio/unmarshalDefinitions.go index ef6e7c63..94f8707a 100644 --- a/pkg/io/jsonio/unmarshalDefinitions.go +++ b/pkg/io/jsonio/unmarshalDefinitions.go @@ -13,6 +13,7 @@ import ( "github.com/np-guard/models/pkg/netset" "github.com/np-guard/models/pkg/spec" "github.com/np-guard/vpc-network-config-synthesis/pkg/ir" + "github.com/np-guard/vpc-network-config-synthesis/pkg/utils" ) type segmentsTypes struct { @@ -29,10 +30,10 @@ func (r *Reader) readDefinitions(jsonSpec *spec.Spec, configDefs *ir.ConfigDefs) return nil, err } segments := divideSegmentsByType(&jsonSpec.Segments) - subnetSegments := parseSegments(segments.subnetSegment, spec.SegmentTypeSubnet) - nifSegments := parseSegments(segments.nifSegment, spec.SegmentTypeNif) - instanceSegments := parseSegments(segments.instanceSegment, spec.SegmentTypeInstance) - vpeSegments := parseSegments(segments.vpeSegment, spec.SegmentTypeVpe) + subnetSegments := parseSegments(segments.subnetSegment) + nifSegments := parseSegments(segments.nifSegment) + instanceSegments := parseSegments(segments.instanceSegment) + vpeSegments := parseSegments(segments.vpeSegment) cidrSegments, err := parseCidrSegments(segments.cidrSegment, configDefs) if err != nil { return nil, err @@ -43,6 +44,7 @@ func (r *Reader) readDefinitions(jsonSpec *spec.Spec, configDefs *ir.ConfigDefs) } return &ir.Definitions{ ConfigDefs: *configDefs, + BlockedResources: prepareBlockedResources(configDefs), SubnetSegments: subnetSegments, CidrSegments: cidrSegments, NifSegments: nifSegments, @@ -65,7 +67,7 @@ func validateSegments(jsonSegments *spec.SpecSegments) error { } // translates segment to ir ds -func parseSegments(segments map[string][]string, segmentType spec.SegmentType) map[ir.ID]*ir.SegmentDetails { +func parseSegments(segments map[string][]string) map[ir.ID]*ir.SegmentDetails { result := make(map[string]*ir.SegmentDetails) for segmentName, elements := range segments { result[segmentName] = &ir.SegmentDetails{Elements: elements} @@ -146,3 +148,17 @@ func internalCidr(configDefs *ir.ConfigDefs, cidr *netset.IPBlock) bool { } return res == netset.NewIPBlock() } + +func prepareBlockedResources(configDefs *ir.ConfigDefs) ir.BlockedResources { + return ir.BlockedResources{BlockedSubnets: sliceToMap(utils.SortedMapKeys(configDefs.Subnets)), + BlockedInstances: sliceToMap(utils.SortedMapKeys(configDefs.Instances)), + BlockedVPEs: sliceToMap(utils.SortedMapKeys(configDefs.VPEs))} +} + +func sliceToMap(slice []string) map[string]bool { + res := make(map[string]bool, len(slice)) + for _, elem := range slice { + res[elem] = true + } + return res +} diff --git a/pkg/ir/lookupForACLSynth.go b/pkg/ir/lookupForACLSynth.go index 9fdb7f38..c1c5a896 100644 --- a/pkg/ir/lookupForACLSynth.go +++ b/pkg/ir/lookupForACLSynth.go @@ -55,7 +55,7 @@ func lookupSingleForACLSynth[T InternalNWResource](m map[ID]T, subnets map[ID]*S func lookupContainerForACLSynth[T EndpointProvider](m map[ID]T, defs *Definitions, name string, t ResourceType) (*Resource, error) { containerDetails, ok := m[name] if !ok { - return nil, fmt.Errorf(containerNotFound, name, ResourceTypeInstance) + return nil, fmt.Errorf(containerNotFound, name, t) } res := &Resource{Name: &name, NamedAddrs: []*NamedAddrs{}, Cidrs: []*NamedAddrs{}, Type: utils.Ptr(ResourceTypeSubnet)} diff --git a/pkg/ir/lookupForSGSynth.go b/pkg/ir/lookupForSGSynth.go index 3466794b..177bfb9d 100644 --- a/pkg/ir/lookupForSGSynth.go +++ b/pkg/ir/lookupForSGSynth.go @@ -45,7 +45,7 @@ func (s *Definitions) lookupNIFForSGSynth(name string) (*Resource, error) { return &Resource{ Name: &name, NamedAddrs: []*NamedAddrs{{Name: &s.NIFs[name].Instance}}, - Cidrs: []*NamedAddrs{}, + Cidrs: []*NamedAddrs{{Name: &s.NIFs[name].Instance}}, Type: utils.Ptr(ResourceTypeNIF), }, nil } @@ -57,7 +57,7 @@ func lookupContainerForSGSynth[T EndpointProvider](m map[string]T, name string, return &Resource{ Name: &name, NamedAddrs: []*NamedAddrs{{Name: &name}}, - Cidrs: []*NamedAddrs{}, + Cidrs: []*NamedAddrs{{Name: &name}}, Type: utils.Ptr(t), }, nil } @@ -98,23 +98,22 @@ func (s *Definitions) containedResourcesInCidr(cidr *netset.IPBlock) []*NamedAdd names = append(names, reservedIPName.VPEName) } } - slices.Compact(slices.Sorted(slices.Values(names))) - return namesToNamedAddrs(names) + return namesToNamedAddrs(slices.Compact(slices.Sorted(slices.Values(names)))) } func cidrToNamedAddrs(cidr *netset.IPBlock) []*NamedAddrs { cidrs := cidr.SplitToCidrs() res := make([]*NamedAddrs, len(cidrs)) - for _, c := range cidrs { - res = append(res, &NamedAddrs{IPAddrs: c}) + for i, c := range cidrs { + res[i] = &NamedAddrs{IPAddrs: c} } return res } func namesToNamedAddrs(names []string) []*NamedAddrs { res := make([]*NamedAddrs, len(names)) - for _, name := range names { - res = append(res, &NamedAddrs{Name: &name}) + for i, name := range names { + res[i] = &NamedAddrs{Name: &name} } return res } diff --git a/pkg/ir/spec.go b/pkg/ir/spec.go index b0ff6e64..71a10588 100644 --- a/pkg/ir/spec.go +++ b/pkg/ir/spec.go @@ -8,6 +8,7 @@ package ir import ( "fmt" + "log" "sort" "strings" @@ -84,8 +85,10 @@ type ( // Definitions adds to ConfigDefs the spec-specific definitions Definitions struct { ConfigDefs - // Segments are a way for users to create aggregations. + BlockedResources + + // Segments are a way for users to create aggregations. SubnetSegments map[ID]*SegmentDetails CidrSegments map[ID]*CidrSegmentDetails @@ -100,6 +103,12 @@ type ( Externals map[ID]*ExternalDetails } + BlockedResources struct { + BlockedSubnets map[ID]bool + BlockedInstances map[ID]bool + BlockedVPEs map[ID]bool + } + VPCDetails struct { AddressPrefixes *netset.IPBlock // tg @@ -192,6 +201,9 @@ const ( resourceNotFound = "%v %v not found" containerNotFound = "container %v %v not found" + + WarningUnspecifiedACL = "The following subnets do not have required connections; the generated ACL will block all traffic: " + WarningUnspecifiedSG = "The following endpoints do not have required connections; the generated SGs will block all traffic: " ) func (n *NamedEntity) Name() string { @@ -307,3 +319,9 @@ func VpcFromScopedResource(resource ID) ID { func ChangeScoping(s string) string { return strings.ReplaceAll(s, "/", "--") } + +func PrintUnspecifiedWarning(warning string, blockedResources []ID) { + if len(blockedResources) > 0 { + log.Println(warning, strings.Join(blockedResources, ", ")) + } +} diff --git a/pkg/ir/unspecified.go b/pkg/ir/unspecified.go deleted file mode 100644 index 3553e582..00000000 --- a/pkg/ir/unspecified.go +++ /dev/null @@ -1,140 +0,0 @@ -/* -Copyright 2023- IBM Inc. All Rights Reserved. -SPDX-License-Identifier: Apache-2.0 -*/ - -package ir - -import ( - "log" - "sort" - "strings" -) - -const ( - warningUnspecifiedACL = "The following subnets do not have required connections; the generated ACL will block all traffic: " - warningUnspecifiedSG = "The following endpoints do not have required connections; the generated SGs will block all traffic: " -) - -//nolint:gocyclo // look for the subnet in spec -func (s *Spec) ComputeBlockedSubnets() []ID { - var blockedSubnets []ID - - for subnet := range s.Defs.Subnets { - if s.findResourceInConnections([]ID{subnet}, ResourceTypeSubnet) { - continue - } - - // subnet segments which include the subnet - segments := []ID{} - for segmentName, segmentDetails := range s.Defs.SubnetSegments { - for _, s := range segmentDetails.Subnets { - if subnet == s { - segments = append(segments, segmentName) - break - } - } - } - if s.findResourceInConnections(segments, ResourceTypeSubnet) { - continue - } - - // cidr segments which include the subnet - cidrSegments := []ID{} - for segmentName, cidrSegmentDetails := range s.Defs.CidrSegments { - for _, s := range cidrSegmentDetails.ContainedSubnets { - if subnet == s { - cidrSegments = append(cidrSegments, segmentName) - break - } - } - } - if s.findResourceInConnections(cidrSegments, ResourceTypeCidr) { - continue - } - - // nifs in the subnet - nifs := []ID{} - for instanceName, instance := range s.Defs.Instances { - instanceInList := false - for _, nif := range instance.Nifs { - if subnet == s.Defs.NIFs[nif].Subnet { - nifs = append(nifs, nif) - if !instanceInList { - nifs = append(nifs, instanceName) - instanceInList = true - } - } - } - } - if !s.findResourceInConnections(nifs, ResourceTypeNIF) { - blockedSubnets = append(blockedSubnets, subnet) - } - } - sort.Strings(blockedSubnets) - printUnspecifiedWarning(warningUnspecifiedACL, blockedSubnets) - return blockedSubnets -} - -func (s *Spec) ComputeBlockedResources() []ID { - blockedResources := append(s.computeBlockedNIFs(), s.computeBlockedVPEs()...) - sort.Strings(blockedResources) - printUnspecifiedWarning(warningUnspecifiedSG, blockedResources) - return blockedResources -} - -func (s *Spec) computeBlockedVPEs() []ID { - var blockedVPEs []ID - for vpe := range s.Defs.VPEs { - if !s.findResourceInConnections([]ID{vpe}, ResourceTypeVPE) { - blockedVPEs = append(blockedVPEs, vpe) - } - } - return blockedVPEs -} - -func (s *Spec) computeBlockedNIFs() []ID { - var blockedResources []ID - for instanceName, instanceDetails := range s.Defs.Instances { - if s.findResourceInConnections([]ID{instanceName}, ResourceTypeNIF) { - continue - } - - // instance is not in spec. look for its NIFs - var blockedNIFs []ID - for _, nif := range instanceDetails.Nifs { - if !s.findResourceInConnections([]ID{nif}, ResourceTypeNIF) { - blockedNIFs = append(blockedNIFs, nif) - } - } - - // instance has only one NIF which was not found - if len(blockedNIFs) > 0 && len(instanceDetails.Nifs) == 1 { - blockedResources = append(blockedResources, instanceName) - } else { - blockedResources = append(blockedResources, blockedNIFs...) - } - } - return blockedResources -} - -func (s *Spec) findResourceInConnections(resources []ID, resourceType ResourceType) bool { - // The slice of IDs represents all resources that include the resource we are looking for - for c := range s.Connections { - for _, resource := range resources { - if s.Connections[c].Src.Type == resourceType && resource == s.Connections[c].Src.Name { - return true - } - if s.Connections[c].Dst.Type == resourceType && resource == s.Connections[c].Dst.Name { - return true - } - } - } - return false -} - -func printUnspecifiedWarning(warning string, blockedResources []ID) { - if len(blockedResources) > 0 { - log.Println(warning, strings.Join(blockedResources, ", ")) - } -} diff --git a/pkg/synth/acl.go b/pkg/synth/acl.go index 37769bf4..17bc1c13 100644 --- a/pkg/synth/acl.go +++ b/pkg/synth/acl.go @@ -12,6 +12,7 @@ import ( "github.com/np-guard/models/pkg/netset" "github.com/np-guard/vpc-network-config-synthesis/pkg/ir" + "github.com/np-guard/vpc-network-config-synthesis/pkg/utils" ) const ACLTypeNotSupported = "ACL: src/dst of type %s is not supported" @@ -118,7 +119,8 @@ func (a *ACLSynthesizer) addRuleToACL(rule *ir.ACLRule, resourceName ir.ID, inte // generate nACL rules for blocked subnets (subnets that do not appear in Spec) func (a *ACLSynthesizer) generateACLRulesForBlockedSubnets() { - blockedSubnets := a.spec.ComputeBlockedSubnets() + blockedSubnets := utils.TrueKeyValues(a.spec.Defs.BlockedSubnets) + ir.PrintUnspecifiedWarning(ir.WarningUnspecifiedACL, blockedSubnets) for _, subnet := range blockedSubnets { acl := a.result.LookupOrCreate(aclSelector(subnet, a.singleACL)) cidr := a.spec.Defs.Subnets[subnet].Address() diff --git a/pkg/synth/sg.go b/pkg/synth/sg.go index 3186a8a4..5aadd795 100644 --- a/pkg/synth/sg.go +++ b/pkg/synth/sg.go @@ -9,6 +9,7 @@ import ( "github.com/np-guard/models/pkg/netp" "github.com/np-guard/vpc-network-config-synthesis/pkg/ir" + "github.com/np-guard/vpc-network-config-synthesis/pkg/utils" ) const SGTypeNotSupported = "SG: src/dst of type %s is not supported" @@ -96,7 +97,8 @@ func isSGRemote(t ir.ResourceType) bool { // generate SGs for blocked endpoints (endpoints that do not appear in Spec) func (s *SGSynthesizer) generateSGsForBlockedResources() { - blockedResources := s.spec.ComputeBlockedResources() + blockedResources := append(utils.TrueKeyValues(s.spec.Defs.BlockedInstances), utils.TrueKeyValues(s.spec.Defs.BlockedVPEs)...) + ir.PrintUnspecifiedWarning(ir.WarningUnspecifiedSG, blockedResources) for _, resource := range blockedResources { sg := s.result.LookupOrCreate(ir.SGName(resource)) // an empty SG allows no connections sg.Attached = []ir.ID{resource} diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index acf9e3d2..a1fb8c32 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -31,3 +31,13 @@ func SortedAllInnerMapsKeys[T, K cmp.Ordered, V any](m map[K]map[T]V) []T { slices.Sort(keys) return keys } + +func TrueKeyValues[T comparable](m map[T]bool) []T { + keys := make([]T, 0) + for k, v := range m { + if v { + keys = append(keys, k) + } + } + return keys +} From cd94ff053bc774faaeca4b0e4c85b95b12033a83 Mon Sep 17 00:00:00 2001 From: Yair Slobodin Date: Mon, 14 Oct 2024 14:36:56 +0300 Subject: [PATCH 06/13] fix bugs, linter, update old tests --- pkg/io/jsonio/unmarshal.go | 6 ++-- pkg/io/jsonio/unmarshalConns.go | 11 ++++---- pkg/io/jsonio/unmarshalDefinitions.go | 2 +- pkg/ir/lookupForACLSynth.go | 2 +- pkg/ir/spec.go | 12 ++++---- pkg/synth/acl.go | 12 ++++---- pkg/synth/common.go | 2 +- pkg/synth/sg.go | 23 +++++++-------- test/error_test_list.go | 13 --------- .../expected/acl_segments_tf/nacl_expected.tf | 12 ++++---- .../acl_testing5_json/nacl_expected.json | 12 ++++---- .../nacl_single_expected.json | 28 +++++++++---------- .../expected/acl_testing5_tf/nacl_expected.tf | 12 ++++---- .../nacl_single_expected.tf | 28 +++++++++---------- .../acl_tg_multiple_json/nacl_expected.json | 12 ++++---- .../acl_tg_multiple_tf/nacl_expected.tf | 12 ++++---- .../acl_tg_multiple_tf_separate/test-vpc0.tf | 12 ++++---- test/main_test.go | 4 +++ 18 files changed, 105 insertions(+), 110 deletions(-) diff --git a/pkg/io/jsonio/unmarshal.go b/pkg/io/jsonio/unmarshal.go index 1140fea9..6bf2b9ee 100644 --- a/pkg/io/jsonio/unmarshal.go +++ b/pkg/io/jsonio/unmarshal.go @@ -63,10 +63,12 @@ func replaceResourcesName(jsonSpec *spec.Spec, defs *ir.Definitions) (*spec.Spec distinctVpes, ambiguousVpes := inverseMapToFullyQualifiedName(config.VPEs) // translate segments to fully qualified names - subnetSegments, err1 := replaceSegmentNames(defs.SubnetSegments, distinctSubnets, ambiguousSubnets, spec.ResourceType(spec.SegmentTypeSubnet)) nifSegments, err2 := replaceSegmentNames(defs.NifSegments, distinctNifs, ambiguousNifs, spec.ResourceType(spec.SegmentTypeNif)) - instanceSegments, err3 := replaceSegmentNames(defs.InstanceSegments, distinctInstances, ambiguousInstances, spec.ResourceType(spec.SegmentTypeInstance)) vpeSegments, err4 := replaceSegmentNames(defs.VpeSegments, distinctVpes, ambiguousVpes, spec.ResourceType(spec.SegmentTypeVpe)) + subnetSegments, err1 := replaceSegmentNames(defs.SubnetSegments, distinctSubnets, ambiguousSubnets, + spec.ResourceType(spec.SegmentTypeSubnet)) + instanceSegments, err3 := replaceSegmentNames(defs.InstanceSegments, distinctInstances, ambiguousInstances, + spec.ResourceType(spec.SegmentTypeInstance)) if err := errors.Join(err1, err2, err3, err4); err != nil { return nil, nil, err diff --git a/pkg/io/jsonio/unmarshalConns.go b/pkg/io/jsonio/unmarshalConns.go index d2d522bd..82e4952b 100644 --- a/pkg/io/jsonio/unmarshalConns.go +++ b/pkg/io/jsonio/unmarshalConns.go @@ -32,7 +32,7 @@ func (r *Reader) transalteConnections(conns []spec.SpecRequiredConnectionsElem, func translateConnection(defs *ir.Definitions, conn *spec.SpecRequiredConnectionsElem, connIdx int, isSG bool) ([]*ir.Connection, error) { protocols, err1 := translateProtocols(conn.AllowedProtocols) srcResource, isSrcExternal, err2 := transalteConnectionResource(defs, &conn.Src, isSG) - dstResource, isDstExternal, err3 := transalteConnectionResource(defs, &conn.Src, isSG) + dstResource, isDstExternal, err3 := transalteConnectionResource(defs, &conn.Dst, isSG) if err := errors.Join(err1, err2, err3); err != nil { return nil, err } @@ -74,29 +74,30 @@ func transalteConnectionResource(defs *ir.Definitions, resource *spec.Resource, func translateProtocols(protocols spec.ProtocolList) ([]*ir.TrackedProtocol, error) { var result = make([]*ir.TrackedProtocol, len(protocols)) for i, _p := range protocols { - result[i].Origin = protocolOrigin{protocolIndex: i} + res := &ir.TrackedProtocol{Origin: protocolOrigin{protocolIndex: i}} switch p := _p.(type) { case spec.AnyProtocol: if len(protocols) != 1 { log.Println("when allowing any protocol, there is no need in other protocols") } - result[i].Protocol = netp.AnyProtocol{} + res.Protocol = netp.AnyProtocol{} case spec.Icmp: icmp, err := netp.ICMPFromTypeAndCode(p.Type, p.Code) if err != nil { return nil, err } - result[i].Protocol = icmp + res.Protocol = icmp case spec.TcpUdp: tcpudp, err := netp.NewTCPUDP(p.Protocol == spec.TcpUdpProtocolTCP, p.MinSourcePort, p.MaxSourcePort, p.MinDestinationPort, p.MaxDestinationPort) if err != nil { return nil, err } - result[i].Protocol = tcpudp + res.Protocol = tcpudp default: return nil, fmt.Errorf("impossible protocol: %v", p) } + result[i] = res } return result, nil } diff --git a/pkg/io/jsonio/unmarshalDefinitions.go b/pkg/io/jsonio/unmarshalDefinitions.go index 94f8707a..2a550bc4 100644 --- a/pkg/io/jsonio/unmarshalDefinitions.go +++ b/pkg/io/jsonio/unmarshalDefinitions.go @@ -146,7 +146,7 @@ func internalCidr(configDefs *ir.ConfigDefs, cidr *netset.IPBlock) bool { for _, vpcDetails := range configDefs.VPCs { res = res.Subtract(vpcDetails.AddressPrefixes) } - return res == netset.NewIPBlock() + return res.IsEmpty() } func prepareBlockedResources(configDefs *ir.ConfigDefs) ir.BlockedResources { diff --git a/pkg/ir/lookupForACLSynth.go b/pkg/ir/lookupForACLSynth.go index c1c5a896..8f207435 100644 --- a/pkg/ir/lookupForACLSynth.go +++ b/pkg/ir/lookupForACLSynth.go @@ -38,7 +38,7 @@ func (s *Definitions) LookupForACLSynth(t ResourceType, name string) (*Resource, return nil, nil // should not get here } -func lookupSingleForACLSynth[T InternalNWResource](m map[ID]T, subnets map[ID]*SubnetDetails, name string, t ResourceType) (*Resource, error) { +func lookupSingleForACLSynth[T INWResource](m map[ID]T, subnets map[ID]*SubnetDetails, name string, t ResourceType) (*Resource, error) { details, ok := m[name] if !ok { return nil, fmt.Errorf(resourceNotFound, name, t) diff --git a/pkg/ir/spec.go b/pkg/ir/spec.go index 71a10588..604b2c69 100644 --- a/pkg/ir/spec.go +++ b/pkg/ir/spec.go @@ -174,14 +174,14 @@ type ( Address() *netset.IPBlock } - InternalNWResource interface { + INWResource interface { NWResource SubnetName() ID } EndpointProvider interface { endpointNames() []ID - endpointMap(s *Definitions) map[ID]InternalNWResource + endpointMap(s *Definitions) map[ID]INWResource endpointType() ResourceType } ) @@ -238,8 +238,8 @@ func (i *InstanceDetails) endpointNames() []ID { return i.Nifs } -func (i *InstanceDetails) endpointMap(s *Definitions) map[ID]InternalNWResource { - res := make(map[ID]InternalNWResource, len(s.NIFs)) +func (i *InstanceDetails) endpointMap(s *Definitions) map[ID]INWResource { + res := make(map[ID]INWResource, len(s.NIFs)) for k, v := range s.NIFs { res[k] = v } @@ -254,8 +254,8 @@ func (v *VPEDetails) endpointNames() []ID { return v.VPEReservedIPs } -func (v *VPEDetails) endpointMap(s *Definitions) map[ID]InternalNWResource { - res := make(map[ID]InternalNWResource, len(s.VPEReservedIPs)) +func (v *VPEDetails) endpointMap(s *Definitions) map[ID]INWResource { + res := make(map[ID]INWResource, len(s.VPEReservedIPs)) for k, v := range s.VPEReservedIPs { res[k] = v } diff --git a/pkg/synth/acl.go b/pkg/synth/acl.go index 17bc1c13..3fa7b73a 100644 --- a/pkg/synth/acl.go +++ b/pkg/synth/acl.go @@ -50,7 +50,7 @@ func (a *ACLSynthesizer) generateACLRulesFromConnection(conn *ir.Connection) { continue } for _, trackedProtocol := range conn.TrackedProtocols { - a.allowConnectionFromSrc(conn, trackedProtocol, srcSubnet, dstCidr.IPAddrs) + a.allowConnectionSrc(conn, trackedProtocol, srcSubnet, dstCidr.IPAddrs) } } } @@ -61,7 +61,7 @@ func (a *ACLSynthesizer) generateACLRulesFromConnection(conn *ir.Connection) { continue } for _, trackedProtocol := range conn.TrackedProtocols { - a.allowConnectionToDst(conn, trackedProtocol, dstSubnet, srcCidr.IPAddrs) + a.allowConnectionDst(conn, trackedProtocol, dstSubnet, srcCidr.IPAddrs) } } } @@ -69,8 +69,8 @@ func (a *ACLSynthesizer) generateACLRulesFromConnection(conn *ir.Connection) { // if the src in internal, rule(s) will be created to allow traffic. // if the protocol allows response, more rules will be created. -func (a *ACLSynthesizer) allowConnectionFromSrc(conn *ir.Connection, p *ir.TrackedProtocol, srcSubnet *ir.NamedAddrs, dstCidr *netset.IPBlock) { - internalSrc, _, internal := internalConn(conn) +func (a *ACLSynthesizer) allowConnectionSrc(conn *ir.Connection, p *ir.TrackedProtocol, srcSubnet *ir.NamedAddrs, dstCidr *netset.IPBlock) { + internalSrc, _, internal := internalConnection(conn) if !internalSrc || srcSubnet.IPAddrs.Equal(dstCidr) { return @@ -86,8 +86,8 @@ func (a *ACLSynthesizer) allowConnectionFromSrc(conn *ir.Connection, p *ir.Track // if the dst in internal, rule(s) will be created to allow traffic. // if the protocol allows response, more rules will be created. -func (a *ACLSynthesizer) allowConnectionToDst(conn *ir.Connection, p *ir.TrackedProtocol, dstSubnet *ir.NamedAddrs, srcCidr *netset.IPBlock) { - _, internalDst, internal := internalConn(conn) +func (a *ACLSynthesizer) allowConnectionDst(conn *ir.Connection, p *ir.TrackedProtocol, dstSubnet *ir.NamedAddrs, srcCidr *netset.IPBlock) { + _, internalDst, internal := internalConnection(conn) if !internalDst || dstSubnet.IPAddrs.Equal(srcCidr) { return diff --git a/pkg/synth/common.go b/pkg/synth/common.go index 92d52d8f..101b01c9 100644 --- a/pkg/synth/common.go +++ b/pkg/synth/common.go @@ -42,7 +42,7 @@ func (e explanation) String() string { return result } -func internalConn(conn *ir.Connection) (internalSrc, internalDst, internal bool) { +func internalConnection(conn *ir.Connection) (internalSrc, internalDst, internal bool) { internalSrc = *conn.Src.Type != ir.ResourceTypeExternal internalDst = *conn.Dst.Type != ir.ResourceTypeExternal internal = internalSrc && internalDst diff --git a/pkg/synth/sg.go b/pkg/synth/sg.go index 5aadd795..1a1fd993 100644 --- a/pkg/synth/sg.go +++ b/pkg/synth/sg.go @@ -47,15 +47,16 @@ func (s *SGSynthesizer) generateSGRulesFromConnection(conn *ir.Connection, direc for _, remoteCidr := range remoteResource.Cidrs { for _, trackedProtocol := range conn.TrackedProtocols { ruleExplanation := explanation{internal: internalConn, connectionOrigin: conn.Origin, protocolOrigin: trackedProtocol.Origin}.String() - s.allowConnectionEndpoint(localEndpoint, remoteCidr, remoteResource.Type, trackedProtocol.Protocol, direction, internalEndpoint, ruleExplanation) + s.allowConnectionEndpoint(localEndpoint, remoteCidr, remoteResource.Type, trackedProtocol.Protocol, direction, + internalEndpoint, ruleExplanation) } } } } // if the endpoint in internal, a rule will be created to allow traffic. -func (s *SGSynthesizer) allowConnectionEndpoint(localEndpoint, remoteEndpoint *ir.NamedAddrs, remoteType *ir.ResourceType, p netp.Protocol, direction ir.Direction, - internalEndpoint bool, ruleExplanation string) { +func (s *SGSynthesizer) allowConnectionEndpoint(localEndpoint, remoteEndpoint *ir.NamedAddrs, remoteType *ir.ResourceType, + p netp.Protocol, direction ir.Direction, internalEndpoint bool, ruleExplanation string) { if !internalEndpoint { return } @@ -78,17 +79,17 @@ func sgRemote(resource *ir.NamedAddrs, t *ir.ResourceType) ir.RemoteType { return resource.IPAddrs } -func connSettings(conn *ir.Connection, direction ir.Direction) (*ir.Resource, *ir.Resource, bool, bool) { - internalSrc, internalDst, internalConn := internalConn(conn) - localResource := conn.Src - remoteResource := conn.Dst - internalEndpoint := internalSrc +func connSettings(conn *ir.Connection, direction ir.Direction) (local, remote *ir.Resource, internalEndpoint, internalConn bool) { + internalSrc, internalDst, internalConn := internalConnection(conn) + local = conn.Src + remote = conn.Dst + internalEndpoint = internalSrc if direction == ir.Inbound { - localResource = conn.Dst - remoteResource = conn.Src + local = conn.Dst + remote = conn.Src internalEndpoint = internalDst } - return localResource, remoteResource, internalEndpoint, internalConn + return } func isSGRemote(t ir.ResourceType) bool { diff --git a/test/error_test_list.go b/test/error_test_list.go index edcd1ff8..c0af8603 100644 --- a/test/error_test_list.go +++ b/test/error_test_list.go @@ -139,19 +139,6 @@ func errorTestsList() []testCase { }, }, - // vpe resource in ACL generation - // { - // testName: "vpe acl", - // expectedErr: "ACL: src/dst of type vpe is not supported", - // args: &command{ - // cmd: synth, - // subcmd: acl, - // config: "%s/vpe_acl/config_object.json", - // spec: "%s/vpe_acl/conn_spec.json", - // outputFile: outputPath, - // }, - // }, - // impossible resource type { testName: "impossible resource type", diff --git a/test/expected/acl_segments_tf/nacl_expected.tf b/test/expected/acl_segments_tf/nacl_expected.tf index a781952b..ed48babf 100644 --- a/test/expected/acl_segments_tf/nacl_expected.tf +++ b/test/expected/acl_segments_tf/nacl_expected.tf @@ -195,17 +195,17 @@ resource "ibm_is_network_acl" "acl-testacl5-vpc--sub2-2" { rules { name = "rule2" action = "allow" - direction = "inbound" - source = "10.240.64.0/24" - destination = "10.240.65.0/24" + direction = "outbound" + source = "10.240.65.0/24" + destination = "10.240.64.0/24" } # Internal. response to required-connections[2]: (segment subnetSegment)->(segment subnetSegment); allowed-protocols[0] rules { name = "rule3" action = "allow" - direction = "outbound" - source = "10.240.65.0/24" - destination = "10.240.64.0/24" + direction = "inbound" + source = "10.240.64.0/24" + destination = "10.240.65.0/24" } } diff --git a/test/expected/acl_testing5_json/nacl_expected.json b/test/expected/acl_testing5_json/nacl_expected.json index 5fbdc8d5..1d5fddb5 100644 --- a/test/expected/acl_testing5_json/nacl_expected.json +++ b/test/expected/acl_testing5_json/nacl_expected.json @@ -2231,13 +2231,13 @@ "name": "rule1" }, "created_at": null, - "destination": "10.240.64.0/24", - "direction": "inbound", + "destination": "10.240.1.0/24", + "direction": "outbound", "href": "fake:href:61", "id": "fake:id:61", "ip_version": "ipv4", "name": "rule0", - "source": "10.240.1.0/24", + "source": "10.240.64.0/24", "protocol": "all" }, { @@ -2248,13 +2248,13 @@ "name": "rule2" }, "created_at": null, - "destination": "10.240.1.0/24", - "direction": "outbound", + "destination": "10.240.64.0/24", + "direction": "inbound", "href": "fake:href:60", "id": "fake:id:60", "ip_version": "ipv4", "name": "rule1", - "source": "10.240.64.0/24", + "source": "10.240.1.0/24", "protocol": "all" }, { diff --git a/test/expected/acl_testing5_json_single/nacl_single_expected.json b/test/expected/acl_testing5_json_single/nacl_single_expected.json index ffa98f09..2a54ad7a 100644 --- a/test/expected/acl_testing5_json_single/nacl_single_expected.json +++ b/test/expected/acl_testing5_json_single/nacl_single_expected.json @@ -1648,13 +1648,13 @@ "name": "rule3" }, "created_at": null, - "destination": "10.240.64.0/24", - "direction": "inbound", + "destination": "10.240.1.0/24", + "direction": "outbound", "href": "fake:href:51", "id": "fake:id:51", "ip_version": "ipv4", "name": "rule2", - "source": "10.240.1.0/24", + "source": "10.240.64.0/24", "protocol": "all" }, { @@ -1665,13 +1665,13 @@ "name": "rule4" }, "created_at": null, - "destination": "10.240.1.0/24", - "direction": "outbound", + "destination": "10.240.64.0/24", + "direction": "inbound", "href": "fake:href:50", "id": "fake:id:50", "ip_version": "ipv4", "name": "rule3", - "source": "10.240.64.0/24", + "source": "10.240.1.0/24", "protocol": "all" }, { @@ -1719,12 +1719,12 @@ }, "created_at": null, "destination": "10.240.128.0/24", - "direction": "inbound", + "direction": "outbound", "href": "fake:href:47", "id": "fake:id:47", "ip_version": "ipv4", "name": "rule6", - "source": "10.240.1.0/24", + "source": "10.240.64.0/24", "protocol": "icmp", "type": 0 }, @@ -1736,8 +1736,8 @@ "name": "rule8" }, "created_at": null, - "destination": "10.240.1.0/24", - "direction": "outbound", + "destination": "10.240.64.0/24", + "direction": "inbound", "href": "fake:href:46", "id": "fake:id:46", "ip_version": "ipv4", @@ -1755,12 +1755,12 @@ }, "created_at": null, "destination": "10.240.128.0/24", - "direction": "outbound", + "direction": "inbound", "href": "fake:href:45", "id": "fake:id:45", "ip_version": "ipv4", "name": "rule8", - "source": "10.240.64.0/24", + "source": "10.240.1.0/24", "protocol": "icmp", "type": 0 }, @@ -1772,8 +1772,8 @@ "name": "rule10" }, "created_at": null, - "destination": "10.240.64.0/24", - "direction": "inbound", + "destination": "10.240.1.0/24", + "direction": "outbound", "href": "fake:href:44", "id": "fake:id:44", "ip_version": "ipv4", diff --git a/test/expected/acl_testing5_tf/nacl_expected.tf b/test/expected/acl_testing5_tf/nacl_expected.tf index 69925897..d3bb9480 100644 --- a/test/expected/acl_testing5_tf/nacl_expected.tf +++ b/test/expected/acl_testing5_tf/nacl_expected.tf @@ -342,17 +342,17 @@ resource "ibm_is_network_acl" "acl-testacl5-vpc--sub2-1" { rules { name = "rule0" action = "allow" - direction = "inbound" - source = "10.240.1.0/24" - destination = "10.240.64.0/24" + direction = "outbound" + source = "10.240.64.0/24" + destination = "10.240.1.0/24" } # Internal. response to required-connections[0]: (segment need-dns)->(segment need-dns); allowed-protocols[0] rules { name = "rule1" action = "allow" - direction = "outbound" - source = "10.240.64.0/24" - destination = "10.240.1.0/24" + direction = "inbound" + source = "10.240.1.0/24" + destination = "10.240.64.0/24" } # Internal. required-connections[2]: (segment need-dns)->(subnet testacl5-vpc/sub3-1); allowed-protocols[0] rules { diff --git a/test/expected/acl_testing5_tf_single/nacl_single_expected.tf b/test/expected/acl_testing5_tf_single/nacl_single_expected.tf index 5e3a1e07..233f9a48 100644 --- a/test/expected/acl_testing5_tf_single/nacl_single_expected.tf +++ b/test/expected/acl_testing5_tf_single/nacl_single_expected.tf @@ -22,17 +22,17 @@ resource "ibm_is_network_acl" "acl-testacl5-vpc--singleACL" { rules { name = "rule2" action = "allow" - direction = "inbound" - source = "10.240.1.0/24" - destination = "10.240.64.0/24" + direction = "outbound" + source = "10.240.64.0/24" + destination = "10.240.1.0/24" } # Internal. response to required-connections[0]: (segment need-dns)->(segment need-dns); allowed-protocols[0] rules { name = "rule3" action = "allow" - direction = "outbound" - source = "10.240.64.0/24" - destination = "10.240.1.0/24" + direction = "inbound" + source = "10.240.1.0/24" + destination = "10.240.64.0/24" } # Internal. required-connections[2]: (segment need-dns)->(subnet testacl5-vpc/sub3-1); allowed-protocols[0] rules { @@ -60,8 +60,8 @@ resource "ibm_is_network_acl" "acl-testacl5-vpc--singleACL" { rules { name = "rule6" action = "allow" - direction = "inbound" - source = "10.240.1.0/24" + direction = "outbound" + source = "10.240.64.0/24" destination = "10.240.128.0/24" icmp { type = 0 @@ -71,9 +71,9 @@ resource "ibm_is_network_acl" "acl-testacl5-vpc--singleACL" { rules { name = "rule7" action = "allow" - direction = "outbound" + direction = "inbound" source = "10.240.128.0/24" - destination = "10.240.1.0/24" + destination = "10.240.64.0/24" icmp { type = 8 } @@ -82,8 +82,8 @@ resource "ibm_is_network_acl" "acl-testacl5-vpc--singleACL" { rules { name = "rule8" action = "allow" - direction = "outbound" - source = "10.240.64.0/24" + direction = "inbound" + source = "10.240.1.0/24" destination = "10.240.128.0/24" icmp { type = 0 @@ -93,9 +93,9 @@ resource "ibm_is_network_acl" "acl-testacl5-vpc--singleACL" { rules { name = "rule9" action = "allow" - direction = "inbound" + direction = "outbound" source = "10.240.128.0/24" - destination = "10.240.64.0/24" + destination = "10.240.1.0/24" icmp { type = 8 } diff --git a/test/expected/acl_tg_multiple_json/nacl_expected.json b/test/expected/acl_tg_multiple_json/nacl_expected.json index 717b2f43..65f2591f 100644 --- a/test/expected/acl_tg_multiple_json/nacl_expected.json +++ b/test/expected/acl_tg_multiple_json/nacl_expected.json @@ -2762,13 +2762,13 @@ "name": "rule1" }, "created_at": null, - "destination": "10.240.4.0/24", - "direction": "inbound", + "destination": "10.240.0.0/24", + "direction": "outbound", "href": "fake:href:16", "id": "fake:id:16", "ip_version": "ipv4", "name": "rule0", - "source": "10.240.0.0/24", + "source": "10.240.4.0/24", "protocol": "all" }, { @@ -2779,13 +2779,13 @@ "name": "rule2" }, "created_at": null, - "destination": "10.240.0.0/24", - "direction": "outbound", + "destination": "10.240.4.0/24", + "direction": "inbound", "href": "fake:href:15", "id": "fake:id:15", "ip_version": "ipv4", "name": "rule1", - "source": "10.240.4.0/24", + "source": "10.240.0.0/24", "protocol": "all" }, { diff --git a/test/expected/acl_tg_multiple_tf/nacl_expected.tf b/test/expected/acl_tg_multiple_tf/nacl_expected.tf index da72d490..fc11198a 100644 --- a/test/expected/acl_tg_multiple_tf/nacl_expected.tf +++ b/test/expected/acl_tg_multiple_tf/nacl_expected.tf @@ -65,17 +65,17 @@ resource "ibm_is_network_acl" "acl-test-vpc0--subnet2" { rules { name = "rule0" action = "allow" - direction = "inbound" - source = "10.240.0.0/24" - destination = "10.240.4.0/24" + direction = "outbound" + source = "10.240.4.0/24" + destination = "10.240.0.0/24" } # Internal. response to required-connections[0]: (segment segment1)->(segment segment1); allowed-protocols[0] rules { name = "rule1" action = "allow" - direction = "outbound" - source = "10.240.4.0/24" - destination = "10.240.0.0/24" + direction = "inbound" + source = "10.240.0.0/24" + destination = "10.240.4.0/24" } # Internal. required-connections[1]: (segment segment1)->(subnet test-vpc0/subnet3); allowed-protocols[0] rules { diff --git a/test/expected/acl_tg_multiple_tf_separate/test-vpc0.tf b/test/expected/acl_tg_multiple_tf_separate/test-vpc0.tf index f4076710..469cecc7 100644 --- a/test/expected/acl_tg_multiple_tf_separate/test-vpc0.tf +++ b/test/expected/acl_tg_multiple_tf_separate/test-vpc0.tf @@ -65,17 +65,17 @@ resource "ibm_is_network_acl" "acl-test-vpc0--subnet2" { rules { name = "rule0" action = "allow" - direction = "inbound" - source = "10.240.0.0/24" - destination = "10.240.4.0/24" + direction = "outbound" + source = "10.240.4.0/24" + destination = "10.240.0.0/24" } # Internal. response to required-connections[0]: (segment segment1)->(segment segment1); allowed-protocols[0] rules { name = "rule1" action = "allow" - direction = "outbound" - source = "10.240.4.0/24" - destination = "10.240.0.0/24" + direction = "inbound" + source = "10.240.0.0/24" + destination = "10.240.4.0/24" } # Internal. required-connections[1]: (segment segment1)->(subnet test-vpc0/subnet3); allowed-protocols[0] rules { diff --git a/test/main_test.go b/test/main_test.go index e971d82f..206ebb2f 100644 --- a/test/main_test.go +++ b/test/main_test.go @@ -15,6 +15,10 @@ import ( ) func TestMain(t *testing.T) { + testMain(t) +} + +func testMain(t *testing.T) { for _, tt := range allMainTests() { t.Run(tt.testName, func(t *testing.T) { // create a sub folder From e763b725ba4b7003e3ee3fd7e2e12e3da83b7ce6 Mon Sep 17 00:00:00 2001 From: Yair Slobodin Date: Mon, 14 Oct 2024 14:42:26 +0300 Subject: [PATCH 07/13] readme --- README.md | 11 ++++++----- test/main_test.go | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 66394d5d..54a36496 100644 --- a/README.md +++ b/README.md @@ -12,14 +12,15 @@ Use the `vpcgen` CLI tool with one of the following commands to specify the type ### nACLs Generation Specifying the `--single` flag results in generating a single nACL for all subnets in the same VPC. Otherwise, an nACL is generated for each subnet separately. -The input supports subnets, subnet segments, CIDR segments, NIFs, instances (VSIs) and externals. -**Note 1**: The segments are defined in the `conn_spec.json` file. -**Note 2**: A required connection between NIFs or VSIs implies connectivity will be allowed between the subnets they are contained in. +**Note**: A required connection between NIFs/VSIs/VPEs implies connectivity will be allowed between the subnets they are contained in. -### SGs Generation -The input supports Instances (VSIs), NIFs, VPEs and externals. +### SGs Generation **Note**: A Security Group, generated for a specific VSI (or for one of its NIFs), will be applied to all the NIFs of the VSI. The same goes for Reserved IPs of a VPE. +### Supported types +The input supports subnets, subnet segments, CIDR segments, NIFs, NIF segments, instances (VSIs), instance segments, VPEs, VPE segments and externals. +**Note 1**: The segments are defined in the `conn_spec.json` file. + ### Output 1. If the `output-dir` flag is used, the specified folder will be created, containing one file per VPC. Each generated file will contain the network resources (Security Groups or Network ACLs) relevant to its VPC. File names are set as `prefix_vpc`, where prefix is ​​the value received in the `prefix` flag. If the `prefix` flag is omitted, file names will match VPC names. 2. If the `output-file` flag is used, all generated resources will be written to the specified file. diff --git a/test/main_test.go b/test/main_test.go index 206ebb2f..e8473908 100644 --- a/test/main_test.go +++ b/test/main_test.go @@ -14,6 +14,7 @@ import ( "github.com/np-guard/vpc-network-config-synthesis/cmd/subcmds" ) +// comment lines 18-20 and uncomment `update_test.go` file to update all test outputs func TestMain(t *testing.T) { testMain(t) } From d6fa8c3a88efd6b8eafcbe73e9544b41425bac06 Mon Sep 17 00:00:00 2001 From: Yair Slobodin Date: Mon, 14 Oct 2024 14:48:48 +0300 Subject: [PATCH 08/13] rename acl_segment test --- .../config_object.json | 0 .../conn_spec.json | 0 .../nacl_expected.tf | 0 test/synth_test_list.go | 14 +++++++------- 4 files changed, 7 insertions(+), 7 deletions(-) rename test/data/{acl_segments => acl_subnet_cidr_segments}/config_object.json (100%) rename test/data/{acl_segments => acl_subnet_cidr_segments}/conn_spec.json (100%) rename test/expected/{acl_segments_tf => acl_subnet_cidr_segments_tf}/nacl_expected.tf (100%) diff --git a/test/data/acl_segments/config_object.json b/test/data/acl_subnet_cidr_segments/config_object.json similarity index 100% rename from test/data/acl_segments/config_object.json rename to test/data/acl_subnet_cidr_segments/config_object.json diff --git a/test/data/acl_segments/conn_spec.json b/test/data/acl_subnet_cidr_segments/conn_spec.json similarity index 100% rename from test/data/acl_segments/conn_spec.json rename to test/data/acl_subnet_cidr_segments/conn_spec.json diff --git a/test/expected/acl_segments_tf/nacl_expected.tf b/test/expected/acl_subnet_cidr_segments_tf/nacl_expected.tf similarity index 100% rename from test/expected/acl_segments_tf/nacl_expected.tf rename to test/expected/acl_subnet_cidr_segments_tf/nacl_expected.tf diff --git a/test/synth_test_list.go b/test/synth_test_list.go index d8e37147..79f88b52 100644 --- a/test/synth_test_list.go +++ b/test/synth_test_list.go @@ -15,8 +15,8 @@ const ( aclProtocolsConfig = "%s/acl_protocols/config_object.json" aclProtocolsSpec = "%s/acl_protocols/conn_spec.json" - aclSegmentsConfig = "%s/acl_segments/config_object.json" - aclSegmentsSpec = "%s/acl_segments/conn_spec.json" + aclSubnetCidrSegmentsConfig = "%s/acl_subnet_cidr_segments/config_object.json" + aclSubnetCidrSegmentsSpec = "%s/acl_subnet_cidr_segments/conn_spec.json" aclTesting5Config = "%s/acl_testing5/config_object.json" aclTesting5Spec = "%s/acl_testing5/conn_spec.json" @@ -119,15 +119,15 @@ func synthACLTestsList() []testCase { }, }, - // acl segments (bidi) ## acl_testing5 config + // acl subnet and cidr segments (bidi) ## acl_testing5 config { - testName: "acl_segments_tf", + testName: "acl_subnet_cidr_segments_tf", args: &command{ cmd: synth, subcmd: acl, - config: aclSegmentsConfig, - spec: aclSegmentsSpec, - outputFile: "%s/acl_segments_tf/nacl_expected.tf", + config: aclSubnetCidrSegmentsConfig, + spec: aclSubnetCidrSegmentsSpec, + outputFile: "%s/acl_subnet_cidr_segments_tf/nacl_expected.tf", }, }, From 4894fa862652053be3c5b60741f6968c52a409f1 Mon Sep 17 00:00:00 2001 From: Yair Slobodin Date: Mon, 14 Oct 2024 15:50:31 +0300 Subject: [PATCH 09/13] generic synth acl func --- pkg/ir/spec.go | 2 -- pkg/synth/acl.go | 29 +++++++++++------------------ 2 files changed, 11 insertions(+), 20 deletions(-) diff --git a/pkg/ir/spec.go b/pkg/ir/spec.go index 604b2c69..c89d15a2 100644 --- a/pkg/ir/spec.go +++ b/pkg/ir/spec.go @@ -111,8 +111,6 @@ type ( VPCDetails struct { AddressPrefixes *netset.IPBlock - // tg - // lb } SubnetDetails struct { diff --git a/pkg/synth/acl.go b/pkg/synth/acl.go index 3fa7b73a..9b4dc8f4 100644 --- a/pkg/synth/acl.go +++ b/pkg/synth/acl.go @@ -36,32 +36,25 @@ func (a *ACLSynthesizer) Synth() ir.Collection { // 1. generate nACL rules for relevant subnets for each connection // 2. generate nACL rules for blocked subnets (subnets that do not appear in Spec) func (a *ACLSynthesizer) makeACL() *ir.ACLCollection { - for c := range a.spec.Connections { - a.generateACLRulesFromConnection(a.spec.Connections[c]) + for i := range a.spec.Connections { + conn := a.spec.Connections[i] + a.generateACLRulesFromConnection(conn, conn.Src, conn.Dst, a.allowConnectionSrc) + a.generateACLRulesFromConnection(conn, conn.Dst, conn.Src, a.allowConnectionDst) } a.generateACLRulesForBlockedSubnets() return a.result } -func (a *ACLSynthesizer) generateACLRulesFromConnection(conn *ir.Connection) { - for _, srcSubnet := range conn.Src.NamedAddrs { - for _, dstCidr := range conn.Dst.Cidrs { - if srcSubnet.IPAddrs.Equal(dstCidr.IPAddrs) && *conn.Src.Type != ir.ResourceTypeCidr && *conn.Dst.Type != ir.ResourceTypeCidr { +func (a *ACLSynthesizer) generateACLRulesFromConnection(conn *ir.Connection, thisResource, otherResource *ir.Resource, + allowConnection func(*ir.Connection, *ir.TrackedProtocol, *ir.NamedAddrs, *netset.IPBlock)) { + for _, thisSubnet := range thisResource.NamedAddrs { + for _, otherCidr := range otherResource.Cidrs { + if thisSubnet.IPAddrs.Equal(otherCidr.IPAddrs) && *thisResource.Type != ir.ResourceTypeCidr && + *otherResource.Type != ir.ResourceTypeCidr { continue } for _, trackedProtocol := range conn.TrackedProtocols { - a.allowConnectionSrc(conn, trackedProtocol, srcSubnet, dstCidr.IPAddrs) - } - } - } - - for _, srcCidr := range conn.Src.Cidrs { - for _, dstSubnet := range conn.Dst.NamedAddrs { - if dstSubnet.IPAddrs.Equal(srcCidr.IPAddrs) && *conn.Src.Type != ir.ResourceTypeCidr && *conn.Dst.Type != ir.ResourceTypeCidr { - continue - } - for _, trackedProtocol := range conn.TrackedProtocols { - a.allowConnectionDst(conn, trackedProtocol, dstSubnet, srcCidr.IPAddrs) + allowConnection(conn, trackedProtocol, thisSubnet, otherCidr.IPAddrs) } } } From dc921299338d494c4832969a8f1292992b805e34 Mon Sep 17 00:00:00 2001 From: Yair Slobodin Date: Mon, 14 Oct 2024 16:10:32 +0300 Subject: [PATCH 10/13] added instance nif segment test (acl) --- .../config_object.json | 6269 +++++++++++++++++ .../acl_nif_instance_segments/conn_spec.json | 57 + .../nacl_expected.tf | 373 + test/synth_test_list.go | 15 + 4 files changed, 6714 insertions(+) create mode 100644 test/data/acl_nif_instance_segments/config_object.json create mode 100644 test/data/acl_nif_instance_segments/conn_spec.json create mode 100644 test/expected/acl_nif_instance_segments_tf/nacl_expected.tf diff --git a/test/data/acl_nif_instance_segments/config_object.json b/test/data/acl_nif_instance_segments/config_object.json new file mode 100644 index 00000000..7e94d3b8 --- /dev/null +++ b/test/data/acl_nif_instance_segments/config_object.json @@ -0,0 +1,6269 @@ +{ + "collector_version": "0.11.0", + "provider": "ibm", + "vpcs": [ + { + "classic_access": false, + "created_at": "2024-06-25T15:40:20.000Z", + "crn": "crn:1", + "cse_source_ips": [ + { + "ip": { + "address": "10.22.215.5" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + } + }, + { + "ip": { + "address": "10.22.220.2" + }, + "zone": { + "href": "href:6", + "name": "us-south-2" + } + }, + { + "ip": { + "address": "10.249.82.12" + }, + "zone": { + "href": "href:7", + "name": "us-south-3" + } + } + ], + "default_network_acl": { + "crn": "crn:8", + "href": "href:9", + "id": "id:10", + "name": "automaker-castle-bird-worried" + }, + "default_routing_table": { + "href": "href:11", + "id": "id:12", + "name": "overtone-sputter-overspend-gorge", + "resource_type": "routing_table" + }, + "default_security_group": { + "crn": "crn:13", + "href": "href:14", + "id": "id:15", + "name": "brute-upon-angles-cubbyhole" + }, + "dns": { + "enable_hub": false, + "resolution_binding_count": 0, + "resolver": { + "servers": [ + { + "address": "161.26.0.10" + }, + { + "address": "161.26.0.11" + } + ], + "type": "system", + "configuration": "default" + } + }, + "health_reasons": null, + "health_state": "ok", + "href": "href:2", + "id": "id:3", + "name": "test-vpc1", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "vpc", + "status": "available", + "region": "us-south", + "address_prefixes": [ + { + "cidr": "10.240.80.0/20", + "created_at": "2024-06-25T15:40:39.000Z", + "has_subnets": true, + "href": "href:18", + "id": "id:19", + "is_default": false, + "name": "address-prefix-vpc-1", + "zone": { + "href": "href:6", + "name": "us-south-2" + } + }, + { + "cidr": "10.240.64.0/20", + "created_at": "2024-06-25T15:40:40.000Z", + "has_subnets": true, + "href": "href:20", + "id": "id:21", + "is_default": false, + "name": "address-prefix-vpc-0", + "zone": { + "href": "href:6", + "name": "us-south-2" + } + } + ], + "tags": [] + }, + { + "classic_access": false, + "created_at": "2024-06-25T15:40:19.000Z", + "crn": "crn:22", + "cse_source_ips": [ + { + "ip": { + "address": "10.16.238.56" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + } + }, + { + "ip": { + "address": "10.249.200.205" + }, + "zone": { + "href": "href:6", + "name": "us-south-2" + } + }, + { + "ip": { + "address": "10.249.212.88" + }, + "zone": { + "href": "href:7", + "name": "us-south-3" + } + } + ], + "default_network_acl": { + "crn": "crn:25", + "href": "href:26", + "id": "id:27", + "name": "ebullient-slacks-revert-turkey" + }, + "default_routing_table": { + "href": "href:28", + "id": "id:29", + "name": "escapade-dynamite-upstage-context", + "resource_type": "routing_table" + }, + "default_security_group": { + "crn": "crn:30", + "href": "href:31", + "id": "id:32", + "name": "basically-drank-bulk-jam" + }, + "dns": { + "enable_hub": false, + "resolution_binding_count": 0, + "resolver": { + "servers": [ + { + "address": "161.26.0.10" + }, + { + "address": "161.26.0.11" + } + ], + "type": "system", + "configuration": "default" + } + }, + "health_reasons": null, + "health_state": "ok", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "vpc", + "status": "available", + "region": "us-south", + "address_prefixes": [ + { + "cidr": "10.240.0.0/22", + "created_at": "2024-06-25T15:40:37.000Z", + "has_subnets": true, + "href": "href:33", + "id": "id:34", + "is_default": false, + "name": "address-prefix-vpc-0", + "zone": { + "href": "href:5", + "name": "us-south-1" + } + }, + { + "cidr": "10.240.4.0/22", + "created_at": "2024-06-25T15:40:38.000Z", + "has_subnets": true, + "href": "href:35", + "id": "id:36", + "is_default": false, + "name": "address-prefix-vpc-1", + "zone": { + "href": "href:5", + "name": "us-south-1" + } + }, + { + "cidr": "10.240.8.0/22", + "created_at": "2024-06-25T15:40:39.000Z", + "has_subnets": true, + "href": "href:37", + "id": "id:38", + "is_default": false, + "name": "address-prefix-vpc-2", + "zone": { + "href": "href:5", + "name": "us-south-1" + } + } + ], + "tags": [] + }, + { + "classic_access": false, + "created_at": "2024-06-25T15:40:19.000Z", + "crn": "crn:39", + "cse_source_ips": [ + { + "ip": { + "address": "10.12.125.16" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + } + }, + { + "ip": { + "address": "10.22.27.134" + }, + "zone": { + "href": "href:6", + "name": "us-south-2" + } + }, + { + "ip": { + "address": "10.22.231.90" + }, + "zone": { + "href": "href:7", + "name": "us-south-3" + } + } + ], + "default_network_acl": { + "crn": "crn:42", + "href": "href:43", + "id": "id:44", + "name": "afoot-grape-fineness-zestfully" + }, + "default_routing_table": { + "href": "href:45", + "id": "id:46", + "name": "quintuple-severity-caddie-manuals", + "resource_type": "routing_table" + }, + "default_security_group": { + "crn": "crn:47", + "href": "href:48", + "id": "id:49", + "name": "glance-cactus-unease-bankroll" + }, + "dns": { + "enable_hub": false, + "resolution_binding_count": 0, + "resolver": { + "servers": [ + { + "address": "161.26.0.10" + }, + { + "address": "161.26.0.11" + } + ], + "type": "system", + "configuration": "default" + } + }, + "health_reasons": null, + "health_state": "ok", + "href": "href:40", + "id": "id:41", + "name": "test-vpc2", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "vpc", + "status": "available", + "region": "us-south", + "address_prefixes": [ + { + "cidr": "10.240.128.0/20", + "created_at": "2024-06-25T15:40:39.000Z", + "has_subnets": true, + "href": "href:50", + "id": "id:51", + "is_default": false, + "name": "address-prefix-vpc-0", + "zone": { + "href": "href:7", + "name": "us-south-3" + } + } + ], + "tags": [] + }, + { + "classic_access": false, + "created_at": "2024-06-25T15:40:19.000Z", + "crn": "crn:52", + "cse_source_ips": [ + { + "ip": { + "address": "10.22.219.155" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + } + }, + { + "ip": { + "address": "10.12.159.11" + }, + "zone": { + "href": "href:6", + "name": "us-south-2" + } + }, + { + "ip": { + "address": "10.16.253.109" + }, + "zone": { + "href": "href:7", + "name": "us-south-3" + } + } + ], + "default_network_acl": { + "crn": "crn:55", + "href": "href:56", + "id": "id:57", + "name": "untracked-repayment-triumph-cat" + }, + "default_routing_table": { + "href": "href:58", + "id": "id:59", + "name": "probational-herring-undone-daintily", + "resource_type": "routing_table" + }, + "default_security_group": { + "crn": "crn:60", + "href": "href:61", + "id": "id:62", + "name": "repeater-upcountry-agreeing-acutely" + }, + "dns": { + "enable_hub": false, + "resolution_binding_count": 0, + "resolver": { + "servers": [ + { + "address": "161.26.0.10" + }, + { + "address": "161.26.0.11" + } + ], + "type": "system", + "configuration": "default" + } + }, + "health_reasons": null, + "health_state": "ok", + "href": "href:53", + "id": "id:54", + "name": "test-vpc3", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "vpc", + "status": "available", + "region": "us-south", + "address_prefixes": [ + { + "cidr": "10.240.192.0/20", + "created_at": "2024-06-25T15:40:38.000Z", + "has_subnets": true, + "href": "href:63", + "id": "id:64", + "is_default": false, + "name": "address-prefix-vpc-0", + "zone": { + "href": "href:7", + "name": "us-south-3" + } + } + ], + "tags": [] + } + ], + "subnets": [ + { + "available_ipv4_address_count": 249, + "created_at": "2024-06-25T15:41:47.000Z", + "crn": "crn:65", + "href": "href:66", + "id": "id:67", + "ip_version": "ipv4", + "ipv4_cidr_block": "10.240.9.0/24", + "name": "subnet5", + "network_acl": { + "crn": "crn:68", + "href": "href:69", + "id": "id:70", + "name": "acl3" + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "subnet", + "routing_table": { + "href": "href:28", + "id": "id:29", + "name": "escapade-dynamite-upstage-context", + "resource_type": "routing_table" + }, + "status": "available", + "total_ipv4_address_count": 256, + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "reserved_ips": [ + { + "address": "10.240.9.0", + "auto_delete": false, + "created_at": "2024-06-25T15:41:47.000Z", + "href": "href:71", + "id": "id:72", + "lifecycle_state": "stable", + "name": "ibm-network-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.9.1", + "auto_delete": false, + "created_at": "2024-06-25T15:41:47.000Z", + "href": "href:73", + "id": "id:74", + "lifecycle_state": "stable", + "name": "ibm-default-gateway", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.9.2", + "auto_delete": false, + "created_at": "2024-06-25T15:41:47.000Z", + "href": "href:75", + "id": "id:76", + "lifecycle_state": "stable", + "name": "ibm-dns-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.9.3", + "auto_delete": false, + "created_at": "2024-06-25T15:41:47.000Z", + "href": "href:77", + "id": "id:78", + "lifecycle_state": "stable", + "name": "ibm-reserved-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.9.4", + "auto_delete": false, + "created_at": "2024-06-25T15:42:00.000Z", + "href": "href:79", + "id": "id:80", + "lifecycle_state": "stable", + "name": "ideally-grain-bagpipe-luxuriant", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:81", + "id": "id:82", + "name": "stooped-camera-excluded-juke", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.9.5", + "auto_delete": false, + "created_at": "2024-06-25T15:42:20.000Z", + "href": "href:83", + "id": "id:84", + "lifecycle_state": "stable", + "name": "outskirts-unaligned-passivism-parchment", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:85", + "id": "id:86", + "name": "scratch-outward-raging-hunchback", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.9.255", + "auto_delete": false, + "created_at": "2024-06-25T15:41:47.000Z", + "href": "href:87", + "id": "id:88", + "lifecycle_state": "stable", + "name": "ibm-broadcast-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + } + ], + "tags": [] + }, + { + "available_ipv4_address_count": 249, + "created_at": "2024-06-25T15:41:35.000Z", + "crn": "crn:89", + "href": "href:90", + "id": "id:91", + "ip_version": "ipv4", + "ipv4_cidr_block": "10.240.5.0/24", + "name": "subnet3", + "network_acl": { + "crn": "crn:92", + "href": "href:93", + "id": "id:94", + "name": "acl2" + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "subnet", + "routing_table": { + "href": "href:28", + "id": "id:29", + "name": "escapade-dynamite-upstage-context", + "resource_type": "routing_table" + }, + "status": "available", + "total_ipv4_address_count": 256, + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "reserved_ips": [ + { + "address": "10.240.5.0", + "auto_delete": false, + "created_at": "2024-06-25T15:41:35.000Z", + "href": "href:95", + "id": "id:96", + "lifecycle_state": "stable", + "name": "ibm-network-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.5.1", + "auto_delete": false, + "created_at": "2024-06-25T15:41:35.000Z", + "href": "href:97", + "id": "id:98", + "lifecycle_state": "stable", + "name": "ibm-default-gateway", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.5.2", + "auto_delete": false, + "created_at": "2024-06-25T15:41:35.000Z", + "href": "href:99", + "id": "id:100", + "lifecycle_state": "stable", + "name": "ibm-dns-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.5.3", + "auto_delete": false, + "created_at": "2024-06-25T15:41:35.000Z", + "href": "href:101", + "id": "id:102", + "lifecycle_state": "stable", + "name": "ibm-reserved-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.5.4", + "auto_delete": false, + "created_at": "2024-06-25T15:42:00.000Z", + "href": "href:103", + "id": "id:104", + "lifecycle_state": "stable", + "name": "rising-gopher-reentry-graveness", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:105", + "id": "id:106", + "name": "icky-balsamic-outgoing-leached", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.5.5", + "auto_delete": false, + "created_at": "2024-06-25T15:42:16.000Z", + "href": "href:107", + "id": "id:108", + "lifecycle_state": "stable", + "name": "recognize-citable-exerciser-unsecured", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:109", + "id": "id:110", + "name": "squatted-fastball-vacant-knoll", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.5.255", + "auto_delete": false, + "created_at": "2024-06-25T15:41:35.000Z", + "href": "href:111", + "id": "id:112", + "lifecycle_state": "stable", + "name": "ibm-broadcast-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + } + ], + "tags": [] + }, + { + "available_ipv4_address_count": 249, + "created_at": "2024-06-25T15:41:23.000Z", + "crn": "crn:113", + "href": "href:114", + "id": "id:115", + "ip_version": "ipv4", + "ipv4_cidr_block": "10.240.0.0/24", + "name": "subnet0", + "network_acl": { + "crn": "crn:116", + "href": "href:117", + "id": "id:118", + "name": "acl1" + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "subnet", + "routing_table": { + "href": "href:28", + "id": "id:29", + "name": "escapade-dynamite-upstage-context", + "resource_type": "routing_table" + }, + "status": "available", + "total_ipv4_address_count": 256, + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "reserved_ips": [ + { + "address": "10.240.0.0", + "auto_delete": false, + "created_at": "2024-06-25T15:41:23.000Z", + "href": "href:119", + "id": "id:120", + "lifecycle_state": "stable", + "name": "ibm-network-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.0.1", + "auto_delete": false, + "created_at": "2024-06-25T15:41:23.000Z", + "href": "href:121", + "id": "id:122", + "lifecycle_state": "stable", + "name": "ibm-default-gateway", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.0.2", + "auto_delete": false, + "created_at": "2024-06-25T15:41:23.000Z", + "href": "href:123", + "id": "id:124", + "lifecycle_state": "stable", + "name": "ibm-dns-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.0.3", + "auto_delete": false, + "created_at": "2024-06-25T15:41:23.000Z", + "href": "href:125", + "id": "id:126", + "lifecycle_state": "stable", + "name": "ibm-reserved-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.0.4", + "auto_delete": false, + "created_at": "2024-06-25T15:42:08.000Z", + "href": "href:127", + "id": "id:128", + "lifecycle_state": "stable", + "name": "pundit-tight-arbitrate-grace", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:129", + "id": "id:130", + "name": "writer-crusher-unsuited-cash", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.0.5", + "auto_delete": false, + "created_at": "2024-06-25T15:42:39.000Z", + "href": "href:131", + "id": "id:132", + "lifecycle_state": "stable", + "name": "relatable-antiques-maturing-brulee", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:133", + "id": "id:134", + "name": "consonant-imperial-simply-ceramics", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.0.255", + "auto_delete": false, + "created_at": "2024-06-25T15:41:23.000Z", + "href": "href:135", + "id": "id:136", + "lifecycle_state": "stable", + "name": "ibm-broadcast-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + } + ], + "tags": [] + }, + { + "available_ipv4_address_count": 250, + "created_at": "2024-06-25T15:41:20.000Z", + "crn": "crn:137", + "href": "href:138", + "id": "id:139", + "ip_version": "ipv4", + "ipv4_cidr_block": "10.240.80.0/24", + "name": "subnet11", + "network_acl": { + "crn": "crn:140", + "href": "href:141", + "id": "id:142", + "name": "acl11" + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "subnet", + "routing_table": { + "href": "href:11", + "id": "id:12", + "name": "overtone-sputter-overspend-gorge", + "resource_type": "routing_table" + }, + "status": "available", + "total_ipv4_address_count": 256, + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc1", + "resource_type": "vpc" + }, + "zone": { + "href": "href:6", + "name": "us-south-2" + }, + "reserved_ips": [ + { + "address": "10.240.80.0", + "auto_delete": false, + "created_at": "2024-06-25T15:41:20.000Z", + "href": "href:143", + "id": "id:144", + "lifecycle_state": "stable", + "name": "ibm-network-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.80.1", + "auto_delete": false, + "created_at": "2024-06-25T15:41:20.000Z", + "href": "href:145", + "id": "id:146", + "lifecycle_state": "stable", + "name": "ibm-default-gateway", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.80.2", + "auto_delete": false, + "created_at": "2024-06-25T15:41:20.000Z", + "href": "href:147", + "id": "id:148", + "lifecycle_state": "stable", + "name": "ibm-dns-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.80.3", + "auto_delete": false, + "created_at": "2024-06-25T15:41:20.000Z", + "href": "href:149", + "id": "id:150", + "lifecycle_state": "stable", + "name": "ibm-reserved-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.80.4", + "auto_delete": false, + "created_at": "2024-06-25T15:41:40.000Z", + "href": "href:151", + "id": "id:152", + "lifecycle_state": "stable", + "name": "childlike-publish-retainer-movie", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:153", + "id": "id:154", + "name": "stride-woken-backsight-dynastic", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.80.255", + "auto_delete": false, + "created_at": "2024-06-25T15:41:20.000Z", + "href": "href:155", + "id": "id:156", + "lifecycle_state": "stable", + "name": "ibm-broadcast-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + } + ], + "tags": [] + }, + { + "available_ipv4_address_count": 249, + "created_at": "2024-06-25T15:41:08.000Z", + "crn": "crn:157", + "href": "href:158", + "id": "id:159", + "ip_version": "ipv4", + "ipv4_cidr_block": "10.240.4.0/24", + "name": "subnet2", + "network_acl": { + "crn": "crn:92", + "href": "href:93", + "id": "id:94", + "name": "acl2" + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "subnet", + "routing_table": { + "href": "href:28", + "id": "id:29", + "name": "escapade-dynamite-upstage-context", + "resource_type": "routing_table" + }, + "status": "available", + "total_ipv4_address_count": 256, + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "reserved_ips": [ + { + "address": "10.240.4.0", + "auto_delete": false, + "created_at": "2024-06-25T15:41:08.000Z", + "href": "href:160", + "id": "id:161", + "lifecycle_state": "stable", + "name": "ibm-network-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.4.1", + "auto_delete": false, + "created_at": "2024-06-25T15:41:08.000Z", + "href": "href:162", + "id": "id:163", + "lifecycle_state": "stable", + "name": "ibm-default-gateway", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.4.2", + "auto_delete": false, + "created_at": "2024-06-25T15:41:08.000Z", + "href": "href:164", + "id": "id:165", + "lifecycle_state": "stable", + "name": "ibm-dns-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.4.3", + "auto_delete": false, + "created_at": "2024-06-25T15:41:08.000Z", + "href": "href:166", + "id": "id:167", + "lifecycle_state": "stable", + "name": "ibm-reserved-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.4.4", + "auto_delete": false, + "created_at": "2024-06-25T15:42:21.000Z", + "href": "href:168", + "id": "id:169", + "lifecycle_state": "stable", + "name": "stood-sitcom-whoops-hurled", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:170", + "id": "id:171", + "name": "graveyard-handmade-ransack-acquaint", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.4.5", + "auto_delete": false, + "created_at": "2024-06-25T15:42:22.000Z", + "href": "href:172", + "id": "id:173", + "lifecycle_state": "stable", + "name": "bark-gatherer-rope-unrivaled", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:174", + "id": "id:175", + "name": "quantum-handbag-dimmed-reassign", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.4.255", + "auto_delete": false, + "created_at": "2024-06-25T15:41:08.000Z", + "href": "href:176", + "id": "id:177", + "lifecycle_state": "stable", + "name": "ibm-broadcast-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + } + ], + "tags": [] + }, + { + "available_ipv4_address_count": 250, + "created_at": "2024-06-25T15:41:08.000Z", + "crn": "crn:178", + "href": "href:179", + "id": "id:180", + "ip_version": "ipv4", + "ipv4_cidr_block": "10.240.64.0/24", + "name": "subnet10", + "network_acl": { + "crn": "crn:140", + "href": "href:141", + "id": "id:142", + "name": "acl11" + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "subnet", + "routing_table": { + "href": "href:11", + "id": "id:12", + "name": "overtone-sputter-overspend-gorge", + "resource_type": "routing_table" + }, + "status": "available", + "total_ipv4_address_count": 256, + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc1", + "resource_type": "vpc" + }, + "zone": { + "href": "href:6", + "name": "us-south-2" + }, + "reserved_ips": [ + { + "address": "10.240.64.0", + "auto_delete": false, + "created_at": "2024-06-25T15:41:08.000Z", + "href": "href:181", + "id": "id:182", + "lifecycle_state": "stable", + "name": "ibm-network-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.64.1", + "auto_delete": false, + "created_at": "2024-06-25T15:41:08.000Z", + "href": "href:183", + "id": "id:184", + "lifecycle_state": "stable", + "name": "ibm-default-gateway", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.64.2", + "auto_delete": false, + "created_at": "2024-06-25T15:41:08.000Z", + "href": "href:185", + "id": "id:186", + "lifecycle_state": "stable", + "name": "ibm-dns-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.64.3", + "auto_delete": false, + "created_at": "2024-06-25T15:41:08.000Z", + "href": "href:187", + "id": "id:188", + "lifecycle_state": "stable", + "name": "ibm-reserved-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.64.4", + "auto_delete": false, + "created_at": "2024-06-25T15:41:36.000Z", + "href": "href:189", + "id": "id:190", + "lifecycle_state": "stable", + "name": "starry-smasher-ladle-dioxide", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:191", + "id": "id:192", + "name": "enlace-prominent-overhear-perfume", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.64.255", + "auto_delete": false, + "created_at": "2024-06-25T15:41:08.000Z", + "href": "href:193", + "id": "id:194", + "lifecycle_state": "stable", + "name": "ibm-broadcast-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + } + ], + "tags": [] + }, + { + "available_ipv4_address_count": 248, + "created_at": "2024-06-25T15:40:57.000Z", + "crn": "crn:195", + "href": "href:196", + "id": "id:197", + "ip_version": "ipv4", + "ipv4_cidr_block": "10.240.128.0/24", + "name": "subnet20", + "network_acl": { + "crn": "crn:198", + "href": "href:199", + "id": "id:200", + "name": "acl21" + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "subnet", + "routing_table": { + "href": "href:45", + "id": "id:46", + "name": "quintuple-severity-caddie-manuals", + "resource_type": "routing_table" + }, + "status": "available", + "total_ipv4_address_count": 256, + "vpc": { + "crn": "crn:39", + "href": "href:40", + "id": "id:41", + "name": "test-vpc2", + "resource_type": "vpc" + }, + "zone": { + "href": "href:7", + "name": "us-south-3" + }, + "reserved_ips": [ + { + "address": "10.240.128.0", + "auto_delete": false, + "created_at": "2024-06-25T15:40:57.000Z", + "href": "href:201", + "id": "id:202", + "lifecycle_state": "stable", + "name": "ibm-network-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.128.1", + "auto_delete": false, + "created_at": "2024-06-25T15:40:57.000Z", + "href": "href:203", + "id": "id:204", + "lifecycle_state": "stable", + "name": "ibm-default-gateway", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.128.2", + "auto_delete": false, + "created_at": "2024-06-25T15:40:57.000Z", + "href": "href:205", + "id": "id:206", + "lifecycle_state": "stable", + "name": "ibm-dns-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.128.3", + "auto_delete": false, + "created_at": "2024-06-25T15:40:57.000Z", + "href": "href:207", + "id": "id:208", + "lifecycle_state": "stable", + "name": "ibm-reserved-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.128.4", + "auto_delete": false, + "created_at": "2024-06-25T15:41:21.000Z", + "href": "href:209", + "id": "id:210", + "lifecycle_state": "stable", + "name": "unmixed-qualify-prescribe-railcar", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:211", + "id": "id:212", + "name": "tavern-far-imprudent-labored", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.128.5", + "auto_delete": false, + "created_at": "2024-06-25T15:41:21.000Z", + "href": "href:213", + "id": "id:214", + "lifecycle_state": "stable", + "name": "customs-recollect-drippy-primate", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:215", + "id": "id:216", + "name": "ought-football-shorter-aviator", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.128.6", + "auto_delete": false, + "created_at": "2024-06-25T15:41:24.000Z", + "href": "href:217", + "id": "id:218", + "lifecycle_state": "stable", + "name": "uniquely-shelter-gracious-sudden", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:219", + "id": "id:220", + "name": "clicker-grumbly-outskirts-greatly", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.128.255", + "auto_delete": false, + "created_at": "2024-06-25T15:40:57.000Z", + "href": "href:221", + "id": "id:222", + "lifecycle_state": "stable", + "name": "ibm-broadcast-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + } + ], + "tags": [] + }, + { + "available_ipv4_address_count": 249, + "created_at": "2024-06-25T15:40:56.000Z", + "crn": "crn:223", + "href": "href:224", + "id": "id:225", + "ip_version": "ipv4", + "ipv4_cidr_block": "10.240.1.0/24", + "name": "subnet1", + "network_acl": { + "crn": "crn:116", + "href": "href:117", + "id": "id:118", + "name": "acl1" + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "subnet", + "routing_table": { + "href": "href:28", + "id": "id:29", + "name": "escapade-dynamite-upstage-context", + "resource_type": "routing_table" + }, + "status": "available", + "total_ipv4_address_count": 256, + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "reserved_ips": [ + { + "address": "10.240.1.0", + "auto_delete": false, + "created_at": "2024-06-25T15:40:56.000Z", + "href": "href:226", + "id": "id:227", + "lifecycle_state": "stable", + "name": "ibm-network-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.1.1", + "auto_delete": false, + "created_at": "2024-06-25T15:40:56.000Z", + "href": "href:228", + "id": "id:229", + "lifecycle_state": "stable", + "name": "ibm-default-gateway", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.1.2", + "auto_delete": false, + "created_at": "2024-06-25T15:40:56.000Z", + "href": "href:230", + "id": "id:231", + "lifecycle_state": "stable", + "name": "ibm-dns-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.1.3", + "auto_delete": false, + "created_at": "2024-06-25T15:40:56.000Z", + "href": "href:232", + "id": "id:233", + "lifecycle_state": "stable", + "name": "ibm-reserved-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.1.4", + "auto_delete": false, + "created_at": "2024-06-25T15:42:00.000Z", + "href": "href:234", + "id": "id:235", + "lifecycle_state": "stable", + "name": "excluded-unfair-jailbird-foil", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:236", + "id": "id:237", + "name": "hankie-excitable-outclass-unmanaged", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.1.5", + "auto_delete": false, + "created_at": "2024-06-25T15:42:40.000Z", + "href": "href:238", + "id": "id:239", + "lifecycle_state": "stable", + "name": "affected-johnniecake-monorail-ungraded", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:240", + "id": "id:241", + "name": "scale-clambake-endearing-abridged", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.1.255", + "auto_delete": false, + "created_at": "2024-06-25T15:40:56.000Z", + "href": "href:242", + "id": "id:243", + "lifecycle_state": "stable", + "name": "ibm-broadcast-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + } + ], + "tags": [] + }, + { + "available_ipv4_address_count": 250, + "created_at": "2024-06-25T15:40:48.000Z", + "crn": "crn:244", + "href": "href:245", + "id": "id:246", + "ip_version": "ipv4", + "ipv4_cidr_block": "10.240.192.0/24", + "name": "subnet30", + "network_acl": { + "crn": "crn:247", + "href": "href:248", + "id": "id:249", + "name": "acl31" + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "subnet", + "routing_table": { + "href": "href:58", + "id": "id:59", + "name": "probational-herring-undone-daintily", + "resource_type": "routing_table" + }, + "status": "available", + "total_ipv4_address_count": 256, + "vpc": { + "crn": "crn:52", + "href": "href:53", + "id": "id:54", + "name": "test-vpc3", + "resource_type": "vpc" + }, + "zone": { + "href": "href:7", + "name": "us-south-3" + }, + "reserved_ips": [ + { + "address": "10.240.192.0", + "auto_delete": false, + "created_at": "2024-06-25T15:40:48.000Z", + "href": "href:250", + "id": "id:251", + "lifecycle_state": "stable", + "name": "ibm-network-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.192.1", + "auto_delete": false, + "created_at": "2024-06-25T15:40:48.000Z", + "href": "href:252", + "id": "id:253", + "lifecycle_state": "stable", + "name": "ibm-default-gateway", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.192.2", + "auto_delete": false, + "created_at": "2024-06-25T15:40:48.000Z", + "href": "href:254", + "id": "id:255", + "lifecycle_state": "stable", + "name": "ibm-dns-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.192.3", + "auto_delete": false, + "created_at": "2024-06-25T15:40:48.000Z", + "href": "href:256", + "id": "id:257", + "lifecycle_state": "stable", + "name": "ibm-reserved-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.192.4", + "auto_delete": false, + "created_at": "2024-06-25T15:41:01.000Z", + "href": "href:258", + "id": "id:259", + "lifecycle_state": "stable", + "name": "legacy-shore-molecule-barometer", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:260", + "id": "id:261", + "name": "snout-given-twiddle-splinter", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.192.255", + "auto_delete": false, + "created_at": "2024-06-25T15:40:48.000Z", + "href": "href:262", + "id": "id:263", + "lifecycle_state": "stable", + "name": "ibm-broadcast-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + } + ], + "tags": [] + }, + { + "available_ipv4_address_count": 249, + "created_at": "2024-06-25T15:40:44.000Z", + "crn": "crn:264", + "href": "href:265", + "id": "id:266", + "ip_version": "ipv4", + "ipv4_cidr_block": "10.240.8.0/24", + "name": "subnet4", + "network_acl": { + "crn": "crn:68", + "href": "href:69", + "id": "id:70", + "name": "acl3" + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "subnet", + "routing_table": { + "href": "href:28", + "id": "id:29", + "name": "escapade-dynamite-upstage-context", + "resource_type": "routing_table" + }, + "status": "available", + "total_ipv4_address_count": 256, + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "reserved_ips": [ + { + "address": "10.240.8.0", + "auto_delete": false, + "created_at": "2024-06-25T15:40:44.000Z", + "href": "href:267", + "id": "id:268", + "lifecycle_state": "stable", + "name": "ibm-network-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.8.1", + "auto_delete": false, + "created_at": "2024-06-25T15:40:44.000Z", + "href": "href:269", + "id": "id:270", + "lifecycle_state": "stable", + "name": "ibm-default-gateway", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.8.2", + "auto_delete": false, + "created_at": "2024-06-25T15:40:44.000Z", + "href": "href:271", + "id": "id:272", + "lifecycle_state": "stable", + "name": "ibm-dns-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.8.3", + "auto_delete": false, + "created_at": "2024-06-25T15:40:44.000Z", + "href": "href:273", + "id": "id:274", + "lifecycle_state": "stable", + "name": "ibm-reserved-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.8.4", + "auto_delete": false, + "created_at": "2024-06-25T15:42:00.000Z", + "href": "href:275", + "id": "id:276", + "lifecycle_state": "stable", + "name": "bagged-posture-glaring-cojoined", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:277", + "id": "id:278", + "name": "bullring-ransack-feint-cheer", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.8.5", + "auto_delete": false, + "created_at": "2024-06-25T15:42:16.000Z", + "href": "href:279", + "id": "id:280", + "lifecycle_state": "stable", + "name": "frighten-mystified-freeway-hurtling", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:281", + "id": "id:282", + "name": "speak-princess-washcloth-companion", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.8.255", + "auto_delete": false, + "created_at": "2024-06-25T15:40:44.000Z", + "href": "href:283", + "id": "id:284", + "lifecycle_state": "stable", + "name": "ibm-broadcast-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + } + ], + "tags": [] + } + ], + "public_gateways": [], + "floating_ips": [ + { + "address": "52.118.151.238", + "created_at": "2024-06-25T15:43:30.000Z", + "crn": "crn:285", + "href": "href:286", + "id": "id:287", + "name": "fip-0-subnet0", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "status": "available", + "target": { + "href": "href:129", + "id": "id:130", + "name": "writer-crusher-unsuited-cash", + "primary_ip": { + "address": "10.240.0.4", + "href": "href:127", + "id": "id:128", + "name": "pundit-tight-arbitrate-grace", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "tags": [] + }, + { + "address": "150.239.167.146", + "created_at": "2024-06-25T15:41:59.000Z", + "crn": "crn:288", + "href": "href:289", + "id": "id:290", + "name": "fip-0-subnet10", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "status": "available", + "target": { + "href": "href:191", + "id": "id:192", + "name": "enlace-prominent-overhear-perfume", + "primary_ip": { + "address": "10.240.64.4", + "href": "href:189", + "id": "id:190", + "name": "starry-smasher-ladle-dioxide", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface" + }, + "zone": { + "href": "href:6", + "name": "us-south-2" + }, + "tags": [] + }, + { + "address": "169.48.95.165", + "created_at": "2024-06-25T15:41:50.000Z", + "crn": "crn:291", + "href": "href:292", + "id": "id:293", + "name": "fip-0-subnet20", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "status": "available", + "target": { + "href": "href:219", + "id": "id:220", + "name": "clicker-grumbly-outskirts-greatly", + "primary_ip": { + "address": "10.240.128.6", + "href": "href:217", + "id": "id:218", + "name": "uniquely-shelter-gracious-sudden", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface" + }, + "zone": { + "href": "href:7", + "name": "us-south-3" + }, + "tags": [] + }, + { + "address": "52.118.100.239", + "created_at": "2024-06-25T15:41:33.000Z", + "crn": "crn:294", + "href": "href:295", + "id": "id:296", + "name": "fip-0-subnet30", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "status": "available", + "target": { + "href": "href:260", + "id": "id:261", + "name": "snout-given-twiddle-splinter", + "primary_ip": { + "address": "10.240.192.4", + "href": "href:258", + "id": "id:259", + "name": "legacy-shore-molecule-barometer", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface" + }, + "zone": { + "href": "href:7", + "name": "us-south-3" + }, + "tags": [] + } + ], + "network_acls": [ + { + "created_at": "2024-06-25T15:40:41.000Z", + "crn": "crn:140", + "href": "href:141", + "id": "id:142", + "name": "acl11", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "action": "deny", + "before": { + "href": "href:299", + "id": "id:300", + "name": "acl11-out-2" + }, + "created_at": "2024-06-25T15:40:42.000Z", + "destination": "10.240.4.0/24", + "direction": "outbound", + "href": "href:297", + "id": "id:298", + "ip_version": "ipv4", + "name": "acl11-out-1", + "source": "0.0.0.0/0", + "protocol": "all" + }, + { + "action": "allow", + "before": { + "href": "href:301", + "id": "id:302", + "name": "acl11-in-1" + }, + "created_at": "2024-06-25T15:40:43.000Z", + "destination": "0.0.0.0/0", + "direction": "outbound", + "href": "href:299", + "id": "id:300", + "ip_version": "ipv4", + "name": "acl11-out-2", + "source": "0.0.0.0/0", + "protocol": "all" + }, + { + "action": "allow", + "created_at": "2024-06-25T15:40:43.000Z", + "destination": "0.0.0.0/0", + "direction": "inbound", + "href": "href:301", + "id": "id:302", + "ip_version": "ipv4", + "name": "acl11-in-1", + "source": "0.0.0.0/0", + "protocol": "all" + } + ], + "subnets": [ + { + "crn": "crn:137", + "href": "href:138", + "id": "id:139", + "name": "subnet11", + "resource_type": "subnet" + }, + { + "crn": "crn:178", + "href": "href:179", + "id": "id:180", + "name": "subnet10", + "resource_type": "subnet" + } + ], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc1", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-25T15:40:40.000Z", + "crn": "crn:247", + "href": "href:248", + "id": "id:249", + "name": "acl31", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "action": "allow", + "before": { + "href": "href:305", + "id": "id:306", + "name": "acl31-in-1" + }, + "created_at": "2024-06-25T15:40:41.000Z", + "destination": "0.0.0.0/0", + "direction": "outbound", + "href": "href:303", + "id": "id:304", + "ip_version": "ipv4", + "name": "acl31-out-1", + "source": "0.0.0.0/0", + "protocol": "all" + }, + { + "action": "allow", + "created_at": "2024-06-25T15:40:41.000Z", + "destination": "0.0.0.0/0", + "direction": "inbound", + "href": "href:305", + "id": "id:306", + "ip_version": "ipv4", + "name": "acl31-in-1", + "source": "0.0.0.0/0", + "protocol": "all" + } + ], + "subnets": [ + { + "crn": "crn:244", + "href": "href:245", + "id": "id:246", + "name": "subnet30", + "resource_type": "subnet" + } + ], + "vpc": { + "crn": "crn:52", + "href": "href:53", + "id": "id:54", + "name": "test-vpc3", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-25T15:40:40.000Z", + "crn": "crn:198", + "href": "href:199", + "id": "id:200", + "name": "acl21", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "action": "allow", + "before": { + "href": "href:309", + "id": "id:310", + "name": "acl21-in-1" + }, + "created_at": "2024-06-25T15:40:41.000Z", + "destination": "0.0.0.0/0", + "direction": "outbound", + "href": "href:307", + "id": "id:308", + "ip_version": "ipv4", + "name": "acl21-out-1", + "source": "0.0.0.0/0", + "protocol": "all" + }, + { + "action": "allow", + "created_at": "2024-06-25T15:40:42.000Z", + "destination": "0.0.0.0/0", + "direction": "inbound", + "href": "href:309", + "id": "id:310", + "ip_version": "ipv4", + "name": "acl21-in-1", + "source": "0.0.0.0/0", + "protocol": "all" + } + ], + "subnets": [ + { + "crn": "crn:195", + "href": "href:196", + "id": "id:197", + "name": "subnet20", + "resource_type": "subnet" + } + ], + "vpc": { + "crn": "crn:39", + "href": "href:40", + "id": "id:41", + "name": "test-vpc2", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-25T15:40:38.000Z", + "crn": "crn:92", + "href": "href:93", + "id": "id:94", + "name": "acl2", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "action": "allow", + "before": { + "href": "href:313", + "id": "id:314", + "name": "acl1-in-1" + }, + "created_at": "2024-06-25T15:40:38.000Z", + "destination": "0.0.0.0/0", + "direction": "outbound", + "href": "href:311", + "id": "id:312", + "ip_version": "ipv4", + "name": "acl1-out-1", + "source": "0.0.0.0/0", + "protocol": "all" + }, + { + "action": "allow", + "created_at": "2024-06-25T15:40:39.000Z", + "destination": "0.0.0.0/0", + "direction": "inbound", + "href": "href:313", + "id": "id:314", + "ip_version": "ipv4", + "name": "acl1-in-1", + "source": "0.0.0.0/0", + "protocol": "all" + } + ], + "subnets": [ + { + "crn": "crn:89", + "href": "href:90", + "id": "id:91", + "name": "subnet3", + "resource_type": "subnet" + }, + { + "crn": "crn:157", + "href": "href:158", + "id": "id:159", + "name": "subnet2", + "resource_type": "subnet" + } + ], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-25T15:40:37.000Z", + "crn": "crn:68", + "href": "href:69", + "id": "id:70", + "name": "acl3", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "action": "allow", + "before": { + "href": "href:317", + "id": "id:318", + "name": "acl1-in-1" + }, + "created_at": "2024-06-25T15:40:38.000Z", + "destination": "0.0.0.0/0", + "direction": "outbound", + "href": "href:315", + "id": "id:316", + "ip_version": "ipv4", + "name": "acl1-out-1", + "source": "0.0.0.0/0", + "protocol": "all" + }, + { + "action": "allow", + "created_at": "2024-06-25T15:40:38.000Z", + "destination": "0.0.0.0/0", + "direction": "inbound", + "href": "href:317", + "id": "id:318", + "ip_version": "ipv4", + "name": "acl1-in-1", + "source": "0.0.0.0/0", + "protocol": "all" + } + ], + "subnets": [ + { + "crn": "crn:65", + "href": "href:66", + "id": "id:67", + "name": "subnet5", + "resource_type": "subnet" + }, + { + "crn": "crn:264", + "href": "href:265", + "id": "id:266", + "name": "subnet4", + "resource_type": "subnet" + } + ], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-25T15:40:37.000Z", + "crn": "crn:116", + "href": "href:117", + "id": "id:118", + "name": "acl1", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "action": "allow", + "before": { + "href": "href:321", + "id": "id:322", + "name": "acl1-in-1" + }, + "created_at": "2024-06-25T15:40:38.000Z", + "destination": "0.0.0.0/0", + "direction": "outbound", + "href": "href:319", + "id": "id:320", + "ip_version": "ipv4", + "name": "acl1-out-1", + "source": "0.0.0.0/0", + "protocol": "all" + }, + { + "action": "allow", + "created_at": "2024-06-25T15:40:38.000Z", + "destination": "0.0.0.0/0", + "direction": "inbound", + "href": "href:321", + "id": "id:322", + "ip_version": "ipv4", + "name": "acl1-in-1", + "source": "0.0.0.0/0", + "protocol": "all" + } + ], + "subnets": [ + { + "crn": "crn:113", + "href": "href:114", + "id": "id:115", + "name": "subnet0", + "resource_type": "subnet" + }, + { + "crn": "crn:223", + "href": "href:224", + "id": "id:225", + "name": "subnet1", + "resource_type": "subnet" + } + ], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-25T15:40:20.000Z", + "crn": "crn:8", + "href": "href:9", + "id": "id:10", + "name": "automaker-castle-bird-worried", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "action": "allow", + "before": { + "href": "href:325", + "id": "id:326", + "name": "allow-outbound" + }, + "created_at": "2024-06-25T15:40:20.000Z", + "destination": "0.0.0.0/0", + "direction": "inbound", + "href": "href:323", + "id": "id:324", + "ip_version": "ipv4", + "name": "allow-inbound", + "source": "0.0.0.0/0", + "protocol": "all" + }, + { + "action": "allow", + "created_at": "2024-06-25T15:40:20.000Z", + "destination": "0.0.0.0/0", + "direction": "outbound", + "href": "href:325", + "id": "id:326", + "ip_version": "ipv4", + "name": "allow-outbound", + "source": "0.0.0.0/0", + "protocol": "all" + } + ], + "subnets": [], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc1", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-25T15:40:19.000Z", + "crn": "crn:42", + "href": "href:43", + "id": "id:44", + "name": "afoot-grape-fineness-zestfully", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "action": "allow", + "before": { + "href": "href:329", + "id": "id:330", + "name": "allow-outbound" + }, + "created_at": "2024-06-25T15:40:19.000Z", + "destination": "0.0.0.0/0", + "direction": "inbound", + "href": "href:327", + "id": "id:328", + "ip_version": "ipv4", + "name": "allow-inbound", + "source": "0.0.0.0/0", + "protocol": "all" + }, + { + "action": "allow", + "created_at": "2024-06-25T15:40:19.000Z", + "destination": "0.0.0.0/0", + "direction": "outbound", + "href": "href:329", + "id": "id:330", + "ip_version": "ipv4", + "name": "allow-outbound", + "source": "0.0.0.0/0", + "protocol": "all" + } + ], + "subnets": [], + "vpc": { + "crn": "crn:39", + "href": "href:40", + "id": "id:41", + "name": "test-vpc2", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-25T15:40:19.000Z", + "crn": "crn:25", + "href": "href:26", + "id": "id:27", + "name": "ebullient-slacks-revert-turkey", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "action": "allow", + "before": { + "href": "href:333", + "id": "id:334", + "name": "allow-outbound" + }, + "created_at": "2024-06-25T15:40:19.000Z", + "destination": "0.0.0.0/0", + "direction": "inbound", + "href": "href:331", + "id": "id:332", + "ip_version": "ipv4", + "name": "allow-inbound", + "source": "0.0.0.0/0", + "protocol": "all" + }, + { + "action": "allow", + "created_at": "2024-06-25T15:40:19.000Z", + "destination": "0.0.0.0/0", + "direction": "outbound", + "href": "href:333", + "id": "id:334", + "ip_version": "ipv4", + "name": "allow-outbound", + "source": "0.0.0.0/0", + "protocol": "all" + } + ], + "subnets": [], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-25T15:40:19.000Z", + "crn": "crn:55", + "href": "href:56", + "id": "id:57", + "name": "untracked-repayment-triumph-cat", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "action": "allow", + "before": { + "href": "href:337", + "id": "id:338", + "name": "allow-outbound" + }, + "created_at": "2024-06-25T15:40:19.000Z", + "destination": "0.0.0.0/0", + "direction": "inbound", + "href": "href:335", + "id": "id:336", + "ip_version": "ipv4", + "name": "allow-inbound", + "source": "0.0.0.0/0", + "protocol": "all" + }, + { + "action": "allow", + "created_at": "2024-06-25T15:40:19.000Z", + "destination": "0.0.0.0/0", + "direction": "outbound", + "href": "href:337", + "id": "id:338", + "ip_version": "ipv4", + "name": "allow-outbound", + "source": "0.0.0.0/0", + "protocol": "all" + } + ], + "subnets": [], + "vpc": { + "crn": "crn:52", + "href": "href:53", + "id": "id:54", + "name": "test-vpc3", + "resource_type": "vpc" + }, + "tags": [] + } + ], + "security_groups": [ + { + "created_at": "2024-06-25T15:40:40.000Z", + "crn": "crn:339", + "href": "href:340", + "id": "id:341", + "name": "sg21", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "direction": "outbound", + "href": "href:342", + "id": "id:343", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "cidr_block": "0.0.0.0/0" + }, + "protocol": "all" + }, + { + "direction": "inbound", + "href": "href:344", + "id": "id:345", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "cidr_block": "0.0.0.0/0" + }, + "protocol": "all" + } + ], + "targets": [ + { + "href": "href:211", + "id": "id:212", + "name": "tavern-far-imprudent-labored", + "resource_type": "network_interface" + }, + { + "href": "href:215", + "id": "id:216", + "name": "ought-football-shorter-aviator", + "resource_type": "network_interface" + }, + { + "href": "href:219", + "id": "id:220", + "name": "clicker-grumbly-outskirts-greatly", + "resource_type": "network_interface" + } + ], + "vpc": { + "crn": "crn:39", + "href": "href:40", + "id": "id:41", + "name": "test-vpc2", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-25T15:40:40.000Z", + "crn": "crn:346", + "href": "href:347", + "id": "id:348", + "name": "sg31", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "direction": "outbound", + "href": "href:349", + "id": "id:350", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "cidr_block": "0.0.0.0/0" + }, + "protocol": "all" + }, + { + "direction": "inbound", + "href": "href:351", + "id": "id:352", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "cidr_block": "0.0.0.0/0" + }, + "protocol": "all" + } + ], + "targets": [ + { + "href": "href:260", + "id": "id:261", + "name": "snout-given-twiddle-splinter", + "resource_type": "network_interface" + } + ], + "vpc": { + "crn": "crn:52", + "href": "href:53", + "id": "id:54", + "name": "test-vpc3", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-25T15:40:40.000Z", + "crn": "crn:353", + "href": "href:354", + "id": "id:355", + "name": "sg11", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "direction": "outbound", + "href": "href:356", + "id": "id:357", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "cidr_block": "0.0.0.0/0" + }, + "protocol": "all" + }, + { + "direction": "inbound", + "href": "href:358", + "id": "id:359", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "cidr_block": "0.0.0.0/0" + }, + "protocol": "all" + } + ], + "targets": [ + { + "href": "href:191", + "id": "id:192", + "name": "enlace-prominent-overhear-perfume", + "resource_type": "network_interface" + }, + { + "href": "href:153", + "id": "id:154", + "name": "stride-woken-backsight-dynastic", + "resource_type": "network_interface" + } + ], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc1", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-25T15:40:37.000Z", + "crn": "crn:360", + "href": "href:361", + "id": "id:362", + "name": "sg1", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "direction": "inbound", + "href": "href:363", + "id": "id:364", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "cidr_block": "0.0.0.0/0" + }, + "protocol": "all" + }, + { + "direction": "outbound", + "href": "href:365", + "id": "id:366", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "cidr_block": "0.0.0.0/0" + }, + "protocol": "all" + } + ], + "targets": [ + { + "href": "href:105", + "id": "id:106", + "name": "icky-balsamic-outgoing-leached", + "resource_type": "network_interface" + }, + { + "href": "href:236", + "id": "id:237", + "name": "hankie-excitable-outclass-unmanaged", + "resource_type": "network_interface" + }, + { + "href": "href:277", + "id": "id:278", + "name": "bullring-ransack-feint-cheer", + "resource_type": "network_interface" + }, + { + "href": "href:81", + "id": "id:82", + "name": "stooped-camera-excluded-juke", + "resource_type": "network_interface" + }, + { + "href": "href:129", + "id": "id:130", + "name": "writer-crusher-unsuited-cash", + "resource_type": "network_interface" + }, + { + "href": "href:281", + "id": "id:282", + "name": "speak-princess-washcloth-companion", + "resource_type": "network_interface" + }, + { + "href": "href:109", + "id": "id:110", + "name": "squatted-fastball-vacant-knoll", + "resource_type": "network_interface" + }, + { + "href": "href:85", + "id": "id:86", + "name": "scratch-outward-raging-hunchback", + "resource_type": "network_interface" + }, + { + "href": "href:170", + "id": "id:171", + "name": "graveyard-handmade-ransack-acquaint", + "resource_type": "network_interface" + }, + { + "href": "href:174", + "id": "id:175", + "name": "quantum-handbag-dimmed-reassign", + "resource_type": "network_interface" + }, + { + "href": "href:133", + "id": "id:134", + "name": "consonant-imperial-simply-ceramics", + "resource_type": "network_interface" + }, + { + "href": "href:240", + "id": "id:241", + "name": "scale-clambake-endearing-abridged", + "resource_type": "network_interface" + } + ], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-25T15:40:20.000Z", + "crn": "crn:13", + "href": "href:14", + "id": "id:15", + "name": "brute-upon-angles-cubbyhole", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "direction": "outbound", + "href": "href:367", + "id": "id:368", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "cidr_block": "0.0.0.0/0" + }, + "protocol": "all" + }, + { + "direction": "inbound", + "href": "href:369", + "id": "id:370", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "crn": "crn:13", + "href": "href:14", + "id": "id:15", + "name": "brute-upon-angles-cubbyhole" + }, + "protocol": "all" + } + ], + "targets": [], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc1", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-25T15:40:19.000Z", + "crn": "crn:30", + "href": "href:31", + "id": "id:32", + "name": "basically-drank-bulk-jam", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "direction": "outbound", + "href": "href:371", + "id": "id:372", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "cidr_block": "0.0.0.0/0" + }, + "protocol": "all" + }, + { + "direction": "inbound", + "href": "href:373", + "id": "id:374", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "crn": "crn:30", + "href": "href:31", + "id": "id:32", + "name": "basically-drank-bulk-jam" + }, + "protocol": "all" + } + ], + "targets": [], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-25T15:40:19.000Z", + "crn": "crn:47", + "href": "href:48", + "id": "id:49", + "name": "glance-cactus-unease-bankroll", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "direction": "outbound", + "href": "href:375", + "id": "id:376", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "cidr_block": "0.0.0.0/0" + }, + "protocol": "all" + }, + { + "direction": "inbound", + "href": "href:377", + "id": "id:378", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "crn": "crn:47", + "href": "href:48", + "id": "id:49", + "name": "glance-cactus-unease-bankroll" + }, + "protocol": "all" + } + ], + "targets": [], + "vpc": { + "crn": "crn:39", + "href": "href:40", + "id": "id:41", + "name": "test-vpc2", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-25T15:40:19.000Z", + "crn": "crn:60", + "href": "href:61", + "id": "id:62", + "name": "repeater-upcountry-agreeing-acutely", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "direction": "outbound", + "href": "href:379", + "id": "id:380", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "cidr_block": "0.0.0.0/0" + }, + "protocol": "all" + }, + { + "direction": "inbound", + "href": "href:381", + "id": "id:382", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "crn": "crn:60", + "href": "href:61", + "id": "id:62", + "name": "repeater-upcountry-agreeing-acutely" + }, + "protocol": "all" + } + ], + "targets": [], + "vpc": { + "crn": "crn:52", + "href": "href:53", + "id": "id:54", + "name": "test-vpc3", + "resource_type": "vpc" + }, + "tags": [] + } + ], + "endpoint_gateways": [], + "instances": [ + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:388" + }, + "href": "href:386", + "id": "id:387", + "name": "thief-monastery-blinks-verdict", + "volume": { + "crn": "crn:389", + "href": "href:390", + "id": "id:391", + "name": "scrabble-gorged-baton-angled", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:42:40.000Z", + "crn": "crn:383", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:384", + "id": "id:385", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi0-subnet1", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:240", + "id": "id:241", + "name": "scale-clambake-endearing-abridged", + "primary_ip": { + "address": "10.240.1.5", + "href": "href:238", + "id": "id:239", + "name": "affected-johnniecake-monorail-ungraded", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:223", + "href": "href:224", + "id": "id:225", + "name": "subnet1", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:388" + }, + "href": "href:386", + "id": "id:387", + "name": "thief-monastery-blinks-verdict", + "volume": { + "crn": "crn:389", + "href": "href:390", + "id": "id:391", + "name": "scrabble-gorged-baton-angled", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:42:40.000Z", + "floating_ips": [], + "href": "href:240", + "id": "id:241", + "name": "scale-clambake-endearing-abridged", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.1.5", + "href": "href:238", + "id": "id:239", + "name": "affected-johnniecake-monorail-ungraded", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:360", + "href": "href:361", + "id": "id:362", + "name": "sg1" + } + ], + "status": "available", + "subnet": { + "crn": "crn:223", + "href": "href:224", + "id": "id:225", + "name": "subnet1", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:401" + }, + "href": "href:399", + "id": "id:400", + "name": "hunchback-enginous-dividend-atrium", + "volume": { + "crn": "crn:402", + "href": "href:403", + "id": "id:404", + "name": "subsoil-bobble-bovine-unmoving", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:42:39.000Z", + "crn": "crn:396", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:397", + "id": "id:398", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi1-subnet0", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:133", + "id": "id:134", + "name": "consonant-imperial-simply-ceramics", + "primary_ip": { + "address": "10.240.0.5", + "href": "href:131", + "id": "id:132", + "name": "relatable-antiques-maturing-brulee", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:113", + "href": "href:114", + "id": "id:115", + "name": "subnet0", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:401" + }, + "href": "href:399", + "id": "id:400", + "name": "hunchback-enginous-dividend-atrium", + "volume": { + "crn": "crn:402", + "href": "href:403", + "id": "id:404", + "name": "subsoil-bobble-bovine-unmoving", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:42:39.000Z", + "floating_ips": [], + "href": "href:133", + "id": "id:134", + "name": "consonant-imperial-simply-ceramics", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.0.5", + "href": "href:131", + "id": "id:132", + "name": "relatable-antiques-maturing-brulee", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:360", + "href": "href:361", + "id": "id:362", + "name": "sg1" + } + ], + "status": "available", + "subnet": { + "crn": "crn:113", + "href": "href:114", + "id": "id:115", + "name": "subnet0", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:410" + }, + "href": "href:408", + "id": "id:409", + "name": "laboring-overbuilt-growl-headland", + "volume": { + "crn": "crn:411", + "href": "href:412", + "id": "id:413", + "name": "tamper-salvaging-stick-giddily", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:42:22.000Z", + "crn": "crn:405", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:406", + "id": "id:407", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi1-subnet2", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:174", + "id": "id:175", + "name": "quantum-handbag-dimmed-reassign", + "primary_ip": { + "address": "10.240.4.5", + "href": "href:172", + "id": "id:173", + "name": "bark-gatherer-rope-unrivaled", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:157", + "href": "href:158", + "id": "id:159", + "name": "subnet2", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:410" + }, + "href": "href:408", + "id": "id:409", + "name": "laboring-overbuilt-growl-headland", + "volume": { + "crn": "crn:411", + "href": "href:412", + "id": "id:413", + "name": "tamper-salvaging-stick-giddily", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:42:22.000Z", + "floating_ips": [], + "href": "href:174", + "id": "id:175", + "name": "quantum-handbag-dimmed-reassign", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.4.5", + "href": "href:172", + "id": "id:173", + "name": "bark-gatherer-rope-unrivaled", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:360", + "href": "href:361", + "id": "id:362", + "name": "sg1" + } + ], + "status": "available", + "subnet": { + "crn": "crn:157", + "href": "href:158", + "id": "id:159", + "name": "subnet2", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:419" + }, + "href": "href:417", + "id": "id:418", + "name": "dollop-partition-helping-palmtree", + "volume": { + "crn": "crn:420", + "href": "href:421", + "id": "id:422", + "name": "ravage-deny-amusable-settling", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:42:20.000Z", + "crn": "crn:414", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:415", + "id": "id:416", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi1-subnet5", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:85", + "id": "id:86", + "name": "scratch-outward-raging-hunchback", + "primary_ip": { + "address": "10.240.9.5", + "href": "href:83", + "id": "id:84", + "name": "outskirts-unaligned-passivism-parchment", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:65", + "href": "href:66", + "id": "id:67", + "name": "subnet5", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:419" + }, + "href": "href:417", + "id": "id:418", + "name": "dollop-partition-helping-palmtree", + "volume": { + "crn": "crn:420", + "href": "href:421", + "id": "id:422", + "name": "ravage-deny-amusable-settling", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:42:20.000Z", + "floating_ips": [], + "href": "href:85", + "id": "id:86", + "name": "scratch-outward-raging-hunchback", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.9.5", + "href": "href:83", + "id": "id:84", + "name": "outskirts-unaligned-passivism-parchment", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:360", + "href": "href:361", + "id": "id:362", + "name": "sg1" + } + ], + "status": "available", + "subnet": { + "crn": "crn:65", + "href": "href:66", + "id": "id:67", + "name": "subnet5", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:428" + }, + "href": "href:426", + "id": "id:427", + "name": "petted-ethanol-voicing-rocklike", + "volume": { + "crn": "crn:429", + "href": "href:430", + "id": "id:431", + "name": "uptown-striving-unrevised-earthlike", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:42:20.000Z", + "crn": "crn:423", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:424", + "id": "id:425", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi0-subnet2", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:170", + "id": "id:171", + "name": "graveyard-handmade-ransack-acquaint", + "primary_ip": { + "address": "10.240.4.4", + "href": "href:168", + "id": "id:169", + "name": "stood-sitcom-whoops-hurled", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:157", + "href": "href:158", + "id": "id:159", + "name": "subnet2", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:428" + }, + "href": "href:426", + "id": "id:427", + "name": "petted-ethanol-voicing-rocklike", + "volume": { + "crn": "crn:429", + "href": "href:430", + "id": "id:431", + "name": "uptown-striving-unrevised-earthlike", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:42:20.000Z", + "floating_ips": [], + "href": "href:170", + "id": "id:171", + "name": "graveyard-handmade-ransack-acquaint", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.4.4", + "href": "href:168", + "id": "id:169", + "name": "stood-sitcom-whoops-hurled", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:360", + "href": "href:361", + "id": "id:362", + "name": "sg1" + } + ], + "status": "available", + "subnet": { + "crn": "crn:157", + "href": "href:158", + "id": "id:159", + "name": "subnet2", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:437" + }, + "href": "href:435", + "id": "id:436", + "name": "promenade-spyglass-flattop-pushpin", + "volume": { + "crn": "crn:438", + "href": "href:439", + "id": "id:440", + "name": "relax-shaded-prism-jaunt", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:42:16.000Z", + "crn": "crn:432", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:433", + "id": "id:434", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi1-subnet3", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:109", + "id": "id:110", + "name": "squatted-fastball-vacant-knoll", + "primary_ip": { + "address": "10.240.5.5", + "href": "href:107", + "id": "id:108", + "name": "recognize-citable-exerciser-unsecured", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:89", + "href": "href:90", + "id": "id:91", + "name": "subnet3", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:437" + }, + "href": "href:435", + "id": "id:436", + "name": "promenade-spyglass-flattop-pushpin", + "volume": { + "crn": "crn:438", + "href": "href:439", + "id": "id:440", + "name": "relax-shaded-prism-jaunt", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:42:16.000Z", + "floating_ips": [], + "href": "href:109", + "id": "id:110", + "name": "squatted-fastball-vacant-knoll", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.5.5", + "href": "href:107", + "id": "id:108", + "name": "recognize-citable-exerciser-unsecured", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:360", + "href": "href:361", + "id": "id:362", + "name": "sg1" + } + ], + "status": "available", + "subnet": { + "crn": "crn:89", + "href": "href:90", + "id": "id:91", + "name": "subnet3", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:446" + }, + "href": "href:444", + "id": "id:445", + "name": "sandbox-federal-sculptor-jugum", + "volume": { + "crn": "crn:447", + "href": "href:448", + "id": "id:449", + "name": "convent-ramrod-cloning-afterward", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:42:15.000Z", + "crn": "crn:441", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:442", + "id": "id:443", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi1-subnet4", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:281", + "id": "id:282", + "name": "speak-princess-washcloth-companion", + "primary_ip": { + "address": "10.240.8.5", + "href": "href:279", + "id": "id:280", + "name": "frighten-mystified-freeway-hurtling", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:264", + "href": "href:265", + "id": "id:266", + "name": "subnet4", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:446" + }, + "href": "href:444", + "id": "id:445", + "name": "sandbox-federal-sculptor-jugum", + "volume": { + "crn": "crn:447", + "href": "href:448", + "id": "id:449", + "name": "convent-ramrod-cloning-afterward", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:42:15.000Z", + "floating_ips": [], + "href": "href:281", + "id": "id:282", + "name": "speak-princess-washcloth-companion", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.8.5", + "href": "href:279", + "id": "id:280", + "name": "frighten-mystified-freeway-hurtling", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:360", + "href": "href:361", + "id": "id:362", + "name": "sg1" + } + ], + "status": "available", + "subnet": { + "crn": "crn:264", + "href": "href:265", + "id": "id:266", + "name": "subnet4", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:455" + }, + "href": "href:453", + "id": "id:454", + "name": "affidavit-chastise-elsewhere-viewer", + "volume": { + "crn": "crn:456", + "href": "href:457", + "id": "id:458", + "name": "fancy-destiny-shuffling-sandbank", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:42:07.000Z", + "crn": "crn:450", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:451", + "id": "id:452", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi0-subnet0", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:129", + "id": "id:130", + "name": "writer-crusher-unsuited-cash", + "primary_ip": { + "address": "10.240.0.4", + "href": "href:127", + "id": "id:128", + "name": "pundit-tight-arbitrate-grace", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:113", + "href": "href:114", + "id": "id:115", + "name": "subnet0", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:455" + }, + "href": "href:453", + "id": "id:454", + "name": "affidavit-chastise-elsewhere-viewer", + "volume": { + "crn": "crn:456", + "href": "href:457", + "id": "id:458", + "name": "fancy-destiny-shuffling-sandbank", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:42:07.000Z", + "floating_ips": [ + { + "address": "52.118.151.238", + "crn": "crn:285", + "href": "href:286", + "id": "id:287", + "name": "fip-0-subnet0" + } + ], + "href": "href:129", + "id": "id:130", + "name": "writer-crusher-unsuited-cash", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.0.4", + "href": "href:127", + "id": "id:128", + "name": "pundit-tight-arbitrate-grace", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:360", + "href": "href:361", + "id": "id:362", + "name": "sg1" + } + ], + "status": "available", + "subnet": { + "crn": "crn:113", + "href": "href:114", + "id": "id:115", + "name": "subnet0", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:464" + }, + "href": "href:462", + "id": "id:463", + "name": "uneven-armoire-scabiosa-letter", + "volume": { + "crn": "crn:465", + "href": "href:466", + "id": "id:467", + "name": "cognition-blinks-humid-oxidant", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:42:00.000Z", + "crn": "crn:459", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:460", + "id": "id:461", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi0-subnet3", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:105", + "id": "id:106", + "name": "icky-balsamic-outgoing-leached", + "primary_ip": { + "address": "10.240.5.4", + "href": "href:103", + "id": "id:104", + "name": "rising-gopher-reentry-graveness", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:89", + "href": "href:90", + "id": "id:91", + "name": "subnet3", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:464" + }, + "href": "href:462", + "id": "id:463", + "name": "uneven-armoire-scabiosa-letter", + "volume": { + "crn": "crn:465", + "href": "href:466", + "id": "id:467", + "name": "cognition-blinks-humid-oxidant", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:42:00.000Z", + "floating_ips": [], + "href": "href:105", + "id": "id:106", + "name": "icky-balsamic-outgoing-leached", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.5.4", + "href": "href:103", + "id": "id:104", + "name": "rising-gopher-reentry-graveness", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:360", + "href": "href:361", + "id": "id:362", + "name": "sg1" + } + ], + "status": "available", + "subnet": { + "crn": "crn:89", + "href": "href:90", + "id": "id:91", + "name": "subnet3", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:473" + }, + "href": "href:471", + "id": "id:472", + "name": "perplexed-impulsivity-august-jaws", + "volume": { + "crn": "crn:474", + "href": "href:475", + "id": "id:476", + "name": "tartar-sixties-fructose-parmesan", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:42:00.000Z", + "crn": "crn:468", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:469", + "id": "id:470", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi1-subnet1", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:236", + "id": "id:237", + "name": "hankie-excitable-outclass-unmanaged", + "primary_ip": { + "address": "10.240.1.4", + "href": "href:234", + "id": "id:235", + "name": "excluded-unfair-jailbird-foil", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:223", + "href": "href:224", + "id": "id:225", + "name": "subnet1", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:473" + }, + "href": "href:471", + "id": "id:472", + "name": "perplexed-impulsivity-august-jaws", + "volume": { + "crn": "crn:474", + "href": "href:475", + "id": "id:476", + "name": "tartar-sixties-fructose-parmesan", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:42:00.000Z", + "floating_ips": [], + "href": "href:236", + "id": "id:237", + "name": "hankie-excitable-outclass-unmanaged", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.1.4", + "href": "href:234", + "id": "id:235", + "name": "excluded-unfair-jailbird-foil", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:360", + "href": "href:361", + "id": "id:362", + "name": "sg1" + } + ], + "status": "available", + "subnet": { + "crn": "crn:223", + "href": "href:224", + "id": "id:225", + "name": "subnet1", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:482" + }, + "href": "href:480", + "id": "id:481", + "name": "litter-snipping-unclasp-dust", + "volume": { + "crn": "crn:483", + "href": "href:484", + "id": "id:485", + "name": "untried-sulphate-hypnosis-subsidize", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:42:00.000Z", + "crn": "crn:477", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:478", + "id": "id:479", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi0-subnet4", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:277", + "id": "id:278", + "name": "bullring-ransack-feint-cheer", + "primary_ip": { + "address": "10.240.8.4", + "href": "href:275", + "id": "id:276", + "name": "bagged-posture-glaring-cojoined", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:264", + "href": "href:265", + "id": "id:266", + "name": "subnet4", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:482" + }, + "href": "href:480", + "id": "id:481", + "name": "litter-snipping-unclasp-dust", + "volume": { + "crn": "crn:483", + "href": "href:484", + "id": "id:485", + "name": "untried-sulphate-hypnosis-subsidize", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:42:00.000Z", + "floating_ips": [], + "href": "href:277", + "id": "id:278", + "name": "bullring-ransack-feint-cheer", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.8.4", + "href": "href:275", + "id": "id:276", + "name": "bagged-posture-glaring-cojoined", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:360", + "href": "href:361", + "id": "id:362", + "name": "sg1" + } + ], + "status": "available", + "subnet": { + "crn": "crn:264", + "href": "href:265", + "id": "id:266", + "name": "subnet4", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:491" + }, + "href": "href:489", + "id": "id:490", + "name": "unlawful-overreach-yarn-rippling", + "volume": { + "crn": "crn:492", + "href": "href:493", + "id": "id:494", + "name": "finer-voter-roving-jailer", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:42:00.000Z", + "crn": "crn:486", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:487", + "id": "id:488", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi0-subnet5", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:81", + "id": "id:82", + "name": "stooped-camera-excluded-juke", + "primary_ip": { + "address": "10.240.9.4", + "href": "href:79", + "id": "id:80", + "name": "ideally-grain-bagpipe-luxuriant", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:65", + "href": "href:66", + "id": "id:67", + "name": "subnet5", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:491" + }, + "href": "href:489", + "id": "id:490", + "name": "unlawful-overreach-yarn-rippling", + "volume": { + "crn": "crn:492", + "href": "href:493", + "id": "id:494", + "name": "finer-voter-roving-jailer", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:42:00.000Z", + "floating_ips": [], + "href": "href:81", + "id": "id:82", + "name": "stooped-camera-excluded-juke", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.9.4", + "href": "href:79", + "id": "id:80", + "name": "ideally-grain-bagpipe-luxuriant", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:360", + "href": "href:361", + "id": "id:362", + "name": "sg1" + } + ], + "status": "available", + "subnet": { + "crn": "crn:65", + "href": "href:66", + "id": "id:67", + "name": "subnet5", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:500" + }, + "href": "href:498", + "id": "id:499", + "name": "mashed-thing-headache-estate", + "volume": { + "crn": "crn:501", + "href": "href:502", + "id": "id:503", + "name": "mountain-harpist-libraries-dreaming", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:41:39.000Z", + "crn": "crn:495", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:496", + "id": "id:497", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi0-subnet11", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:153", + "id": "id:154", + "name": "stride-woken-backsight-dynastic", + "primary_ip": { + "address": "10.240.80.4", + "href": "href:151", + "id": "id:152", + "name": "childlike-publish-retainer-movie", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:137", + "href": "href:138", + "id": "id:139", + "name": "subnet11", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:500" + }, + "href": "href:498", + "id": "id:499", + "name": "mashed-thing-headache-estate", + "volume": { + "crn": "crn:501", + "href": "href:502", + "id": "id:503", + "name": "mountain-harpist-libraries-dreaming", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc1", + "resource_type": "vpc" + }, + "zone": { + "href": "href:6", + "name": "us-south-2" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:41:39.000Z", + "floating_ips": [], + "href": "href:153", + "id": "id:154", + "name": "stride-woken-backsight-dynastic", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.80.4", + "href": "href:151", + "id": "id:152", + "name": "childlike-publish-retainer-movie", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:353", + "href": "href:354", + "id": "id:355", + "name": "sg11" + } + ], + "status": "available", + "subnet": { + "crn": "crn:137", + "href": "href:138", + "id": "id:139", + "name": "subnet11", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:509" + }, + "href": "href:507", + "id": "id:508", + "name": "calzone-cacti-moonlight-subarctic", + "volume": { + "crn": "crn:510", + "href": "href:511", + "id": "id:512", + "name": "blurred-dream-pectin-tapping", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:41:36.000Z", + "crn": "crn:504", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:505", + "id": "id:506", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi0-subnet10", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:191", + "id": "id:192", + "name": "enlace-prominent-overhear-perfume", + "primary_ip": { + "address": "10.240.64.4", + "href": "href:189", + "id": "id:190", + "name": "starry-smasher-ladle-dioxide", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:178", + "href": "href:179", + "id": "id:180", + "name": "subnet10", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:509" + }, + "href": "href:507", + "id": "id:508", + "name": "calzone-cacti-moonlight-subarctic", + "volume": { + "crn": "crn:510", + "href": "href:511", + "id": "id:512", + "name": "blurred-dream-pectin-tapping", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc1", + "resource_type": "vpc" + }, + "zone": { + "href": "href:6", + "name": "us-south-2" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:41:36.000Z", + "floating_ips": [ + { + "address": "150.239.167.146", + "crn": "crn:288", + "href": "href:289", + "id": "id:290", + "name": "fip-0-subnet10" + } + ], + "href": "href:191", + "id": "id:192", + "name": "enlace-prominent-overhear-perfume", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.64.4", + "href": "href:189", + "id": "id:190", + "name": "starry-smasher-ladle-dioxide", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:353", + "href": "href:354", + "id": "id:355", + "name": "sg11" + } + ], + "status": "available", + "subnet": { + "crn": "crn:178", + "href": "href:179", + "id": "id:180", + "name": "subnet10", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:518" + }, + "href": "href:516", + "id": "id:517", + "name": "recoup-blinks-ebullient-renewed", + "volume": { + "crn": "crn:519", + "href": "href:520", + "id": "id:521", + "name": "manmade-unequal-disinfect-cone", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:41:24.000Z", + "crn": "crn:513", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:514", + "id": "id:515", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi1-subnet20", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:219", + "id": "id:220", + "name": "clicker-grumbly-outskirts-greatly", + "primary_ip": { + "address": "10.240.128.6", + "href": "href:217", + "id": "id:218", + "name": "uniquely-shelter-gracious-sudden", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:195", + "href": "href:196", + "id": "id:197", + "name": "subnet20", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:518" + }, + "href": "href:516", + "id": "id:517", + "name": "recoup-blinks-ebullient-renewed", + "volume": { + "crn": "crn:519", + "href": "href:520", + "id": "id:521", + "name": "manmade-unequal-disinfect-cone", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:39", + "href": "href:40", + "id": "id:41", + "name": "test-vpc2", + "resource_type": "vpc" + }, + "zone": { + "href": "href:7", + "name": "us-south-3" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:41:24.000Z", + "floating_ips": [ + { + "address": "169.48.95.165", + "crn": "crn:291", + "href": "href:292", + "id": "id:293", + "name": "fip-0-subnet20" + } + ], + "href": "href:219", + "id": "id:220", + "name": "clicker-grumbly-outskirts-greatly", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.128.6", + "href": "href:217", + "id": "id:218", + "name": "uniquely-shelter-gracious-sudden", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:339", + "href": "href:340", + "id": "id:341", + "name": "sg21" + } + ], + "status": "available", + "subnet": { + "crn": "crn:195", + "href": "href:196", + "id": "id:197", + "name": "subnet20", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:527" + }, + "href": "href:525", + "id": "id:526", + "name": "radio-tightrope-outtakes-moonshine", + "volume": { + "crn": "crn:528", + "href": "href:529", + "id": "id:530", + "name": "tattoo-crescent-unwary-hayride", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:41:21.000Z", + "crn": "crn:522", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:523", + "id": "id:524", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi0-subnet20", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:215", + "id": "id:216", + "name": "ought-football-shorter-aviator", + "primary_ip": { + "address": "10.240.128.5", + "href": "href:213", + "id": "id:214", + "name": "customs-recollect-drippy-primate", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:195", + "href": "href:196", + "id": "id:197", + "name": "subnet20", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:527" + }, + "href": "href:525", + "id": "id:526", + "name": "radio-tightrope-outtakes-moonshine", + "volume": { + "crn": "crn:528", + "href": "href:529", + "id": "id:530", + "name": "tattoo-crescent-unwary-hayride", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:39", + "href": "href:40", + "id": "id:41", + "name": "test-vpc2", + "resource_type": "vpc" + }, + "zone": { + "href": "href:7", + "name": "us-south-3" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:41:21.000Z", + "floating_ips": [], + "href": "href:215", + "id": "id:216", + "name": "ought-football-shorter-aviator", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.128.5", + "href": "href:213", + "id": "id:214", + "name": "customs-recollect-drippy-primate", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:339", + "href": "href:340", + "id": "id:341", + "name": "sg21" + } + ], + "status": "available", + "subnet": { + "crn": "crn:195", + "href": "href:196", + "id": "id:197", + "name": "subnet20", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:536" + }, + "href": "href:534", + "id": "id:535", + "name": "crumpet-ride-tastiness-phoney", + "volume": { + "crn": "crn:537", + "href": "href:538", + "id": "id:539", + "name": "doorframe-marvelous-refusing-citable", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:41:21.000Z", + "crn": "crn:531", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:532", + "id": "id:533", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi2-subnet20", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:211", + "id": "id:212", + "name": "tavern-far-imprudent-labored", + "primary_ip": { + "address": "10.240.128.4", + "href": "href:209", + "id": "id:210", + "name": "unmixed-qualify-prescribe-railcar", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:195", + "href": "href:196", + "id": "id:197", + "name": "subnet20", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:536" + }, + "href": "href:534", + "id": "id:535", + "name": "crumpet-ride-tastiness-phoney", + "volume": { + "crn": "crn:537", + "href": "href:538", + "id": "id:539", + "name": "doorframe-marvelous-refusing-citable", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:39", + "href": "href:40", + "id": "id:41", + "name": "test-vpc2", + "resource_type": "vpc" + }, + "zone": { + "href": "href:7", + "name": "us-south-3" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:41:21.000Z", + "floating_ips": [], + "href": "href:211", + "id": "id:212", + "name": "tavern-far-imprudent-labored", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.128.4", + "href": "href:209", + "id": "id:210", + "name": "unmixed-qualify-prescribe-railcar", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:339", + "href": "href:340", + "id": "id:341", + "name": "sg21" + } + ], + "status": "available", + "subnet": { + "crn": "crn:195", + "href": "href:196", + "id": "id:197", + "name": "subnet20", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:545" + }, + "href": "href:543", + "id": "id:544", + "name": "bronzing-vendor-plod-pretzel", + "volume": { + "crn": "crn:546", + "href": "href:547", + "id": "id:548", + "name": "squelch-plop-headlamp-ideologue", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-25T15:41:00.000Z", + "crn": "crn:540", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:541", + "id": "id:542", + "image": { + "crn": "crn:392", + "href": "href:393", + "id": "id:394", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "vsi0-subnet30", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:260", + "id": "id:261", + "name": "snout-given-twiddle-splinter", + "primary_ip": { + "address": "10.240.192.4", + "href": "href:258", + "id": "id:259", + "name": "legacy-shore-molecule-barometer", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:244", + "href": "href:245", + "id": "id:246", + "name": "subnet30", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:395", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:545" + }, + "href": "href:543", + "id": "id:544", + "name": "bronzing-vendor-plod-pretzel", + "volume": { + "crn": "crn:546", + "href": "href:547", + "id": "id:548", + "name": "squelch-plop-headlamp-ideologue", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:52", + "href": "href:53", + "id": "id:54", + "name": "test-vpc3", + "resource_type": "vpc" + }, + "zone": { + "href": "href:7", + "name": "us-south-3" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-25T15:41:00.000Z", + "floating_ips": [ + { + "address": "52.118.100.239", + "crn": "crn:294", + "href": "href:295", + "id": "id:296", + "name": "fip-0-subnet30" + } + ], + "href": "href:260", + "id": "id:261", + "name": "snout-given-twiddle-splinter", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.192.4", + "href": "href:258", + "id": "id:259", + "name": "legacy-shore-molecule-barometer", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:346", + "href": "href:347", + "id": "id:348", + "name": "sg31" + } + ], + "status": "available", + "subnet": { + "crn": "crn:244", + "href": "href:245", + "id": "id:246", + "name": "subnet30", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + } + ], + "routing_tables": [ + { + "accept_routes_from": [ + { + "resource_type": "vpn_gateway" + }, + { + "resource_type": "vpn_server" + } + ], + "advertise_routes_to": [], + "created_at": "2024-06-25T15:40:20.000Z", + "href": "href:11", + "id": "id:12", + "is_default": true, + "lifecycle_state": "stable", + "name": "overtone-sputter-overspend-gorge", + "resource_type": "routing_table", + "route_direct_link_ingress": false, + "route_internet_ingress": false, + "route_transit_gateway_ingress": false, + "route_vpc_zone_ingress": false, + "subnets": [ + { + "crn": "crn:137", + "href": "href:138", + "id": "id:139", + "name": "subnet11", + "resource_type": "subnet" + }, + { + "crn": "crn:178", + "href": "href:179", + "id": "id:180", + "name": "subnet10", + "resource_type": "subnet" + } + ], + "routes": [], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc1", + "resource_type": "vpc" + } + }, + { + "accept_routes_from": [ + { + "resource_type": "vpn_gateway" + }, + { + "resource_type": "vpn_server" + } + ], + "advertise_routes_to": [], + "created_at": "2024-06-25T15:40:19.000Z", + "href": "href:28", + "id": "id:29", + "is_default": true, + "lifecycle_state": "stable", + "name": "escapade-dynamite-upstage-context", + "resource_type": "routing_table", + "route_direct_link_ingress": false, + "route_internet_ingress": false, + "route_transit_gateway_ingress": false, + "route_vpc_zone_ingress": false, + "subnets": [ + { + "crn": "crn:65", + "href": "href:66", + "id": "id:67", + "name": "subnet5", + "resource_type": "subnet" + }, + { + "crn": "crn:89", + "href": "href:90", + "id": "id:91", + "name": "subnet3", + "resource_type": "subnet" + }, + { + "crn": "crn:113", + "href": "href:114", + "id": "id:115", + "name": "subnet0", + "resource_type": "subnet" + }, + { + "crn": "crn:157", + "href": "href:158", + "id": "id:159", + "name": "subnet2", + "resource_type": "subnet" + }, + { + "crn": "crn:223", + "href": "href:224", + "id": "id:225", + "name": "subnet1", + "resource_type": "subnet" + }, + { + "crn": "crn:264", + "href": "href:265", + "id": "id:266", + "name": "subnet4", + "resource_type": "subnet" + } + ], + "routes": [], + "vpc": { + "crn": "crn:22", + "href": "href:23", + "id": "id:24", + "name": "test-vpc0", + "resource_type": "vpc" + } + }, + { + "accept_routes_from": [ + { + "resource_type": "vpn_gateway" + }, + { + "resource_type": "vpn_server" + } + ], + "advertise_routes_to": [], + "created_at": "2024-06-25T15:40:19.000Z", + "href": "href:45", + "id": "id:46", + "is_default": true, + "lifecycle_state": "stable", + "name": "quintuple-severity-caddie-manuals", + "resource_type": "routing_table", + "route_direct_link_ingress": false, + "route_internet_ingress": false, + "route_transit_gateway_ingress": false, + "route_vpc_zone_ingress": false, + "subnets": [ + { + "crn": "crn:195", + "href": "href:196", + "id": "id:197", + "name": "subnet20", + "resource_type": "subnet" + } + ], + "routes": [], + "vpc": { + "crn": "crn:39", + "href": "href:40", + "id": "id:41", + "name": "test-vpc2", + "resource_type": "vpc" + } + }, + { + "accept_routes_from": [ + { + "resource_type": "vpn_gateway" + }, + { + "resource_type": "vpn_server" + } + ], + "advertise_routes_to": [], + "created_at": "2024-06-25T15:40:19.000Z", + "href": "href:58", + "id": "id:59", + "is_default": true, + "lifecycle_state": "stable", + "name": "probational-herring-undone-daintily", + "resource_type": "routing_table", + "route_direct_link_ingress": false, + "route_internet_ingress": false, + "route_transit_gateway_ingress": false, + "route_vpc_zone_ingress": false, + "subnets": [ + { + "crn": "crn:244", + "href": "href:245", + "id": "id:246", + "name": "subnet30", + "resource_type": "subnet" + } + ], + "routes": [], + "vpc": { + "crn": "crn:52", + "href": "href:53", + "id": "id:54", + "name": "test-vpc3", + "resource_type": "vpc" + } + } + ], + "load_balancers": [], + "transit_connections": [ + { + "created_at": "2024-06-25T15:41:44.212Z", + "id": "id:549", + "name": "tg3_connection3", + "network_id": "crn:52", + "network_type": "vpc", + "prefix_filters_default": "permit", + "status": "attached", + "transit_gateway": { + "crn": "crn:550", + "id": "id:551", + "name": "local-tg3" + }, + "updated_at": "2024-06-25T15:45:14.206Z" + }, + { + "created_at": "2024-06-25T15:41:54.416Z", + "id": "id:552", + "name": "tg3_connection0", + "network_id": "crn:22", + "network_type": "vpc", + "prefix_filters_default": "permit", + "status": "attached", + "transit_gateway": { + "crn": "crn:550", + "id": "id:551", + "name": "local-tg3" + }, + "updated_at": "2024-06-25T15:45:53.979Z" + }, + { + "created_at": "2024-06-25T15:42:54.772Z", + "id": "id:553", + "name": "tg2_connection3", + "network_id": "crn:52", + "network_type": "vpc", + "prefix_filters_default": "permit", + "status": "attached", + "transit_gateway": { + "crn": "crn:554", + "id": "id:555", + "name": "local-tg2" + }, + "updated_at": "2024-06-25T15:49:08.822Z" + }, + { + "created_at": "2024-06-25T15:43:11.555Z", + "id": "id:556", + "name": "tg2_connection0", + "network_id": "crn:22", + "network_type": "vpc", + "prefix_filters": [ + { + "action": "deny", + "created_at": "2024-06-25T15:46:46.641Z", + "id": "id:557", + "le": 32, + "prefix": "10.240.0.0/22", + "updated_at": "2024-06-25T15:46:46.641Z" + } + ], + "prefix_filters_default": "permit", + "status": "attached", + "transit_gateway": { + "crn": "crn:554", + "id": "id:555", + "name": "local-tg2" + }, + "updated_at": "2024-06-25T15:49:59.395Z" + }, + { + "created_at": "2024-06-25T15:43:12.159Z", + "id": "id:558", + "name": "tg_connection0", + "network_id": "crn:22", + "network_type": "vpc", + "prefix_filters": [ + { + "action": "deny", + "before": "298db67f-2e68-4548-93b9-949f8356d4a0", + "created_at": "2024-06-25T15:45:14.711Z", + "id": "id:559", + "prefix": "10.240.4.0/22", + "updated_at": "2024-06-25T15:45:14.711Z" + }, + { + "action": "deny", + "created_at": "2024-06-25T15:45:25.435Z", + "id": "id:560", + "prefix": "10.240.8.0/22", + "updated_at": "2024-06-25T15:45:25.435Z" + } + ], + "prefix_filters_default": "permit", + "status": "attached", + "transit_gateway": { + "crn": "crn:561", + "id": "id:562", + "name": "local-tg1" + }, + "updated_at": "2024-06-25T15:49:53.837Z" + }, + { + "created_at": "2024-06-25T15:43:41.079Z", + "id": "id:563", + "name": "tg2_connection2", + "network_id": "crn:39", + "network_type": "vpc", + "prefix_filters_default": "permit", + "status": "attached", + "transit_gateway": { + "crn": "crn:554", + "id": "id:555", + "name": "local-tg2" + }, + "updated_at": "2024-06-25T15:49:43.192Z" + }, + { + "created_at": "2024-06-25T15:43:42.335Z", + "id": "id:564", + "name": "tg1_connection1", + "network_id": "crn:1", + "network_type": "vpc", + "prefix_filters_default": "permit", + "status": "attached", + "transit_gateway": { + "crn": "crn:561", + "id": "id:562", + "name": "local-tg1" + }, + "updated_at": "2024-06-25T15:48:45.229Z" + }, + { + "created_at": "2024-06-25T15:44:08.995Z", + "id": "id:565", + "name": "tg1_connection2", + "network_id": "crn:39", + "network_type": "vpc", + "prefix_filters_default": "permit", + "status": "attached", + "transit_gateway": { + "crn": "crn:561", + "id": "id:562", + "name": "local-tg1" + }, + "updated_at": "2024-06-25T15:49:11.976Z" + } + ], + "transit_gateways": [ + { + "id": "id:551", + "crn": "crn:550", + "name": "local-tg3", + "location": "us-south", + "created_at": "2024-06-25T15:40:21.390Z", + "global": false, + "resource_group": { + "id": "id:17", + "href": "href:566" + }, + "status": "available", + "updated_at": "2024-06-25T15:42:12.752Z" + }, + { + "id": "id:555", + "crn": "crn:554", + "name": "local-tg2", + "location": "us-south", + "created_at": "2024-06-25T15:40:25.895Z", + "global": false, + "resource_group": { + "id": "id:17", + "href": "href:566" + }, + "status": "available", + "updated_at": "2024-06-25T15:43:58.196Z" + }, + { + "id": "id:562", + "crn": "crn:561", + "name": "local-tg1", + "location": "us-south", + "created_at": "2024-06-25T15:40:26.455Z", + "global": false, + "resource_group": { + "id": "id:17", + "href": "href:566" + }, + "status": "available", + "updated_at": "2024-06-25T15:43:15.331Z" + } + ], + "iks_clusters": [] +} diff --git a/test/data/acl_nif_instance_segments/conn_spec.json b/test/data/acl_nif_instance_segments/conn_spec.json new file mode 100644 index 00000000..362acd27 --- /dev/null +++ b/test/data/acl_nif_instance_segments/conn_spec.json @@ -0,0 +1,57 @@ +{ + "segments": { + "instanceSegment": { + "type": "instance", + "items": [ + "vsi0-subnet0", + "vsi1-subnet2" + ] + }, + "nifSegment": { + "type": "nif", + "items": [ + "squatted-fastball-vacant-knoll", + "snout-given-twiddle-splinter" + ] + } + }, + "required-connections": [ + { + "src": { + "name": "instanceSegment", + "type": "segment" + }, + "dst": { + "name": "instanceSegment", + "type": "segment" + }, + "allowed-protocols": [ + { + "protocol": "UDP", + "min_destination_port": 53, + "max_destination_port": 54 + } + ] + }, + { + "src": { + "name": "nifSegment", + "type": "segment" + }, + "dst": { + "name": "nifSegment", + "type": "segment" + } + }, + { + "src": { + "name": "instanceSegment", + "type": "segment" + }, + "dst": { + "name": "nifSegment", + "type": "segment" + } + } + ] +} \ No newline at end of file diff --git a/test/expected/acl_nif_instance_segments_tf/nacl_expected.tf b/test/expected/acl_nif_instance_segments_tf/nacl_expected.tf new file mode 100644 index 00000000..11f661e8 --- /dev/null +++ b/test/expected/acl_nif_instance_segments_tf/nacl_expected.tf @@ -0,0 +1,373 @@ +# test-vpc0/subnet0 [10.240.0.0/24] +resource "ibm_is_network_acl" "acl-test-vpc0--subnet0" { + name = "acl-test-vpc0--subnet0" + resource_group = local.acl_synth_resource_group_id + vpc = local.acl_synth_test-vpc0_id + # Internal. required-connections[0]: (segment instanceSegment)->(segment instanceSegment); allowed-protocols[0] + rules { + name = "rule0" + action = "allow" + direction = "outbound" + source = "10.240.0.0/24" + destination = "10.240.4.0/24" + udp { + port_min = 53 + port_max = 54 + } + } + # Internal. required-connections[0]: (segment instanceSegment)->(segment instanceSegment); allowed-protocols[0] + rules { + name = "rule1" + action = "allow" + direction = "inbound" + source = "10.240.4.0/24" + destination = "10.240.0.0/24" + udp { + port_min = 53 + port_max = 54 + } + } + # Internal. required-connections[2]: (segment instanceSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule2" + action = "allow" + direction = "outbound" + source = "10.240.0.0/24" + destination = "10.240.5.0/24" + } + # Internal. response to required-connections[2]: (segment instanceSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule3" + action = "allow" + direction = "inbound" + source = "10.240.5.0/24" + destination = "10.240.0.0/24" + } + # Internal. required-connections[2]: (segment instanceSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule4" + action = "allow" + direction = "outbound" + source = "10.240.0.0/24" + destination = "10.240.192.0/24" + } + # Internal. response to required-connections[2]: (segment instanceSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule5" + action = "allow" + direction = "inbound" + source = "10.240.192.0/24" + destination = "10.240.0.0/24" + } +} + +# test-vpc0/subnet1 [10.240.1.0/24] +resource "ibm_is_network_acl" "acl-test-vpc0--subnet1" { + name = "acl-test-vpc0--subnet1" + resource_group = local.acl_synth_resource_group_id + vpc = local.acl_synth_test-vpc0_id + # Deny all communication; subnet test-vpc0/subnet1[10.240.1.0/24] does not have required connections + rules { + name = "rule0" + action = "deny" + direction = "inbound" + source = "0.0.0.0/0" + destination = "10.240.1.0/24" + } + # Deny all communication; subnet test-vpc0/subnet1[10.240.1.0/24] does not have required connections + rules { + name = "rule1" + action = "deny" + direction = "outbound" + source = "10.240.1.0/24" + destination = "0.0.0.0/0" + } +} + +# test-vpc0/subnet2 [10.240.4.0/24] +resource "ibm_is_network_acl" "acl-test-vpc0--subnet2" { + name = "acl-test-vpc0--subnet2" + resource_group = local.acl_synth_resource_group_id + vpc = local.acl_synth_test-vpc0_id + # Internal. required-connections[0]: (segment instanceSegment)->(segment instanceSegment); allowed-protocols[0] + rules { + name = "rule0" + action = "allow" + direction = "outbound" + source = "10.240.4.0/24" + destination = "10.240.0.0/24" + udp { + port_min = 53 + port_max = 54 + } + } + # Internal. required-connections[0]: (segment instanceSegment)->(segment instanceSegment); allowed-protocols[0] + rules { + name = "rule1" + action = "allow" + direction = "inbound" + source = "10.240.0.0/24" + destination = "10.240.4.0/24" + udp { + port_min = 53 + port_max = 54 + } + } + # Internal. required-connections[2]: (segment instanceSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule2" + action = "allow" + direction = "outbound" + source = "10.240.4.0/24" + destination = "10.240.5.0/24" + } + # Internal. response to required-connections[2]: (segment instanceSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule3" + action = "allow" + direction = "inbound" + source = "10.240.5.0/24" + destination = "10.240.4.0/24" + } + # Internal. required-connections[2]: (segment instanceSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule4" + action = "allow" + direction = "outbound" + source = "10.240.4.0/24" + destination = "10.240.192.0/24" + } + # Internal. response to required-connections[2]: (segment instanceSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule5" + action = "allow" + direction = "inbound" + source = "10.240.192.0/24" + destination = "10.240.4.0/24" + } +} + +# test-vpc0/subnet3 [10.240.5.0/24] +resource "ibm_is_network_acl" "acl-test-vpc0--subnet3" { + name = "acl-test-vpc0--subnet3" + resource_group = local.acl_synth_resource_group_id + vpc = local.acl_synth_test-vpc0_id + # Internal. required-connections[1]: (segment nifSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule0" + action = "allow" + direction = "outbound" + source = "10.240.5.0/24" + destination = "10.240.192.0/24" + } + # Internal. response to required-connections[1]: (segment nifSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule1" + action = "allow" + direction = "inbound" + source = "10.240.192.0/24" + destination = "10.240.5.0/24" + } + # Internal. required-connections[2]: (segment instanceSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule2" + action = "allow" + direction = "inbound" + source = "10.240.0.0/24" + destination = "10.240.5.0/24" + } + # Internal. response to required-connections[2]: (segment instanceSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule3" + action = "allow" + direction = "outbound" + source = "10.240.5.0/24" + destination = "10.240.0.0/24" + } + # Internal. required-connections[2]: (segment instanceSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule4" + action = "allow" + direction = "inbound" + source = "10.240.4.0/24" + destination = "10.240.5.0/24" + } + # Internal. response to required-connections[2]: (segment instanceSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule5" + action = "allow" + direction = "outbound" + source = "10.240.5.0/24" + destination = "10.240.4.0/24" + } +} + +# test-vpc0/subnet4 [10.240.8.0/24] +resource "ibm_is_network_acl" "acl-test-vpc0--subnet4" { + name = "acl-test-vpc0--subnet4" + resource_group = local.acl_synth_resource_group_id + vpc = local.acl_synth_test-vpc0_id + # Deny all communication; subnet test-vpc0/subnet4[10.240.8.0/24] does not have required connections + rules { + name = "rule0" + action = "deny" + direction = "inbound" + source = "0.0.0.0/0" + destination = "10.240.8.0/24" + } + # Deny all communication; subnet test-vpc0/subnet4[10.240.8.0/24] does not have required connections + rules { + name = "rule1" + action = "deny" + direction = "outbound" + source = "10.240.8.0/24" + destination = "0.0.0.0/0" + } +} + +# test-vpc0/subnet5 [10.240.9.0/24] +resource "ibm_is_network_acl" "acl-test-vpc0--subnet5" { + name = "acl-test-vpc0--subnet5" + resource_group = local.acl_synth_resource_group_id + vpc = local.acl_synth_test-vpc0_id + # Deny all communication; subnet test-vpc0/subnet5[10.240.9.0/24] does not have required connections + rules { + name = "rule0" + action = "deny" + direction = "inbound" + source = "0.0.0.0/0" + destination = "10.240.9.0/24" + } + # Deny all communication; subnet test-vpc0/subnet5[10.240.9.0/24] does not have required connections + rules { + name = "rule1" + action = "deny" + direction = "outbound" + source = "10.240.9.0/24" + destination = "0.0.0.0/0" + } +} + +# test-vpc1/subnet10 [10.240.64.0/24] +resource "ibm_is_network_acl" "acl-test-vpc1--subnet10" { + name = "acl-test-vpc1--subnet10" + resource_group = local.acl_synth_resource_group_id + vpc = local.acl_synth_test-vpc1_id + # Deny all communication; subnet test-vpc1/subnet10[10.240.64.0/24] does not have required connections + rules { + name = "rule0" + action = "deny" + direction = "inbound" + source = "0.0.0.0/0" + destination = "10.240.64.0/24" + } + # Deny all communication; subnet test-vpc1/subnet10[10.240.64.0/24] does not have required connections + rules { + name = "rule1" + action = "deny" + direction = "outbound" + source = "10.240.64.0/24" + destination = "0.0.0.0/0" + } +} + +# test-vpc1/subnet11 [10.240.80.0/24] +resource "ibm_is_network_acl" "acl-test-vpc1--subnet11" { + name = "acl-test-vpc1--subnet11" + resource_group = local.acl_synth_resource_group_id + vpc = local.acl_synth_test-vpc1_id + # Deny all communication; subnet test-vpc1/subnet11[10.240.80.0/24] does not have required connections + rules { + name = "rule0" + action = "deny" + direction = "inbound" + source = "0.0.0.0/0" + destination = "10.240.80.0/24" + } + # Deny all communication; subnet test-vpc1/subnet11[10.240.80.0/24] does not have required connections + rules { + name = "rule1" + action = "deny" + direction = "outbound" + source = "10.240.80.0/24" + destination = "0.0.0.0/0" + } +} + +# test-vpc2/subnet20 [10.240.128.0/24] +resource "ibm_is_network_acl" "acl-test-vpc2--subnet20" { + name = "acl-test-vpc2--subnet20" + resource_group = local.acl_synth_resource_group_id + vpc = local.acl_synth_test-vpc2_id + # Deny all communication; subnet test-vpc2/subnet20[10.240.128.0/24] does not have required connections + rules { + name = "rule0" + action = "deny" + direction = "inbound" + source = "0.0.0.0/0" + destination = "10.240.128.0/24" + } + # Deny all communication; subnet test-vpc2/subnet20[10.240.128.0/24] does not have required connections + rules { + name = "rule1" + action = "deny" + direction = "outbound" + source = "10.240.128.0/24" + destination = "0.0.0.0/0" + } +} + +# test-vpc3/subnet30 [10.240.192.0/24] +resource "ibm_is_network_acl" "acl-test-vpc3--subnet30" { + name = "acl-test-vpc3--subnet30" + resource_group = local.acl_synth_resource_group_id + vpc = local.acl_synth_test-vpc3_id + # Internal. required-connections[1]: (segment nifSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule0" + action = "allow" + direction = "outbound" + source = "10.240.192.0/24" + destination = "10.240.5.0/24" + } + # Internal. response to required-connections[1]: (segment nifSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule1" + action = "allow" + direction = "inbound" + source = "10.240.5.0/24" + destination = "10.240.192.0/24" + } + # Internal. required-connections[2]: (segment instanceSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule2" + action = "allow" + direction = "inbound" + source = "10.240.0.0/24" + destination = "10.240.192.0/24" + } + # Internal. response to required-connections[2]: (segment instanceSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule3" + action = "allow" + direction = "outbound" + source = "10.240.192.0/24" + destination = "10.240.0.0/24" + } + # Internal. required-connections[2]: (segment instanceSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule4" + action = "allow" + direction = "inbound" + source = "10.240.4.0/24" + destination = "10.240.192.0/24" + } + # Internal. response to required-connections[2]: (segment instanceSegment)->(segment nifSegment); allowed-protocols[0] + rules { + name = "rule5" + action = "allow" + direction = "outbound" + source = "10.240.192.0/24" + destination = "10.240.4.0/24" + } +} diff --git a/test/synth_test_list.go b/test/synth_test_list.go index 79f88b52..ce00dc88 100644 --- a/test/synth_test_list.go +++ b/test/synth_test_list.go @@ -12,6 +12,9 @@ const ( aclNifConfig = "%s/acl_nif/config_object.json" aclNifSpec = "%s/acl_nif/conn_spec.json" + aclNifInstanceSegmentsConfig = "%s/acl_nif_instance_segments/config_object.json" + aclNifInstanceSegmentsSpec = "%s/acl_nif_instance_segments/conn_spec.json" + aclProtocolsConfig = "%s/acl_protocols/config_object.json" aclProtocolsSpec = "%s/acl_protocols/conn_spec.json" @@ -77,6 +80,18 @@ func synthACLTestsList() []testCase { }, }, + // acl nif instance segments ## tg-multiple config + { + testName: "acl_nif_instance_segments_tf", + args: &command{ + cmd: synth, + subcmd: acl, + config: aclNifInstanceSegmentsConfig, + spec: aclNifInstanceSegmentsSpec, + outputFile: "%s/acl_nif_instance_segments_tf/nacl_expected.tf", + }, + }, + // acl protocols (all output fmts) ## tg-multiple config { testName: "acl_protocols_csv", From e40861d438fdb7b7312fcb6f1ad155e8489999b7 Mon Sep 17 00:00:00 2001 From: Yair Slobodin Date: Mon, 14 Oct 2024 16:19:26 +0300 Subject: [PATCH 11/13] added vpe acl test --- test/data/acl_vpe/config_object.json | 2077 +++++++++++++++++++++ test/data/acl_vpe/conn_spec.json | 27 + test/expected/acl_vpe_tf/nacl_expected.tf | 404 ++++ test/synth_test_list.go | 15 + 4 files changed, 2523 insertions(+) create mode 100644 test/data/acl_vpe/config_object.json create mode 100644 test/data/acl_vpe/conn_spec.json create mode 100644 test/expected/acl_vpe_tf/nacl_expected.tf diff --git a/test/data/acl_vpe/config_object.json b/test/data/acl_vpe/config_object.json new file mode 100644 index 00000000..75620661 --- /dev/null +++ b/test/data/acl_vpe/config_object.json @@ -0,0 +1,2077 @@ +{ + "collector_version": "0.11.0", + "provider": "ibm", + "vpcs": [ + { + "classic_access": false, + "created_at": "2024-06-19T07:11:56.000Z", + "crn": "crn:1", + "cse_source_ips": [ + { + "ip": { + "address": "10.16.239.119" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + } + }, + { + "ip": { + "address": "10.22.28.206" + }, + "zone": { + "href": "href:6", + "name": "us-south-2" + } + }, + { + "ip": { + "address": "10.16.253.77" + }, + "zone": { + "href": "href:7", + "name": "us-south-3" + } + } + ], + "default_network_acl": { + "crn": "crn:8", + "href": "href:9", + "id": "id:10", + "name": "premises-eleven-nursery-coveted" + }, + "default_routing_table": { + "href": "href:11", + "id": "id:12", + "name": "unguarded-corncob-unaired-corner", + "resource_type": "routing_table" + }, + "default_security_group": { + "crn": "crn:13", + "href": "href:14", + "id": "id:15", + "name": "impart-oxidize-chive-escapade" + }, + "dns": { + "enable_hub": false, + "resolution_binding_count": 0, + "resolver": { + "servers": [ + { + "address": "161.26.0.7" + }, + { + "address": "161.26.0.8" + } + ], + "type": "system", + "configuration": "private_resolver" + } + }, + "health_reasons": null, + "health_state": "ok", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "vpc", + "status": "available", + "region": "us-south", + "address_prefixes": [ + { + "cidr": "10.240.0.0/18", + "created_at": "2024-06-19T07:11:56.000Z", + "has_subnets": true, + "href": "href:18", + "id": "id:19", + "is_default": true, + "name": "seismic-phosphate-subtext-unleash", + "zone": { + "href": "href:5", + "name": "us-south-1" + } + }, + { + "cidr": "10.240.64.0/18", + "created_at": "2024-06-19T07:11:56.000Z", + "has_subnets": true, + "href": "href:20", + "id": "id:21", + "is_default": true, + "name": "shaded-tribute-glazing-explains", + "zone": { + "href": "href:6", + "name": "us-south-2" + } + }, + { + "cidr": "10.240.128.0/18", + "created_at": "2024-06-19T07:11:56.000Z", + "has_subnets": true, + "href": "href:22", + "id": "id:23", + "is_default": true, + "name": "overlabor-spiffy-economist-clanking", + "zone": { + "href": "href:7", + "name": "us-south-3" + } + } + ], + "tags": [] + } + ], + "subnets": [ + { + "available_ipv4_address_count": 249, + "created_at": "2024-06-19T07:12:21.000Z", + "crn": "crn:24", + "href": "href:25", + "id": "id:26", + "ip_version": "ipv4", + "ipv4_cidr_block": "10.240.0.0/24", + "name": "sub1", + "network_acl": { + "crn": "crn:27", + "href": "href:28", + "id": "id:29", + "name": "acl1" + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "subnet", + "routing_table": { + "href": "href:11", + "id": "id:12", + "name": "unguarded-corncob-unaired-corner", + "resource_type": "routing_table" + }, + "status": "available", + "total_ipv4_address_count": 256, + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "reserved_ips": [ + { + "address": "10.240.0.0", + "auto_delete": false, + "created_at": "2024-06-19T07:12:21.000Z", + "href": "href:30", + "id": "id:31", + "lifecycle_state": "stable", + "name": "ibm-network-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.0.1", + "auto_delete": false, + "created_at": "2024-06-19T07:12:21.000Z", + "href": "href:32", + "id": "id:33", + "lifecycle_state": "stable", + "name": "ibm-default-gateway", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.0.2", + "auto_delete": false, + "created_at": "2024-06-19T07:12:21.000Z", + "href": "href:34", + "id": "id:35", + "lifecycle_state": "stable", + "name": "ibm-dns-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.0.3", + "auto_delete": false, + "created_at": "2024-06-19T07:12:21.000Z", + "href": "href:36", + "id": "id:37", + "lifecycle_state": "stable", + "name": "ibm-reserved-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.0.4", + "auto_delete": true, + "created_at": "2024-06-19T07:12:47.000Z", + "href": "href:38", + "id": "id:39", + "lifecycle_state": "stable", + "name": "portion-send-snout-magazine", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:40", + "id": "id:41", + "name": "bouncing-serpent-graffiti-evasion", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.0.5", + "auto_delete": true, + "created_at": "2024-06-19T11:03:46.000Z", + "href": "href:42", + "id": "id:43", + "lifecycle_state": "stable", + "name": "appdata-vpe1", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "crn": "crn:44", + "href": "href:45", + "id": "id:46", + "name": "appdata-endpoint-gateway", + "resource_type": "endpoint_gateway" + } + }, + { + "address": "10.240.0.255", + "auto_delete": false, + "created_at": "2024-06-19T07:12:21.000Z", + "href": "href:47", + "id": "id:48", + "lifecycle_state": "stable", + "name": "ibm-broadcast-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + } + ], + "tags": [ + "trust-zone:edge" + ] + }, + { + "available_ipv4_address_count": 250, + "created_at": "2024-06-19T07:12:20.000Z", + "crn": "crn:49", + "href": "href:50", + "id": "id:51", + "ip_version": "ipv4", + "ipv4_cidr_block": "10.240.64.0/24", + "name": "sub3", + "network_acl": { + "crn": "crn:27", + "href": "href:28", + "id": "id:29", + "name": "acl1" + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "subnet", + "routing_table": { + "href": "href:11", + "id": "id:12", + "name": "unguarded-corncob-unaired-corner", + "resource_type": "routing_table" + }, + "status": "available", + "total_ipv4_address_count": 256, + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "zone": { + "href": "href:6", + "name": "us-south-2" + }, + "reserved_ips": [ + { + "address": "10.240.64.0", + "auto_delete": false, + "created_at": "2024-06-19T07:12:20.000Z", + "href": "href:52", + "id": "id:53", + "lifecycle_state": "stable", + "name": "ibm-network-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.64.1", + "auto_delete": false, + "created_at": "2024-06-19T07:12:20.000Z", + "href": "href:54", + "id": "id:55", + "lifecycle_state": "stable", + "name": "ibm-default-gateway", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.64.2", + "auto_delete": false, + "created_at": "2024-06-19T07:12:20.000Z", + "href": "href:56", + "id": "id:57", + "lifecycle_state": "stable", + "name": "ibm-dns-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.64.3", + "auto_delete": false, + "created_at": "2024-06-19T07:12:20.000Z", + "href": "href:58", + "id": "id:59", + "lifecycle_state": "stable", + "name": "ibm-reserved-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.64.4", + "auto_delete": true, + "created_at": "2024-06-19T11:03:34.000Z", + "href": "href:60", + "id": "id:61", + "lifecycle_state": "stable", + "name": "policydb-vpe3", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "crn": "crn:62", + "href": "href:63", + "id": "id:64", + "name": "policydb-endpoint-gateway", + "resource_type": "endpoint_gateway" + } + }, + { + "address": "10.240.64.255", + "auto_delete": false, + "created_at": "2024-06-19T07:12:20.000Z", + "href": "href:65", + "id": "id:66", + "lifecycle_state": "stable", + "name": "ibm-broadcast-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + } + ], + "tags": [ + "trust-zone:transit" + ] + }, + { + "available_ipv4_address_count": 246, + "created_at": "2024-06-19T07:12:20.000Z", + "crn": "crn:67", + "href": "href:68", + "id": "id:69", + "ip_version": "ipv4", + "ipv4_cidr_block": "10.240.128.0/24", + "name": "sub2", + "network_acl": { + "crn": "crn:27", + "href": "href:28", + "id": "id:29", + "name": "acl1" + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "subnet", + "routing_table": { + "href": "href:11", + "id": "id:12", + "name": "unguarded-corncob-unaired-corner", + "resource_type": "routing_table" + }, + "status": "available", + "total_ipv4_address_count": 256, + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "zone": { + "href": "href:7", + "name": "us-south-3" + }, + "reserved_ips": [ + { + "address": "10.240.128.0", + "auto_delete": false, + "created_at": "2024-06-19T07:12:20.000Z", + "href": "href:70", + "id": "id:71", + "lifecycle_state": "stable", + "name": "ibm-network-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.128.1", + "auto_delete": false, + "created_at": "2024-06-19T07:12:20.000Z", + "href": "href:72", + "id": "id:73", + "lifecycle_state": "stable", + "name": "ibm-default-gateway", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.128.2", + "auto_delete": false, + "created_at": "2024-06-19T07:12:20.000Z", + "href": "href:74", + "id": "id:75", + "lifecycle_state": "stable", + "name": "ibm-dns-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.128.3", + "auto_delete": false, + "created_at": "2024-06-19T07:12:20.000Z", + "href": "href:76", + "id": "id:77", + "lifecycle_state": "stable", + "name": "ibm-reserved-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.128.4", + "auto_delete": true, + "created_at": "2024-06-19T07:12:46.000Z", + "href": "href:78", + "id": "id:79", + "lifecycle_state": "stable", + "name": "magnetism-steersman-botany-hurled", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:80", + "id": "id:81", + "name": "captain-captivity-shorty-crown", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.128.5", + "auto_delete": true, + "created_at": "2024-06-19T07:12:47.000Z", + "href": "href:82", + "id": "id:83", + "lifecycle_state": "stable", + "name": "kilt-snipping-yen-unmanaged", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:84", + "id": "id:85", + "name": "left-pebble-agonizing-wharf", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.128.6", + "auto_delete": true, + "created_at": "2024-06-19T07:12:47.000Z", + "href": "href:86", + "id": "id:87", + "lifecycle_state": "stable", + "name": "manic-nerve-surfboard-cofounder", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "href": "href:88", + "id": "id:89", + "name": "litigate-bullfrog-improve-shandy", + "resource_type": "network_interface" + } + }, + { + "address": "10.240.128.7", + "auto_delete": true, + "created_at": "2024-06-19T11:03:34.000Z", + "href": "href:90", + "id": "id:91", + "lifecycle_state": "stable", + "name": "policydb-vpe2", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "crn": "crn:62", + "href": "href:63", + "id": "id:64", + "name": "policydb-endpoint-gateway", + "resource_type": "endpoint_gateway" + } + }, + { + "address": "10.240.128.8", + "auto_delete": true, + "created_at": "2024-06-19T11:03:46.000Z", + "href": "href:92", + "id": "id:93", + "lifecycle_state": "stable", + "name": "appdata-vpe2", + "owner": "user", + "resource_type": "subnet_reserved_ip", + "target": { + "crn": "crn:44", + "href": "href:45", + "id": "id:46", + "name": "appdata-endpoint-gateway", + "resource_type": "endpoint_gateway" + } + }, + { + "address": "10.240.128.255", + "auto_delete": false, + "created_at": "2024-06-19T07:12:20.000Z", + "href": "href:94", + "id": "id:95", + "lifecycle_state": "stable", + "name": "ibm-broadcast-address", + "owner": "provider", + "resource_type": "subnet_reserved_ip" + } + ], + "tags": [ + "trust-zone:private" + ] + } + ], + "public_gateways": [], + "floating_ips": [ + { + "address": "52.116.131.7", + "created_at": "2024-06-19T07:13:16.000Z", + "crn": "crn:96", + "href": "href:97", + "id": "id:98", + "name": "floating-ip", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "status": "available", + "target": { + "href": "href:40", + "id": "id:41", + "name": "bouncing-serpent-graffiti-evasion", + "primary_ip": { + "address": "10.240.0.4", + "href": "href:38", + "id": "id:39", + "name": "portion-send-snout-magazine", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "tags": [] + } + ], + "network_acls": [ + { + "created_at": "2024-06-19T07:12:16.000Z", + "crn": "crn:27", + "href": "href:28", + "id": "id:29", + "name": "acl1", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "action": "deny", + "before": { + "href": "href:101", + "id": "id:102", + "name": "acl1-out3" + }, + "created_at": "2024-06-19T07:12:17.000Z", + "destination": "10.240.0.0/24", + "direction": "outbound", + "href": "href:99", + "id": "id:100", + "ip_version": "ipv4", + "name": "acl1-out2", + "source": "10.240.128.0/24", + "protocol": "all" + }, + { + "action": "allow", + "before": { + "href": "href:103", + "id": "id:104", + "name": "acl1-in2" + }, + "created_at": "2024-06-19T07:12:18.000Z", + "destination": "0.0.0.0/0", + "direction": "outbound", + "href": "href:101", + "id": "id:102", + "ip_version": "ipv4", + "name": "acl1-out3", + "source": "0.0.0.0/0", + "protocol": "all" + }, + { + "action": "allow", + "created_at": "2024-06-19T07:12:18.000Z", + "destination": "0.0.0.0/0", + "direction": "inbound", + "href": "href:103", + "id": "id:104", + "ip_version": "ipv4", + "name": "acl1-in2", + "source": "0.0.0.0/0", + "protocol": "all" + } + ], + "subnets": [ + { + "crn": "crn:24", + "href": "href:25", + "id": "id:26", + "name": "sub1", + "resource_type": "subnet" + }, + { + "crn": "crn:49", + "href": "href:50", + "id": "id:51", + "name": "sub3", + "resource_type": "subnet" + }, + { + "crn": "crn:67", + "href": "href:68", + "id": "id:69", + "name": "sub2", + "resource_type": "subnet" + } + ], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-19T07:11:57.000Z", + "crn": "crn:8", + "href": "href:9", + "id": "id:10", + "name": "premises-eleven-nursery-coveted", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "action": "allow", + "before": { + "href": "href:107", + "id": "id:108", + "name": "allow-outbound" + }, + "created_at": "2024-06-19T07:11:57.000Z", + "destination": "0.0.0.0/0", + "direction": "inbound", + "href": "href:105", + "id": "id:106", + "ip_version": "ipv4", + "name": "allow-inbound", + "source": "0.0.0.0/0", + "protocol": "all" + }, + { + "action": "allow", + "created_at": "2024-06-19T07:11:57.000Z", + "destination": "0.0.0.0/0", + "direction": "outbound", + "href": "href:107", + "id": "id:108", + "ip_version": "ipv4", + "name": "allow-outbound", + "source": "0.0.0.0/0", + "protocol": "all" + } + ], + "subnets": [], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "tags": [] + } + ], + "security_groups": [ + { + "created_at": "2024-06-19T07:12:17.000Z", + "crn": "crn:109", + "href": "href:110", + "id": "id:111", + "name": "opa-sg", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "direction": "inbound", + "href": "href:112", + "id": "id:113", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "crn": "crn:114", + "href": "href:115", + "id": "id:116", + "name": "be-sg" + }, + "port_max": 8181, + "port_min": 8181, + "protocol": "tcp" + } + ], + "targets": [ + { + "href": "href:84", + "id": "id:85", + "name": "left-pebble-agonizing-wharf", + "resource_type": "network_interface" + } + ], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-19T07:12:17.000Z", + "crn": "crn:114", + "href": "href:115", + "id": "id:116", + "name": "be-sg", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "direction": "inbound", + "href": "href:117", + "id": "id:118", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "crn": "crn:119", + "href": "href:120", + "id": "id:121", + "name": "fe-sg" + }, + "port_max": 65535, + "port_min": 1, + "protocol": "tcp" + }, + { + "direction": "outbound", + "href": "href:122", + "id": "id:123", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "crn": "crn:109", + "href": "href:110", + "id": "id:111", + "name": "opa-sg" + }, + "port_max": 8181, + "port_min": 8181, + "protocol": "tcp" + } + ], + "targets": [ + { + "href": "href:80", + "id": "id:81", + "name": "captain-captivity-shorty-crown", + "resource_type": "network_interface" + } + ], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-19T07:12:17.000Z", + "crn": "crn:124", + "href": "href:125", + "id": "id:126", + "name": "policydb-vpe", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "direction": "outbound", + "href": "href:127", + "id": "id:128", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "address": "10.240.128.7" + }, + "port_max": 65535, + "port_min": 1, + "protocol": "tcp" + }, + { + "direction": "outbound", + "href": "href:129", + "id": "id:130", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "address": "10.240.64.4" + }, + "port_max": 65535, + "port_min": 1, + "protocol": "tcp" + } + ], + "targets": [ + { + "href": "href:80", + "id": "id:81", + "name": "captain-captivity-shorty-crown", + "resource_type": "network_interface" + } + ], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-19T07:12:17.000Z", + "crn": "crn:131", + "href": "href:132", + "id": "id:133", + "name": "proxy-sg", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "direction": "inbound", + "href": "href:134", + "id": "id:135", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "cidr_block": "0.0.0.0/0" + }, + "protocol": "all" + }, + { + "direction": "outbound", + "href": "href:136", + "id": "id:137", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "crn": "crn:119", + "href": "href:120", + "id": "id:121", + "name": "fe-sg" + }, + "port_max": 9000, + "port_min": 9000, + "protocol": "udp" + } + ], + "targets": [ + { + "href": "href:40", + "id": "id:41", + "name": "bouncing-serpent-graffiti-evasion", + "resource_type": "network_interface" + } + ], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-19T07:12:17.000Z", + "crn": "crn:138", + "href": "href:139", + "id": "id:140", + "name": "appdata-sg", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "direction": "inbound", + "href": "href:141", + "id": "id:142", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "cidr_block": "0.0.0.0/0" + }, + "port_max": 65535, + "port_min": 1, + "protocol": "tcp" + } + ], + "targets": [ + { + "href": "href:45", + "id": "id:46", + "name": "appdata-endpoint-gateway", + "resource_type": "endpoint_gateway", + "crn": "crn:44" + } + ], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-19T07:12:17.000Z", + "crn": "crn:143", + "href": "href:144", + "id": "id:145", + "name": "appdata-vpe", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "direction": "outbound", + "href": "href:146", + "id": "id:147", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "address": "10.240.128.8" + }, + "port_max": 65535, + "port_min": 1, + "protocol": "tcp" + } + ], + "targets": [ + { + "href": "href:80", + "id": "id:81", + "name": "captain-captivity-shorty-crown", + "resource_type": "network_interface" + } + ], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-19T07:12:17.000Z", + "crn": "crn:119", + "href": "href:120", + "id": "id:121", + "name": "fe-sg", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "direction": "outbound", + "href": "href:148", + "id": "id:149", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "crn": "crn:114", + "href": "href:115", + "id": "id:116", + "name": "be-sg" + }, + "port_max": 65535, + "port_min": 1, + "protocol": "tcp" + }, + { + "direction": "inbound", + "href": "href:150", + "id": "id:151", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "crn": "crn:131", + "href": "href:132", + "id": "id:133", + "name": "proxy-sg" + }, + "port_max": 9000, + "port_min": 9000, + "protocol": "udp" + } + ], + "targets": [ + { + "href": "href:88", + "id": "id:89", + "name": "litigate-bullfrog-improve-shandy", + "resource_type": "network_interface" + } + ], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-19T07:12:16.000Z", + "crn": "crn:152", + "href": "href:153", + "id": "id:154", + "name": "policydb-sg", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "direction": "inbound", + "href": "href:155", + "id": "id:156", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "cidr_block": "0.0.0.0/0" + }, + "port_max": 65535, + "port_min": 1, + "protocol": "tcp" + } + ], + "targets": [ + { + "href": "href:63", + "id": "id:64", + "name": "policydb-endpoint-gateway", + "resource_type": "endpoint_gateway", + "crn": "crn:62" + } + ], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "created_at": "2024-06-19T07:11:57.000Z", + "crn": "crn:13", + "href": "href:14", + "id": "id:15", + "name": "impart-oxidize-chive-escapade", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "rules": [ + { + "direction": "outbound", + "href": "href:157", + "id": "id:158", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "cidr_block": "0.0.0.0/0" + }, + "protocol": "all" + }, + { + "direction": "inbound", + "href": "href:159", + "id": "id:160", + "ip_version": "ipv4", + "local": { + "cidr_block": "0.0.0.0/0" + }, + "remote": { + "crn": "crn:13", + "href": "href:14", + "id": "id:15", + "name": "impart-oxidize-chive-escapade" + }, + "protocol": "all" + } + ], + "targets": [], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "tags": [] + } + ], + "endpoint_gateways": [ + { + "allow_dns_resolution_binding": true, + "created_at": "2024-06-19T11:03:31.000Z", + "crn": "crn:62", + "health_state": "ok", + "href": "href:63", + "id": "id:64", + "ips": [ + { + "address": "10.240.64.4", + "href": "href:60", + "id": "id:61", + "name": "policydb-vpe3", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.128.7", + "href": "href:90", + "id": "id:91", + "name": "policydb-vpe2", + "resource_type": "subnet_reserved_ip" + } + ], + "lifecycle_reasons": null, + "lifecycle_state": "stable", + "name": "policydb-endpoint-gateway", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "endpoint_gateway", + "security_groups": [ + { + "crn": "crn:152", + "href": "href:153", + "id": "id:154", + "name": "policydb-sg" + } + ], + "service_endpoint": "0b00984f-c1e1-43b2-ba1e-35b0a55b2fa5.6131b73286f34215871dfad7254b4f7d.private.databases.appdomain.cloud", + "service_endpoints": [ + "0b00984f-c1e1-43b2-ba1e-35b0a55b2fa5.6131b73286f34215871dfad7254b4f7d.private.databases.appdomain.cloud" + ], + "target": { + "crn": "crn:161", + "resource_type": "provider_cloud_service" + }, + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "tags": [] + }, + { + "allow_dns_resolution_binding": true, + "created_at": "2024-06-19T11:03:31.000Z", + "crn": "crn:44", + "health_state": "ok", + "href": "href:45", + "id": "id:46", + "ips": [ + { + "address": "10.240.128.8", + "href": "href:92", + "id": "id:93", + "name": "appdata-vpe2", + "resource_type": "subnet_reserved_ip" + }, + { + "address": "10.240.0.5", + "href": "href:42", + "id": "id:43", + "name": "appdata-vpe1", + "resource_type": "subnet_reserved_ip" + } + ], + "lifecycle_reasons": null, + "lifecycle_state": "stable", + "name": "appdata-endpoint-gateway", + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "endpoint_gateway", + "security_groups": [ + { + "crn": "crn:138", + "href": "href:139", + "id": "id:140", + "name": "appdata-sg" + } + ], + "service_endpoint": "d60cdc12-7501-488c-a8d7-91a089497ca9-0.6131b73286f34215871dfad7254b4f7d.private.databases.appdomain.cloud", + "service_endpoints": [ + "d60cdc12-7501-488c-a8d7-91a089497ca9-0.6131b73286f34215871dfad7254b4f7d.private.databases.appdomain.cloud", + "d60cdc12-7501-488c-a8d7-91a089497ca9-1.6131b73286f34215871dfad7254b4f7d.private.databases.appdomain.cloud", + "d60cdc12-7501-488c-a8d7-91a089497ca9-2.6131b73286f34215871dfad7254b4f7d.private.databases.appdomain.cloud" + ], + "target": { + "crn": "crn:162", + "resource_type": "provider_cloud_service" + }, + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "tags": [] + } + ], + "instances": [ + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:168" + }, + "href": "href:166", + "id": "id:167", + "name": "magnitude-aloe-wildlife-vacancy", + "volume": { + "crn": "crn:169", + "href": "href:170", + "id": "id:171", + "name": "catbrier-onto-grapple-fastball", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-19T07:12:47.000Z", + "crn": "crn:163", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:164", + "id": "id:165", + "image": { + "crn": "crn:172", + "href": "href:173", + "id": "id:174", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "proxy", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:40", + "id": "id:41", + "name": "bouncing-serpent-graffiti-evasion", + "primary_ip": { + "address": "10.240.0.4", + "href": "href:38", + "id": "id:39", + "name": "portion-send-snout-magazine", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:24", + "href": "href:25", + "id": "id:26", + "name": "sub1", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:175", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:168" + }, + "href": "href:166", + "id": "id:167", + "name": "magnitude-aloe-wildlife-vacancy", + "volume": { + "crn": "crn:169", + "href": "href:170", + "id": "id:171", + "name": "catbrier-onto-grapple-fastball", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "zone": { + "href": "href:5", + "name": "us-south-1" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-19T07:12:47.000Z", + "floating_ips": [ + { + "address": "52.116.131.7", + "crn": "crn:96", + "href": "href:97", + "id": "id:98", + "name": "floating-ip" + } + ], + "href": "href:40", + "id": "id:41", + "name": "bouncing-serpent-graffiti-evasion", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.0.4", + "href": "href:38", + "id": "id:39", + "name": "portion-send-snout-magazine", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:131", + "href": "href:132", + "id": "id:133", + "name": "proxy-sg" + } + ], + "status": "available", + "subnet": { + "crn": "crn:24", + "href": "href:25", + "id": "id:26", + "name": "sub1", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:181" + }, + "href": "href:179", + "id": "id:180", + "name": "folk-mousy-collar-kleenex", + "volume": { + "crn": "crn:182", + "href": "href:183", + "id": "id:184", + "name": "regalia-pavestone-ramble-stretch", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-19T07:12:46.000Z", + "crn": "crn:176", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:177", + "id": "id:178", + "image": { + "crn": "crn:172", + "href": "href:173", + "id": "id:174", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "opa", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:84", + "id": "id:85", + "name": "left-pebble-agonizing-wharf", + "primary_ip": { + "address": "10.240.128.5", + "href": "href:82", + "id": "id:83", + "name": "kilt-snipping-yen-unmanaged", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:67", + "href": "href:68", + "id": "id:69", + "name": "sub2", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:175", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:181" + }, + "href": "href:179", + "id": "id:180", + "name": "folk-mousy-collar-kleenex", + "volume": { + "crn": "crn:182", + "href": "href:183", + "id": "id:184", + "name": "regalia-pavestone-ramble-stretch", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "zone": { + "href": "href:7", + "name": "us-south-3" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-19T07:12:46.000Z", + "floating_ips": [], + "href": "href:84", + "id": "id:85", + "name": "left-pebble-agonizing-wharf", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.128.5", + "href": "href:82", + "id": "id:83", + "name": "kilt-snipping-yen-unmanaged", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:109", + "href": "href:110", + "id": "id:111", + "name": "opa-sg" + } + ], + "status": "available", + "subnet": { + "crn": "crn:67", + "href": "href:68", + "id": "id:69", + "name": "sub2", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:190" + }, + "href": "href:188", + "id": "id:189", + "name": "scarily-reapprove-ecologist-gosling", + "volume": { + "crn": "crn:191", + "href": "href:192", + "id": "id:193", + "name": "flattered-laboring-reusable-comic", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-19T07:12:46.000Z", + "crn": "crn:185", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:186", + "id": "id:187", + "image": { + "crn": "crn:172", + "href": "href:173", + "id": "id:174", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "fe", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:88", + "id": "id:89", + "name": "litigate-bullfrog-improve-shandy", + "primary_ip": { + "address": "10.240.128.6", + "href": "href:86", + "id": "id:87", + "name": "manic-nerve-surfboard-cofounder", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:67", + "href": "href:68", + "id": "id:69", + "name": "sub2", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:175", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:190" + }, + "href": "href:188", + "id": "id:189", + "name": "scarily-reapprove-ecologist-gosling", + "volume": { + "crn": "crn:191", + "href": "href:192", + "id": "id:193", + "name": "flattered-laboring-reusable-comic", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "zone": { + "href": "href:7", + "name": "us-south-3" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-19T07:12:46.000Z", + "floating_ips": [], + "href": "href:88", + "id": "id:89", + "name": "litigate-bullfrog-improve-shandy", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.128.6", + "href": "href:86", + "id": "id:87", + "name": "manic-nerve-surfboard-cofounder", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:119", + "href": "href:120", + "id": "id:121", + "name": "fe-sg" + } + ], + "status": "available", + "subnet": { + "crn": "crn:67", + "href": "href:68", + "id": "id:69", + "name": "sub2", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + }, + { + "availability_policy": { + "host_failure": "restart" + }, + "bandwidth": 4000, + "boot_volume_attachment": { + "device": { + "id": "id:199" + }, + "href": "href:197", + "id": "id:198", + "name": "carnival-grimace-mannequin-lumping", + "volume": { + "crn": "crn:200", + "href": "href:201", + "id": "id:202", + "name": "wands-niece-whole-cocoa", + "resource_type": "volume" + } + }, + "confidential_compute_mode": "disabled", + "created_at": "2024-06-19T07:12:46.000Z", + "crn": "crn:194", + "disks": [], + "enable_secure_boot": false, + "health_reasons": [], + "health_state": "ok", + "href": "href:195", + "id": "id:196", + "image": { + "crn": "crn:172", + "href": "href:173", + "id": "id:174", + "name": "server-9080", + "resource_type": "image" + }, + "lifecycle_reasons": [], + "lifecycle_state": "stable", + "memory": 4, + "metadata_service": { + "enabled": false, + "protocol": "http", + "response_hop_limit": 1 + }, + "name": "be", + "network_attachments": [], + "numa_count": 1, + "primary_network_interface": { + "href": "href:80", + "id": "id:81", + "name": "captain-captivity-shorty-crown", + "primary_ip": { + "address": "10.240.128.4", + "href": "href:78", + "id": "id:79", + "name": "magnetism-steersman-botany-hurled", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "subnet": { + "crn": "crn:67", + "href": "href:68", + "id": "id:69", + "name": "sub2", + "resource_type": "subnet" + } + }, + "profile": { + "href": "href:175", + "name": "cx2-2x4", + "resource_type": "instance_profile" + }, + "reservation_affinity": { + "policy": "disabled", + "pool": [] + }, + "resource_group": { + "href": "href:16", + "id": "id:17", + "name": "name:4" + }, + "resource_type": "instance", + "startable": true, + "status": "running", + "status_reasons": [], + "total_network_bandwidth": 3000, + "total_volume_bandwidth": 1000, + "vcpu": { + "architecture": "amd64", + "count": 2, + "manufacturer": "intel" + }, + "volume_attachments": [ + { + "device": { + "id": "id:199" + }, + "href": "href:197", + "id": "id:198", + "name": "carnival-grimace-mannequin-lumping", + "volume": { + "crn": "crn:200", + "href": "href:201", + "id": "id:202", + "name": "wands-niece-whole-cocoa", + "resource_type": "volume" + } + } + ], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + }, + "zone": { + "href": "href:7", + "name": "us-south-3" + }, + "network_interfaces": [ + { + "allow_ip_spoofing": false, + "created_at": "2024-06-19T07:12:46.000Z", + "floating_ips": [], + "href": "href:80", + "id": "id:81", + "name": "captain-captivity-shorty-crown", + "port_speed": 3000, + "primary_ip": { + "address": "10.240.128.4", + "href": "href:78", + "id": "id:79", + "name": "magnetism-steersman-botany-hurled", + "resource_type": "subnet_reserved_ip" + }, + "resource_type": "network_interface", + "security_groups": [ + { + "crn": "crn:124", + "href": "href:125", + "id": "id:126", + "name": "policydb-vpe" + }, + { + "crn": "crn:114", + "href": "href:115", + "id": "id:116", + "name": "be-sg" + }, + { + "crn": "crn:143", + "href": "href:144", + "id": "id:145", + "name": "appdata-vpe" + } + ], + "status": "available", + "subnet": { + "crn": "crn:67", + "href": "href:68", + "id": "id:69", + "name": "sub2", + "resource_type": "subnet" + }, + "type": "primary" + } + ], + "tags": [] + } + ], + "routing_tables": [ + { + "accept_routes_from": [ + { + "resource_type": "vpn_gateway" + }, + { + "resource_type": "vpn_server" + } + ], + "advertise_routes_to": [], + "created_at": "2024-06-19T07:11:57.000Z", + "href": "href:11", + "id": "id:12", + "is_default": true, + "lifecycle_state": "stable", + "name": "unguarded-corncob-unaired-corner", + "resource_type": "routing_table", + "route_direct_link_ingress": false, + "route_internet_ingress": false, + "route_transit_gateway_ingress": false, + "route_vpc_zone_ingress": false, + "subnets": [ + { + "crn": "crn:24", + "href": "href:25", + "id": "id:26", + "name": "sub1", + "resource_type": "subnet" + }, + { + "crn": "crn:49", + "href": "href:50", + "id": "id:51", + "name": "sub3", + "resource_type": "subnet" + }, + { + "crn": "crn:67", + "href": "href:68", + "id": "id:69", + "name": "sub2", + "resource_type": "subnet" + } + ], + "routes": [], + "vpc": { + "crn": "crn:1", + "href": "href:2", + "id": "id:3", + "name": "test-vpc", + "resource_type": "vpc" + } + } + ], + "load_balancers": [], + "transit_connections": null, + "transit_gateways": null, + "iks_clusters": [] +} diff --git a/test/data/acl_vpe/conn_spec.json b/test/data/acl_vpe/conn_spec.json new file mode 100644 index 00000000..63a59fc1 --- /dev/null +++ b/test/data/acl_vpe/conn_spec.json @@ -0,0 +1,27 @@ +{ + "externals": { + "public internet": "0.0.0.0/0" + }, + "required-connections": [ + { + "src": { + "name": "public internet", + "type": "external" + }, + "dst": { + "name": "appdata-endpoint-gateway", + "type": "vpe" + } + }, + { + "src": { + "name": "policydb-endpoint-gateway", + "type": "vpe" + }, + "dst": { + "name": "sub1", + "type": "subnet" + } + } + ] +} diff --git a/test/expected/acl_vpe_tf/nacl_expected.tf b/test/expected/acl_vpe_tf/nacl_expected.tf new file mode 100644 index 00000000..7e4bc500 --- /dev/null +++ b/test/expected/acl_vpe_tf/nacl_expected.tf @@ -0,0 +1,404 @@ +# test-vpc/sub1 [10.240.0.0/24] +resource "ibm_is_network_acl" "acl-test-vpc--sub1" { + name = "acl-test-vpc--sub1" + resource_group = local.acl_synth_resource_group_id + vpc = local.acl_synth_test-vpc_id + # Internal. required-connections[1]: (vpe test-vpc/policydb-endpoint-gateway)->(subnet test-vpc/sub1); allowed-protocols[0] + rules { + name = "rule0" + action = "allow" + direction = "inbound" + source = "10.240.64.0/24" + destination = "10.240.0.0/24" + } + # Internal. response to required-connections[1]: (vpe test-vpc/policydb-endpoint-gateway)->(subnet test-vpc/sub1); allowed-protocols[0] + rules { + name = "rule1" + action = "allow" + direction = "outbound" + source = "10.240.0.0/24" + destination = "10.240.64.0/24" + } + # Internal. required-connections[1]: (vpe test-vpc/policydb-endpoint-gateway)->(subnet test-vpc/sub1); allowed-protocols[0] + rules { + name = "rule2" + action = "allow" + direction = "inbound" + source = "10.240.128.0/24" + destination = "10.240.0.0/24" + } + # Internal. response to required-connections[1]: (vpe test-vpc/policydb-endpoint-gateway)->(subnet test-vpc/sub1); allowed-protocols[0] + rules { + name = "rule3" + action = "allow" + direction = "outbound" + source = "10.240.0.0/24" + destination = "10.240.128.0/24" + } + # Deny other internal communication; see rfc1918#3; item 0,0 + rules { + name = "rule4" + action = "deny" + direction = "outbound" + source = "10.0.0.0/8" + destination = "10.0.0.0/8" + } + # Deny other internal communication; see rfc1918#3; item 0,0 + rules { + name = "rule5" + action = "deny" + direction = "inbound" + source = "10.0.0.0/8" + destination = "10.0.0.0/8" + } + # Deny other internal communication; see rfc1918#3; item 0,1 + rules { + name = "rule6" + action = "deny" + direction = "outbound" + source = "10.0.0.0/8" + destination = "172.16.0.0/12" + } + # Deny other internal communication; see rfc1918#3; item 0,1 + rules { + name = "rule7" + action = "deny" + direction = "inbound" + source = "172.16.0.0/12" + destination = "10.0.0.0/8" + } + # Deny other internal communication; see rfc1918#3; item 0,2 + rules { + name = "rule8" + action = "deny" + direction = "outbound" + source = "10.0.0.0/8" + destination = "192.168.0.0/16" + } + # Deny other internal communication; see rfc1918#3; item 0,2 + rules { + name = "rule9" + action = "deny" + direction = "inbound" + source = "192.168.0.0/16" + destination = "10.0.0.0/8" + } + # Deny other internal communication; see rfc1918#3; item 1,0 + rules { + name = "rule10" + action = "deny" + direction = "outbound" + source = "172.16.0.0/12" + destination = "10.0.0.0/8" + } + # Deny other internal communication; see rfc1918#3; item 1,0 + rules { + name = "rule11" + action = "deny" + direction = "inbound" + source = "10.0.0.0/8" + destination = "172.16.0.0/12" + } + # Deny other internal communication; see rfc1918#3; item 1,1 + rules { + name = "rule12" + action = "deny" + direction = "outbound" + source = "172.16.0.0/12" + destination = "172.16.0.0/12" + } + # Deny other internal communication; see rfc1918#3; item 1,1 + rules { + name = "rule13" + action = "deny" + direction = "inbound" + source = "172.16.0.0/12" + destination = "172.16.0.0/12" + } + # Deny other internal communication; see rfc1918#3; item 1,2 + rules { + name = "rule14" + action = "deny" + direction = "outbound" + source = "172.16.0.0/12" + destination = "192.168.0.0/16" + } + # Deny other internal communication; see rfc1918#3; item 1,2 + rules { + name = "rule15" + action = "deny" + direction = "inbound" + source = "192.168.0.0/16" + destination = "172.16.0.0/12" + } + # Deny other internal communication; see rfc1918#3; item 2,0 + rules { + name = "rule16" + action = "deny" + direction = "outbound" + source = "192.168.0.0/16" + destination = "10.0.0.0/8" + } + # Deny other internal communication; see rfc1918#3; item 2,0 + rules { + name = "rule17" + action = "deny" + direction = "inbound" + source = "10.0.0.0/8" + destination = "192.168.0.0/16" + } + # Deny other internal communication; see rfc1918#3; item 2,1 + rules { + name = "rule18" + action = "deny" + direction = "outbound" + source = "192.168.0.0/16" + destination = "172.16.0.0/12" + } + # Deny other internal communication; see rfc1918#3; item 2,1 + rules { + name = "rule19" + action = "deny" + direction = "inbound" + source = "172.16.0.0/12" + destination = "192.168.0.0/16" + } + # Deny other internal communication; see rfc1918#3; item 2,2 + rules { + name = "rule20" + action = "deny" + direction = "outbound" + source = "192.168.0.0/16" + destination = "192.168.0.0/16" + } + # Deny other internal communication; see rfc1918#3; item 2,2 + rules { + name = "rule21" + action = "deny" + direction = "inbound" + source = "192.168.0.0/16" + destination = "192.168.0.0/16" + } + # External. required-connections[0]: (external public internet)->(vpe test-vpc/appdata-endpoint-gateway); allowed-protocols[0] + rules { + name = "rule22" + action = "allow" + direction = "inbound" + source = "0.0.0.0/0" + destination = "10.240.0.0/24" + } + # External. response to required-connections[0]: (external public internet)->(vpe test-vpc/appdata-endpoint-gateway); allowed-protocols[0] + rules { + name = "rule23" + action = "allow" + direction = "outbound" + source = "10.240.0.0/24" + destination = "0.0.0.0/0" + } +} + +# test-vpc/sub2 [10.240.128.0/24] +resource "ibm_is_network_acl" "acl-test-vpc--sub2" { + name = "acl-test-vpc--sub2" + resource_group = local.acl_synth_resource_group_id + vpc = local.acl_synth_test-vpc_id + # Internal. required-connections[1]: (vpe test-vpc/policydb-endpoint-gateway)->(subnet test-vpc/sub1); allowed-protocols[0] + rules { + name = "rule0" + action = "allow" + direction = "outbound" + source = "10.240.128.0/24" + destination = "10.240.0.0/24" + } + # Internal. response to required-connections[1]: (vpe test-vpc/policydb-endpoint-gateway)->(subnet test-vpc/sub1); allowed-protocols[0] + rules { + name = "rule1" + action = "allow" + direction = "inbound" + source = "10.240.0.0/24" + destination = "10.240.128.0/24" + } + # Deny other internal communication; see rfc1918#3; item 0,0 + rules { + name = "rule2" + action = "deny" + direction = "outbound" + source = "10.0.0.0/8" + destination = "10.0.0.0/8" + } + # Deny other internal communication; see rfc1918#3; item 0,0 + rules { + name = "rule3" + action = "deny" + direction = "inbound" + source = "10.0.0.0/8" + destination = "10.0.0.0/8" + } + # Deny other internal communication; see rfc1918#3; item 0,1 + rules { + name = "rule4" + action = "deny" + direction = "outbound" + source = "10.0.0.0/8" + destination = "172.16.0.0/12" + } + # Deny other internal communication; see rfc1918#3; item 0,1 + rules { + name = "rule5" + action = "deny" + direction = "inbound" + source = "172.16.0.0/12" + destination = "10.0.0.0/8" + } + # Deny other internal communication; see rfc1918#3; item 0,2 + rules { + name = "rule6" + action = "deny" + direction = "outbound" + source = "10.0.0.0/8" + destination = "192.168.0.0/16" + } + # Deny other internal communication; see rfc1918#3; item 0,2 + rules { + name = "rule7" + action = "deny" + direction = "inbound" + source = "192.168.0.0/16" + destination = "10.0.0.0/8" + } + # Deny other internal communication; see rfc1918#3; item 1,0 + rules { + name = "rule8" + action = "deny" + direction = "outbound" + source = "172.16.0.0/12" + destination = "10.0.0.0/8" + } + # Deny other internal communication; see rfc1918#3; item 1,0 + rules { + name = "rule9" + action = "deny" + direction = "inbound" + source = "10.0.0.0/8" + destination = "172.16.0.0/12" + } + # Deny other internal communication; see rfc1918#3; item 1,1 + rules { + name = "rule10" + action = "deny" + direction = "outbound" + source = "172.16.0.0/12" + destination = "172.16.0.0/12" + } + # Deny other internal communication; see rfc1918#3; item 1,1 + rules { + name = "rule11" + action = "deny" + direction = "inbound" + source = "172.16.0.0/12" + destination = "172.16.0.0/12" + } + # Deny other internal communication; see rfc1918#3; item 1,2 + rules { + name = "rule12" + action = "deny" + direction = "outbound" + source = "172.16.0.0/12" + destination = "192.168.0.0/16" + } + # Deny other internal communication; see rfc1918#3; item 1,2 + rules { + name = "rule13" + action = "deny" + direction = "inbound" + source = "192.168.0.0/16" + destination = "172.16.0.0/12" + } + # Deny other internal communication; see rfc1918#3; item 2,0 + rules { + name = "rule14" + action = "deny" + direction = "outbound" + source = "192.168.0.0/16" + destination = "10.0.0.0/8" + } + # Deny other internal communication; see rfc1918#3; item 2,0 + rules { + name = "rule15" + action = "deny" + direction = "inbound" + source = "10.0.0.0/8" + destination = "192.168.0.0/16" + } + # Deny other internal communication; see rfc1918#3; item 2,1 + rules { + name = "rule16" + action = "deny" + direction = "outbound" + source = "192.168.0.0/16" + destination = "172.16.0.0/12" + } + # Deny other internal communication; see rfc1918#3; item 2,1 + rules { + name = "rule17" + action = "deny" + direction = "inbound" + source = "172.16.0.0/12" + destination = "192.168.0.0/16" + } + # Deny other internal communication; see rfc1918#3; item 2,2 + rules { + name = "rule18" + action = "deny" + direction = "outbound" + source = "192.168.0.0/16" + destination = "192.168.0.0/16" + } + # Deny other internal communication; see rfc1918#3; item 2,2 + rules { + name = "rule19" + action = "deny" + direction = "inbound" + source = "192.168.0.0/16" + destination = "192.168.0.0/16" + } + # External. required-connections[0]: (external public internet)->(vpe test-vpc/appdata-endpoint-gateway); allowed-protocols[0] + rules { + name = "rule20" + action = "allow" + direction = "inbound" + source = "0.0.0.0/0" + destination = "10.240.128.0/24" + } + # External. response to required-connections[0]: (external public internet)->(vpe test-vpc/appdata-endpoint-gateway); allowed-protocols[0] + rules { + name = "rule21" + action = "allow" + direction = "outbound" + source = "10.240.128.0/24" + destination = "0.0.0.0/0" + } +} + +# test-vpc/sub3 [10.240.64.0/24] +resource "ibm_is_network_acl" "acl-test-vpc--sub3" { + name = "acl-test-vpc--sub3" + resource_group = local.acl_synth_resource_group_id + vpc = local.acl_synth_test-vpc_id + # Internal. required-connections[1]: (vpe test-vpc/policydb-endpoint-gateway)->(subnet test-vpc/sub1); allowed-protocols[0] + rules { + name = "rule0" + action = "allow" + direction = "outbound" + source = "10.240.64.0/24" + destination = "10.240.0.0/24" + } + # Internal. response to required-connections[1]: (vpe test-vpc/policydb-endpoint-gateway)->(subnet test-vpc/sub1); allowed-protocols[0] + rules { + name = "rule1" + action = "allow" + direction = "inbound" + source = "10.240.0.0/24" + destination = "10.240.64.0/24" + } +} diff --git a/test/synth_test_list.go b/test/synth_test_list.go index ce00dc88..fac53a7a 100644 --- a/test/synth_test_list.go +++ b/test/synth_test_list.go @@ -27,6 +27,9 @@ const ( aclTgMultipleConfig = "%s/acl_tg_multiple/config_object.json" aclTgMultipleSpec = "%s/acl_tg_multiple/conn_spec.json" + aclVpeConfig = "%s/acl_vpe/config_object.json" + aclVpeSpec = "%s/acl_vpe/conn_spec.json" + sgProtocolsConfig = "%s/sg_protocols/config_object.json" sgProtocolsSpec = "%s/sg_protocols/conn_spec.json" @@ -222,6 +225,18 @@ func synthACLTestsList() []testCase { format: tfOutputFmt, }, }, + + // acl vpe ## sg_testing3 config + { + testName: "acl_vpe_tf", + args: &command{ + cmd: synth, + subcmd: acl, + config: aclVpeConfig, + spec: aclVpeSpec, + outputFile: "%s/acl_vpe_tf/nacl_expected.tf", + }, + }, } } From 6fa8417d4cabd915aeb5749c708a210970277c65 Mon Sep 17 00:00:00 2001 From: Yair Slobodin Date: Mon, 14 Oct 2024 16:28:13 +0300 Subject: [PATCH 12/13] merge test configs --- .../config_object.json | 6269 ----------------- test/data/acl_protocols/config_object.json | 6269 ----------------- .../config_object.json | 1776 ----- .../config_object.json | 0 test/data/acl_tg_multiple/config_object.json | 6269 ----------------- test/data/acl_vpe/config_object.json | 2077 ------ test/data/sg_protocols/config_object.json | 6269 ----------------- test/data/sg_tg_multiple/config_object.json | 6269 ----------------- .../config_object.json | 0 test/synth_test_list.go | 84 +- 10 files changed, 34 insertions(+), 35248 deletions(-) delete mode 100644 test/data/acl_nif_instance_segments/config_object.json delete mode 100644 test/data/acl_protocols/config_object.json delete mode 100644 test/data/acl_subnet_cidr_segments/config_object.json rename test/data/{acl_externals => acl_testing4}/config_object.json (100%) delete mode 100644 test/data/acl_tg_multiple/config_object.json delete mode 100644 test/data/acl_vpe/config_object.json delete mode 100644 test/data/sg_protocols/config_object.json delete mode 100644 test/data/sg_tg_multiple/config_object.json rename test/data/{acl_nif => tg_multiple}/config_object.json (100%) diff --git a/test/data/acl_nif_instance_segments/config_object.json b/test/data/acl_nif_instance_segments/config_object.json deleted file mode 100644 index 7e94d3b8..00000000 --- a/test/data/acl_nif_instance_segments/config_object.json +++ /dev/null @@ -1,6269 +0,0 @@ -{ - "collector_version": "0.11.0", - "provider": "ibm", - "vpcs": [ - { - "classic_access": false, - "created_at": "2024-06-25T15:40:20.000Z", - "crn": "crn:1", - "cse_source_ips": [ - { - "ip": { - "address": "10.22.215.5" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.22.220.2" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.249.82.12" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:8", - "href": "href:9", - "id": "id:10", - "name": "automaker-castle-bird-worried" - }, - "default_routing_table": { - "href": "href:11", - "id": "id:12", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "brute-upon-angles-cubbyhole" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.80.0/20", - "created_at": "2024-06-25T15:40:39.000Z", - "has_subnets": true, - "href": "href:18", - "id": "id:19", - "is_default": false, - "name": "address-prefix-vpc-1", - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "cidr": "10.240.64.0/20", - "created_at": "2024-06-25T15:40:40.000Z", - "has_subnets": true, - "href": "href:20", - "id": "id:21", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:6", - "name": "us-south-2" - } - } - ], - "tags": [] - }, - { - "classic_access": false, - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:22", - "cse_source_ips": [ - { - "ip": { - "address": "10.16.238.56" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.249.200.205" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.249.212.88" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:25", - "href": "href:26", - "id": "id:27", - "name": "ebullient-slacks-revert-turkey" - }, - "default_routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:30", - "href": "href:31", - "id": "id:32", - "name": "basically-drank-bulk-jam" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.0.0/22", - "created_at": "2024-06-25T15:40:37.000Z", - "has_subnets": true, - "href": "href:33", - "id": "id:34", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "cidr": "10.240.4.0/22", - "created_at": "2024-06-25T15:40:38.000Z", - "has_subnets": true, - "href": "href:35", - "id": "id:36", - "is_default": false, - "name": "address-prefix-vpc-1", - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "cidr": "10.240.8.0/22", - "created_at": "2024-06-25T15:40:39.000Z", - "has_subnets": true, - "href": "href:37", - "id": "id:38", - "is_default": false, - "name": "address-prefix-vpc-2", - "zone": { - "href": "href:5", - "name": "us-south-1" - } - } - ], - "tags": [] - }, - { - "classic_access": false, - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:39", - "cse_source_ips": [ - { - "ip": { - "address": "10.12.125.16" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.22.27.134" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.22.231.90" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:42", - "href": "href:43", - "id": "id:44", - "name": "afoot-grape-fineness-zestfully" - }, - "default_routing_table": { - "href": "href:45", - "id": "id:46", - "name": "quintuple-severity-caddie-manuals", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:47", - "href": "href:48", - "id": "id:49", - "name": "glance-cactus-unease-bankroll" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.128.0/20", - "created_at": "2024-06-25T15:40:39.000Z", - "has_subnets": true, - "href": "href:50", - "id": "id:51", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "tags": [] - }, - { - "classic_access": false, - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:52", - "cse_source_ips": [ - { - "ip": { - "address": "10.22.219.155" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.12.159.11" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.16.253.109" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:55", - "href": "href:56", - "id": "id:57", - "name": "untracked-repayment-triumph-cat" - }, - "default_routing_table": { - "href": "href:58", - "id": "id:59", - "name": "probational-herring-undone-daintily", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:60", - "href": "href:61", - "id": "id:62", - "name": "repeater-upcountry-agreeing-acutely" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.192.0/20", - "created_at": "2024-06-25T15:40:38.000Z", - "has_subnets": true, - "href": "href:63", - "id": "id:64", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "tags": [] - } - ], - "subnets": [ - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:47.000Z", - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.9.0/24", - "name": "subnet5", - "network_acl": { - "crn": "crn:68", - "href": "href:69", - "id": "id:70", - "name": "acl3" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.9.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:71", - "id": "id:72", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:73", - "id": "id:74", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:75", - "id": "id:76", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:77", - "id": "id:78", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:79", - "id": "id:80", - "lifecycle_state": "stable", - "name": "ideally-grain-bagpipe-luxuriant", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.9.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:20.000Z", - "href": "href:83", - "id": "id:84", - "lifecycle_state": "stable", - "name": "outskirts-unaligned-passivism-parchment", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.9.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:87", - "id": "id:88", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:35.000Z", - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.5.0/24", - "name": "subnet3", - "network_acl": { - "crn": "crn:92", - "href": "href:93", - "id": "id:94", - "name": "acl2" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.5.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:95", - "id": "id:96", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:97", - "id": "id:98", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:99", - "id": "id:100", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:101", - "id": "id:102", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:103", - "id": "id:104", - "lifecycle_state": "stable", - "name": "rising-gopher-reentry-graveness", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.5.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:16.000Z", - "href": "href:107", - "id": "id:108", - "lifecycle_state": "stable", - "name": "recognize-citable-exerciser-unsecured", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.5.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:111", - "id": "id:112", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:23.000Z", - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.0.0/24", - "name": "subnet0", - "network_acl": { - "crn": "crn:116", - "href": "href:117", - "id": "id:118", - "name": "acl1" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.0.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:119", - "id": "id:120", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:121", - "id": "id:122", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:123", - "id": "id:124", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:125", - "id": "id:126", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:08.000Z", - "href": "href:127", - "id": "id:128", - "lifecycle_state": "stable", - "name": "pundit-tight-arbitrate-grace", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.0.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:39.000Z", - "href": "href:131", - "id": "id:132", - "lifecycle_state": "stable", - "name": "relatable-antiques-maturing-brulee", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.0.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:135", - "id": "id:136", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 250, - "created_at": "2024-06-25T15:41:20.000Z", - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.80.0/24", - "name": "subnet11", - "network_acl": { - "crn": "crn:140", - "href": "href:141", - "id": "id:142", - "name": "acl11" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "reserved_ips": [ - { - "address": "10.240.80.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:143", - "id": "id:144", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:145", - "id": "id:146", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:147", - "id": "id:148", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:149", - "id": "id:150", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:40.000Z", - "href": "href:151", - "id": "id:152", - "lifecycle_state": "stable", - "name": "childlike-publish-retainer-movie", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.80.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:155", - "id": "id:156", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:08.000Z", - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.4.0/24", - "name": "subnet2", - "network_acl": { - "crn": "crn:92", - "href": "href:93", - "id": "id:94", - "name": "acl2" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.4.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:160", - "id": "id:161", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:162", - "id": "id:163", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:164", - "id": "id:165", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:166", - "id": "id:167", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:21.000Z", - "href": "href:168", - "id": "id:169", - "lifecycle_state": "stable", - "name": "stood-sitcom-whoops-hurled", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.4.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:22.000Z", - "href": "href:172", - "id": "id:173", - "lifecycle_state": "stable", - "name": "bark-gatherer-rope-unrivaled", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.4.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:176", - "id": "id:177", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 250, - "created_at": "2024-06-25T15:41:08.000Z", - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.64.0/24", - "name": "subnet10", - "network_acl": { - "crn": "crn:140", - "href": "href:141", - "id": "id:142", - "name": "acl11" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "reserved_ips": [ - { - "address": "10.240.64.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:181", - "id": "id:182", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:183", - "id": "id:184", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:185", - "id": "id:186", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:187", - "id": "id:188", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:36.000Z", - "href": "href:189", - "id": "id:190", - "lifecycle_state": "stable", - "name": "starry-smasher-ladle-dioxide", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.64.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:193", - "id": "id:194", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 248, - "created_at": "2024-06-25T15:40:57.000Z", - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.128.0/24", - "name": "subnet20", - "network_acl": { - "crn": "crn:198", - "href": "href:199", - "id": "id:200", - "name": "acl21" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:45", - "id": "id:46", - "name": "quintuple-severity-caddie-manuals", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "reserved_ips": [ - { - "address": "10.240.128.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:201", - "id": "id:202", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:203", - "id": "id:204", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:205", - "id": "id:206", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:207", - "id": "id:208", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:21.000Z", - "href": "href:209", - "id": "id:210", - "lifecycle_state": "stable", - "name": "unmixed-qualify-prescribe-railcar", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.5", - "auto_delete": false, - "created_at": "2024-06-25T15:41:21.000Z", - "href": "href:213", - "id": "id:214", - "lifecycle_state": "stable", - "name": "customs-recollect-drippy-primate", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.6", - "auto_delete": false, - "created_at": "2024-06-25T15:41:24.000Z", - "href": "href:217", - "id": "id:218", - "lifecycle_state": "stable", - "name": "uniquely-shelter-gracious-sudden", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:221", - "id": "id:222", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:40:56.000Z", - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.1.0/24", - "name": "subnet1", - "network_acl": { - "crn": "crn:116", - "href": "href:117", - "id": "id:118", - "name": "acl1" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.1.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:226", - "id": "id:227", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:228", - "id": "id:229", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:230", - "id": "id:231", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:232", - "id": "id:233", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:234", - "id": "id:235", - "lifecycle_state": "stable", - "name": "excluded-unfair-jailbird-foil", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.1.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:40.000Z", - "href": "href:238", - "id": "id:239", - "lifecycle_state": "stable", - "name": "affected-johnniecake-monorail-ungraded", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.1.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:242", - "id": "id:243", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 250, - "created_at": "2024-06-25T15:40:48.000Z", - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.192.0/24", - "name": "subnet30", - "network_acl": { - "crn": "crn:247", - "href": "href:248", - "id": "id:249", - "name": "acl31" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:58", - "id": "id:59", - "name": "probational-herring-undone-daintily", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "reserved_ips": [ - { - "address": "10.240.192.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:250", - "id": "id:251", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:252", - "id": "id:253", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:254", - "id": "id:255", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:256", - "id": "id:257", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:01.000Z", - "href": "href:258", - "id": "id:259", - "lifecycle_state": "stable", - "name": "legacy-shore-molecule-barometer", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.192.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:262", - "id": "id:263", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:40:44.000Z", - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.8.0/24", - "name": "subnet4", - "network_acl": { - "crn": "crn:68", - "href": "href:69", - "id": "id:70", - "name": "acl3" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.8.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:267", - "id": "id:268", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:269", - "id": "id:270", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:271", - "id": "id:272", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:273", - "id": "id:274", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:275", - "id": "id:276", - "lifecycle_state": "stable", - "name": "bagged-posture-glaring-cojoined", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.8.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:16.000Z", - "href": "href:279", - "id": "id:280", - "lifecycle_state": "stable", - "name": "frighten-mystified-freeway-hurtling", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.8.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:283", - "id": "id:284", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - } - ], - "public_gateways": [], - "floating_ips": [ - { - "address": "52.118.151.238", - "created_at": "2024-06-25T15:43:30.000Z", - "crn": "crn:285", - "href": "href:286", - "id": "id:287", - "name": "fip-0-subnet0", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "primary_ip": { - "address": "10.240.0.4", - "href": "href:127", - "id": "id:128", - "name": "pundit-tight-arbitrate-grace", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "tags": [] - }, - { - "address": "150.239.167.146", - "created_at": "2024-06-25T15:41:59.000Z", - "crn": "crn:288", - "href": "href:289", - "id": "id:290", - "name": "fip-0-subnet10", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "primary_ip": { - "address": "10.240.64.4", - "href": "href:189", - "id": "id:190", - "name": "starry-smasher-ladle-dioxide", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "tags": [] - }, - { - "address": "169.48.95.165", - "created_at": "2024-06-25T15:41:50.000Z", - "crn": "crn:291", - "href": "href:292", - "id": "id:293", - "name": "fip-0-subnet20", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "primary_ip": { - "address": "10.240.128.6", - "href": "href:217", - "id": "id:218", - "name": "uniquely-shelter-gracious-sudden", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "tags": [] - }, - { - "address": "52.118.100.239", - "created_at": "2024-06-25T15:41:33.000Z", - "crn": "crn:294", - "href": "href:295", - "id": "id:296", - "name": "fip-0-subnet30", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "primary_ip": { - "address": "10.240.192.4", - "href": "href:258", - "id": "id:259", - "name": "legacy-shore-molecule-barometer", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "tags": [] - } - ], - "network_acls": [ - { - "created_at": "2024-06-25T15:40:41.000Z", - "crn": "crn:140", - "href": "href:141", - "id": "id:142", - "name": "acl11", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "deny", - "before": { - "href": "href:299", - "id": "id:300", - "name": "acl11-out-2" - }, - "created_at": "2024-06-25T15:40:42.000Z", - "destination": "10.240.4.0/24", - "direction": "outbound", - "href": "href:297", - "id": "id:298", - "ip_version": "ipv4", - "name": "acl11-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "before": { - "href": "href:301", - "id": "id:302", - "name": "acl11-in-1" - }, - "created_at": "2024-06-25T15:40:43.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:299", - "id": "id:300", - "ip_version": "ipv4", - "name": "acl11-out-2", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:43.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:301", - "id": "id:302", - "ip_version": "ipv4", - "name": "acl11-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - }, - { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:247", - "href": "href:248", - "id": "id:249", - "name": "acl31", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:305", - "id": "id:306", - "name": "acl31-in-1" - }, - "created_at": "2024-06-25T15:40:41.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:303", - "id": "id:304", - "ip_version": "ipv4", - "name": "acl31-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:41.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:305", - "id": "id:306", - "ip_version": "ipv4", - "name": "acl31-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:198", - "href": "href:199", - "id": "id:200", - "name": "acl21", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:309", - "id": "id:310", - "name": "acl21-in-1" - }, - "created_at": "2024-06-25T15:40:41.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:307", - "id": "id:308", - "ip_version": "ipv4", - "name": "acl21-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:42.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:309", - "id": "id:310", - "ip_version": "ipv4", - "name": "acl21-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:38.000Z", - "crn": "crn:92", - "href": "href:93", - "id": "id:94", - "name": "acl2", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:313", - "id": "id:314", - "name": "acl1-in-1" - }, - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:311", - "id": "id:312", - "ip_version": "ipv4", - "name": "acl1-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:39.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:313", - "id": "id:314", - "ip_version": "ipv4", - "name": "acl1-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:37.000Z", - "crn": "crn:68", - "href": "href:69", - "id": "id:70", - "name": "acl3", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:317", - "id": "id:318", - "name": "acl1-in-1" - }, - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:315", - "id": "id:316", - "ip_version": "ipv4", - "name": "acl1-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:317", - "id": "id:318", - "ip_version": "ipv4", - "name": "acl1-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:37.000Z", - "crn": "crn:116", - "href": "href:117", - "id": "id:118", - "name": "acl1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:321", - "id": "id:322", - "name": "acl1-in-1" - }, - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:319", - "id": "id:320", - "ip_version": "ipv4", - "name": "acl1-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:321", - "id": "id:322", - "ip_version": "ipv4", - "name": "acl1-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:20.000Z", - "crn": "crn:8", - "href": "href:9", - "id": "id:10", - "name": "automaker-castle-bird-worried", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:325", - "id": "id:326", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:20.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:323", - "id": "id:324", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:20.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:325", - "id": "id:326", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:42", - "href": "href:43", - "id": "id:44", - "name": "afoot-grape-fineness-zestfully", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:329", - "id": "id:330", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:327", - "id": "id:328", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:329", - "id": "id:330", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:25", - "href": "href:26", - "id": "id:27", - "name": "ebullient-slacks-revert-turkey", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:333", - "id": "id:334", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:331", - "id": "id:332", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:333", - "id": "id:334", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:55", - "href": "href:56", - "id": "id:57", - "name": "untracked-repayment-triumph-cat", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:337", - "id": "id:338", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:335", - "id": "id:336", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:337", - "id": "id:338", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - } - ], - "security_groups": [ - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:342", - "id": "id:343", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:344", - "id": "id:345", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "resource_type": "network_interface" - }, - { - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "resource_type": "network_interface" - }, - { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:346", - "href": "href:347", - "id": "id:348", - "name": "sg31", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:349", - "id": "id:350", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:351", - "id": "id:352", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:353", - "href": "href:354", - "id": "id:355", - "name": "sg11", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:356", - "id": "id:357", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:358", - "id": "id:359", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "resource_type": "network_interface" - }, - { - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:37.000Z", - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "inbound", - "href": "href:363", - "id": "id:364", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "outbound", - "href": "href:365", - "id": "id:366", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "resource_type": "network_interface" - }, - { - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "resource_type": "network_interface" - }, - { - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "resource_type": "network_interface" - }, - { - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "resource_type": "network_interface" - }, - { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "resource_type": "network_interface" - }, - { - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "resource_type": "network_interface" - }, - { - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "resource_type": "network_interface" - }, - { - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "resource_type": "network_interface" - }, - { - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "resource_type": "network_interface" - }, - { - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "resource_type": "network_interface" - }, - { - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "resource_type": "network_interface" - }, - { - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:20.000Z", - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "brute-upon-angles-cubbyhole", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:367", - "id": "id:368", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:369", - "id": "id:370", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "brute-upon-angles-cubbyhole" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:30", - "href": "href:31", - "id": "id:32", - "name": "basically-drank-bulk-jam", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:371", - "id": "id:372", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:373", - "id": "id:374", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:30", - "href": "href:31", - "id": "id:32", - "name": "basically-drank-bulk-jam" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:47", - "href": "href:48", - "id": "id:49", - "name": "glance-cactus-unease-bankroll", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:375", - "id": "id:376", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:377", - "id": "id:378", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:47", - "href": "href:48", - "id": "id:49", - "name": "glance-cactus-unease-bankroll" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:60", - "href": "href:61", - "id": "id:62", - "name": "repeater-upcountry-agreeing-acutely", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:379", - "id": "id:380", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:381", - "id": "id:382", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:60", - "href": "href:61", - "id": "id:62", - "name": "repeater-upcountry-agreeing-acutely" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - } - ], - "endpoint_gateways": [], - "instances": [ - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:388" - }, - "href": "href:386", - "id": "id:387", - "name": "thief-monastery-blinks-verdict", - "volume": { - "crn": "crn:389", - "href": "href:390", - "id": "id:391", - "name": "scrabble-gorged-baton-angled", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:40.000Z", - "crn": "crn:383", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:384", - "id": "id:385", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet1", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "primary_ip": { - "address": "10.240.1.5", - "href": "href:238", - "id": "id:239", - "name": "affected-johnniecake-monorail-ungraded", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:388" - }, - "href": "href:386", - "id": "id:387", - "name": "thief-monastery-blinks-verdict", - "volume": { - "crn": "crn:389", - "href": "href:390", - "id": "id:391", - "name": "scrabble-gorged-baton-angled", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:40.000Z", - "floating_ips": [], - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.1.5", - "href": "href:238", - "id": "id:239", - "name": "affected-johnniecake-monorail-ungraded", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:401" - }, - "href": "href:399", - "id": "id:400", - "name": "hunchback-enginous-dividend-atrium", - "volume": { - "crn": "crn:402", - "href": "href:403", - "id": "id:404", - "name": "subsoil-bobble-bovine-unmoving", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:39.000Z", - "crn": "crn:396", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:397", - "id": "id:398", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet0", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "primary_ip": { - "address": "10.240.0.5", - "href": "href:131", - "id": "id:132", - "name": "relatable-antiques-maturing-brulee", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:401" - }, - "href": "href:399", - "id": "id:400", - "name": "hunchback-enginous-dividend-atrium", - "volume": { - "crn": "crn:402", - "href": "href:403", - "id": "id:404", - "name": "subsoil-bobble-bovine-unmoving", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:39.000Z", - "floating_ips": [], - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.0.5", - "href": "href:131", - "id": "id:132", - "name": "relatable-antiques-maturing-brulee", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:410" - }, - "href": "href:408", - "id": "id:409", - "name": "laboring-overbuilt-growl-headland", - "volume": { - "crn": "crn:411", - "href": "href:412", - "id": "id:413", - "name": "tamper-salvaging-stick-giddily", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:22.000Z", - "crn": "crn:405", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:406", - "id": "id:407", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet2", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "primary_ip": { - "address": "10.240.4.5", - "href": "href:172", - "id": "id:173", - "name": "bark-gatherer-rope-unrivaled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:410" - }, - "href": "href:408", - "id": "id:409", - "name": "laboring-overbuilt-growl-headland", - "volume": { - "crn": "crn:411", - "href": "href:412", - "id": "id:413", - "name": "tamper-salvaging-stick-giddily", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:22.000Z", - "floating_ips": [], - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.4.5", - "href": "href:172", - "id": "id:173", - "name": "bark-gatherer-rope-unrivaled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:419" - }, - "href": "href:417", - "id": "id:418", - "name": "dollop-partition-helping-palmtree", - "volume": { - "crn": "crn:420", - "href": "href:421", - "id": "id:422", - "name": "ravage-deny-amusable-settling", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:20.000Z", - "crn": "crn:414", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:415", - "id": "id:416", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet5", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "primary_ip": { - "address": "10.240.9.5", - "href": "href:83", - "id": "id:84", - "name": "outskirts-unaligned-passivism-parchment", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:419" - }, - "href": "href:417", - "id": "id:418", - "name": "dollop-partition-helping-palmtree", - "volume": { - "crn": "crn:420", - "href": "href:421", - "id": "id:422", - "name": "ravage-deny-amusable-settling", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:20.000Z", - "floating_ips": [], - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.9.5", - "href": "href:83", - "id": "id:84", - "name": "outskirts-unaligned-passivism-parchment", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:428" - }, - "href": "href:426", - "id": "id:427", - "name": "petted-ethanol-voicing-rocklike", - "volume": { - "crn": "crn:429", - "href": "href:430", - "id": "id:431", - "name": "uptown-striving-unrevised-earthlike", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:20.000Z", - "crn": "crn:423", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:424", - "id": "id:425", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet2", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "primary_ip": { - "address": "10.240.4.4", - "href": "href:168", - "id": "id:169", - "name": "stood-sitcom-whoops-hurled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:428" - }, - "href": "href:426", - "id": "id:427", - "name": "petted-ethanol-voicing-rocklike", - "volume": { - "crn": "crn:429", - "href": "href:430", - "id": "id:431", - "name": "uptown-striving-unrevised-earthlike", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:20.000Z", - "floating_ips": [], - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.4.4", - "href": "href:168", - "id": "id:169", - "name": "stood-sitcom-whoops-hurled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:437" - }, - "href": "href:435", - "id": "id:436", - "name": "promenade-spyglass-flattop-pushpin", - "volume": { - "crn": "crn:438", - "href": "href:439", - "id": "id:440", - "name": "relax-shaded-prism-jaunt", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:16.000Z", - "crn": "crn:432", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:433", - "id": "id:434", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet3", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "primary_ip": { - "address": "10.240.5.5", - "href": "href:107", - "id": "id:108", - "name": "recognize-citable-exerciser-unsecured", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:437" - }, - "href": "href:435", - "id": "id:436", - "name": "promenade-spyglass-flattop-pushpin", - "volume": { - "crn": "crn:438", - "href": "href:439", - "id": "id:440", - "name": "relax-shaded-prism-jaunt", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:16.000Z", - "floating_ips": [], - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.5.5", - "href": "href:107", - "id": "id:108", - "name": "recognize-citable-exerciser-unsecured", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:446" - }, - "href": "href:444", - "id": "id:445", - "name": "sandbox-federal-sculptor-jugum", - "volume": { - "crn": "crn:447", - "href": "href:448", - "id": "id:449", - "name": "convent-ramrod-cloning-afterward", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:15.000Z", - "crn": "crn:441", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:442", - "id": "id:443", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet4", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "primary_ip": { - "address": "10.240.8.5", - "href": "href:279", - "id": "id:280", - "name": "frighten-mystified-freeway-hurtling", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:446" - }, - "href": "href:444", - "id": "id:445", - "name": "sandbox-federal-sculptor-jugum", - "volume": { - "crn": "crn:447", - "href": "href:448", - "id": "id:449", - "name": "convent-ramrod-cloning-afterward", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:15.000Z", - "floating_ips": [], - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.8.5", - "href": "href:279", - "id": "id:280", - "name": "frighten-mystified-freeway-hurtling", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:455" - }, - "href": "href:453", - "id": "id:454", - "name": "affidavit-chastise-elsewhere-viewer", - "volume": { - "crn": "crn:456", - "href": "href:457", - "id": "id:458", - "name": "fancy-destiny-shuffling-sandbank", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:07.000Z", - "crn": "crn:450", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:451", - "id": "id:452", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet0", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "primary_ip": { - "address": "10.240.0.4", - "href": "href:127", - "id": "id:128", - "name": "pundit-tight-arbitrate-grace", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:455" - }, - "href": "href:453", - "id": "id:454", - "name": "affidavit-chastise-elsewhere-viewer", - "volume": { - "crn": "crn:456", - "href": "href:457", - "id": "id:458", - "name": "fancy-destiny-shuffling-sandbank", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:07.000Z", - "floating_ips": [ - { - "address": "52.118.151.238", - "crn": "crn:285", - "href": "href:286", - "id": "id:287", - "name": "fip-0-subnet0" - } - ], - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.0.4", - "href": "href:127", - "id": "id:128", - "name": "pundit-tight-arbitrate-grace", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:464" - }, - "href": "href:462", - "id": "id:463", - "name": "uneven-armoire-scabiosa-letter", - "volume": { - "crn": "crn:465", - "href": "href:466", - "id": "id:467", - "name": "cognition-blinks-humid-oxidant", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:459", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:460", - "id": "id:461", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet3", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "primary_ip": { - "address": "10.240.5.4", - "href": "href:103", - "id": "id:104", - "name": "rising-gopher-reentry-graveness", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:464" - }, - "href": "href:462", - "id": "id:463", - "name": "uneven-armoire-scabiosa-letter", - "volume": { - "crn": "crn:465", - "href": "href:466", - "id": "id:467", - "name": "cognition-blinks-humid-oxidant", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.5.4", - "href": "href:103", - "id": "id:104", - "name": "rising-gopher-reentry-graveness", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:473" - }, - "href": "href:471", - "id": "id:472", - "name": "perplexed-impulsivity-august-jaws", - "volume": { - "crn": "crn:474", - "href": "href:475", - "id": "id:476", - "name": "tartar-sixties-fructose-parmesan", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:468", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:469", - "id": "id:470", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet1", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "primary_ip": { - "address": "10.240.1.4", - "href": "href:234", - "id": "id:235", - "name": "excluded-unfair-jailbird-foil", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:473" - }, - "href": "href:471", - "id": "id:472", - "name": "perplexed-impulsivity-august-jaws", - "volume": { - "crn": "crn:474", - "href": "href:475", - "id": "id:476", - "name": "tartar-sixties-fructose-parmesan", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.1.4", - "href": "href:234", - "id": "id:235", - "name": "excluded-unfair-jailbird-foil", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:482" - }, - "href": "href:480", - "id": "id:481", - "name": "litter-snipping-unclasp-dust", - "volume": { - "crn": "crn:483", - "href": "href:484", - "id": "id:485", - "name": "untried-sulphate-hypnosis-subsidize", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:477", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:478", - "id": "id:479", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet4", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "primary_ip": { - "address": "10.240.8.4", - "href": "href:275", - "id": "id:276", - "name": "bagged-posture-glaring-cojoined", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:482" - }, - "href": "href:480", - "id": "id:481", - "name": "litter-snipping-unclasp-dust", - "volume": { - "crn": "crn:483", - "href": "href:484", - "id": "id:485", - "name": "untried-sulphate-hypnosis-subsidize", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.8.4", - "href": "href:275", - "id": "id:276", - "name": "bagged-posture-glaring-cojoined", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:491" - }, - "href": "href:489", - "id": "id:490", - "name": "unlawful-overreach-yarn-rippling", - "volume": { - "crn": "crn:492", - "href": "href:493", - "id": "id:494", - "name": "finer-voter-roving-jailer", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:486", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:487", - "id": "id:488", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet5", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "primary_ip": { - "address": "10.240.9.4", - "href": "href:79", - "id": "id:80", - "name": "ideally-grain-bagpipe-luxuriant", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:491" - }, - "href": "href:489", - "id": "id:490", - "name": "unlawful-overreach-yarn-rippling", - "volume": { - "crn": "crn:492", - "href": "href:493", - "id": "id:494", - "name": "finer-voter-roving-jailer", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.9.4", - "href": "href:79", - "id": "id:80", - "name": "ideally-grain-bagpipe-luxuriant", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:500" - }, - "href": "href:498", - "id": "id:499", - "name": "mashed-thing-headache-estate", - "volume": { - "crn": "crn:501", - "href": "href:502", - "id": "id:503", - "name": "mountain-harpist-libraries-dreaming", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:39.000Z", - "crn": "crn:495", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:496", - "id": "id:497", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet11", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "primary_ip": { - "address": "10.240.80.4", - "href": "href:151", - "id": "id:152", - "name": "childlike-publish-retainer-movie", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:500" - }, - "href": "href:498", - "id": "id:499", - "name": "mashed-thing-headache-estate", - "volume": { - "crn": "crn:501", - "href": "href:502", - "id": "id:503", - "name": "mountain-harpist-libraries-dreaming", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:39.000Z", - "floating_ips": [], - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.80.4", - "href": "href:151", - "id": "id:152", - "name": "childlike-publish-retainer-movie", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:353", - "href": "href:354", - "id": "id:355", - "name": "sg11" - } - ], - "status": "available", - "subnet": { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:509" - }, - "href": "href:507", - "id": "id:508", - "name": "calzone-cacti-moonlight-subarctic", - "volume": { - "crn": "crn:510", - "href": "href:511", - "id": "id:512", - "name": "blurred-dream-pectin-tapping", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:36.000Z", - "crn": "crn:504", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:505", - "id": "id:506", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet10", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "primary_ip": { - "address": "10.240.64.4", - "href": "href:189", - "id": "id:190", - "name": "starry-smasher-ladle-dioxide", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:509" - }, - "href": "href:507", - "id": "id:508", - "name": "calzone-cacti-moonlight-subarctic", - "volume": { - "crn": "crn:510", - "href": "href:511", - "id": "id:512", - "name": "blurred-dream-pectin-tapping", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:36.000Z", - "floating_ips": [ - { - "address": "150.239.167.146", - "crn": "crn:288", - "href": "href:289", - "id": "id:290", - "name": "fip-0-subnet10" - } - ], - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.64.4", - "href": "href:189", - "id": "id:190", - "name": "starry-smasher-ladle-dioxide", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:353", - "href": "href:354", - "id": "id:355", - "name": "sg11" - } - ], - "status": "available", - "subnet": { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:518" - }, - "href": "href:516", - "id": "id:517", - "name": "recoup-blinks-ebullient-renewed", - "volume": { - "crn": "crn:519", - "href": "href:520", - "id": "id:521", - "name": "manmade-unequal-disinfect-cone", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:24.000Z", - "crn": "crn:513", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:514", - "id": "id:515", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet20", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "primary_ip": { - "address": "10.240.128.6", - "href": "href:217", - "id": "id:218", - "name": "uniquely-shelter-gracious-sudden", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:518" - }, - "href": "href:516", - "id": "id:517", - "name": "recoup-blinks-ebullient-renewed", - "volume": { - "crn": "crn:519", - "href": "href:520", - "id": "id:521", - "name": "manmade-unequal-disinfect-cone", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:24.000Z", - "floating_ips": [ - { - "address": "169.48.95.165", - "crn": "crn:291", - "href": "href:292", - "id": "id:293", - "name": "fip-0-subnet20" - } - ], - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.6", - "href": "href:217", - "id": "id:218", - "name": "uniquely-shelter-gracious-sudden", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21" - } - ], - "status": "available", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:527" - }, - "href": "href:525", - "id": "id:526", - "name": "radio-tightrope-outtakes-moonshine", - "volume": { - "crn": "crn:528", - "href": "href:529", - "id": "id:530", - "name": "tattoo-crescent-unwary-hayride", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:21.000Z", - "crn": "crn:522", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:523", - "id": "id:524", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet20", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "primary_ip": { - "address": "10.240.128.5", - "href": "href:213", - "id": "id:214", - "name": "customs-recollect-drippy-primate", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:527" - }, - "href": "href:525", - "id": "id:526", - "name": "radio-tightrope-outtakes-moonshine", - "volume": { - "crn": "crn:528", - "href": "href:529", - "id": "id:530", - "name": "tattoo-crescent-unwary-hayride", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:21.000Z", - "floating_ips": [], - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.5", - "href": "href:213", - "id": "id:214", - "name": "customs-recollect-drippy-primate", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21" - } - ], - "status": "available", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:536" - }, - "href": "href:534", - "id": "id:535", - "name": "crumpet-ride-tastiness-phoney", - "volume": { - "crn": "crn:537", - "href": "href:538", - "id": "id:539", - "name": "doorframe-marvelous-refusing-citable", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:21.000Z", - "crn": "crn:531", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:532", - "id": "id:533", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi2-subnet20", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "primary_ip": { - "address": "10.240.128.4", - "href": "href:209", - "id": "id:210", - "name": "unmixed-qualify-prescribe-railcar", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:536" - }, - "href": "href:534", - "id": "id:535", - "name": "crumpet-ride-tastiness-phoney", - "volume": { - "crn": "crn:537", - "href": "href:538", - "id": "id:539", - "name": "doorframe-marvelous-refusing-citable", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:21.000Z", - "floating_ips": [], - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.4", - "href": "href:209", - "id": "id:210", - "name": "unmixed-qualify-prescribe-railcar", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21" - } - ], - "status": "available", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:545" - }, - "href": "href:543", - "id": "id:544", - "name": "bronzing-vendor-plod-pretzel", - "volume": { - "crn": "crn:546", - "href": "href:547", - "id": "id:548", - "name": "squelch-plop-headlamp-ideologue", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:00.000Z", - "crn": "crn:540", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:541", - "id": "id:542", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet30", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "primary_ip": { - "address": "10.240.192.4", - "href": "href:258", - "id": "id:259", - "name": "legacy-shore-molecule-barometer", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:545" - }, - "href": "href:543", - "id": "id:544", - "name": "bronzing-vendor-plod-pretzel", - "volume": { - "crn": "crn:546", - "href": "href:547", - "id": "id:548", - "name": "squelch-plop-headlamp-ideologue", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:00.000Z", - "floating_ips": [ - { - "address": "52.118.100.239", - "crn": "crn:294", - "href": "href:295", - "id": "id:296", - "name": "fip-0-subnet30" - } - ], - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.192.4", - "href": "href:258", - "id": "id:259", - "name": "legacy-shore-molecule-barometer", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:346", - "href": "href:347", - "id": "id:348", - "name": "sg31" - } - ], - "status": "available", - "subnet": { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - } - ], - "routing_tables": [ - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:20.000Z", - "href": "href:11", - "id": "id:12", - "is_default": true, - "lifecycle_state": "stable", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - }, - { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - } - }, - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:19.000Z", - "href": "href:28", - "id": "id:29", - "is_default": true, - "lifecycle_state": "stable", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - }, - { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - }, - { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - } - }, - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:19.000Z", - "href": "href:45", - "id": "id:46", - "is_default": true, - "lifecycle_state": "stable", - "name": "quintuple-severity-caddie-manuals", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - } - }, - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:19.000Z", - "href": "href:58", - "id": "id:59", - "is_default": true, - "lifecycle_state": "stable", - "name": "probational-herring-undone-daintily", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - } - } - ], - "load_balancers": [], - "transit_connections": [ - { - "created_at": "2024-06-25T15:41:44.212Z", - "id": "id:549", - "name": "tg3_connection3", - "network_id": "crn:52", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:550", - "id": "id:551", - "name": "local-tg3" - }, - "updated_at": "2024-06-25T15:45:14.206Z" - }, - { - "created_at": "2024-06-25T15:41:54.416Z", - "id": "id:552", - "name": "tg3_connection0", - "network_id": "crn:22", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:550", - "id": "id:551", - "name": "local-tg3" - }, - "updated_at": "2024-06-25T15:45:53.979Z" - }, - { - "created_at": "2024-06-25T15:42:54.772Z", - "id": "id:553", - "name": "tg2_connection3", - "network_id": "crn:52", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:554", - "id": "id:555", - "name": "local-tg2" - }, - "updated_at": "2024-06-25T15:49:08.822Z" - }, - { - "created_at": "2024-06-25T15:43:11.555Z", - "id": "id:556", - "name": "tg2_connection0", - "network_id": "crn:22", - "network_type": "vpc", - "prefix_filters": [ - { - "action": "deny", - "created_at": "2024-06-25T15:46:46.641Z", - "id": "id:557", - "le": 32, - "prefix": "10.240.0.0/22", - "updated_at": "2024-06-25T15:46:46.641Z" - } - ], - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:554", - "id": "id:555", - "name": "local-tg2" - }, - "updated_at": "2024-06-25T15:49:59.395Z" - }, - { - "created_at": "2024-06-25T15:43:12.159Z", - "id": "id:558", - "name": "tg_connection0", - "network_id": "crn:22", - "network_type": "vpc", - "prefix_filters": [ - { - "action": "deny", - "before": "298db67f-2e68-4548-93b9-949f8356d4a0", - "created_at": "2024-06-25T15:45:14.711Z", - "id": "id:559", - "prefix": "10.240.4.0/22", - "updated_at": "2024-06-25T15:45:14.711Z" - }, - { - "action": "deny", - "created_at": "2024-06-25T15:45:25.435Z", - "id": "id:560", - "prefix": "10.240.8.0/22", - "updated_at": "2024-06-25T15:45:25.435Z" - } - ], - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:561", - "id": "id:562", - "name": "local-tg1" - }, - "updated_at": "2024-06-25T15:49:53.837Z" - }, - { - "created_at": "2024-06-25T15:43:41.079Z", - "id": "id:563", - "name": "tg2_connection2", - "network_id": "crn:39", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:554", - "id": "id:555", - "name": "local-tg2" - }, - "updated_at": "2024-06-25T15:49:43.192Z" - }, - { - "created_at": "2024-06-25T15:43:42.335Z", - "id": "id:564", - "name": "tg1_connection1", - "network_id": "crn:1", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:561", - "id": "id:562", - "name": "local-tg1" - }, - "updated_at": "2024-06-25T15:48:45.229Z" - }, - { - "created_at": "2024-06-25T15:44:08.995Z", - "id": "id:565", - "name": "tg1_connection2", - "network_id": "crn:39", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:561", - "id": "id:562", - "name": "local-tg1" - }, - "updated_at": "2024-06-25T15:49:11.976Z" - } - ], - "transit_gateways": [ - { - "id": "id:551", - "crn": "crn:550", - "name": "local-tg3", - "location": "us-south", - "created_at": "2024-06-25T15:40:21.390Z", - "global": false, - "resource_group": { - "id": "id:17", - "href": "href:566" - }, - "status": "available", - "updated_at": "2024-06-25T15:42:12.752Z" - }, - { - "id": "id:555", - "crn": "crn:554", - "name": "local-tg2", - "location": "us-south", - "created_at": "2024-06-25T15:40:25.895Z", - "global": false, - "resource_group": { - "id": "id:17", - "href": "href:566" - }, - "status": "available", - "updated_at": "2024-06-25T15:43:58.196Z" - }, - { - "id": "id:562", - "crn": "crn:561", - "name": "local-tg1", - "location": "us-south", - "created_at": "2024-06-25T15:40:26.455Z", - "global": false, - "resource_group": { - "id": "id:17", - "href": "href:566" - }, - "status": "available", - "updated_at": "2024-06-25T15:43:15.331Z" - } - ], - "iks_clusters": [] -} diff --git a/test/data/acl_protocols/config_object.json b/test/data/acl_protocols/config_object.json deleted file mode 100644 index 7e94d3b8..00000000 --- a/test/data/acl_protocols/config_object.json +++ /dev/null @@ -1,6269 +0,0 @@ -{ - "collector_version": "0.11.0", - "provider": "ibm", - "vpcs": [ - { - "classic_access": false, - "created_at": "2024-06-25T15:40:20.000Z", - "crn": "crn:1", - "cse_source_ips": [ - { - "ip": { - "address": "10.22.215.5" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.22.220.2" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.249.82.12" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:8", - "href": "href:9", - "id": "id:10", - "name": "automaker-castle-bird-worried" - }, - "default_routing_table": { - "href": "href:11", - "id": "id:12", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "brute-upon-angles-cubbyhole" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.80.0/20", - "created_at": "2024-06-25T15:40:39.000Z", - "has_subnets": true, - "href": "href:18", - "id": "id:19", - "is_default": false, - "name": "address-prefix-vpc-1", - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "cidr": "10.240.64.0/20", - "created_at": "2024-06-25T15:40:40.000Z", - "has_subnets": true, - "href": "href:20", - "id": "id:21", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:6", - "name": "us-south-2" - } - } - ], - "tags": [] - }, - { - "classic_access": false, - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:22", - "cse_source_ips": [ - { - "ip": { - "address": "10.16.238.56" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.249.200.205" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.249.212.88" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:25", - "href": "href:26", - "id": "id:27", - "name": "ebullient-slacks-revert-turkey" - }, - "default_routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:30", - "href": "href:31", - "id": "id:32", - "name": "basically-drank-bulk-jam" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.0.0/22", - "created_at": "2024-06-25T15:40:37.000Z", - "has_subnets": true, - "href": "href:33", - "id": "id:34", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "cidr": "10.240.4.0/22", - "created_at": "2024-06-25T15:40:38.000Z", - "has_subnets": true, - "href": "href:35", - "id": "id:36", - "is_default": false, - "name": "address-prefix-vpc-1", - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "cidr": "10.240.8.0/22", - "created_at": "2024-06-25T15:40:39.000Z", - "has_subnets": true, - "href": "href:37", - "id": "id:38", - "is_default": false, - "name": "address-prefix-vpc-2", - "zone": { - "href": "href:5", - "name": "us-south-1" - } - } - ], - "tags": [] - }, - { - "classic_access": false, - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:39", - "cse_source_ips": [ - { - "ip": { - "address": "10.12.125.16" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.22.27.134" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.22.231.90" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:42", - "href": "href:43", - "id": "id:44", - "name": "afoot-grape-fineness-zestfully" - }, - "default_routing_table": { - "href": "href:45", - "id": "id:46", - "name": "quintuple-severity-caddie-manuals", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:47", - "href": "href:48", - "id": "id:49", - "name": "glance-cactus-unease-bankroll" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.128.0/20", - "created_at": "2024-06-25T15:40:39.000Z", - "has_subnets": true, - "href": "href:50", - "id": "id:51", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "tags": [] - }, - { - "classic_access": false, - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:52", - "cse_source_ips": [ - { - "ip": { - "address": "10.22.219.155" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.12.159.11" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.16.253.109" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:55", - "href": "href:56", - "id": "id:57", - "name": "untracked-repayment-triumph-cat" - }, - "default_routing_table": { - "href": "href:58", - "id": "id:59", - "name": "probational-herring-undone-daintily", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:60", - "href": "href:61", - "id": "id:62", - "name": "repeater-upcountry-agreeing-acutely" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.192.0/20", - "created_at": "2024-06-25T15:40:38.000Z", - "has_subnets": true, - "href": "href:63", - "id": "id:64", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "tags": [] - } - ], - "subnets": [ - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:47.000Z", - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.9.0/24", - "name": "subnet5", - "network_acl": { - "crn": "crn:68", - "href": "href:69", - "id": "id:70", - "name": "acl3" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.9.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:71", - "id": "id:72", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:73", - "id": "id:74", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:75", - "id": "id:76", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:77", - "id": "id:78", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:79", - "id": "id:80", - "lifecycle_state": "stable", - "name": "ideally-grain-bagpipe-luxuriant", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.9.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:20.000Z", - "href": "href:83", - "id": "id:84", - "lifecycle_state": "stable", - "name": "outskirts-unaligned-passivism-parchment", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.9.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:87", - "id": "id:88", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:35.000Z", - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.5.0/24", - "name": "subnet3", - "network_acl": { - "crn": "crn:92", - "href": "href:93", - "id": "id:94", - "name": "acl2" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.5.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:95", - "id": "id:96", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:97", - "id": "id:98", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:99", - "id": "id:100", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:101", - "id": "id:102", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:103", - "id": "id:104", - "lifecycle_state": "stable", - "name": "rising-gopher-reentry-graveness", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.5.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:16.000Z", - "href": "href:107", - "id": "id:108", - "lifecycle_state": "stable", - "name": "recognize-citable-exerciser-unsecured", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.5.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:111", - "id": "id:112", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:23.000Z", - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.0.0/24", - "name": "subnet0", - "network_acl": { - "crn": "crn:116", - "href": "href:117", - "id": "id:118", - "name": "acl1" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.0.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:119", - "id": "id:120", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:121", - "id": "id:122", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:123", - "id": "id:124", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:125", - "id": "id:126", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:08.000Z", - "href": "href:127", - "id": "id:128", - "lifecycle_state": "stable", - "name": "pundit-tight-arbitrate-grace", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.0.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:39.000Z", - "href": "href:131", - "id": "id:132", - "lifecycle_state": "stable", - "name": "relatable-antiques-maturing-brulee", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.0.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:135", - "id": "id:136", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 250, - "created_at": "2024-06-25T15:41:20.000Z", - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.80.0/24", - "name": "subnet11", - "network_acl": { - "crn": "crn:140", - "href": "href:141", - "id": "id:142", - "name": "acl11" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "reserved_ips": [ - { - "address": "10.240.80.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:143", - "id": "id:144", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:145", - "id": "id:146", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:147", - "id": "id:148", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:149", - "id": "id:150", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:40.000Z", - "href": "href:151", - "id": "id:152", - "lifecycle_state": "stable", - "name": "childlike-publish-retainer-movie", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.80.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:155", - "id": "id:156", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:08.000Z", - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.4.0/24", - "name": "subnet2", - "network_acl": { - "crn": "crn:92", - "href": "href:93", - "id": "id:94", - "name": "acl2" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.4.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:160", - "id": "id:161", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:162", - "id": "id:163", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:164", - "id": "id:165", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:166", - "id": "id:167", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:21.000Z", - "href": "href:168", - "id": "id:169", - "lifecycle_state": "stable", - "name": "stood-sitcom-whoops-hurled", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.4.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:22.000Z", - "href": "href:172", - "id": "id:173", - "lifecycle_state": "stable", - "name": "bark-gatherer-rope-unrivaled", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.4.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:176", - "id": "id:177", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 250, - "created_at": "2024-06-25T15:41:08.000Z", - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.64.0/24", - "name": "subnet10", - "network_acl": { - "crn": "crn:140", - "href": "href:141", - "id": "id:142", - "name": "acl11" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "reserved_ips": [ - { - "address": "10.240.64.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:181", - "id": "id:182", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:183", - "id": "id:184", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:185", - "id": "id:186", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:187", - "id": "id:188", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:36.000Z", - "href": "href:189", - "id": "id:190", - "lifecycle_state": "stable", - "name": "starry-smasher-ladle-dioxide", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.64.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:193", - "id": "id:194", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 248, - "created_at": "2024-06-25T15:40:57.000Z", - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.128.0/24", - "name": "subnet20", - "network_acl": { - "crn": "crn:198", - "href": "href:199", - "id": "id:200", - "name": "acl21" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:45", - "id": "id:46", - "name": "quintuple-severity-caddie-manuals", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "reserved_ips": [ - { - "address": "10.240.128.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:201", - "id": "id:202", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:203", - "id": "id:204", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:205", - "id": "id:206", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:207", - "id": "id:208", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:21.000Z", - "href": "href:209", - "id": "id:210", - "lifecycle_state": "stable", - "name": "unmixed-qualify-prescribe-railcar", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.5", - "auto_delete": false, - "created_at": "2024-06-25T15:41:21.000Z", - "href": "href:213", - "id": "id:214", - "lifecycle_state": "stable", - "name": "customs-recollect-drippy-primate", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.6", - "auto_delete": false, - "created_at": "2024-06-25T15:41:24.000Z", - "href": "href:217", - "id": "id:218", - "lifecycle_state": "stable", - "name": "uniquely-shelter-gracious-sudden", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:221", - "id": "id:222", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:40:56.000Z", - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.1.0/24", - "name": "subnet1", - "network_acl": { - "crn": "crn:116", - "href": "href:117", - "id": "id:118", - "name": "acl1" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.1.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:226", - "id": "id:227", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:228", - "id": "id:229", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:230", - "id": "id:231", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:232", - "id": "id:233", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:234", - "id": "id:235", - "lifecycle_state": "stable", - "name": "excluded-unfair-jailbird-foil", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.1.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:40.000Z", - "href": "href:238", - "id": "id:239", - "lifecycle_state": "stable", - "name": "affected-johnniecake-monorail-ungraded", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.1.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:242", - "id": "id:243", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 250, - "created_at": "2024-06-25T15:40:48.000Z", - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.192.0/24", - "name": "subnet30", - "network_acl": { - "crn": "crn:247", - "href": "href:248", - "id": "id:249", - "name": "acl31" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:58", - "id": "id:59", - "name": "probational-herring-undone-daintily", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "reserved_ips": [ - { - "address": "10.240.192.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:250", - "id": "id:251", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:252", - "id": "id:253", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:254", - "id": "id:255", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:256", - "id": "id:257", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:01.000Z", - "href": "href:258", - "id": "id:259", - "lifecycle_state": "stable", - "name": "legacy-shore-molecule-barometer", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.192.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:262", - "id": "id:263", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:40:44.000Z", - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.8.0/24", - "name": "subnet4", - "network_acl": { - "crn": "crn:68", - "href": "href:69", - "id": "id:70", - "name": "acl3" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.8.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:267", - "id": "id:268", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:269", - "id": "id:270", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:271", - "id": "id:272", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:273", - "id": "id:274", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:275", - "id": "id:276", - "lifecycle_state": "stable", - "name": "bagged-posture-glaring-cojoined", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.8.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:16.000Z", - "href": "href:279", - "id": "id:280", - "lifecycle_state": "stable", - "name": "frighten-mystified-freeway-hurtling", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.8.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:283", - "id": "id:284", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - } - ], - "public_gateways": [], - "floating_ips": [ - { - "address": "52.118.151.238", - "created_at": "2024-06-25T15:43:30.000Z", - "crn": "crn:285", - "href": "href:286", - "id": "id:287", - "name": "fip-0-subnet0", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "primary_ip": { - "address": "10.240.0.4", - "href": "href:127", - "id": "id:128", - "name": "pundit-tight-arbitrate-grace", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "tags": [] - }, - { - "address": "150.239.167.146", - "created_at": "2024-06-25T15:41:59.000Z", - "crn": "crn:288", - "href": "href:289", - "id": "id:290", - "name": "fip-0-subnet10", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "primary_ip": { - "address": "10.240.64.4", - "href": "href:189", - "id": "id:190", - "name": "starry-smasher-ladle-dioxide", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "tags": [] - }, - { - "address": "169.48.95.165", - "created_at": "2024-06-25T15:41:50.000Z", - "crn": "crn:291", - "href": "href:292", - "id": "id:293", - "name": "fip-0-subnet20", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "primary_ip": { - "address": "10.240.128.6", - "href": "href:217", - "id": "id:218", - "name": "uniquely-shelter-gracious-sudden", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "tags": [] - }, - { - "address": "52.118.100.239", - "created_at": "2024-06-25T15:41:33.000Z", - "crn": "crn:294", - "href": "href:295", - "id": "id:296", - "name": "fip-0-subnet30", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "primary_ip": { - "address": "10.240.192.4", - "href": "href:258", - "id": "id:259", - "name": "legacy-shore-molecule-barometer", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "tags": [] - } - ], - "network_acls": [ - { - "created_at": "2024-06-25T15:40:41.000Z", - "crn": "crn:140", - "href": "href:141", - "id": "id:142", - "name": "acl11", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "deny", - "before": { - "href": "href:299", - "id": "id:300", - "name": "acl11-out-2" - }, - "created_at": "2024-06-25T15:40:42.000Z", - "destination": "10.240.4.0/24", - "direction": "outbound", - "href": "href:297", - "id": "id:298", - "ip_version": "ipv4", - "name": "acl11-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "before": { - "href": "href:301", - "id": "id:302", - "name": "acl11-in-1" - }, - "created_at": "2024-06-25T15:40:43.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:299", - "id": "id:300", - "ip_version": "ipv4", - "name": "acl11-out-2", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:43.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:301", - "id": "id:302", - "ip_version": "ipv4", - "name": "acl11-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - }, - { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:247", - "href": "href:248", - "id": "id:249", - "name": "acl31", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:305", - "id": "id:306", - "name": "acl31-in-1" - }, - "created_at": "2024-06-25T15:40:41.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:303", - "id": "id:304", - "ip_version": "ipv4", - "name": "acl31-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:41.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:305", - "id": "id:306", - "ip_version": "ipv4", - "name": "acl31-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:198", - "href": "href:199", - "id": "id:200", - "name": "acl21", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:309", - "id": "id:310", - "name": "acl21-in-1" - }, - "created_at": "2024-06-25T15:40:41.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:307", - "id": "id:308", - "ip_version": "ipv4", - "name": "acl21-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:42.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:309", - "id": "id:310", - "ip_version": "ipv4", - "name": "acl21-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:38.000Z", - "crn": "crn:92", - "href": "href:93", - "id": "id:94", - "name": "acl2", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:313", - "id": "id:314", - "name": "acl1-in-1" - }, - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:311", - "id": "id:312", - "ip_version": "ipv4", - "name": "acl1-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:39.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:313", - "id": "id:314", - "ip_version": "ipv4", - "name": "acl1-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:37.000Z", - "crn": "crn:68", - "href": "href:69", - "id": "id:70", - "name": "acl3", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:317", - "id": "id:318", - "name": "acl1-in-1" - }, - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:315", - "id": "id:316", - "ip_version": "ipv4", - "name": "acl1-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:317", - "id": "id:318", - "ip_version": "ipv4", - "name": "acl1-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:37.000Z", - "crn": "crn:116", - "href": "href:117", - "id": "id:118", - "name": "acl1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:321", - "id": "id:322", - "name": "acl1-in-1" - }, - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:319", - "id": "id:320", - "ip_version": "ipv4", - "name": "acl1-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:321", - "id": "id:322", - "ip_version": "ipv4", - "name": "acl1-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:20.000Z", - "crn": "crn:8", - "href": "href:9", - "id": "id:10", - "name": "automaker-castle-bird-worried", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:325", - "id": "id:326", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:20.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:323", - "id": "id:324", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:20.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:325", - "id": "id:326", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:42", - "href": "href:43", - "id": "id:44", - "name": "afoot-grape-fineness-zestfully", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:329", - "id": "id:330", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:327", - "id": "id:328", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:329", - "id": "id:330", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:25", - "href": "href:26", - "id": "id:27", - "name": "ebullient-slacks-revert-turkey", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:333", - "id": "id:334", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:331", - "id": "id:332", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:333", - "id": "id:334", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:55", - "href": "href:56", - "id": "id:57", - "name": "untracked-repayment-triumph-cat", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:337", - "id": "id:338", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:335", - "id": "id:336", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:337", - "id": "id:338", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - } - ], - "security_groups": [ - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:342", - "id": "id:343", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:344", - "id": "id:345", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "resource_type": "network_interface" - }, - { - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "resource_type": "network_interface" - }, - { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:346", - "href": "href:347", - "id": "id:348", - "name": "sg31", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:349", - "id": "id:350", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:351", - "id": "id:352", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:353", - "href": "href:354", - "id": "id:355", - "name": "sg11", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:356", - "id": "id:357", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:358", - "id": "id:359", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "resource_type": "network_interface" - }, - { - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:37.000Z", - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "inbound", - "href": "href:363", - "id": "id:364", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "outbound", - "href": "href:365", - "id": "id:366", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "resource_type": "network_interface" - }, - { - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "resource_type": "network_interface" - }, - { - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "resource_type": "network_interface" - }, - { - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "resource_type": "network_interface" - }, - { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "resource_type": "network_interface" - }, - { - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "resource_type": "network_interface" - }, - { - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "resource_type": "network_interface" - }, - { - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "resource_type": "network_interface" - }, - { - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "resource_type": "network_interface" - }, - { - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "resource_type": "network_interface" - }, - { - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "resource_type": "network_interface" - }, - { - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:20.000Z", - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "brute-upon-angles-cubbyhole", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:367", - "id": "id:368", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:369", - "id": "id:370", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "brute-upon-angles-cubbyhole" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:30", - "href": "href:31", - "id": "id:32", - "name": "basically-drank-bulk-jam", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:371", - "id": "id:372", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:373", - "id": "id:374", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:30", - "href": "href:31", - "id": "id:32", - "name": "basically-drank-bulk-jam" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:47", - "href": "href:48", - "id": "id:49", - "name": "glance-cactus-unease-bankroll", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:375", - "id": "id:376", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:377", - "id": "id:378", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:47", - "href": "href:48", - "id": "id:49", - "name": "glance-cactus-unease-bankroll" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:60", - "href": "href:61", - "id": "id:62", - "name": "repeater-upcountry-agreeing-acutely", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:379", - "id": "id:380", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:381", - "id": "id:382", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:60", - "href": "href:61", - "id": "id:62", - "name": "repeater-upcountry-agreeing-acutely" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - } - ], - "endpoint_gateways": [], - "instances": [ - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:388" - }, - "href": "href:386", - "id": "id:387", - "name": "thief-monastery-blinks-verdict", - "volume": { - "crn": "crn:389", - "href": "href:390", - "id": "id:391", - "name": "scrabble-gorged-baton-angled", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:40.000Z", - "crn": "crn:383", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:384", - "id": "id:385", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet1", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "primary_ip": { - "address": "10.240.1.5", - "href": "href:238", - "id": "id:239", - "name": "affected-johnniecake-monorail-ungraded", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:388" - }, - "href": "href:386", - "id": "id:387", - "name": "thief-monastery-blinks-verdict", - "volume": { - "crn": "crn:389", - "href": "href:390", - "id": "id:391", - "name": "scrabble-gorged-baton-angled", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:40.000Z", - "floating_ips": [], - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.1.5", - "href": "href:238", - "id": "id:239", - "name": "affected-johnniecake-monorail-ungraded", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:401" - }, - "href": "href:399", - "id": "id:400", - "name": "hunchback-enginous-dividend-atrium", - "volume": { - "crn": "crn:402", - "href": "href:403", - "id": "id:404", - "name": "subsoil-bobble-bovine-unmoving", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:39.000Z", - "crn": "crn:396", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:397", - "id": "id:398", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet0", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "primary_ip": { - "address": "10.240.0.5", - "href": "href:131", - "id": "id:132", - "name": "relatable-antiques-maturing-brulee", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:401" - }, - "href": "href:399", - "id": "id:400", - "name": "hunchback-enginous-dividend-atrium", - "volume": { - "crn": "crn:402", - "href": "href:403", - "id": "id:404", - "name": "subsoil-bobble-bovine-unmoving", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:39.000Z", - "floating_ips": [], - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.0.5", - "href": "href:131", - "id": "id:132", - "name": "relatable-antiques-maturing-brulee", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:410" - }, - "href": "href:408", - "id": "id:409", - "name": "laboring-overbuilt-growl-headland", - "volume": { - "crn": "crn:411", - "href": "href:412", - "id": "id:413", - "name": "tamper-salvaging-stick-giddily", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:22.000Z", - "crn": "crn:405", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:406", - "id": "id:407", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet2", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "primary_ip": { - "address": "10.240.4.5", - "href": "href:172", - "id": "id:173", - "name": "bark-gatherer-rope-unrivaled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:410" - }, - "href": "href:408", - "id": "id:409", - "name": "laboring-overbuilt-growl-headland", - "volume": { - "crn": "crn:411", - "href": "href:412", - "id": "id:413", - "name": "tamper-salvaging-stick-giddily", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:22.000Z", - "floating_ips": [], - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.4.5", - "href": "href:172", - "id": "id:173", - "name": "bark-gatherer-rope-unrivaled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:419" - }, - "href": "href:417", - "id": "id:418", - "name": "dollop-partition-helping-palmtree", - "volume": { - "crn": "crn:420", - "href": "href:421", - "id": "id:422", - "name": "ravage-deny-amusable-settling", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:20.000Z", - "crn": "crn:414", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:415", - "id": "id:416", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet5", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "primary_ip": { - "address": "10.240.9.5", - "href": "href:83", - "id": "id:84", - "name": "outskirts-unaligned-passivism-parchment", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:419" - }, - "href": "href:417", - "id": "id:418", - "name": "dollop-partition-helping-palmtree", - "volume": { - "crn": "crn:420", - "href": "href:421", - "id": "id:422", - "name": "ravage-deny-amusable-settling", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:20.000Z", - "floating_ips": [], - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.9.5", - "href": "href:83", - "id": "id:84", - "name": "outskirts-unaligned-passivism-parchment", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:428" - }, - "href": "href:426", - "id": "id:427", - "name": "petted-ethanol-voicing-rocklike", - "volume": { - "crn": "crn:429", - "href": "href:430", - "id": "id:431", - "name": "uptown-striving-unrevised-earthlike", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:20.000Z", - "crn": "crn:423", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:424", - "id": "id:425", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet2", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "primary_ip": { - "address": "10.240.4.4", - "href": "href:168", - "id": "id:169", - "name": "stood-sitcom-whoops-hurled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:428" - }, - "href": "href:426", - "id": "id:427", - "name": "petted-ethanol-voicing-rocklike", - "volume": { - "crn": "crn:429", - "href": "href:430", - "id": "id:431", - "name": "uptown-striving-unrevised-earthlike", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:20.000Z", - "floating_ips": [], - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.4.4", - "href": "href:168", - "id": "id:169", - "name": "stood-sitcom-whoops-hurled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:437" - }, - "href": "href:435", - "id": "id:436", - "name": "promenade-spyglass-flattop-pushpin", - "volume": { - "crn": "crn:438", - "href": "href:439", - "id": "id:440", - "name": "relax-shaded-prism-jaunt", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:16.000Z", - "crn": "crn:432", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:433", - "id": "id:434", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet3", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "primary_ip": { - "address": "10.240.5.5", - "href": "href:107", - "id": "id:108", - "name": "recognize-citable-exerciser-unsecured", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:437" - }, - "href": "href:435", - "id": "id:436", - "name": "promenade-spyglass-flattop-pushpin", - "volume": { - "crn": "crn:438", - "href": "href:439", - "id": "id:440", - "name": "relax-shaded-prism-jaunt", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:16.000Z", - "floating_ips": [], - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.5.5", - "href": "href:107", - "id": "id:108", - "name": "recognize-citable-exerciser-unsecured", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:446" - }, - "href": "href:444", - "id": "id:445", - "name": "sandbox-federal-sculptor-jugum", - "volume": { - "crn": "crn:447", - "href": "href:448", - "id": "id:449", - "name": "convent-ramrod-cloning-afterward", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:15.000Z", - "crn": "crn:441", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:442", - "id": "id:443", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet4", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "primary_ip": { - "address": "10.240.8.5", - "href": "href:279", - "id": "id:280", - "name": "frighten-mystified-freeway-hurtling", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:446" - }, - "href": "href:444", - "id": "id:445", - "name": "sandbox-federal-sculptor-jugum", - "volume": { - "crn": "crn:447", - "href": "href:448", - "id": "id:449", - "name": "convent-ramrod-cloning-afterward", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:15.000Z", - "floating_ips": [], - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.8.5", - "href": "href:279", - "id": "id:280", - "name": "frighten-mystified-freeway-hurtling", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:455" - }, - "href": "href:453", - "id": "id:454", - "name": "affidavit-chastise-elsewhere-viewer", - "volume": { - "crn": "crn:456", - "href": "href:457", - "id": "id:458", - "name": "fancy-destiny-shuffling-sandbank", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:07.000Z", - "crn": "crn:450", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:451", - "id": "id:452", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet0", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "primary_ip": { - "address": "10.240.0.4", - "href": "href:127", - "id": "id:128", - "name": "pundit-tight-arbitrate-grace", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:455" - }, - "href": "href:453", - "id": "id:454", - "name": "affidavit-chastise-elsewhere-viewer", - "volume": { - "crn": "crn:456", - "href": "href:457", - "id": "id:458", - "name": "fancy-destiny-shuffling-sandbank", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:07.000Z", - "floating_ips": [ - { - "address": "52.118.151.238", - "crn": "crn:285", - "href": "href:286", - "id": "id:287", - "name": "fip-0-subnet0" - } - ], - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.0.4", - "href": "href:127", - "id": "id:128", - "name": "pundit-tight-arbitrate-grace", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:464" - }, - "href": "href:462", - "id": "id:463", - "name": "uneven-armoire-scabiosa-letter", - "volume": { - "crn": "crn:465", - "href": "href:466", - "id": "id:467", - "name": "cognition-blinks-humid-oxidant", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:459", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:460", - "id": "id:461", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet3", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "primary_ip": { - "address": "10.240.5.4", - "href": "href:103", - "id": "id:104", - "name": "rising-gopher-reentry-graveness", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:464" - }, - "href": "href:462", - "id": "id:463", - "name": "uneven-armoire-scabiosa-letter", - "volume": { - "crn": "crn:465", - "href": "href:466", - "id": "id:467", - "name": "cognition-blinks-humid-oxidant", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.5.4", - "href": "href:103", - "id": "id:104", - "name": "rising-gopher-reentry-graveness", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:473" - }, - "href": "href:471", - "id": "id:472", - "name": "perplexed-impulsivity-august-jaws", - "volume": { - "crn": "crn:474", - "href": "href:475", - "id": "id:476", - "name": "tartar-sixties-fructose-parmesan", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:468", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:469", - "id": "id:470", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet1", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "primary_ip": { - "address": "10.240.1.4", - "href": "href:234", - "id": "id:235", - "name": "excluded-unfair-jailbird-foil", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:473" - }, - "href": "href:471", - "id": "id:472", - "name": "perplexed-impulsivity-august-jaws", - "volume": { - "crn": "crn:474", - "href": "href:475", - "id": "id:476", - "name": "tartar-sixties-fructose-parmesan", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.1.4", - "href": "href:234", - "id": "id:235", - "name": "excluded-unfair-jailbird-foil", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:482" - }, - "href": "href:480", - "id": "id:481", - "name": "litter-snipping-unclasp-dust", - "volume": { - "crn": "crn:483", - "href": "href:484", - "id": "id:485", - "name": "untried-sulphate-hypnosis-subsidize", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:477", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:478", - "id": "id:479", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet4", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "primary_ip": { - "address": "10.240.8.4", - "href": "href:275", - "id": "id:276", - "name": "bagged-posture-glaring-cojoined", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:482" - }, - "href": "href:480", - "id": "id:481", - "name": "litter-snipping-unclasp-dust", - "volume": { - "crn": "crn:483", - "href": "href:484", - "id": "id:485", - "name": "untried-sulphate-hypnosis-subsidize", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.8.4", - "href": "href:275", - "id": "id:276", - "name": "bagged-posture-glaring-cojoined", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:491" - }, - "href": "href:489", - "id": "id:490", - "name": "unlawful-overreach-yarn-rippling", - "volume": { - "crn": "crn:492", - "href": "href:493", - "id": "id:494", - "name": "finer-voter-roving-jailer", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:486", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:487", - "id": "id:488", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet5", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "primary_ip": { - "address": "10.240.9.4", - "href": "href:79", - "id": "id:80", - "name": "ideally-grain-bagpipe-luxuriant", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:491" - }, - "href": "href:489", - "id": "id:490", - "name": "unlawful-overreach-yarn-rippling", - "volume": { - "crn": "crn:492", - "href": "href:493", - "id": "id:494", - "name": "finer-voter-roving-jailer", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.9.4", - "href": "href:79", - "id": "id:80", - "name": "ideally-grain-bagpipe-luxuriant", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:500" - }, - "href": "href:498", - "id": "id:499", - "name": "mashed-thing-headache-estate", - "volume": { - "crn": "crn:501", - "href": "href:502", - "id": "id:503", - "name": "mountain-harpist-libraries-dreaming", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:39.000Z", - "crn": "crn:495", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:496", - "id": "id:497", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet11", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "primary_ip": { - "address": "10.240.80.4", - "href": "href:151", - "id": "id:152", - "name": "childlike-publish-retainer-movie", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:500" - }, - "href": "href:498", - "id": "id:499", - "name": "mashed-thing-headache-estate", - "volume": { - "crn": "crn:501", - "href": "href:502", - "id": "id:503", - "name": "mountain-harpist-libraries-dreaming", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:39.000Z", - "floating_ips": [], - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.80.4", - "href": "href:151", - "id": "id:152", - "name": "childlike-publish-retainer-movie", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:353", - "href": "href:354", - "id": "id:355", - "name": "sg11" - } - ], - "status": "available", - "subnet": { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:509" - }, - "href": "href:507", - "id": "id:508", - "name": "calzone-cacti-moonlight-subarctic", - "volume": { - "crn": "crn:510", - "href": "href:511", - "id": "id:512", - "name": "blurred-dream-pectin-tapping", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:36.000Z", - "crn": "crn:504", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:505", - "id": "id:506", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet10", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "primary_ip": { - "address": "10.240.64.4", - "href": "href:189", - "id": "id:190", - "name": "starry-smasher-ladle-dioxide", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:509" - }, - "href": "href:507", - "id": "id:508", - "name": "calzone-cacti-moonlight-subarctic", - "volume": { - "crn": "crn:510", - "href": "href:511", - "id": "id:512", - "name": "blurred-dream-pectin-tapping", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:36.000Z", - "floating_ips": [ - { - "address": "150.239.167.146", - "crn": "crn:288", - "href": "href:289", - "id": "id:290", - "name": "fip-0-subnet10" - } - ], - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.64.4", - "href": "href:189", - "id": "id:190", - "name": "starry-smasher-ladle-dioxide", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:353", - "href": "href:354", - "id": "id:355", - "name": "sg11" - } - ], - "status": "available", - "subnet": { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:518" - }, - "href": "href:516", - "id": "id:517", - "name": "recoup-blinks-ebullient-renewed", - "volume": { - "crn": "crn:519", - "href": "href:520", - "id": "id:521", - "name": "manmade-unequal-disinfect-cone", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:24.000Z", - "crn": "crn:513", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:514", - "id": "id:515", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet20", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "primary_ip": { - "address": "10.240.128.6", - "href": "href:217", - "id": "id:218", - "name": "uniquely-shelter-gracious-sudden", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:518" - }, - "href": "href:516", - "id": "id:517", - "name": "recoup-blinks-ebullient-renewed", - "volume": { - "crn": "crn:519", - "href": "href:520", - "id": "id:521", - "name": "manmade-unequal-disinfect-cone", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:24.000Z", - "floating_ips": [ - { - "address": "169.48.95.165", - "crn": "crn:291", - "href": "href:292", - "id": "id:293", - "name": "fip-0-subnet20" - } - ], - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.6", - "href": "href:217", - "id": "id:218", - "name": "uniquely-shelter-gracious-sudden", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21" - } - ], - "status": "available", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:527" - }, - "href": "href:525", - "id": "id:526", - "name": "radio-tightrope-outtakes-moonshine", - "volume": { - "crn": "crn:528", - "href": "href:529", - "id": "id:530", - "name": "tattoo-crescent-unwary-hayride", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:21.000Z", - "crn": "crn:522", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:523", - "id": "id:524", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet20", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "primary_ip": { - "address": "10.240.128.5", - "href": "href:213", - "id": "id:214", - "name": "customs-recollect-drippy-primate", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:527" - }, - "href": "href:525", - "id": "id:526", - "name": "radio-tightrope-outtakes-moonshine", - "volume": { - "crn": "crn:528", - "href": "href:529", - "id": "id:530", - "name": "tattoo-crescent-unwary-hayride", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:21.000Z", - "floating_ips": [], - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.5", - "href": "href:213", - "id": "id:214", - "name": "customs-recollect-drippy-primate", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21" - } - ], - "status": "available", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:536" - }, - "href": "href:534", - "id": "id:535", - "name": "crumpet-ride-tastiness-phoney", - "volume": { - "crn": "crn:537", - "href": "href:538", - "id": "id:539", - "name": "doorframe-marvelous-refusing-citable", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:21.000Z", - "crn": "crn:531", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:532", - "id": "id:533", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi2-subnet20", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "primary_ip": { - "address": "10.240.128.4", - "href": "href:209", - "id": "id:210", - "name": "unmixed-qualify-prescribe-railcar", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:536" - }, - "href": "href:534", - "id": "id:535", - "name": "crumpet-ride-tastiness-phoney", - "volume": { - "crn": "crn:537", - "href": "href:538", - "id": "id:539", - "name": "doorframe-marvelous-refusing-citable", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:21.000Z", - "floating_ips": [], - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.4", - "href": "href:209", - "id": "id:210", - "name": "unmixed-qualify-prescribe-railcar", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21" - } - ], - "status": "available", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:545" - }, - "href": "href:543", - "id": "id:544", - "name": "bronzing-vendor-plod-pretzel", - "volume": { - "crn": "crn:546", - "href": "href:547", - "id": "id:548", - "name": "squelch-plop-headlamp-ideologue", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:00.000Z", - "crn": "crn:540", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:541", - "id": "id:542", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet30", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "primary_ip": { - "address": "10.240.192.4", - "href": "href:258", - "id": "id:259", - "name": "legacy-shore-molecule-barometer", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:545" - }, - "href": "href:543", - "id": "id:544", - "name": "bronzing-vendor-plod-pretzel", - "volume": { - "crn": "crn:546", - "href": "href:547", - "id": "id:548", - "name": "squelch-plop-headlamp-ideologue", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:00.000Z", - "floating_ips": [ - { - "address": "52.118.100.239", - "crn": "crn:294", - "href": "href:295", - "id": "id:296", - "name": "fip-0-subnet30" - } - ], - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.192.4", - "href": "href:258", - "id": "id:259", - "name": "legacy-shore-molecule-barometer", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:346", - "href": "href:347", - "id": "id:348", - "name": "sg31" - } - ], - "status": "available", - "subnet": { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - } - ], - "routing_tables": [ - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:20.000Z", - "href": "href:11", - "id": "id:12", - "is_default": true, - "lifecycle_state": "stable", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - }, - { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - } - }, - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:19.000Z", - "href": "href:28", - "id": "id:29", - "is_default": true, - "lifecycle_state": "stable", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - }, - { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - }, - { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - } - }, - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:19.000Z", - "href": "href:45", - "id": "id:46", - "is_default": true, - "lifecycle_state": "stable", - "name": "quintuple-severity-caddie-manuals", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - } - }, - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:19.000Z", - "href": "href:58", - "id": "id:59", - "is_default": true, - "lifecycle_state": "stable", - "name": "probational-herring-undone-daintily", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - } - } - ], - "load_balancers": [], - "transit_connections": [ - { - "created_at": "2024-06-25T15:41:44.212Z", - "id": "id:549", - "name": "tg3_connection3", - "network_id": "crn:52", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:550", - "id": "id:551", - "name": "local-tg3" - }, - "updated_at": "2024-06-25T15:45:14.206Z" - }, - { - "created_at": "2024-06-25T15:41:54.416Z", - "id": "id:552", - "name": "tg3_connection0", - "network_id": "crn:22", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:550", - "id": "id:551", - "name": "local-tg3" - }, - "updated_at": "2024-06-25T15:45:53.979Z" - }, - { - "created_at": "2024-06-25T15:42:54.772Z", - "id": "id:553", - "name": "tg2_connection3", - "network_id": "crn:52", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:554", - "id": "id:555", - "name": "local-tg2" - }, - "updated_at": "2024-06-25T15:49:08.822Z" - }, - { - "created_at": "2024-06-25T15:43:11.555Z", - "id": "id:556", - "name": "tg2_connection0", - "network_id": "crn:22", - "network_type": "vpc", - "prefix_filters": [ - { - "action": "deny", - "created_at": "2024-06-25T15:46:46.641Z", - "id": "id:557", - "le": 32, - "prefix": "10.240.0.0/22", - "updated_at": "2024-06-25T15:46:46.641Z" - } - ], - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:554", - "id": "id:555", - "name": "local-tg2" - }, - "updated_at": "2024-06-25T15:49:59.395Z" - }, - { - "created_at": "2024-06-25T15:43:12.159Z", - "id": "id:558", - "name": "tg_connection0", - "network_id": "crn:22", - "network_type": "vpc", - "prefix_filters": [ - { - "action": "deny", - "before": "298db67f-2e68-4548-93b9-949f8356d4a0", - "created_at": "2024-06-25T15:45:14.711Z", - "id": "id:559", - "prefix": "10.240.4.0/22", - "updated_at": "2024-06-25T15:45:14.711Z" - }, - { - "action": "deny", - "created_at": "2024-06-25T15:45:25.435Z", - "id": "id:560", - "prefix": "10.240.8.0/22", - "updated_at": "2024-06-25T15:45:25.435Z" - } - ], - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:561", - "id": "id:562", - "name": "local-tg1" - }, - "updated_at": "2024-06-25T15:49:53.837Z" - }, - { - "created_at": "2024-06-25T15:43:41.079Z", - "id": "id:563", - "name": "tg2_connection2", - "network_id": "crn:39", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:554", - "id": "id:555", - "name": "local-tg2" - }, - "updated_at": "2024-06-25T15:49:43.192Z" - }, - { - "created_at": "2024-06-25T15:43:42.335Z", - "id": "id:564", - "name": "tg1_connection1", - "network_id": "crn:1", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:561", - "id": "id:562", - "name": "local-tg1" - }, - "updated_at": "2024-06-25T15:48:45.229Z" - }, - { - "created_at": "2024-06-25T15:44:08.995Z", - "id": "id:565", - "name": "tg1_connection2", - "network_id": "crn:39", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:561", - "id": "id:562", - "name": "local-tg1" - }, - "updated_at": "2024-06-25T15:49:11.976Z" - } - ], - "transit_gateways": [ - { - "id": "id:551", - "crn": "crn:550", - "name": "local-tg3", - "location": "us-south", - "created_at": "2024-06-25T15:40:21.390Z", - "global": false, - "resource_group": { - "id": "id:17", - "href": "href:566" - }, - "status": "available", - "updated_at": "2024-06-25T15:42:12.752Z" - }, - { - "id": "id:555", - "crn": "crn:554", - "name": "local-tg2", - "location": "us-south", - "created_at": "2024-06-25T15:40:25.895Z", - "global": false, - "resource_group": { - "id": "id:17", - "href": "href:566" - }, - "status": "available", - "updated_at": "2024-06-25T15:43:58.196Z" - }, - { - "id": "id:562", - "crn": "crn:561", - "name": "local-tg1", - "location": "us-south", - "created_at": "2024-06-25T15:40:26.455Z", - "global": false, - "resource_group": { - "id": "id:17", - "href": "href:566" - }, - "status": "available", - "updated_at": "2024-06-25T15:43:15.331Z" - } - ], - "iks_clusters": [] -} diff --git a/test/data/acl_subnet_cidr_segments/config_object.json b/test/data/acl_subnet_cidr_segments/config_object.json deleted file mode 100644 index 5b755e7e..00000000 --- a/test/data/acl_subnet_cidr_segments/config_object.json +++ /dev/null @@ -1,1776 +0,0 @@ -{ - "collector_version": "0.11.0", - "provider": "ibm", - "vpcs": [ - { - "classic_access": false, - "created_at": "2024-06-25T12:20:44.000Z", - "crn": "crn:1", - "cse_source_ips": [ - { - "ip": { - "address": "10.249.196.114" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.22.27.101" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.249.81.251" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:8", - "href": "href:9", - "id": "id:10", - "name": "disallow-laborious-compress-abiding" - }, - "default_routing_table": { - "href": "href:11", - "id": "id:12", - "name": "traffic-overeasy-festoonery-illusive", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "elevation-lyricist-elf-hassle" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.0.0/18", - "created_at": "2024-06-25T12:20:44.000Z", - "has_subnets": true, - "href": "href:18", - "id": "id:19", - "is_default": true, - "name": "blouse-armchair-fernlike-plus", - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "cidr": "10.240.64.0/18", - "created_at": "2024-06-25T12:20:44.000Z", - "has_subnets": true, - "href": "href:20", - "id": "id:21", - "is_default": true, - "name": "stowaway-chatty-opulently-durably", - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "cidr": "10.240.128.0/18", - "created_at": "2024-06-25T12:20:44.000Z", - "has_subnets": true, - "href": "href:22", - "id": "id:23", - "is_default": true, - "name": "trifle-renewably-decenary-protector", - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "tags": [ - "yair" - ] - } - ], - "subnets": [ - { - "available_ipv4_address_count": 251, - "created_at": "2024-06-25T12:22:47.000Z", - "crn": "crn:24", - "href": "href:25", - "id": "id:26", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.2.0/24", - "name": "sub1-2", - "network_acl": { - "crn": "crn:27", - "href": "href:28", - "id": "id:29", - "name": "acl1-2" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "traffic-overeasy-festoonery-illusive", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.2.0", - "auto_delete": false, - "created_at": "2024-06-25T12:22:47.000Z", - "href": "href:30", - "id": "id:31", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.2.1", - "auto_delete": false, - "created_at": "2024-06-25T12:22:47.000Z", - "href": "href:32", - "id": "id:33", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.2.2", - "auto_delete": false, - "created_at": "2024-06-25T12:22:47.000Z", - "href": "href:34", - "id": "id:35", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.2.3", - "auto_delete": false, - "created_at": "2024-06-25T12:22:47.000Z", - "href": "href:36", - "id": "id:37", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.2.255", - "auto_delete": false, - "created_at": "2024-06-25T12:22:47.000Z", - "href": "href:38", - "id": "id:39", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [ - "yair" - ] - }, - { - "available_ipv4_address_count": 251, - "created_at": "2024-06-25T12:22:10.000Z", - "crn": "crn:40", - "href": "href:41", - "id": "id:42", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.1.0/24", - "name": "sub1-1", - "network_acl": { - "crn": "crn:43", - "href": "href:44", - "id": "id:45", - "name": "acl1-1" - }, - "public_gateway": { - "crn": "crn:46", - "href": "href:47", - "id": "id:48", - "name": "public-gw1", - "resource_type": "public_gateway" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "traffic-overeasy-festoonery-illusive", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.1.0", - "auto_delete": false, - "created_at": "2024-06-25T12:22:10.000Z", - "href": "href:49", - "id": "id:50", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.1", - "auto_delete": false, - "created_at": "2024-06-25T12:22:10.000Z", - "href": "href:51", - "id": "id:52", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.2", - "auto_delete": false, - "created_at": "2024-06-25T12:22:10.000Z", - "href": "href:53", - "id": "id:54", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.3", - "auto_delete": false, - "created_at": "2024-06-25T12:22:10.000Z", - "href": "href:55", - "id": "id:56", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.255", - "auto_delete": false, - "created_at": "2024-06-25T12:22:10.000Z", - "href": "href:57", - "id": "id:58", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [ - "yair" - ] - }, - { - "available_ipv4_address_count": 251, - "created_at": "2024-06-25T12:22:04.000Z", - "crn": "crn:59", - "href": "href:60", - "id": "id:61", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.64.0/24", - "name": "sub2-1", - "network_acl": { - "crn": "crn:62", - "href": "href:63", - "id": "id:64", - "name": "acl2-1" - }, - "public_gateway": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "public-gw2", - "resource_type": "public_gateway" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "traffic-overeasy-festoonery-illusive", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "reserved_ips": [ - { - "address": "10.240.64.0", - "auto_delete": false, - "created_at": "2024-06-25T12:22:04.000Z", - "href": "href:68", - "id": "id:69", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.1", - "auto_delete": false, - "created_at": "2024-06-25T12:22:04.000Z", - "href": "href:70", - "id": "id:71", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.2", - "auto_delete": false, - "created_at": "2024-06-25T12:22:04.000Z", - "href": "href:72", - "id": "id:73", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.3", - "auto_delete": false, - "created_at": "2024-06-25T12:22:04.000Z", - "href": "href:74", - "id": "id:75", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.255", - "auto_delete": false, - "created_at": "2024-06-25T12:22:04.000Z", - "href": "href:76", - "id": "id:77", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [ - "yair" - ] - }, - { - "available_ipv4_address_count": 251, - "created_at": "2024-06-25T12:21:43.000Z", - "crn": "crn:78", - "href": "href:79", - "id": "id:80", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.3.0/24", - "name": "sub1-3", - "network_acl": { - "crn": "crn:27", - "href": "href:28", - "id": "id:29", - "name": "acl1-2" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "traffic-overeasy-festoonery-illusive", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.3.0", - "auto_delete": false, - "created_at": "2024-06-25T12:21:43.000Z", - "href": "href:81", - "id": "id:82", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.3.1", - "auto_delete": false, - "created_at": "2024-06-25T12:21:43.000Z", - "href": "href:83", - "id": "id:84", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.3.2", - "auto_delete": false, - "created_at": "2024-06-25T12:21:43.000Z", - "href": "href:85", - "id": "id:86", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.3.3", - "auto_delete": false, - "created_at": "2024-06-25T12:21:43.000Z", - "href": "href:87", - "id": "id:88", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.3.255", - "auto_delete": false, - "created_at": "2024-06-25T12:21:43.000Z", - "href": "href:89", - "id": "id:90", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [ - "yair" - ] - }, - { - "available_ipv4_address_count": 251, - "created_at": "2024-06-25T12:21:36.000Z", - "crn": "crn:91", - "href": "href:92", - "id": "id:93", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.65.0/24", - "name": "sub2-2", - "network_acl": { - "crn": "crn:94", - "href": "href:95", - "id": "id:96", - "name": "acl2-2" - }, - "public_gateway": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "public-gw2", - "resource_type": "public_gateway" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "traffic-overeasy-festoonery-illusive", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "reserved_ips": [ - { - "address": "10.240.65.0", - "auto_delete": false, - "created_at": "2024-06-25T12:21:36.000Z", - "href": "href:97", - "id": "id:98", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.65.1", - "auto_delete": false, - "created_at": "2024-06-25T12:21:36.000Z", - "href": "href:99", - "id": "id:100", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.65.2", - "auto_delete": false, - "created_at": "2024-06-25T12:21:36.000Z", - "href": "href:101", - "id": "id:102", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.65.3", - "auto_delete": false, - "created_at": "2024-06-25T12:21:36.000Z", - "href": "href:103", - "id": "id:104", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.65.255", - "auto_delete": false, - "created_at": "2024-06-25T12:21:36.000Z", - "href": "href:105", - "id": "id:106", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [ - "yair" - ] - }, - { - "available_ipv4_address_count": 251, - "created_at": "2024-06-25T12:21:20.000Z", - "crn": "crn:107", - "href": "href:108", - "id": "id:109", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.128.0/24", - "name": "sub3-1", - "network_acl": { - "crn": "crn:110", - "href": "href:111", - "id": "id:112", - "name": "acl3-1" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "traffic-overeasy-festoonery-illusive", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "reserved_ips": [ - { - "address": "10.240.128.0", - "auto_delete": false, - "created_at": "2024-06-25T12:21:20.000Z", - "href": "href:113", - "id": "id:114", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.1", - "auto_delete": false, - "created_at": "2024-06-25T12:21:20.000Z", - "href": "href:115", - "id": "id:116", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.2", - "auto_delete": false, - "created_at": "2024-06-25T12:21:20.000Z", - "href": "href:117", - "id": "id:118", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.3", - "auto_delete": false, - "created_at": "2024-06-25T12:21:20.000Z", - "href": "href:119", - "id": "id:120", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.255", - "auto_delete": false, - "created_at": "2024-06-25T12:21:20.000Z", - "href": "href:121", - "id": "id:122", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [ - "yair" - ] - } - ], - "public_gateways": [ - { - "created_at": "2024-06-25T12:21:17.000Z", - "crn": "crn:46", - "floating_ip": { - "address": "52.118.146.248", - "crn": "crn:123", - "href": "href:124", - "id": "id:125", - "name": "public-gw1" - }, - "href": "href:47", - "id": "id:48", - "name": "public-gw1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "public_gateway", - "status": "available", - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "tags": [ - "yair" - ] - }, - { - "created_at": "2024-06-25T12:21:16.000Z", - "crn": "crn:65", - "floating_ip": { - "address": "169.47.95.195", - "crn": "crn:126", - "href": "href:127", - "id": "id:128", - "name": "public-gw2" - }, - "href": "href:66", - "id": "id:67", - "name": "public-gw2", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "public_gateway", - "status": "available", - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "tags": [ - "yair" - ] - } - ], - "floating_ips": [ - { - "address": "52.118.146.248", - "created_at": "2024-06-25T12:21:16.000Z", - "crn": "crn:123", - "href": "href:124", - "id": "id:125", - "name": "public-gw1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:47", - "id": "id:48", - "name": "public-gw1", - "resource_type": "public_gateway", - "crn": "crn:46" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "tags": [] - }, - { - "address": "169.47.95.195", - "created_at": "2024-06-25T12:21:16.000Z", - "crn": "crn:126", - "href": "href:127", - "id": "id:128", - "name": "public-gw2", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:66", - "id": "id:67", - "name": "public-gw2", - "resource_type": "public_gateway", - "crn": "crn:65" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "tags": [] - } - ], - "network_acls": [ - { - "created_at": "2024-06-25T12:21:16.000Z", - "crn": "crn:27", - "href": "href:28", - "id": "id:29", - "name": "acl1-2", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:131", - "id": "id:132", - "name": "o2" - }, - "created_at": "2024-06-25T12:21:16.000Z", - "destination": "10.240.1.0/24", - "direction": "outbound", - "href": "href:129", - "id": "id:130", - "ip_version": "ipv4", - "name": "o1", - "source": "10.240.2.0/23", - "destination_port_max": 65535, - "destination_port_min": 1, - "protocol": "tcp", - "source_port_max": 65535, - "source_port_min": 1 - }, - { - "action": "allow", - "before": { - "href": "href:133", - "id": "id:134", - "name": "i1" - }, - "created_at": "2024-06-25T12:21:17.000Z", - "destination": "10.240.2.0/23", - "direction": "outbound", - "href": "href:131", - "id": "id:132", - "ip_version": "ipv4", - "name": "o2", - "source": "10.240.2.0/23", - "destination_port_max": 65535, - "destination_port_min": 1, - "protocol": "tcp", - "source_port_max": 65535, - "source_port_min": 1 - }, - { - "action": "allow", - "before": { - "href": "href:135", - "id": "id:136", - "name": "i2" - }, - "created_at": "2024-06-25T12:21:17.000Z", - "destination": "10.240.2.0/23", - "direction": "inbound", - "href": "href:133", - "id": "id:134", - "ip_version": "ipv4", - "name": "i1", - "source": "10.240.1.0/24", - "destination_port_max": 65535, - "destination_port_min": 1, - "protocol": "tcp", - "source_port_max": 65535, - "source_port_min": 1 - }, - { - "action": "allow", - "created_at": "2024-06-25T12:21:18.000Z", - "destination": "10.240.2.0/23", - "direction": "inbound", - "href": "href:135", - "id": "id:136", - "ip_version": "ipv4", - "name": "i2", - "source": "10.240.2.0/23", - "destination_port_max": 65535, - "destination_port_min": 1, - "protocol": "tcp", - "source_port_max": 65535, - "source_port_min": 1 - } - ], - "subnets": [ - { - "crn": "crn:24", - "href": "href:25", - "id": "id:26", - "name": "sub1-2", - "resource_type": "subnet" - }, - { - "crn": "crn:78", - "href": "href:79", - "id": "id:80", - "name": "sub1-3", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T12:21:15.000Z", - "crn": "crn:94", - "href": "href:95", - "id": "id:96", - "name": "acl2-2", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:139", - "id": "id:140", - "name": "i1" - }, - "created_at": "2024-06-25T12:21:16.000Z", - "destination": "10.240.64.0/24", - "direction": "outbound", - "href": "href:137", - "id": "id:138", - "ip_version": "ipv4", - "name": "o1", - "source": "10.240.65.0/24", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T12:21:16.000Z", - "destination": "10.240.65.0/24", - "direction": "inbound", - "href": "href:139", - "id": "id:140", - "ip_version": "ipv4", - "name": "i1", - "source": "10.240.64.0/24", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:91", - "href": "href:92", - "id": "id:93", - "name": "sub2-2", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T12:21:15.000Z", - "crn": "crn:110", - "href": "href:111", - "id": "id:112", - "name": "acl3-1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:143", - "id": "id:144", - "name": "o2" - }, - "created_at": "2024-06-25T12:21:16.000Z", - "destination": "10.240.64.0/24", - "direction": "outbound", - "href": "href:141", - "id": "id:142", - "ip_version": "ipv4", - "name": "o1", - "source": "10.240.128.0/24", - "destination_port_max": 443, - "destination_port_min": 443, - "protocol": "tcp", - "source_port_max": 65535, - "source_port_min": 1 - }, - { - "action": "allow", - "before": { - "href": "href:145", - "id": "id:146", - "name": "o3" - }, - "created_at": "2024-06-25T12:21:17.000Z", - "destination": "10.240.64.0/24", - "direction": "outbound", - "href": "href:143", - "id": "id:144", - "ip_version": "ipv4", - "name": "o2", - "source": "10.240.128.0/24", - "code": 0, - "protocol": "icmp", - "type": 0 - }, - { - "action": "allow", - "before": { - "href": "href:147", - "id": "id:148", - "name": "i1" - }, - "created_at": "2024-06-25T12:21:17.000Z", - "destination": "10.240.1.0/24", - "direction": "outbound", - "href": "href:145", - "id": "id:146", - "ip_version": "ipv4", - "name": "o3", - "source": "10.240.128.0/24", - "code": 0, - "protocol": "icmp", - "type": 0 - }, - { - "action": "allow", - "before": { - "href": "href:149", - "id": "id:150", - "name": "i2" - }, - "created_at": "2024-06-25T12:21:18.000Z", - "destination": "10.240.128.0/24", - "direction": "inbound", - "href": "href:147", - "id": "id:148", - "ip_version": "ipv4", - "name": "i1", - "source": "10.240.64.0/24", - "destination_port_max": 65535, - "destination_port_min": 1, - "protocol": "tcp", - "source_port_max": 443, - "source_port_min": 443 - }, - { - "action": "allow", - "before": { - "href": "href:151", - "id": "id:152", - "name": "i3" - }, - "created_at": "2024-06-25T12:21:18.000Z", - "destination": "10.240.128.0/24", - "direction": "inbound", - "href": "href:149", - "id": "id:150", - "ip_version": "ipv4", - "name": "i2", - "source": "10.240.64.0/24", - "code": 0, - "protocol": "icmp", - "type": 0 - }, - { - "action": "allow", - "created_at": "2024-06-25T12:21:18.000Z", - "destination": "10.240.128.0/24", - "direction": "inbound", - "href": "href:151", - "id": "id:152", - "ip_version": "ipv4", - "name": "i3", - "source": "10.240.1.0/24", - "code": 0, - "protocol": "icmp", - "type": 0 - } - ], - "subnets": [ - { - "crn": "crn:107", - "href": "href:108", - "id": "id:109", - "name": "sub3-1", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T12:21:15.000Z", - "crn": "crn:43", - "href": "href:44", - "id": "id:45", - "name": "acl1-1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:155", - "id": "id:156", - "name": "o2" - }, - "created_at": "2024-06-25T12:21:16.000Z", - "destination": "8.8.8.8/32", - "direction": "outbound", - "href": "href:153", - "id": "id:154", - "ip_version": "ipv4", - "name": "o1", - "source": "10.240.1.0/24", - "destination_port_max": 53, - "destination_port_min": 53, - "protocol": "udp", - "source_port_max": 65535, - "source_port_min": 1 - }, - { - "action": "allow", - "before": { - "href": "href:157", - "id": "id:158", - "name": "o3" - }, - "created_at": "2024-06-25T12:21:17.000Z", - "destination": "10.240.2.0/23", - "direction": "outbound", - "href": "href:155", - "id": "id:156", - "ip_version": "ipv4", - "name": "o2", - "source": "10.240.1.0/24", - "destination_port_max": 65535, - "destination_port_min": 1, - "protocol": "tcp", - "source_port_max": 65535, - "source_port_min": 1 - }, - { - "action": "allow", - "before": { - "href": "href:159", - "id": "id:160", - "name": "i1" - }, - "created_at": "2024-06-25T12:21:17.000Z", - "destination": "10.240.128.0/24", - "direction": "outbound", - "href": "href:157", - "id": "id:158", - "ip_version": "ipv4", - "name": "o3", - "source": "10.240.1.0/24", - "code": 0, - "protocol": "icmp", - "type": 0 - }, - { - "action": "allow", - "before": { - "href": "href:161", - "id": "id:162", - "name": "i2" - }, - "created_at": "2024-06-25T12:21:18.000Z", - "destination": "10.240.1.0/24", - "direction": "inbound", - "href": "href:159", - "id": "id:160", - "ip_version": "ipv4", - "name": "i1", - "source": "8.8.8.8/32", - "destination_port_max": 65535, - "destination_port_min": 1, - "protocol": "udp", - "source_port_max": 53, - "source_port_min": 53 - }, - { - "action": "allow", - "before": { - "href": "href:163", - "id": "id:164", - "name": "i3" - }, - "created_at": "2024-06-25T12:21:18.000Z", - "destination": "10.240.1.0/24", - "direction": "inbound", - "href": "href:161", - "id": "id:162", - "ip_version": "ipv4", - "name": "i2", - "source": "10.240.2.0/23", - "destination_port_max": 65535, - "destination_port_min": 1, - "protocol": "tcp", - "source_port_max": 65535, - "source_port_min": 1 - }, - { - "action": "allow", - "created_at": "2024-06-25T12:21:19.000Z", - "destination": "10.240.1.0/24", - "direction": "inbound", - "href": "href:163", - "id": "id:164", - "ip_version": "ipv4", - "name": "i3", - "source": "10.240.128.0/24", - "code": 0, - "protocol": "icmp", - "type": 0 - } - ], - "subnets": [ - { - "crn": "crn:40", - "href": "href:41", - "id": "id:42", - "name": "sub1-1", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T12:21:15.000Z", - "crn": "crn:62", - "href": "href:63", - "id": "id:64", - "name": "acl2-1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:167", - "id": "id:168", - "name": "o2" - }, - "created_at": "2024-06-25T12:21:16.000Z", - "destination": "8.8.8.8/32", - "direction": "outbound", - "href": "href:165", - "id": "id:166", - "ip_version": "ipv4", - "name": "o1", - "source": "10.240.64.0/24", - "destination_port_max": 53, - "destination_port_min": 53, - "protocol": "udp", - "source_port_max": 65535, - "source_port_min": 1 - }, - { - "action": "allow", - "before": { - "href": "href:169", - "id": "id:170", - "name": "o3" - }, - "created_at": "2024-06-25T12:21:17.000Z", - "destination": "10.240.65.0/24", - "direction": "outbound", - "href": "href:167", - "id": "id:168", - "ip_version": "ipv4", - "name": "o2", - "source": "10.240.64.0/24", - "protocol": "all" - }, - { - "action": "allow", - "before": { - "href": "href:171", - "id": "id:172", - "name": "o4" - }, - "created_at": "2024-06-25T12:21:17.000Z", - "destination": "10.240.128.0/24", - "direction": "outbound", - "href": "href:169", - "id": "id:170", - "ip_version": "ipv4", - "name": "o3", - "source": "10.240.64.0/24", - "destination_port_max": 65535, - "destination_port_min": 1, - "protocol": "tcp", - "source_port_max": 443, - "source_port_min": 443 - }, - { - "action": "allow", - "before": { - "href": "href:173", - "id": "id:174", - "name": "i1" - }, - "created_at": "2024-06-25T12:21:18.000Z", - "destination": "10.240.128.0/24", - "direction": "outbound", - "href": "href:171", - "id": "id:172", - "ip_version": "ipv4", - "name": "o4", - "source": "10.240.64.0/24", - "code": 0, - "protocol": "icmp", - "type": 0 - }, - { - "action": "allow", - "before": { - "href": "href:175", - "id": "id:176", - "name": "i2" - }, - "created_at": "2024-06-25T12:21:18.000Z", - "destination": "10.240.64.0/24", - "direction": "inbound", - "href": "href:173", - "id": "id:174", - "ip_version": "ipv4", - "name": "i1", - "source": "8.8.8.8/32", - "destination_port_max": 65535, - "destination_port_min": 1, - "protocol": "udp", - "source_port_max": 53, - "source_port_min": 53 - }, - { - "action": "allow", - "before": { - "href": "href:177", - "id": "id:178", - "name": "i3" - }, - "created_at": "2024-06-25T12:21:18.000Z", - "destination": "10.240.64.0/24", - "direction": "inbound", - "href": "href:175", - "id": "id:176", - "ip_version": "ipv4", - "name": "i2", - "source": "10.240.65.0/24", - "protocol": "all" - }, - { - "action": "allow", - "before": { - "href": "href:179", - "id": "id:180", - "name": "i4" - }, - "created_at": "2024-06-25T12:21:19.000Z", - "destination": "10.240.64.0/24", - "direction": "inbound", - "href": "href:177", - "id": "id:178", - "ip_version": "ipv4", - "name": "i3", - "source": "10.240.128.0/24", - "destination_port_max": 443, - "destination_port_min": 443, - "protocol": "tcp", - "source_port_max": 65535, - "source_port_min": 1 - }, - { - "action": "allow", - "created_at": "2024-06-25T12:21:19.000Z", - "destination": "10.240.64.0/24", - "direction": "inbound", - "href": "href:179", - "id": "id:180", - "ip_version": "ipv4", - "name": "i4", - "source": "10.240.128.0/24", - "code": 0, - "protocol": "icmp", - "type": 0 - } - ], - "subnets": [ - { - "crn": "crn:59", - "href": "href:60", - "id": "id:61", - "name": "sub2-1", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T12:20:45.000Z", - "crn": "crn:8", - "href": "href:9", - "id": "id:10", - "name": "disallow-laborious-compress-abiding", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:183", - "id": "id:184", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T12:20:45.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:181", - "id": "id:182", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T12:20:45.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:183", - "id": "id:184", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_type": "vpc" - }, - "tags": [] - } - ], - "security_groups": [ - { - "created_at": "2024-06-25T12:21:16.000Z", - "crn": "crn:185", - "href": "href:186", - "id": "id:187", - "name": "sg1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:188", - "id": "id:189", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:190", - "id": "id:191", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T12:20:45.000Z", - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "elevation-lyricist-elf-hassle", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:192", - "id": "id:193", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:194", - "id": "id:195", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "elevation-lyricist-elf-hassle" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_type": "vpc" - }, - "tags": [] - } - ], - "endpoint_gateways": [], - "instances": [], - "routing_tables": [ - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T12:20:45.000Z", - "href": "href:11", - "id": "id:12", - "is_default": true, - "lifecycle_state": "stable", - "name": "traffic-overeasy-festoonery-illusive", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:24", - "href": "href:25", - "id": "id:26", - "name": "sub1-2", - "resource_type": "subnet" - }, - { - "crn": "crn:40", - "href": "href:41", - "id": "id:42", - "name": "sub1-1", - "resource_type": "subnet" - }, - { - "crn": "crn:59", - "href": "href:60", - "id": "id:61", - "name": "sub2-1", - "resource_type": "subnet" - }, - { - "crn": "crn:78", - "href": "href:79", - "id": "id:80", - "name": "sub1-3", - "resource_type": "subnet" - }, - { - "crn": "crn:91", - "href": "href:92", - "id": "id:93", - "name": "sub2-2", - "resource_type": "subnet" - }, - { - "crn": "crn:107", - "href": "href:108", - "id": "id:109", - "name": "sub3-1", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "testacl5-vpc", - "resource_type": "vpc" - } - } - ], - "load_balancers": [], - "transit_connections": null, - "transit_gateways": null, - "iks_clusters": [] -} diff --git a/test/data/acl_externals/config_object.json b/test/data/acl_testing4/config_object.json similarity index 100% rename from test/data/acl_externals/config_object.json rename to test/data/acl_testing4/config_object.json diff --git a/test/data/acl_tg_multiple/config_object.json b/test/data/acl_tg_multiple/config_object.json deleted file mode 100644 index 7e94d3b8..00000000 --- a/test/data/acl_tg_multiple/config_object.json +++ /dev/null @@ -1,6269 +0,0 @@ -{ - "collector_version": "0.11.0", - "provider": "ibm", - "vpcs": [ - { - "classic_access": false, - "created_at": "2024-06-25T15:40:20.000Z", - "crn": "crn:1", - "cse_source_ips": [ - { - "ip": { - "address": "10.22.215.5" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.22.220.2" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.249.82.12" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:8", - "href": "href:9", - "id": "id:10", - "name": "automaker-castle-bird-worried" - }, - "default_routing_table": { - "href": "href:11", - "id": "id:12", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "brute-upon-angles-cubbyhole" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.80.0/20", - "created_at": "2024-06-25T15:40:39.000Z", - "has_subnets": true, - "href": "href:18", - "id": "id:19", - "is_default": false, - "name": "address-prefix-vpc-1", - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "cidr": "10.240.64.0/20", - "created_at": "2024-06-25T15:40:40.000Z", - "has_subnets": true, - "href": "href:20", - "id": "id:21", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:6", - "name": "us-south-2" - } - } - ], - "tags": [] - }, - { - "classic_access": false, - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:22", - "cse_source_ips": [ - { - "ip": { - "address": "10.16.238.56" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.249.200.205" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.249.212.88" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:25", - "href": "href:26", - "id": "id:27", - "name": "ebullient-slacks-revert-turkey" - }, - "default_routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:30", - "href": "href:31", - "id": "id:32", - "name": "basically-drank-bulk-jam" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.0.0/22", - "created_at": "2024-06-25T15:40:37.000Z", - "has_subnets": true, - "href": "href:33", - "id": "id:34", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "cidr": "10.240.4.0/22", - "created_at": "2024-06-25T15:40:38.000Z", - "has_subnets": true, - "href": "href:35", - "id": "id:36", - "is_default": false, - "name": "address-prefix-vpc-1", - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "cidr": "10.240.8.0/22", - "created_at": "2024-06-25T15:40:39.000Z", - "has_subnets": true, - "href": "href:37", - "id": "id:38", - "is_default": false, - "name": "address-prefix-vpc-2", - "zone": { - "href": "href:5", - "name": "us-south-1" - } - } - ], - "tags": [] - }, - { - "classic_access": false, - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:39", - "cse_source_ips": [ - { - "ip": { - "address": "10.12.125.16" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.22.27.134" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.22.231.90" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:42", - "href": "href:43", - "id": "id:44", - "name": "afoot-grape-fineness-zestfully" - }, - "default_routing_table": { - "href": "href:45", - "id": "id:46", - "name": "quintuple-severity-caddie-manuals", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:47", - "href": "href:48", - "id": "id:49", - "name": "glance-cactus-unease-bankroll" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.128.0/20", - "created_at": "2024-06-25T15:40:39.000Z", - "has_subnets": true, - "href": "href:50", - "id": "id:51", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "tags": [] - }, - { - "classic_access": false, - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:52", - "cse_source_ips": [ - { - "ip": { - "address": "10.22.219.155" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.12.159.11" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.16.253.109" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:55", - "href": "href:56", - "id": "id:57", - "name": "untracked-repayment-triumph-cat" - }, - "default_routing_table": { - "href": "href:58", - "id": "id:59", - "name": "probational-herring-undone-daintily", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:60", - "href": "href:61", - "id": "id:62", - "name": "repeater-upcountry-agreeing-acutely" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.192.0/20", - "created_at": "2024-06-25T15:40:38.000Z", - "has_subnets": true, - "href": "href:63", - "id": "id:64", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "tags": [] - } - ], - "subnets": [ - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:47.000Z", - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.9.0/24", - "name": "subnet5", - "network_acl": { - "crn": "crn:68", - "href": "href:69", - "id": "id:70", - "name": "acl3" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.9.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:71", - "id": "id:72", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:73", - "id": "id:74", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:75", - "id": "id:76", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:77", - "id": "id:78", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:79", - "id": "id:80", - "lifecycle_state": "stable", - "name": "ideally-grain-bagpipe-luxuriant", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.9.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:20.000Z", - "href": "href:83", - "id": "id:84", - "lifecycle_state": "stable", - "name": "outskirts-unaligned-passivism-parchment", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.9.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:87", - "id": "id:88", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:35.000Z", - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.5.0/24", - "name": "subnet3", - "network_acl": { - "crn": "crn:92", - "href": "href:93", - "id": "id:94", - "name": "acl2" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.5.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:95", - "id": "id:96", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:97", - "id": "id:98", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:99", - "id": "id:100", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:101", - "id": "id:102", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:103", - "id": "id:104", - "lifecycle_state": "stable", - "name": "rising-gopher-reentry-graveness", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.5.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:16.000Z", - "href": "href:107", - "id": "id:108", - "lifecycle_state": "stable", - "name": "recognize-citable-exerciser-unsecured", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.5.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:111", - "id": "id:112", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:23.000Z", - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.0.0/24", - "name": "subnet0", - "network_acl": { - "crn": "crn:116", - "href": "href:117", - "id": "id:118", - "name": "acl1" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.0.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:119", - "id": "id:120", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:121", - "id": "id:122", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:123", - "id": "id:124", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:125", - "id": "id:126", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:08.000Z", - "href": "href:127", - "id": "id:128", - "lifecycle_state": "stable", - "name": "pundit-tight-arbitrate-grace", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.0.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:39.000Z", - "href": "href:131", - "id": "id:132", - "lifecycle_state": "stable", - "name": "relatable-antiques-maturing-brulee", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.0.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:135", - "id": "id:136", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 250, - "created_at": "2024-06-25T15:41:20.000Z", - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.80.0/24", - "name": "subnet11", - "network_acl": { - "crn": "crn:140", - "href": "href:141", - "id": "id:142", - "name": "acl11" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "reserved_ips": [ - { - "address": "10.240.80.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:143", - "id": "id:144", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:145", - "id": "id:146", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:147", - "id": "id:148", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:149", - "id": "id:150", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:40.000Z", - "href": "href:151", - "id": "id:152", - "lifecycle_state": "stable", - "name": "childlike-publish-retainer-movie", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.80.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:155", - "id": "id:156", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:08.000Z", - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.4.0/24", - "name": "subnet2", - "network_acl": { - "crn": "crn:92", - "href": "href:93", - "id": "id:94", - "name": "acl2" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.4.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:160", - "id": "id:161", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:162", - "id": "id:163", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:164", - "id": "id:165", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:166", - "id": "id:167", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:21.000Z", - "href": "href:168", - "id": "id:169", - "lifecycle_state": "stable", - "name": "stood-sitcom-whoops-hurled", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.4.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:22.000Z", - "href": "href:172", - "id": "id:173", - "lifecycle_state": "stable", - "name": "bark-gatherer-rope-unrivaled", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.4.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:176", - "id": "id:177", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 250, - "created_at": "2024-06-25T15:41:08.000Z", - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.64.0/24", - "name": "subnet10", - "network_acl": { - "crn": "crn:140", - "href": "href:141", - "id": "id:142", - "name": "acl11" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "reserved_ips": [ - { - "address": "10.240.64.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:181", - "id": "id:182", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:183", - "id": "id:184", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:185", - "id": "id:186", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:187", - "id": "id:188", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:36.000Z", - "href": "href:189", - "id": "id:190", - "lifecycle_state": "stable", - "name": "starry-smasher-ladle-dioxide", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.64.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:193", - "id": "id:194", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 248, - "created_at": "2024-06-25T15:40:57.000Z", - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.128.0/24", - "name": "subnet20", - "network_acl": { - "crn": "crn:198", - "href": "href:199", - "id": "id:200", - "name": "acl21" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:45", - "id": "id:46", - "name": "quintuple-severity-caddie-manuals", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "reserved_ips": [ - { - "address": "10.240.128.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:201", - "id": "id:202", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:203", - "id": "id:204", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:205", - "id": "id:206", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:207", - "id": "id:208", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:21.000Z", - "href": "href:209", - "id": "id:210", - "lifecycle_state": "stable", - "name": "unmixed-qualify-prescribe-railcar", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.5", - "auto_delete": false, - "created_at": "2024-06-25T15:41:21.000Z", - "href": "href:213", - "id": "id:214", - "lifecycle_state": "stable", - "name": "customs-recollect-drippy-primate", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.6", - "auto_delete": false, - "created_at": "2024-06-25T15:41:24.000Z", - "href": "href:217", - "id": "id:218", - "lifecycle_state": "stable", - "name": "uniquely-shelter-gracious-sudden", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:221", - "id": "id:222", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:40:56.000Z", - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.1.0/24", - "name": "subnet1", - "network_acl": { - "crn": "crn:116", - "href": "href:117", - "id": "id:118", - "name": "acl1" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.1.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:226", - "id": "id:227", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:228", - "id": "id:229", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:230", - "id": "id:231", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:232", - "id": "id:233", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:234", - "id": "id:235", - "lifecycle_state": "stable", - "name": "excluded-unfair-jailbird-foil", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.1.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:40.000Z", - "href": "href:238", - "id": "id:239", - "lifecycle_state": "stable", - "name": "affected-johnniecake-monorail-ungraded", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.1.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:242", - "id": "id:243", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 250, - "created_at": "2024-06-25T15:40:48.000Z", - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.192.0/24", - "name": "subnet30", - "network_acl": { - "crn": "crn:247", - "href": "href:248", - "id": "id:249", - "name": "acl31" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:58", - "id": "id:59", - "name": "probational-herring-undone-daintily", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "reserved_ips": [ - { - "address": "10.240.192.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:250", - "id": "id:251", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:252", - "id": "id:253", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:254", - "id": "id:255", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:256", - "id": "id:257", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:01.000Z", - "href": "href:258", - "id": "id:259", - "lifecycle_state": "stable", - "name": "legacy-shore-molecule-barometer", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.192.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:262", - "id": "id:263", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:40:44.000Z", - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.8.0/24", - "name": "subnet4", - "network_acl": { - "crn": "crn:68", - "href": "href:69", - "id": "id:70", - "name": "acl3" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.8.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:267", - "id": "id:268", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:269", - "id": "id:270", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:271", - "id": "id:272", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:273", - "id": "id:274", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:275", - "id": "id:276", - "lifecycle_state": "stable", - "name": "bagged-posture-glaring-cojoined", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.8.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:16.000Z", - "href": "href:279", - "id": "id:280", - "lifecycle_state": "stable", - "name": "frighten-mystified-freeway-hurtling", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.8.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:283", - "id": "id:284", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - } - ], - "public_gateways": [], - "floating_ips": [ - { - "address": "52.118.151.238", - "created_at": "2024-06-25T15:43:30.000Z", - "crn": "crn:285", - "href": "href:286", - "id": "id:287", - "name": "fip-0-subnet0", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "primary_ip": { - "address": "10.240.0.4", - "href": "href:127", - "id": "id:128", - "name": "pundit-tight-arbitrate-grace", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "tags": [] - }, - { - "address": "150.239.167.146", - "created_at": "2024-06-25T15:41:59.000Z", - "crn": "crn:288", - "href": "href:289", - "id": "id:290", - "name": "fip-0-subnet10", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "primary_ip": { - "address": "10.240.64.4", - "href": "href:189", - "id": "id:190", - "name": "starry-smasher-ladle-dioxide", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "tags": [] - }, - { - "address": "169.48.95.165", - "created_at": "2024-06-25T15:41:50.000Z", - "crn": "crn:291", - "href": "href:292", - "id": "id:293", - "name": "fip-0-subnet20", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "primary_ip": { - "address": "10.240.128.6", - "href": "href:217", - "id": "id:218", - "name": "uniquely-shelter-gracious-sudden", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "tags": [] - }, - { - "address": "52.118.100.239", - "created_at": "2024-06-25T15:41:33.000Z", - "crn": "crn:294", - "href": "href:295", - "id": "id:296", - "name": "fip-0-subnet30", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "primary_ip": { - "address": "10.240.192.4", - "href": "href:258", - "id": "id:259", - "name": "legacy-shore-molecule-barometer", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "tags": [] - } - ], - "network_acls": [ - { - "created_at": "2024-06-25T15:40:41.000Z", - "crn": "crn:140", - "href": "href:141", - "id": "id:142", - "name": "acl11", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "deny", - "before": { - "href": "href:299", - "id": "id:300", - "name": "acl11-out-2" - }, - "created_at": "2024-06-25T15:40:42.000Z", - "destination": "10.240.4.0/24", - "direction": "outbound", - "href": "href:297", - "id": "id:298", - "ip_version": "ipv4", - "name": "acl11-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "before": { - "href": "href:301", - "id": "id:302", - "name": "acl11-in-1" - }, - "created_at": "2024-06-25T15:40:43.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:299", - "id": "id:300", - "ip_version": "ipv4", - "name": "acl11-out-2", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:43.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:301", - "id": "id:302", - "ip_version": "ipv4", - "name": "acl11-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - }, - { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:247", - "href": "href:248", - "id": "id:249", - "name": "acl31", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:305", - "id": "id:306", - "name": "acl31-in-1" - }, - "created_at": "2024-06-25T15:40:41.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:303", - "id": "id:304", - "ip_version": "ipv4", - "name": "acl31-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:41.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:305", - "id": "id:306", - "ip_version": "ipv4", - "name": "acl31-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:198", - "href": "href:199", - "id": "id:200", - "name": "acl21", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:309", - "id": "id:310", - "name": "acl21-in-1" - }, - "created_at": "2024-06-25T15:40:41.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:307", - "id": "id:308", - "ip_version": "ipv4", - "name": "acl21-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:42.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:309", - "id": "id:310", - "ip_version": "ipv4", - "name": "acl21-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:38.000Z", - "crn": "crn:92", - "href": "href:93", - "id": "id:94", - "name": "acl2", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:313", - "id": "id:314", - "name": "acl1-in-1" - }, - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:311", - "id": "id:312", - "ip_version": "ipv4", - "name": "acl1-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:39.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:313", - "id": "id:314", - "ip_version": "ipv4", - "name": "acl1-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:37.000Z", - "crn": "crn:68", - "href": "href:69", - "id": "id:70", - "name": "acl3", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:317", - "id": "id:318", - "name": "acl1-in-1" - }, - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:315", - "id": "id:316", - "ip_version": "ipv4", - "name": "acl1-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:317", - "id": "id:318", - "ip_version": "ipv4", - "name": "acl1-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:37.000Z", - "crn": "crn:116", - "href": "href:117", - "id": "id:118", - "name": "acl1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:321", - "id": "id:322", - "name": "acl1-in-1" - }, - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:319", - "id": "id:320", - "ip_version": "ipv4", - "name": "acl1-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:321", - "id": "id:322", - "ip_version": "ipv4", - "name": "acl1-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:20.000Z", - "crn": "crn:8", - "href": "href:9", - "id": "id:10", - "name": "automaker-castle-bird-worried", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:325", - "id": "id:326", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:20.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:323", - "id": "id:324", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:20.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:325", - "id": "id:326", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:42", - "href": "href:43", - "id": "id:44", - "name": "afoot-grape-fineness-zestfully", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:329", - "id": "id:330", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:327", - "id": "id:328", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:329", - "id": "id:330", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:25", - "href": "href:26", - "id": "id:27", - "name": "ebullient-slacks-revert-turkey", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:333", - "id": "id:334", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:331", - "id": "id:332", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:333", - "id": "id:334", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:55", - "href": "href:56", - "id": "id:57", - "name": "untracked-repayment-triumph-cat", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:337", - "id": "id:338", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:335", - "id": "id:336", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:337", - "id": "id:338", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - } - ], - "security_groups": [ - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:342", - "id": "id:343", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:344", - "id": "id:345", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "resource_type": "network_interface" - }, - { - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "resource_type": "network_interface" - }, - { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:346", - "href": "href:347", - "id": "id:348", - "name": "sg31", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:349", - "id": "id:350", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:351", - "id": "id:352", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:353", - "href": "href:354", - "id": "id:355", - "name": "sg11", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:356", - "id": "id:357", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:358", - "id": "id:359", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "resource_type": "network_interface" - }, - { - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:37.000Z", - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "inbound", - "href": "href:363", - "id": "id:364", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "outbound", - "href": "href:365", - "id": "id:366", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "resource_type": "network_interface" - }, - { - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "resource_type": "network_interface" - }, - { - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "resource_type": "network_interface" - }, - { - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "resource_type": "network_interface" - }, - { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "resource_type": "network_interface" - }, - { - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "resource_type": "network_interface" - }, - { - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "resource_type": "network_interface" - }, - { - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "resource_type": "network_interface" - }, - { - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "resource_type": "network_interface" - }, - { - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "resource_type": "network_interface" - }, - { - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "resource_type": "network_interface" - }, - { - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:20.000Z", - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "brute-upon-angles-cubbyhole", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:367", - "id": "id:368", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:369", - "id": "id:370", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "brute-upon-angles-cubbyhole" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:30", - "href": "href:31", - "id": "id:32", - "name": "basically-drank-bulk-jam", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:371", - "id": "id:372", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:373", - "id": "id:374", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:30", - "href": "href:31", - "id": "id:32", - "name": "basically-drank-bulk-jam" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:47", - "href": "href:48", - "id": "id:49", - "name": "glance-cactus-unease-bankroll", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:375", - "id": "id:376", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:377", - "id": "id:378", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:47", - "href": "href:48", - "id": "id:49", - "name": "glance-cactus-unease-bankroll" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:60", - "href": "href:61", - "id": "id:62", - "name": "repeater-upcountry-agreeing-acutely", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:379", - "id": "id:380", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:381", - "id": "id:382", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:60", - "href": "href:61", - "id": "id:62", - "name": "repeater-upcountry-agreeing-acutely" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - } - ], - "endpoint_gateways": [], - "instances": [ - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:388" - }, - "href": "href:386", - "id": "id:387", - "name": "thief-monastery-blinks-verdict", - "volume": { - "crn": "crn:389", - "href": "href:390", - "id": "id:391", - "name": "scrabble-gorged-baton-angled", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:40.000Z", - "crn": "crn:383", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:384", - "id": "id:385", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet1", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "primary_ip": { - "address": "10.240.1.5", - "href": "href:238", - "id": "id:239", - "name": "affected-johnniecake-monorail-ungraded", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:388" - }, - "href": "href:386", - "id": "id:387", - "name": "thief-monastery-blinks-verdict", - "volume": { - "crn": "crn:389", - "href": "href:390", - "id": "id:391", - "name": "scrabble-gorged-baton-angled", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:40.000Z", - "floating_ips": [], - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.1.5", - "href": "href:238", - "id": "id:239", - "name": "affected-johnniecake-monorail-ungraded", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:401" - }, - "href": "href:399", - "id": "id:400", - "name": "hunchback-enginous-dividend-atrium", - "volume": { - "crn": "crn:402", - "href": "href:403", - "id": "id:404", - "name": "subsoil-bobble-bovine-unmoving", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:39.000Z", - "crn": "crn:396", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:397", - "id": "id:398", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet0", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "primary_ip": { - "address": "10.240.0.5", - "href": "href:131", - "id": "id:132", - "name": "relatable-antiques-maturing-brulee", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:401" - }, - "href": "href:399", - "id": "id:400", - "name": "hunchback-enginous-dividend-atrium", - "volume": { - "crn": "crn:402", - "href": "href:403", - "id": "id:404", - "name": "subsoil-bobble-bovine-unmoving", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:39.000Z", - "floating_ips": [], - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.0.5", - "href": "href:131", - "id": "id:132", - "name": "relatable-antiques-maturing-brulee", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:410" - }, - "href": "href:408", - "id": "id:409", - "name": "laboring-overbuilt-growl-headland", - "volume": { - "crn": "crn:411", - "href": "href:412", - "id": "id:413", - "name": "tamper-salvaging-stick-giddily", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:22.000Z", - "crn": "crn:405", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:406", - "id": "id:407", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet2", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "primary_ip": { - "address": "10.240.4.5", - "href": "href:172", - "id": "id:173", - "name": "bark-gatherer-rope-unrivaled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:410" - }, - "href": "href:408", - "id": "id:409", - "name": "laboring-overbuilt-growl-headland", - "volume": { - "crn": "crn:411", - "href": "href:412", - "id": "id:413", - "name": "tamper-salvaging-stick-giddily", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:22.000Z", - "floating_ips": [], - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.4.5", - "href": "href:172", - "id": "id:173", - "name": "bark-gatherer-rope-unrivaled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:419" - }, - "href": "href:417", - "id": "id:418", - "name": "dollop-partition-helping-palmtree", - "volume": { - "crn": "crn:420", - "href": "href:421", - "id": "id:422", - "name": "ravage-deny-amusable-settling", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:20.000Z", - "crn": "crn:414", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:415", - "id": "id:416", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet5", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "primary_ip": { - "address": "10.240.9.5", - "href": "href:83", - "id": "id:84", - "name": "outskirts-unaligned-passivism-parchment", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:419" - }, - "href": "href:417", - "id": "id:418", - "name": "dollop-partition-helping-palmtree", - "volume": { - "crn": "crn:420", - "href": "href:421", - "id": "id:422", - "name": "ravage-deny-amusable-settling", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:20.000Z", - "floating_ips": [], - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.9.5", - "href": "href:83", - "id": "id:84", - "name": "outskirts-unaligned-passivism-parchment", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:428" - }, - "href": "href:426", - "id": "id:427", - "name": "petted-ethanol-voicing-rocklike", - "volume": { - "crn": "crn:429", - "href": "href:430", - "id": "id:431", - "name": "uptown-striving-unrevised-earthlike", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:20.000Z", - "crn": "crn:423", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:424", - "id": "id:425", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet2", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "primary_ip": { - "address": "10.240.4.4", - "href": "href:168", - "id": "id:169", - "name": "stood-sitcom-whoops-hurled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:428" - }, - "href": "href:426", - "id": "id:427", - "name": "petted-ethanol-voicing-rocklike", - "volume": { - "crn": "crn:429", - "href": "href:430", - "id": "id:431", - "name": "uptown-striving-unrevised-earthlike", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:20.000Z", - "floating_ips": [], - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.4.4", - "href": "href:168", - "id": "id:169", - "name": "stood-sitcom-whoops-hurled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:437" - }, - "href": "href:435", - "id": "id:436", - "name": "promenade-spyglass-flattop-pushpin", - "volume": { - "crn": "crn:438", - "href": "href:439", - "id": "id:440", - "name": "relax-shaded-prism-jaunt", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:16.000Z", - "crn": "crn:432", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:433", - "id": "id:434", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet3", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "primary_ip": { - "address": "10.240.5.5", - "href": "href:107", - "id": "id:108", - "name": "recognize-citable-exerciser-unsecured", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:437" - }, - "href": "href:435", - "id": "id:436", - "name": "promenade-spyglass-flattop-pushpin", - "volume": { - "crn": "crn:438", - "href": "href:439", - "id": "id:440", - "name": "relax-shaded-prism-jaunt", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:16.000Z", - "floating_ips": [], - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.5.5", - "href": "href:107", - "id": "id:108", - "name": "recognize-citable-exerciser-unsecured", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:446" - }, - "href": "href:444", - "id": "id:445", - "name": "sandbox-federal-sculptor-jugum", - "volume": { - "crn": "crn:447", - "href": "href:448", - "id": "id:449", - "name": "convent-ramrod-cloning-afterward", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:15.000Z", - "crn": "crn:441", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:442", - "id": "id:443", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet4", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "primary_ip": { - "address": "10.240.8.5", - "href": "href:279", - "id": "id:280", - "name": "frighten-mystified-freeway-hurtling", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:446" - }, - "href": "href:444", - "id": "id:445", - "name": "sandbox-federal-sculptor-jugum", - "volume": { - "crn": "crn:447", - "href": "href:448", - "id": "id:449", - "name": "convent-ramrod-cloning-afterward", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:15.000Z", - "floating_ips": [], - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.8.5", - "href": "href:279", - "id": "id:280", - "name": "frighten-mystified-freeway-hurtling", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:455" - }, - "href": "href:453", - "id": "id:454", - "name": "affidavit-chastise-elsewhere-viewer", - "volume": { - "crn": "crn:456", - "href": "href:457", - "id": "id:458", - "name": "fancy-destiny-shuffling-sandbank", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:07.000Z", - "crn": "crn:450", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:451", - "id": "id:452", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet0", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "primary_ip": { - "address": "10.240.0.4", - "href": "href:127", - "id": "id:128", - "name": "pundit-tight-arbitrate-grace", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:455" - }, - "href": "href:453", - "id": "id:454", - "name": "affidavit-chastise-elsewhere-viewer", - "volume": { - "crn": "crn:456", - "href": "href:457", - "id": "id:458", - "name": "fancy-destiny-shuffling-sandbank", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:07.000Z", - "floating_ips": [ - { - "address": "52.118.151.238", - "crn": "crn:285", - "href": "href:286", - "id": "id:287", - "name": "fip-0-subnet0" - } - ], - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.0.4", - "href": "href:127", - "id": "id:128", - "name": "pundit-tight-arbitrate-grace", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:464" - }, - "href": "href:462", - "id": "id:463", - "name": "uneven-armoire-scabiosa-letter", - "volume": { - "crn": "crn:465", - "href": "href:466", - "id": "id:467", - "name": "cognition-blinks-humid-oxidant", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:459", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:460", - "id": "id:461", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet3", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "primary_ip": { - "address": "10.240.5.4", - "href": "href:103", - "id": "id:104", - "name": "rising-gopher-reentry-graveness", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:464" - }, - "href": "href:462", - "id": "id:463", - "name": "uneven-armoire-scabiosa-letter", - "volume": { - "crn": "crn:465", - "href": "href:466", - "id": "id:467", - "name": "cognition-blinks-humid-oxidant", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.5.4", - "href": "href:103", - "id": "id:104", - "name": "rising-gopher-reentry-graveness", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:473" - }, - "href": "href:471", - "id": "id:472", - "name": "perplexed-impulsivity-august-jaws", - "volume": { - "crn": "crn:474", - "href": "href:475", - "id": "id:476", - "name": "tartar-sixties-fructose-parmesan", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:468", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:469", - "id": "id:470", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet1", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "primary_ip": { - "address": "10.240.1.4", - "href": "href:234", - "id": "id:235", - "name": "excluded-unfair-jailbird-foil", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:473" - }, - "href": "href:471", - "id": "id:472", - "name": "perplexed-impulsivity-august-jaws", - "volume": { - "crn": "crn:474", - "href": "href:475", - "id": "id:476", - "name": "tartar-sixties-fructose-parmesan", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.1.4", - "href": "href:234", - "id": "id:235", - "name": "excluded-unfair-jailbird-foil", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:482" - }, - "href": "href:480", - "id": "id:481", - "name": "litter-snipping-unclasp-dust", - "volume": { - "crn": "crn:483", - "href": "href:484", - "id": "id:485", - "name": "untried-sulphate-hypnosis-subsidize", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:477", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:478", - "id": "id:479", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet4", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "primary_ip": { - "address": "10.240.8.4", - "href": "href:275", - "id": "id:276", - "name": "bagged-posture-glaring-cojoined", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:482" - }, - "href": "href:480", - "id": "id:481", - "name": "litter-snipping-unclasp-dust", - "volume": { - "crn": "crn:483", - "href": "href:484", - "id": "id:485", - "name": "untried-sulphate-hypnosis-subsidize", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.8.4", - "href": "href:275", - "id": "id:276", - "name": "bagged-posture-glaring-cojoined", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:491" - }, - "href": "href:489", - "id": "id:490", - "name": "unlawful-overreach-yarn-rippling", - "volume": { - "crn": "crn:492", - "href": "href:493", - "id": "id:494", - "name": "finer-voter-roving-jailer", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:486", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:487", - "id": "id:488", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet5", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "primary_ip": { - "address": "10.240.9.4", - "href": "href:79", - "id": "id:80", - "name": "ideally-grain-bagpipe-luxuriant", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:491" - }, - "href": "href:489", - "id": "id:490", - "name": "unlawful-overreach-yarn-rippling", - "volume": { - "crn": "crn:492", - "href": "href:493", - "id": "id:494", - "name": "finer-voter-roving-jailer", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.9.4", - "href": "href:79", - "id": "id:80", - "name": "ideally-grain-bagpipe-luxuriant", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:500" - }, - "href": "href:498", - "id": "id:499", - "name": "mashed-thing-headache-estate", - "volume": { - "crn": "crn:501", - "href": "href:502", - "id": "id:503", - "name": "mountain-harpist-libraries-dreaming", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:39.000Z", - "crn": "crn:495", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:496", - "id": "id:497", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet11", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "primary_ip": { - "address": "10.240.80.4", - "href": "href:151", - "id": "id:152", - "name": "childlike-publish-retainer-movie", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:500" - }, - "href": "href:498", - "id": "id:499", - "name": "mashed-thing-headache-estate", - "volume": { - "crn": "crn:501", - "href": "href:502", - "id": "id:503", - "name": "mountain-harpist-libraries-dreaming", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:39.000Z", - "floating_ips": [], - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.80.4", - "href": "href:151", - "id": "id:152", - "name": "childlike-publish-retainer-movie", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:353", - "href": "href:354", - "id": "id:355", - "name": "sg11" - } - ], - "status": "available", - "subnet": { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:509" - }, - "href": "href:507", - "id": "id:508", - "name": "calzone-cacti-moonlight-subarctic", - "volume": { - "crn": "crn:510", - "href": "href:511", - "id": "id:512", - "name": "blurred-dream-pectin-tapping", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:36.000Z", - "crn": "crn:504", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:505", - "id": "id:506", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet10", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "primary_ip": { - "address": "10.240.64.4", - "href": "href:189", - "id": "id:190", - "name": "starry-smasher-ladle-dioxide", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:509" - }, - "href": "href:507", - "id": "id:508", - "name": "calzone-cacti-moonlight-subarctic", - "volume": { - "crn": "crn:510", - "href": "href:511", - "id": "id:512", - "name": "blurred-dream-pectin-tapping", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:36.000Z", - "floating_ips": [ - { - "address": "150.239.167.146", - "crn": "crn:288", - "href": "href:289", - "id": "id:290", - "name": "fip-0-subnet10" - } - ], - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.64.4", - "href": "href:189", - "id": "id:190", - "name": "starry-smasher-ladle-dioxide", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:353", - "href": "href:354", - "id": "id:355", - "name": "sg11" - } - ], - "status": "available", - "subnet": { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:518" - }, - "href": "href:516", - "id": "id:517", - "name": "recoup-blinks-ebullient-renewed", - "volume": { - "crn": "crn:519", - "href": "href:520", - "id": "id:521", - "name": "manmade-unequal-disinfect-cone", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:24.000Z", - "crn": "crn:513", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:514", - "id": "id:515", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet20", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "primary_ip": { - "address": "10.240.128.6", - "href": "href:217", - "id": "id:218", - "name": "uniquely-shelter-gracious-sudden", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:518" - }, - "href": "href:516", - "id": "id:517", - "name": "recoup-blinks-ebullient-renewed", - "volume": { - "crn": "crn:519", - "href": "href:520", - "id": "id:521", - "name": "manmade-unequal-disinfect-cone", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:24.000Z", - "floating_ips": [ - { - "address": "169.48.95.165", - "crn": "crn:291", - "href": "href:292", - "id": "id:293", - "name": "fip-0-subnet20" - } - ], - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.6", - "href": "href:217", - "id": "id:218", - "name": "uniquely-shelter-gracious-sudden", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21" - } - ], - "status": "available", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:527" - }, - "href": "href:525", - "id": "id:526", - "name": "radio-tightrope-outtakes-moonshine", - "volume": { - "crn": "crn:528", - "href": "href:529", - "id": "id:530", - "name": "tattoo-crescent-unwary-hayride", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:21.000Z", - "crn": "crn:522", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:523", - "id": "id:524", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet20", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "primary_ip": { - "address": "10.240.128.5", - "href": "href:213", - "id": "id:214", - "name": "customs-recollect-drippy-primate", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:527" - }, - "href": "href:525", - "id": "id:526", - "name": "radio-tightrope-outtakes-moonshine", - "volume": { - "crn": "crn:528", - "href": "href:529", - "id": "id:530", - "name": "tattoo-crescent-unwary-hayride", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:21.000Z", - "floating_ips": [], - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.5", - "href": "href:213", - "id": "id:214", - "name": "customs-recollect-drippy-primate", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21" - } - ], - "status": "available", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:536" - }, - "href": "href:534", - "id": "id:535", - "name": "crumpet-ride-tastiness-phoney", - "volume": { - "crn": "crn:537", - "href": "href:538", - "id": "id:539", - "name": "doorframe-marvelous-refusing-citable", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:21.000Z", - "crn": "crn:531", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:532", - "id": "id:533", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi2-subnet20", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "primary_ip": { - "address": "10.240.128.4", - "href": "href:209", - "id": "id:210", - "name": "unmixed-qualify-prescribe-railcar", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:536" - }, - "href": "href:534", - "id": "id:535", - "name": "crumpet-ride-tastiness-phoney", - "volume": { - "crn": "crn:537", - "href": "href:538", - "id": "id:539", - "name": "doorframe-marvelous-refusing-citable", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:21.000Z", - "floating_ips": [], - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.4", - "href": "href:209", - "id": "id:210", - "name": "unmixed-qualify-prescribe-railcar", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21" - } - ], - "status": "available", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:545" - }, - "href": "href:543", - "id": "id:544", - "name": "bronzing-vendor-plod-pretzel", - "volume": { - "crn": "crn:546", - "href": "href:547", - "id": "id:548", - "name": "squelch-plop-headlamp-ideologue", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:00.000Z", - "crn": "crn:540", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:541", - "id": "id:542", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet30", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "primary_ip": { - "address": "10.240.192.4", - "href": "href:258", - "id": "id:259", - "name": "legacy-shore-molecule-barometer", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:545" - }, - "href": "href:543", - "id": "id:544", - "name": "bronzing-vendor-plod-pretzel", - "volume": { - "crn": "crn:546", - "href": "href:547", - "id": "id:548", - "name": "squelch-plop-headlamp-ideologue", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:00.000Z", - "floating_ips": [ - { - "address": "52.118.100.239", - "crn": "crn:294", - "href": "href:295", - "id": "id:296", - "name": "fip-0-subnet30" - } - ], - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.192.4", - "href": "href:258", - "id": "id:259", - "name": "legacy-shore-molecule-barometer", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:346", - "href": "href:347", - "id": "id:348", - "name": "sg31" - } - ], - "status": "available", - "subnet": { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - } - ], - "routing_tables": [ - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:20.000Z", - "href": "href:11", - "id": "id:12", - "is_default": true, - "lifecycle_state": "stable", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - }, - { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - } - }, - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:19.000Z", - "href": "href:28", - "id": "id:29", - "is_default": true, - "lifecycle_state": "stable", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - }, - { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - }, - { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - } - }, - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:19.000Z", - "href": "href:45", - "id": "id:46", - "is_default": true, - "lifecycle_state": "stable", - "name": "quintuple-severity-caddie-manuals", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - } - }, - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:19.000Z", - "href": "href:58", - "id": "id:59", - "is_default": true, - "lifecycle_state": "stable", - "name": "probational-herring-undone-daintily", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - } - } - ], - "load_balancers": [], - "transit_connections": [ - { - "created_at": "2024-06-25T15:41:44.212Z", - "id": "id:549", - "name": "tg3_connection3", - "network_id": "crn:52", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:550", - "id": "id:551", - "name": "local-tg3" - }, - "updated_at": "2024-06-25T15:45:14.206Z" - }, - { - "created_at": "2024-06-25T15:41:54.416Z", - "id": "id:552", - "name": "tg3_connection0", - "network_id": "crn:22", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:550", - "id": "id:551", - "name": "local-tg3" - }, - "updated_at": "2024-06-25T15:45:53.979Z" - }, - { - "created_at": "2024-06-25T15:42:54.772Z", - "id": "id:553", - "name": "tg2_connection3", - "network_id": "crn:52", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:554", - "id": "id:555", - "name": "local-tg2" - }, - "updated_at": "2024-06-25T15:49:08.822Z" - }, - { - "created_at": "2024-06-25T15:43:11.555Z", - "id": "id:556", - "name": "tg2_connection0", - "network_id": "crn:22", - "network_type": "vpc", - "prefix_filters": [ - { - "action": "deny", - "created_at": "2024-06-25T15:46:46.641Z", - "id": "id:557", - "le": 32, - "prefix": "10.240.0.0/22", - "updated_at": "2024-06-25T15:46:46.641Z" - } - ], - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:554", - "id": "id:555", - "name": "local-tg2" - }, - "updated_at": "2024-06-25T15:49:59.395Z" - }, - { - "created_at": "2024-06-25T15:43:12.159Z", - "id": "id:558", - "name": "tg_connection0", - "network_id": "crn:22", - "network_type": "vpc", - "prefix_filters": [ - { - "action": "deny", - "before": "298db67f-2e68-4548-93b9-949f8356d4a0", - "created_at": "2024-06-25T15:45:14.711Z", - "id": "id:559", - "prefix": "10.240.4.0/22", - "updated_at": "2024-06-25T15:45:14.711Z" - }, - { - "action": "deny", - "created_at": "2024-06-25T15:45:25.435Z", - "id": "id:560", - "prefix": "10.240.8.0/22", - "updated_at": "2024-06-25T15:45:25.435Z" - } - ], - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:561", - "id": "id:562", - "name": "local-tg1" - }, - "updated_at": "2024-06-25T15:49:53.837Z" - }, - { - "created_at": "2024-06-25T15:43:41.079Z", - "id": "id:563", - "name": "tg2_connection2", - "network_id": "crn:39", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:554", - "id": "id:555", - "name": "local-tg2" - }, - "updated_at": "2024-06-25T15:49:43.192Z" - }, - { - "created_at": "2024-06-25T15:43:42.335Z", - "id": "id:564", - "name": "tg1_connection1", - "network_id": "crn:1", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:561", - "id": "id:562", - "name": "local-tg1" - }, - "updated_at": "2024-06-25T15:48:45.229Z" - }, - { - "created_at": "2024-06-25T15:44:08.995Z", - "id": "id:565", - "name": "tg1_connection2", - "network_id": "crn:39", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:561", - "id": "id:562", - "name": "local-tg1" - }, - "updated_at": "2024-06-25T15:49:11.976Z" - } - ], - "transit_gateways": [ - { - "id": "id:551", - "crn": "crn:550", - "name": "local-tg3", - "location": "us-south", - "created_at": "2024-06-25T15:40:21.390Z", - "global": false, - "resource_group": { - "id": "id:17", - "href": "href:566" - }, - "status": "available", - "updated_at": "2024-06-25T15:42:12.752Z" - }, - { - "id": "id:555", - "crn": "crn:554", - "name": "local-tg2", - "location": "us-south", - "created_at": "2024-06-25T15:40:25.895Z", - "global": false, - "resource_group": { - "id": "id:17", - "href": "href:566" - }, - "status": "available", - "updated_at": "2024-06-25T15:43:58.196Z" - }, - { - "id": "id:562", - "crn": "crn:561", - "name": "local-tg1", - "location": "us-south", - "created_at": "2024-06-25T15:40:26.455Z", - "global": false, - "resource_group": { - "id": "id:17", - "href": "href:566" - }, - "status": "available", - "updated_at": "2024-06-25T15:43:15.331Z" - } - ], - "iks_clusters": [] -} diff --git a/test/data/acl_vpe/config_object.json b/test/data/acl_vpe/config_object.json deleted file mode 100644 index 75620661..00000000 --- a/test/data/acl_vpe/config_object.json +++ /dev/null @@ -1,2077 +0,0 @@ -{ - "collector_version": "0.11.0", - "provider": "ibm", - "vpcs": [ - { - "classic_access": false, - "created_at": "2024-06-19T07:11:56.000Z", - "crn": "crn:1", - "cse_source_ips": [ - { - "ip": { - "address": "10.16.239.119" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.22.28.206" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.16.253.77" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:8", - "href": "href:9", - "id": "id:10", - "name": "premises-eleven-nursery-coveted" - }, - "default_routing_table": { - "href": "href:11", - "id": "id:12", - "name": "unguarded-corncob-unaired-corner", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "impart-oxidize-chive-escapade" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.7" - }, - { - "address": "161.26.0.8" - } - ], - "type": "system", - "configuration": "private_resolver" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.0.0/18", - "created_at": "2024-06-19T07:11:56.000Z", - "has_subnets": true, - "href": "href:18", - "id": "id:19", - "is_default": true, - "name": "seismic-phosphate-subtext-unleash", - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "cidr": "10.240.64.0/18", - "created_at": "2024-06-19T07:11:56.000Z", - "has_subnets": true, - "href": "href:20", - "id": "id:21", - "is_default": true, - "name": "shaded-tribute-glazing-explains", - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "cidr": "10.240.128.0/18", - "created_at": "2024-06-19T07:11:56.000Z", - "has_subnets": true, - "href": "href:22", - "id": "id:23", - "is_default": true, - "name": "overlabor-spiffy-economist-clanking", - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "tags": [] - } - ], - "subnets": [ - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-19T07:12:21.000Z", - "crn": "crn:24", - "href": "href:25", - "id": "id:26", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.0.0/24", - "name": "sub1", - "network_acl": { - "crn": "crn:27", - "href": "href:28", - "id": "id:29", - "name": "acl1" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "unguarded-corncob-unaired-corner", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.0.0", - "auto_delete": false, - "created_at": "2024-06-19T07:12:21.000Z", - "href": "href:30", - "id": "id:31", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.1", - "auto_delete": false, - "created_at": "2024-06-19T07:12:21.000Z", - "href": "href:32", - "id": "id:33", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.2", - "auto_delete": false, - "created_at": "2024-06-19T07:12:21.000Z", - "href": "href:34", - "id": "id:35", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.3", - "auto_delete": false, - "created_at": "2024-06-19T07:12:21.000Z", - "href": "href:36", - "id": "id:37", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.4", - "auto_delete": true, - "created_at": "2024-06-19T07:12:47.000Z", - "href": "href:38", - "id": "id:39", - "lifecycle_state": "stable", - "name": "portion-send-snout-magazine", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:40", - "id": "id:41", - "name": "bouncing-serpent-graffiti-evasion", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.0.5", - "auto_delete": true, - "created_at": "2024-06-19T11:03:46.000Z", - "href": "href:42", - "id": "id:43", - "lifecycle_state": "stable", - "name": "appdata-vpe1", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "crn": "crn:44", - "href": "href:45", - "id": "id:46", - "name": "appdata-endpoint-gateway", - "resource_type": "endpoint_gateway" - } - }, - { - "address": "10.240.0.255", - "auto_delete": false, - "created_at": "2024-06-19T07:12:21.000Z", - "href": "href:47", - "id": "id:48", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [ - "trust-zone:edge" - ] - }, - { - "available_ipv4_address_count": 250, - "created_at": "2024-06-19T07:12:20.000Z", - "crn": "crn:49", - "href": "href:50", - "id": "id:51", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.64.0/24", - "name": "sub3", - "network_acl": { - "crn": "crn:27", - "href": "href:28", - "id": "id:29", - "name": "acl1" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "unguarded-corncob-unaired-corner", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "reserved_ips": [ - { - "address": "10.240.64.0", - "auto_delete": false, - "created_at": "2024-06-19T07:12:20.000Z", - "href": "href:52", - "id": "id:53", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.1", - "auto_delete": false, - "created_at": "2024-06-19T07:12:20.000Z", - "href": "href:54", - "id": "id:55", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.2", - "auto_delete": false, - "created_at": "2024-06-19T07:12:20.000Z", - "href": "href:56", - "id": "id:57", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.3", - "auto_delete": false, - "created_at": "2024-06-19T07:12:20.000Z", - "href": "href:58", - "id": "id:59", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.4", - "auto_delete": true, - "created_at": "2024-06-19T11:03:34.000Z", - "href": "href:60", - "id": "id:61", - "lifecycle_state": "stable", - "name": "policydb-vpe3", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "crn": "crn:62", - "href": "href:63", - "id": "id:64", - "name": "policydb-endpoint-gateway", - "resource_type": "endpoint_gateway" - } - }, - { - "address": "10.240.64.255", - "auto_delete": false, - "created_at": "2024-06-19T07:12:20.000Z", - "href": "href:65", - "id": "id:66", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [ - "trust-zone:transit" - ] - }, - { - "available_ipv4_address_count": 246, - "created_at": "2024-06-19T07:12:20.000Z", - "crn": "crn:67", - "href": "href:68", - "id": "id:69", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.128.0/24", - "name": "sub2", - "network_acl": { - "crn": "crn:27", - "href": "href:28", - "id": "id:29", - "name": "acl1" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "unguarded-corncob-unaired-corner", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "reserved_ips": [ - { - "address": "10.240.128.0", - "auto_delete": false, - "created_at": "2024-06-19T07:12:20.000Z", - "href": "href:70", - "id": "id:71", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.1", - "auto_delete": false, - "created_at": "2024-06-19T07:12:20.000Z", - "href": "href:72", - "id": "id:73", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.2", - "auto_delete": false, - "created_at": "2024-06-19T07:12:20.000Z", - "href": "href:74", - "id": "id:75", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.3", - "auto_delete": false, - "created_at": "2024-06-19T07:12:20.000Z", - "href": "href:76", - "id": "id:77", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.4", - "auto_delete": true, - "created_at": "2024-06-19T07:12:46.000Z", - "href": "href:78", - "id": "id:79", - "lifecycle_state": "stable", - "name": "magnetism-steersman-botany-hurled", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:80", - "id": "id:81", - "name": "captain-captivity-shorty-crown", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.5", - "auto_delete": true, - "created_at": "2024-06-19T07:12:47.000Z", - "href": "href:82", - "id": "id:83", - "lifecycle_state": "stable", - "name": "kilt-snipping-yen-unmanaged", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:84", - "id": "id:85", - "name": "left-pebble-agonizing-wharf", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.6", - "auto_delete": true, - "created_at": "2024-06-19T07:12:47.000Z", - "href": "href:86", - "id": "id:87", - "lifecycle_state": "stable", - "name": "manic-nerve-surfboard-cofounder", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:88", - "id": "id:89", - "name": "litigate-bullfrog-improve-shandy", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.7", - "auto_delete": true, - "created_at": "2024-06-19T11:03:34.000Z", - "href": "href:90", - "id": "id:91", - "lifecycle_state": "stable", - "name": "policydb-vpe2", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "crn": "crn:62", - "href": "href:63", - "id": "id:64", - "name": "policydb-endpoint-gateway", - "resource_type": "endpoint_gateway" - } - }, - { - "address": "10.240.128.8", - "auto_delete": true, - "created_at": "2024-06-19T11:03:46.000Z", - "href": "href:92", - "id": "id:93", - "lifecycle_state": "stable", - "name": "appdata-vpe2", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "crn": "crn:44", - "href": "href:45", - "id": "id:46", - "name": "appdata-endpoint-gateway", - "resource_type": "endpoint_gateway" - } - }, - { - "address": "10.240.128.255", - "auto_delete": false, - "created_at": "2024-06-19T07:12:20.000Z", - "href": "href:94", - "id": "id:95", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [ - "trust-zone:private" - ] - } - ], - "public_gateways": [], - "floating_ips": [ - { - "address": "52.116.131.7", - "created_at": "2024-06-19T07:13:16.000Z", - "crn": "crn:96", - "href": "href:97", - "id": "id:98", - "name": "floating-ip", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:40", - "id": "id:41", - "name": "bouncing-serpent-graffiti-evasion", - "primary_ip": { - "address": "10.240.0.4", - "href": "href:38", - "id": "id:39", - "name": "portion-send-snout-magazine", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "tags": [] - } - ], - "network_acls": [ - { - "created_at": "2024-06-19T07:12:16.000Z", - "crn": "crn:27", - "href": "href:28", - "id": "id:29", - "name": "acl1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "deny", - "before": { - "href": "href:101", - "id": "id:102", - "name": "acl1-out3" - }, - "created_at": "2024-06-19T07:12:17.000Z", - "destination": "10.240.0.0/24", - "direction": "outbound", - "href": "href:99", - "id": "id:100", - "ip_version": "ipv4", - "name": "acl1-out2", - "source": "10.240.128.0/24", - "protocol": "all" - }, - { - "action": "allow", - "before": { - "href": "href:103", - "id": "id:104", - "name": "acl1-in2" - }, - "created_at": "2024-06-19T07:12:18.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:101", - "id": "id:102", - "ip_version": "ipv4", - "name": "acl1-out3", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-19T07:12:18.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:103", - "id": "id:104", - "ip_version": "ipv4", - "name": "acl1-in2", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:24", - "href": "href:25", - "id": "id:26", - "name": "sub1", - "resource_type": "subnet" - }, - { - "crn": "crn:49", - "href": "href:50", - "id": "id:51", - "name": "sub3", - "resource_type": "subnet" - }, - { - "crn": "crn:67", - "href": "href:68", - "id": "id:69", - "name": "sub2", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-19T07:11:57.000Z", - "crn": "crn:8", - "href": "href:9", - "id": "id:10", - "name": "premises-eleven-nursery-coveted", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:107", - "id": "id:108", - "name": "allow-outbound" - }, - "created_at": "2024-06-19T07:11:57.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:105", - "id": "id:106", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-19T07:11:57.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:107", - "id": "id:108", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "tags": [] - } - ], - "security_groups": [ - { - "created_at": "2024-06-19T07:12:17.000Z", - "crn": "crn:109", - "href": "href:110", - "id": "id:111", - "name": "opa-sg", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "inbound", - "href": "href:112", - "id": "id:113", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:114", - "href": "href:115", - "id": "id:116", - "name": "be-sg" - }, - "port_max": 8181, - "port_min": 8181, - "protocol": "tcp" - } - ], - "targets": [ - { - "href": "href:84", - "id": "id:85", - "name": "left-pebble-agonizing-wharf", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-19T07:12:17.000Z", - "crn": "crn:114", - "href": "href:115", - "id": "id:116", - "name": "be-sg", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "inbound", - "href": "href:117", - "id": "id:118", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:119", - "href": "href:120", - "id": "id:121", - "name": "fe-sg" - }, - "port_max": 65535, - "port_min": 1, - "protocol": "tcp" - }, - { - "direction": "outbound", - "href": "href:122", - "id": "id:123", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:109", - "href": "href:110", - "id": "id:111", - "name": "opa-sg" - }, - "port_max": 8181, - "port_min": 8181, - "protocol": "tcp" - } - ], - "targets": [ - { - "href": "href:80", - "id": "id:81", - "name": "captain-captivity-shorty-crown", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-19T07:12:17.000Z", - "crn": "crn:124", - "href": "href:125", - "id": "id:126", - "name": "policydb-vpe", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:127", - "id": "id:128", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "address": "10.240.128.7" - }, - "port_max": 65535, - "port_min": 1, - "protocol": "tcp" - }, - { - "direction": "outbound", - "href": "href:129", - "id": "id:130", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "address": "10.240.64.4" - }, - "port_max": 65535, - "port_min": 1, - "protocol": "tcp" - } - ], - "targets": [ - { - "href": "href:80", - "id": "id:81", - "name": "captain-captivity-shorty-crown", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-19T07:12:17.000Z", - "crn": "crn:131", - "href": "href:132", - "id": "id:133", - "name": "proxy-sg", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "inbound", - "href": "href:134", - "id": "id:135", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "outbound", - "href": "href:136", - "id": "id:137", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:119", - "href": "href:120", - "id": "id:121", - "name": "fe-sg" - }, - "port_max": 9000, - "port_min": 9000, - "protocol": "udp" - } - ], - "targets": [ - { - "href": "href:40", - "id": "id:41", - "name": "bouncing-serpent-graffiti-evasion", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-19T07:12:17.000Z", - "crn": "crn:138", - "href": "href:139", - "id": "id:140", - "name": "appdata-sg", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "inbound", - "href": "href:141", - "id": "id:142", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "port_max": 65535, - "port_min": 1, - "protocol": "tcp" - } - ], - "targets": [ - { - "href": "href:45", - "id": "id:46", - "name": "appdata-endpoint-gateway", - "resource_type": "endpoint_gateway", - "crn": "crn:44" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-19T07:12:17.000Z", - "crn": "crn:143", - "href": "href:144", - "id": "id:145", - "name": "appdata-vpe", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:146", - "id": "id:147", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "address": "10.240.128.8" - }, - "port_max": 65535, - "port_min": 1, - "protocol": "tcp" - } - ], - "targets": [ - { - "href": "href:80", - "id": "id:81", - "name": "captain-captivity-shorty-crown", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-19T07:12:17.000Z", - "crn": "crn:119", - "href": "href:120", - "id": "id:121", - "name": "fe-sg", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:148", - "id": "id:149", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:114", - "href": "href:115", - "id": "id:116", - "name": "be-sg" - }, - "port_max": 65535, - "port_min": 1, - "protocol": "tcp" - }, - { - "direction": "inbound", - "href": "href:150", - "id": "id:151", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:131", - "href": "href:132", - "id": "id:133", - "name": "proxy-sg" - }, - "port_max": 9000, - "port_min": 9000, - "protocol": "udp" - } - ], - "targets": [ - { - "href": "href:88", - "id": "id:89", - "name": "litigate-bullfrog-improve-shandy", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-19T07:12:16.000Z", - "crn": "crn:152", - "href": "href:153", - "id": "id:154", - "name": "policydb-sg", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "inbound", - "href": "href:155", - "id": "id:156", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "port_max": 65535, - "port_min": 1, - "protocol": "tcp" - } - ], - "targets": [ - { - "href": "href:63", - "id": "id:64", - "name": "policydb-endpoint-gateway", - "resource_type": "endpoint_gateway", - "crn": "crn:62" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-19T07:11:57.000Z", - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "impart-oxidize-chive-escapade", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:157", - "id": "id:158", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:159", - "id": "id:160", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "impart-oxidize-chive-escapade" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "tags": [] - } - ], - "endpoint_gateways": [ - { - "allow_dns_resolution_binding": true, - "created_at": "2024-06-19T11:03:31.000Z", - "crn": "crn:62", - "health_state": "ok", - "href": "href:63", - "id": "id:64", - "ips": [ - { - "address": "10.240.64.4", - "href": "href:60", - "id": "id:61", - "name": "policydb-vpe3", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.7", - "href": "href:90", - "id": "id:91", - "name": "policydb-vpe2", - "resource_type": "subnet_reserved_ip" - } - ], - "lifecycle_reasons": null, - "lifecycle_state": "stable", - "name": "policydb-endpoint-gateway", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "endpoint_gateway", - "security_groups": [ - { - "crn": "crn:152", - "href": "href:153", - "id": "id:154", - "name": "policydb-sg" - } - ], - "service_endpoint": "0b00984f-c1e1-43b2-ba1e-35b0a55b2fa5.6131b73286f34215871dfad7254b4f7d.private.databases.appdomain.cloud", - "service_endpoints": [ - "0b00984f-c1e1-43b2-ba1e-35b0a55b2fa5.6131b73286f34215871dfad7254b4f7d.private.databases.appdomain.cloud" - ], - "target": { - "crn": "crn:161", - "resource_type": "provider_cloud_service" - }, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "allow_dns_resolution_binding": true, - "created_at": "2024-06-19T11:03:31.000Z", - "crn": "crn:44", - "health_state": "ok", - "href": "href:45", - "id": "id:46", - "ips": [ - { - "address": "10.240.128.8", - "href": "href:92", - "id": "id:93", - "name": "appdata-vpe2", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.5", - "href": "href:42", - "id": "id:43", - "name": "appdata-vpe1", - "resource_type": "subnet_reserved_ip" - } - ], - "lifecycle_reasons": null, - "lifecycle_state": "stable", - "name": "appdata-endpoint-gateway", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "endpoint_gateway", - "security_groups": [ - { - "crn": "crn:138", - "href": "href:139", - "id": "id:140", - "name": "appdata-sg" - } - ], - "service_endpoint": "d60cdc12-7501-488c-a8d7-91a089497ca9-0.6131b73286f34215871dfad7254b4f7d.private.databases.appdomain.cloud", - "service_endpoints": [ - "d60cdc12-7501-488c-a8d7-91a089497ca9-0.6131b73286f34215871dfad7254b4f7d.private.databases.appdomain.cloud", - "d60cdc12-7501-488c-a8d7-91a089497ca9-1.6131b73286f34215871dfad7254b4f7d.private.databases.appdomain.cloud", - "d60cdc12-7501-488c-a8d7-91a089497ca9-2.6131b73286f34215871dfad7254b4f7d.private.databases.appdomain.cloud" - ], - "target": { - "crn": "crn:162", - "resource_type": "provider_cloud_service" - }, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "tags": [] - } - ], - "instances": [ - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:168" - }, - "href": "href:166", - "id": "id:167", - "name": "magnitude-aloe-wildlife-vacancy", - "volume": { - "crn": "crn:169", - "href": "href:170", - "id": "id:171", - "name": "catbrier-onto-grapple-fastball", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-19T07:12:47.000Z", - "crn": "crn:163", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:164", - "id": "id:165", - "image": { - "crn": "crn:172", - "href": "href:173", - "id": "id:174", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "proxy", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:40", - "id": "id:41", - "name": "bouncing-serpent-graffiti-evasion", - "primary_ip": { - "address": "10.240.0.4", - "href": "href:38", - "id": "id:39", - "name": "portion-send-snout-magazine", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:24", - "href": "href:25", - "id": "id:26", - "name": "sub1", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:175", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:168" - }, - "href": "href:166", - "id": "id:167", - "name": "magnitude-aloe-wildlife-vacancy", - "volume": { - "crn": "crn:169", - "href": "href:170", - "id": "id:171", - "name": "catbrier-onto-grapple-fastball", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-19T07:12:47.000Z", - "floating_ips": [ - { - "address": "52.116.131.7", - "crn": "crn:96", - "href": "href:97", - "id": "id:98", - "name": "floating-ip" - } - ], - "href": "href:40", - "id": "id:41", - "name": "bouncing-serpent-graffiti-evasion", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.0.4", - "href": "href:38", - "id": "id:39", - "name": "portion-send-snout-magazine", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:131", - "href": "href:132", - "id": "id:133", - "name": "proxy-sg" - } - ], - "status": "available", - "subnet": { - "crn": "crn:24", - "href": "href:25", - "id": "id:26", - "name": "sub1", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:181" - }, - "href": "href:179", - "id": "id:180", - "name": "folk-mousy-collar-kleenex", - "volume": { - "crn": "crn:182", - "href": "href:183", - "id": "id:184", - "name": "regalia-pavestone-ramble-stretch", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-19T07:12:46.000Z", - "crn": "crn:176", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:177", - "id": "id:178", - "image": { - "crn": "crn:172", - "href": "href:173", - "id": "id:174", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "opa", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:84", - "id": "id:85", - "name": "left-pebble-agonizing-wharf", - "primary_ip": { - "address": "10.240.128.5", - "href": "href:82", - "id": "id:83", - "name": "kilt-snipping-yen-unmanaged", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:67", - "href": "href:68", - "id": "id:69", - "name": "sub2", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:175", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:181" - }, - "href": "href:179", - "id": "id:180", - "name": "folk-mousy-collar-kleenex", - "volume": { - "crn": "crn:182", - "href": "href:183", - "id": "id:184", - "name": "regalia-pavestone-ramble-stretch", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-19T07:12:46.000Z", - "floating_ips": [], - "href": "href:84", - "id": "id:85", - "name": "left-pebble-agonizing-wharf", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.5", - "href": "href:82", - "id": "id:83", - "name": "kilt-snipping-yen-unmanaged", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:109", - "href": "href:110", - "id": "id:111", - "name": "opa-sg" - } - ], - "status": "available", - "subnet": { - "crn": "crn:67", - "href": "href:68", - "id": "id:69", - "name": "sub2", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:190" - }, - "href": "href:188", - "id": "id:189", - "name": "scarily-reapprove-ecologist-gosling", - "volume": { - "crn": "crn:191", - "href": "href:192", - "id": "id:193", - "name": "flattered-laboring-reusable-comic", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-19T07:12:46.000Z", - "crn": "crn:185", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:186", - "id": "id:187", - "image": { - "crn": "crn:172", - "href": "href:173", - "id": "id:174", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "fe", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:88", - "id": "id:89", - "name": "litigate-bullfrog-improve-shandy", - "primary_ip": { - "address": "10.240.128.6", - "href": "href:86", - "id": "id:87", - "name": "manic-nerve-surfboard-cofounder", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:67", - "href": "href:68", - "id": "id:69", - "name": "sub2", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:175", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:190" - }, - "href": "href:188", - "id": "id:189", - "name": "scarily-reapprove-ecologist-gosling", - "volume": { - "crn": "crn:191", - "href": "href:192", - "id": "id:193", - "name": "flattered-laboring-reusable-comic", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-19T07:12:46.000Z", - "floating_ips": [], - "href": "href:88", - "id": "id:89", - "name": "litigate-bullfrog-improve-shandy", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.6", - "href": "href:86", - "id": "id:87", - "name": "manic-nerve-surfboard-cofounder", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:119", - "href": "href:120", - "id": "id:121", - "name": "fe-sg" - } - ], - "status": "available", - "subnet": { - "crn": "crn:67", - "href": "href:68", - "id": "id:69", - "name": "sub2", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:199" - }, - "href": "href:197", - "id": "id:198", - "name": "carnival-grimace-mannequin-lumping", - "volume": { - "crn": "crn:200", - "href": "href:201", - "id": "id:202", - "name": "wands-niece-whole-cocoa", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-19T07:12:46.000Z", - "crn": "crn:194", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:195", - "id": "id:196", - "image": { - "crn": "crn:172", - "href": "href:173", - "id": "id:174", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "be", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:80", - "id": "id:81", - "name": "captain-captivity-shorty-crown", - "primary_ip": { - "address": "10.240.128.4", - "href": "href:78", - "id": "id:79", - "name": "magnetism-steersman-botany-hurled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:67", - "href": "href:68", - "id": "id:69", - "name": "sub2", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:175", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:199" - }, - "href": "href:197", - "id": "id:198", - "name": "carnival-grimace-mannequin-lumping", - "volume": { - "crn": "crn:200", - "href": "href:201", - "id": "id:202", - "name": "wands-niece-whole-cocoa", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-19T07:12:46.000Z", - "floating_ips": [], - "href": "href:80", - "id": "id:81", - "name": "captain-captivity-shorty-crown", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.4", - "href": "href:78", - "id": "id:79", - "name": "magnetism-steersman-botany-hurled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:124", - "href": "href:125", - "id": "id:126", - "name": "policydb-vpe" - }, - { - "crn": "crn:114", - "href": "href:115", - "id": "id:116", - "name": "be-sg" - }, - { - "crn": "crn:143", - "href": "href:144", - "id": "id:145", - "name": "appdata-vpe" - } - ], - "status": "available", - "subnet": { - "crn": "crn:67", - "href": "href:68", - "id": "id:69", - "name": "sub2", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - } - ], - "routing_tables": [ - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-19T07:11:57.000Z", - "href": "href:11", - "id": "id:12", - "is_default": true, - "lifecycle_state": "stable", - "name": "unguarded-corncob-unaired-corner", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:24", - "href": "href:25", - "id": "id:26", - "name": "sub1", - "resource_type": "subnet" - }, - { - "crn": "crn:49", - "href": "href:50", - "id": "id:51", - "name": "sub3", - "resource_type": "subnet" - }, - { - "crn": "crn:67", - "href": "href:68", - "id": "id:69", - "name": "sub2", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc", - "resource_type": "vpc" - } - } - ], - "load_balancers": [], - "transit_connections": null, - "transit_gateways": null, - "iks_clusters": [] -} diff --git a/test/data/sg_protocols/config_object.json b/test/data/sg_protocols/config_object.json deleted file mode 100644 index 7e94d3b8..00000000 --- a/test/data/sg_protocols/config_object.json +++ /dev/null @@ -1,6269 +0,0 @@ -{ - "collector_version": "0.11.0", - "provider": "ibm", - "vpcs": [ - { - "classic_access": false, - "created_at": "2024-06-25T15:40:20.000Z", - "crn": "crn:1", - "cse_source_ips": [ - { - "ip": { - "address": "10.22.215.5" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.22.220.2" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.249.82.12" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:8", - "href": "href:9", - "id": "id:10", - "name": "automaker-castle-bird-worried" - }, - "default_routing_table": { - "href": "href:11", - "id": "id:12", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "brute-upon-angles-cubbyhole" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.80.0/20", - "created_at": "2024-06-25T15:40:39.000Z", - "has_subnets": true, - "href": "href:18", - "id": "id:19", - "is_default": false, - "name": "address-prefix-vpc-1", - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "cidr": "10.240.64.0/20", - "created_at": "2024-06-25T15:40:40.000Z", - "has_subnets": true, - "href": "href:20", - "id": "id:21", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:6", - "name": "us-south-2" - } - } - ], - "tags": [] - }, - { - "classic_access": false, - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:22", - "cse_source_ips": [ - { - "ip": { - "address": "10.16.238.56" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.249.200.205" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.249.212.88" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:25", - "href": "href:26", - "id": "id:27", - "name": "ebullient-slacks-revert-turkey" - }, - "default_routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:30", - "href": "href:31", - "id": "id:32", - "name": "basically-drank-bulk-jam" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.0.0/22", - "created_at": "2024-06-25T15:40:37.000Z", - "has_subnets": true, - "href": "href:33", - "id": "id:34", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "cidr": "10.240.4.0/22", - "created_at": "2024-06-25T15:40:38.000Z", - "has_subnets": true, - "href": "href:35", - "id": "id:36", - "is_default": false, - "name": "address-prefix-vpc-1", - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "cidr": "10.240.8.0/22", - "created_at": "2024-06-25T15:40:39.000Z", - "has_subnets": true, - "href": "href:37", - "id": "id:38", - "is_default": false, - "name": "address-prefix-vpc-2", - "zone": { - "href": "href:5", - "name": "us-south-1" - } - } - ], - "tags": [] - }, - { - "classic_access": false, - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:39", - "cse_source_ips": [ - { - "ip": { - "address": "10.12.125.16" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.22.27.134" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.22.231.90" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:42", - "href": "href:43", - "id": "id:44", - "name": "afoot-grape-fineness-zestfully" - }, - "default_routing_table": { - "href": "href:45", - "id": "id:46", - "name": "quintuple-severity-caddie-manuals", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:47", - "href": "href:48", - "id": "id:49", - "name": "glance-cactus-unease-bankroll" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.128.0/20", - "created_at": "2024-06-25T15:40:39.000Z", - "has_subnets": true, - "href": "href:50", - "id": "id:51", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "tags": [] - }, - { - "classic_access": false, - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:52", - "cse_source_ips": [ - { - "ip": { - "address": "10.22.219.155" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.12.159.11" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.16.253.109" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:55", - "href": "href:56", - "id": "id:57", - "name": "untracked-repayment-triumph-cat" - }, - "default_routing_table": { - "href": "href:58", - "id": "id:59", - "name": "probational-herring-undone-daintily", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:60", - "href": "href:61", - "id": "id:62", - "name": "repeater-upcountry-agreeing-acutely" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.192.0/20", - "created_at": "2024-06-25T15:40:38.000Z", - "has_subnets": true, - "href": "href:63", - "id": "id:64", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "tags": [] - } - ], - "subnets": [ - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:47.000Z", - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.9.0/24", - "name": "subnet5", - "network_acl": { - "crn": "crn:68", - "href": "href:69", - "id": "id:70", - "name": "acl3" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.9.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:71", - "id": "id:72", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:73", - "id": "id:74", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:75", - "id": "id:76", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:77", - "id": "id:78", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:79", - "id": "id:80", - "lifecycle_state": "stable", - "name": "ideally-grain-bagpipe-luxuriant", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.9.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:20.000Z", - "href": "href:83", - "id": "id:84", - "lifecycle_state": "stable", - "name": "outskirts-unaligned-passivism-parchment", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.9.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:87", - "id": "id:88", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:35.000Z", - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.5.0/24", - "name": "subnet3", - "network_acl": { - "crn": "crn:92", - "href": "href:93", - "id": "id:94", - "name": "acl2" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.5.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:95", - "id": "id:96", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:97", - "id": "id:98", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:99", - "id": "id:100", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:101", - "id": "id:102", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:103", - "id": "id:104", - "lifecycle_state": "stable", - "name": "rising-gopher-reentry-graveness", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.5.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:16.000Z", - "href": "href:107", - "id": "id:108", - "lifecycle_state": "stable", - "name": "recognize-citable-exerciser-unsecured", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.5.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:111", - "id": "id:112", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:23.000Z", - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.0.0/24", - "name": "subnet0", - "network_acl": { - "crn": "crn:116", - "href": "href:117", - "id": "id:118", - "name": "acl1" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.0.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:119", - "id": "id:120", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:121", - "id": "id:122", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:123", - "id": "id:124", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:125", - "id": "id:126", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:08.000Z", - "href": "href:127", - "id": "id:128", - "lifecycle_state": "stable", - "name": "pundit-tight-arbitrate-grace", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.0.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:39.000Z", - "href": "href:131", - "id": "id:132", - "lifecycle_state": "stable", - "name": "relatable-antiques-maturing-brulee", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.0.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:135", - "id": "id:136", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 250, - "created_at": "2024-06-25T15:41:20.000Z", - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.80.0/24", - "name": "subnet11", - "network_acl": { - "crn": "crn:140", - "href": "href:141", - "id": "id:142", - "name": "acl11" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "reserved_ips": [ - { - "address": "10.240.80.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:143", - "id": "id:144", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:145", - "id": "id:146", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:147", - "id": "id:148", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:149", - "id": "id:150", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:40.000Z", - "href": "href:151", - "id": "id:152", - "lifecycle_state": "stable", - "name": "childlike-publish-retainer-movie", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.80.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:155", - "id": "id:156", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:08.000Z", - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.4.0/24", - "name": "subnet2", - "network_acl": { - "crn": "crn:92", - "href": "href:93", - "id": "id:94", - "name": "acl2" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.4.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:160", - "id": "id:161", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:162", - "id": "id:163", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:164", - "id": "id:165", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:166", - "id": "id:167", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:21.000Z", - "href": "href:168", - "id": "id:169", - "lifecycle_state": "stable", - "name": "stood-sitcom-whoops-hurled", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.4.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:22.000Z", - "href": "href:172", - "id": "id:173", - "lifecycle_state": "stable", - "name": "bark-gatherer-rope-unrivaled", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.4.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:176", - "id": "id:177", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 250, - "created_at": "2024-06-25T15:41:08.000Z", - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.64.0/24", - "name": "subnet10", - "network_acl": { - "crn": "crn:140", - "href": "href:141", - "id": "id:142", - "name": "acl11" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "reserved_ips": [ - { - "address": "10.240.64.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:181", - "id": "id:182", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:183", - "id": "id:184", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:185", - "id": "id:186", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:187", - "id": "id:188", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:36.000Z", - "href": "href:189", - "id": "id:190", - "lifecycle_state": "stable", - "name": "starry-smasher-ladle-dioxide", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.64.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:193", - "id": "id:194", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 248, - "created_at": "2024-06-25T15:40:57.000Z", - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.128.0/24", - "name": "subnet20", - "network_acl": { - "crn": "crn:198", - "href": "href:199", - "id": "id:200", - "name": "acl21" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:45", - "id": "id:46", - "name": "quintuple-severity-caddie-manuals", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "reserved_ips": [ - { - "address": "10.240.128.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:201", - "id": "id:202", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:203", - "id": "id:204", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:205", - "id": "id:206", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:207", - "id": "id:208", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:21.000Z", - "href": "href:209", - "id": "id:210", - "lifecycle_state": "stable", - "name": "unmixed-qualify-prescribe-railcar", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.5", - "auto_delete": false, - "created_at": "2024-06-25T15:41:21.000Z", - "href": "href:213", - "id": "id:214", - "lifecycle_state": "stable", - "name": "customs-recollect-drippy-primate", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.6", - "auto_delete": false, - "created_at": "2024-06-25T15:41:24.000Z", - "href": "href:217", - "id": "id:218", - "lifecycle_state": "stable", - "name": "uniquely-shelter-gracious-sudden", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:221", - "id": "id:222", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:40:56.000Z", - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.1.0/24", - "name": "subnet1", - "network_acl": { - "crn": "crn:116", - "href": "href:117", - "id": "id:118", - "name": "acl1" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.1.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:226", - "id": "id:227", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:228", - "id": "id:229", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:230", - "id": "id:231", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:232", - "id": "id:233", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:234", - "id": "id:235", - "lifecycle_state": "stable", - "name": "excluded-unfair-jailbird-foil", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.1.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:40.000Z", - "href": "href:238", - "id": "id:239", - "lifecycle_state": "stable", - "name": "affected-johnniecake-monorail-ungraded", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.1.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:242", - "id": "id:243", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 250, - "created_at": "2024-06-25T15:40:48.000Z", - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.192.0/24", - "name": "subnet30", - "network_acl": { - "crn": "crn:247", - "href": "href:248", - "id": "id:249", - "name": "acl31" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:58", - "id": "id:59", - "name": "probational-herring-undone-daintily", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "reserved_ips": [ - { - "address": "10.240.192.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:250", - "id": "id:251", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:252", - "id": "id:253", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:254", - "id": "id:255", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:256", - "id": "id:257", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:01.000Z", - "href": "href:258", - "id": "id:259", - "lifecycle_state": "stable", - "name": "legacy-shore-molecule-barometer", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.192.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:262", - "id": "id:263", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:40:44.000Z", - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.8.0/24", - "name": "subnet4", - "network_acl": { - "crn": "crn:68", - "href": "href:69", - "id": "id:70", - "name": "acl3" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.8.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:267", - "id": "id:268", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:269", - "id": "id:270", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:271", - "id": "id:272", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:273", - "id": "id:274", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:275", - "id": "id:276", - "lifecycle_state": "stable", - "name": "bagged-posture-glaring-cojoined", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.8.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:16.000Z", - "href": "href:279", - "id": "id:280", - "lifecycle_state": "stable", - "name": "frighten-mystified-freeway-hurtling", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.8.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:283", - "id": "id:284", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - } - ], - "public_gateways": [], - "floating_ips": [ - { - "address": "52.118.151.238", - "created_at": "2024-06-25T15:43:30.000Z", - "crn": "crn:285", - "href": "href:286", - "id": "id:287", - "name": "fip-0-subnet0", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "primary_ip": { - "address": "10.240.0.4", - "href": "href:127", - "id": "id:128", - "name": "pundit-tight-arbitrate-grace", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "tags": [] - }, - { - "address": "150.239.167.146", - "created_at": "2024-06-25T15:41:59.000Z", - "crn": "crn:288", - "href": "href:289", - "id": "id:290", - "name": "fip-0-subnet10", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "primary_ip": { - "address": "10.240.64.4", - "href": "href:189", - "id": "id:190", - "name": "starry-smasher-ladle-dioxide", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "tags": [] - }, - { - "address": "169.48.95.165", - "created_at": "2024-06-25T15:41:50.000Z", - "crn": "crn:291", - "href": "href:292", - "id": "id:293", - "name": "fip-0-subnet20", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "primary_ip": { - "address": "10.240.128.6", - "href": "href:217", - "id": "id:218", - "name": "uniquely-shelter-gracious-sudden", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "tags": [] - }, - { - "address": "52.118.100.239", - "created_at": "2024-06-25T15:41:33.000Z", - "crn": "crn:294", - "href": "href:295", - "id": "id:296", - "name": "fip-0-subnet30", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "primary_ip": { - "address": "10.240.192.4", - "href": "href:258", - "id": "id:259", - "name": "legacy-shore-molecule-barometer", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "tags": [] - } - ], - "network_acls": [ - { - "created_at": "2024-06-25T15:40:41.000Z", - "crn": "crn:140", - "href": "href:141", - "id": "id:142", - "name": "acl11", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "deny", - "before": { - "href": "href:299", - "id": "id:300", - "name": "acl11-out-2" - }, - "created_at": "2024-06-25T15:40:42.000Z", - "destination": "10.240.4.0/24", - "direction": "outbound", - "href": "href:297", - "id": "id:298", - "ip_version": "ipv4", - "name": "acl11-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "before": { - "href": "href:301", - "id": "id:302", - "name": "acl11-in-1" - }, - "created_at": "2024-06-25T15:40:43.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:299", - "id": "id:300", - "ip_version": "ipv4", - "name": "acl11-out-2", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:43.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:301", - "id": "id:302", - "ip_version": "ipv4", - "name": "acl11-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - }, - { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:247", - "href": "href:248", - "id": "id:249", - "name": "acl31", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:305", - "id": "id:306", - "name": "acl31-in-1" - }, - "created_at": "2024-06-25T15:40:41.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:303", - "id": "id:304", - "ip_version": "ipv4", - "name": "acl31-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:41.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:305", - "id": "id:306", - "ip_version": "ipv4", - "name": "acl31-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:198", - "href": "href:199", - "id": "id:200", - "name": "acl21", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:309", - "id": "id:310", - "name": "acl21-in-1" - }, - "created_at": "2024-06-25T15:40:41.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:307", - "id": "id:308", - "ip_version": "ipv4", - "name": "acl21-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:42.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:309", - "id": "id:310", - "ip_version": "ipv4", - "name": "acl21-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:38.000Z", - "crn": "crn:92", - "href": "href:93", - "id": "id:94", - "name": "acl2", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:313", - "id": "id:314", - "name": "acl1-in-1" - }, - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:311", - "id": "id:312", - "ip_version": "ipv4", - "name": "acl1-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:39.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:313", - "id": "id:314", - "ip_version": "ipv4", - "name": "acl1-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:37.000Z", - "crn": "crn:68", - "href": "href:69", - "id": "id:70", - "name": "acl3", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:317", - "id": "id:318", - "name": "acl1-in-1" - }, - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:315", - "id": "id:316", - "ip_version": "ipv4", - "name": "acl1-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:317", - "id": "id:318", - "ip_version": "ipv4", - "name": "acl1-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:37.000Z", - "crn": "crn:116", - "href": "href:117", - "id": "id:118", - "name": "acl1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:321", - "id": "id:322", - "name": "acl1-in-1" - }, - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:319", - "id": "id:320", - "ip_version": "ipv4", - "name": "acl1-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:321", - "id": "id:322", - "ip_version": "ipv4", - "name": "acl1-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:20.000Z", - "crn": "crn:8", - "href": "href:9", - "id": "id:10", - "name": "automaker-castle-bird-worried", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:325", - "id": "id:326", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:20.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:323", - "id": "id:324", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:20.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:325", - "id": "id:326", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:42", - "href": "href:43", - "id": "id:44", - "name": "afoot-grape-fineness-zestfully", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:329", - "id": "id:330", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:327", - "id": "id:328", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:329", - "id": "id:330", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:25", - "href": "href:26", - "id": "id:27", - "name": "ebullient-slacks-revert-turkey", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:333", - "id": "id:334", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:331", - "id": "id:332", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:333", - "id": "id:334", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:55", - "href": "href:56", - "id": "id:57", - "name": "untracked-repayment-triumph-cat", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:337", - "id": "id:338", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:335", - "id": "id:336", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:337", - "id": "id:338", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - } - ], - "security_groups": [ - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:342", - "id": "id:343", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:344", - "id": "id:345", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "resource_type": "network_interface" - }, - { - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "resource_type": "network_interface" - }, - { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:346", - "href": "href:347", - "id": "id:348", - "name": "sg31", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:349", - "id": "id:350", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:351", - "id": "id:352", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:353", - "href": "href:354", - "id": "id:355", - "name": "sg11", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:356", - "id": "id:357", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:358", - "id": "id:359", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "resource_type": "network_interface" - }, - { - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:37.000Z", - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "inbound", - "href": "href:363", - "id": "id:364", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "outbound", - "href": "href:365", - "id": "id:366", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "resource_type": "network_interface" - }, - { - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "resource_type": "network_interface" - }, - { - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "resource_type": "network_interface" - }, - { - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "resource_type": "network_interface" - }, - { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "resource_type": "network_interface" - }, - { - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "resource_type": "network_interface" - }, - { - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "resource_type": "network_interface" - }, - { - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "resource_type": "network_interface" - }, - { - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "resource_type": "network_interface" - }, - { - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "resource_type": "network_interface" - }, - { - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "resource_type": "network_interface" - }, - { - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:20.000Z", - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "brute-upon-angles-cubbyhole", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:367", - "id": "id:368", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:369", - "id": "id:370", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "brute-upon-angles-cubbyhole" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:30", - "href": "href:31", - "id": "id:32", - "name": "basically-drank-bulk-jam", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:371", - "id": "id:372", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:373", - "id": "id:374", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:30", - "href": "href:31", - "id": "id:32", - "name": "basically-drank-bulk-jam" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:47", - "href": "href:48", - "id": "id:49", - "name": "glance-cactus-unease-bankroll", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:375", - "id": "id:376", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:377", - "id": "id:378", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:47", - "href": "href:48", - "id": "id:49", - "name": "glance-cactus-unease-bankroll" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:60", - "href": "href:61", - "id": "id:62", - "name": "repeater-upcountry-agreeing-acutely", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:379", - "id": "id:380", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:381", - "id": "id:382", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:60", - "href": "href:61", - "id": "id:62", - "name": "repeater-upcountry-agreeing-acutely" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - } - ], - "endpoint_gateways": [], - "instances": [ - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:388" - }, - "href": "href:386", - "id": "id:387", - "name": "thief-monastery-blinks-verdict", - "volume": { - "crn": "crn:389", - "href": "href:390", - "id": "id:391", - "name": "scrabble-gorged-baton-angled", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:40.000Z", - "crn": "crn:383", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:384", - "id": "id:385", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet1", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "primary_ip": { - "address": "10.240.1.5", - "href": "href:238", - "id": "id:239", - "name": "affected-johnniecake-monorail-ungraded", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:388" - }, - "href": "href:386", - "id": "id:387", - "name": "thief-monastery-blinks-verdict", - "volume": { - "crn": "crn:389", - "href": "href:390", - "id": "id:391", - "name": "scrabble-gorged-baton-angled", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:40.000Z", - "floating_ips": [], - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.1.5", - "href": "href:238", - "id": "id:239", - "name": "affected-johnniecake-monorail-ungraded", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:401" - }, - "href": "href:399", - "id": "id:400", - "name": "hunchback-enginous-dividend-atrium", - "volume": { - "crn": "crn:402", - "href": "href:403", - "id": "id:404", - "name": "subsoil-bobble-bovine-unmoving", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:39.000Z", - "crn": "crn:396", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:397", - "id": "id:398", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet0", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "primary_ip": { - "address": "10.240.0.5", - "href": "href:131", - "id": "id:132", - "name": "relatable-antiques-maturing-brulee", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:401" - }, - "href": "href:399", - "id": "id:400", - "name": "hunchback-enginous-dividend-atrium", - "volume": { - "crn": "crn:402", - "href": "href:403", - "id": "id:404", - "name": "subsoil-bobble-bovine-unmoving", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:39.000Z", - "floating_ips": [], - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.0.5", - "href": "href:131", - "id": "id:132", - "name": "relatable-antiques-maturing-brulee", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:410" - }, - "href": "href:408", - "id": "id:409", - "name": "laboring-overbuilt-growl-headland", - "volume": { - "crn": "crn:411", - "href": "href:412", - "id": "id:413", - "name": "tamper-salvaging-stick-giddily", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:22.000Z", - "crn": "crn:405", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:406", - "id": "id:407", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet2", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "primary_ip": { - "address": "10.240.4.5", - "href": "href:172", - "id": "id:173", - "name": "bark-gatherer-rope-unrivaled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:410" - }, - "href": "href:408", - "id": "id:409", - "name": "laboring-overbuilt-growl-headland", - "volume": { - "crn": "crn:411", - "href": "href:412", - "id": "id:413", - "name": "tamper-salvaging-stick-giddily", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:22.000Z", - "floating_ips": [], - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.4.5", - "href": "href:172", - "id": "id:173", - "name": "bark-gatherer-rope-unrivaled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:419" - }, - "href": "href:417", - "id": "id:418", - "name": "dollop-partition-helping-palmtree", - "volume": { - "crn": "crn:420", - "href": "href:421", - "id": "id:422", - "name": "ravage-deny-amusable-settling", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:20.000Z", - "crn": "crn:414", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:415", - "id": "id:416", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet5", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "primary_ip": { - "address": "10.240.9.5", - "href": "href:83", - "id": "id:84", - "name": "outskirts-unaligned-passivism-parchment", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:419" - }, - "href": "href:417", - "id": "id:418", - "name": "dollop-partition-helping-palmtree", - "volume": { - "crn": "crn:420", - "href": "href:421", - "id": "id:422", - "name": "ravage-deny-amusable-settling", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:20.000Z", - "floating_ips": [], - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.9.5", - "href": "href:83", - "id": "id:84", - "name": "outskirts-unaligned-passivism-parchment", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:428" - }, - "href": "href:426", - "id": "id:427", - "name": "petted-ethanol-voicing-rocklike", - "volume": { - "crn": "crn:429", - "href": "href:430", - "id": "id:431", - "name": "uptown-striving-unrevised-earthlike", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:20.000Z", - "crn": "crn:423", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:424", - "id": "id:425", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet2", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "primary_ip": { - "address": "10.240.4.4", - "href": "href:168", - "id": "id:169", - "name": "stood-sitcom-whoops-hurled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:428" - }, - "href": "href:426", - "id": "id:427", - "name": "petted-ethanol-voicing-rocklike", - "volume": { - "crn": "crn:429", - "href": "href:430", - "id": "id:431", - "name": "uptown-striving-unrevised-earthlike", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:20.000Z", - "floating_ips": [], - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.4.4", - "href": "href:168", - "id": "id:169", - "name": "stood-sitcom-whoops-hurled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:437" - }, - "href": "href:435", - "id": "id:436", - "name": "promenade-spyglass-flattop-pushpin", - "volume": { - "crn": "crn:438", - "href": "href:439", - "id": "id:440", - "name": "relax-shaded-prism-jaunt", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:16.000Z", - "crn": "crn:432", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:433", - "id": "id:434", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet3", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "primary_ip": { - "address": "10.240.5.5", - "href": "href:107", - "id": "id:108", - "name": "recognize-citable-exerciser-unsecured", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:437" - }, - "href": "href:435", - "id": "id:436", - "name": "promenade-spyglass-flattop-pushpin", - "volume": { - "crn": "crn:438", - "href": "href:439", - "id": "id:440", - "name": "relax-shaded-prism-jaunt", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:16.000Z", - "floating_ips": [], - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.5.5", - "href": "href:107", - "id": "id:108", - "name": "recognize-citable-exerciser-unsecured", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:446" - }, - "href": "href:444", - "id": "id:445", - "name": "sandbox-federal-sculptor-jugum", - "volume": { - "crn": "crn:447", - "href": "href:448", - "id": "id:449", - "name": "convent-ramrod-cloning-afterward", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:15.000Z", - "crn": "crn:441", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:442", - "id": "id:443", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet4", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "primary_ip": { - "address": "10.240.8.5", - "href": "href:279", - "id": "id:280", - "name": "frighten-mystified-freeway-hurtling", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:446" - }, - "href": "href:444", - "id": "id:445", - "name": "sandbox-federal-sculptor-jugum", - "volume": { - "crn": "crn:447", - "href": "href:448", - "id": "id:449", - "name": "convent-ramrod-cloning-afterward", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:15.000Z", - "floating_ips": [], - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.8.5", - "href": "href:279", - "id": "id:280", - "name": "frighten-mystified-freeway-hurtling", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:455" - }, - "href": "href:453", - "id": "id:454", - "name": "affidavit-chastise-elsewhere-viewer", - "volume": { - "crn": "crn:456", - "href": "href:457", - "id": "id:458", - "name": "fancy-destiny-shuffling-sandbank", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:07.000Z", - "crn": "crn:450", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:451", - "id": "id:452", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet0", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "primary_ip": { - "address": "10.240.0.4", - "href": "href:127", - "id": "id:128", - "name": "pundit-tight-arbitrate-grace", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:455" - }, - "href": "href:453", - "id": "id:454", - "name": "affidavit-chastise-elsewhere-viewer", - "volume": { - "crn": "crn:456", - "href": "href:457", - "id": "id:458", - "name": "fancy-destiny-shuffling-sandbank", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:07.000Z", - "floating_ips": [ - { - "address": "52.118.151.238", - "crn": "crn:285", - "href": "href:286", - "id": "id:287", - "name": "fip-0-subnet0" - } - ], - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.0.4", - "href": "href:127", - "id": "id:128", - "name": "pundit-tight-arbitrate-grace", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:464" - }, - "href": "href:462", - "id": "id:463", - "name": "uneven-armoire-scabiosa-letter", - "volume": { - "crn": "crn:465", - "href": "href:466", - "id": "id:467", - "name": "cognition-blinks-humid-oxidant", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:459", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:460", - "id": "id:461", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet3", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "primary_ip": { - "address": "10.240.5.4", - "href": "href:103", - "id": "id:104", - "name": "rising-gopher-reentry-graveness", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:464" - }, - "href": "href:462", - "id": "id:463", - "name": "uneven-armoire-scabiosa-letter", - "volume": { - "crn": "crn:465", - "href": "href:466", - "id": "id:467", - "name": "cognition-blinks-humid-oxidant", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.5.4", - "href": "href:103", - "id": "id:104", - "name": "rising-gopher-reentry-graveness", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:473" - }, - "href": "href:471", - "id": "id:472", - "name": "perplexed-impulsivity-august-jaws", - "volume": { - "crn": "crn:474", - "href": "href:475", - "id": "id:476", - "name": "tartar-sixties-fructose-parmesan", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:468", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:469", - "id": "id:470", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet1", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "primary_ip": { - "address": "10.240.1.4", - "href": "href:234", - "id": "id:235", - "name": "excluded-unfair-jailbird-foil", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:473" - }, - "href": "href:471", - "id": "id:472", - "name": "perplexed-impulsivity-august-jaws", - "volume": { - "crn": "crn:474", - "href": "href:475", - "id": "id:476", - "name": "tartar-sixties-fructose-parmesan", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.1.4", - "href": "href:234", - "id": "id:235", - "name": "excluded-unfair-jailbird-foil", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:482" - }, - "href": "href:480", - "id": "id:481", - "name": "litter-snipping-unclasp-dust", - "volume": { - "crn": "crn:483", - "href": "href:484", - "id": "id:485", - "name": "untried-sulphate-hypnosis-subsidize", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:477", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:478", - "id": "id:479", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet4", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "primary_ip": { - "address": "10.240.8.4", - "href": "href:275", - "id": "id:276", - "name": "bagged-posture-glaring-cojoined", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:482" - }, - "href": "href:480", - "id": "id:481", - "name": "litter-snipping-unclasp-dust", - "volume": { - "crn": "crn:483", - "href": "href:484", - "id": "id:485", - "name": "untried-sulphate-hypnosis-subsidize", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.8.4", - "href": "href:275", - "id": "id:276", - "name": "bagged-posture-glaring-cojoined", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:491" - }, - "href": "href:489", - "id": "id:490", - "name": "unlawful-overreach-yarn-rippling", - "volume": { - "crn": "crn:492", - "href": "href:493", - "id": "id:494", - "name": "finer-voter-roving-jailer", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:486", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:487", - "id": "id:488", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet5", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "primary_ip": { - "address": "10.240.9.4", - "href": "href:79", - "id": "id:80", - "name": "ideally-grain-bagpipe-luxuriant", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:491" - }, - "href": "href:489", - "id": "id:490", - "name": "unlawful-overreach-yarn-rippling", - "volume": { - "crn": "crn:492", - "href": "href:493", - "id": "id:494", - "name": "finer-voter-roving-jailer", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.9.4", - "href": "href:79", - "id": "id:80", - "name": "ideally-grain-bagpipe-luxuriant", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:500" - }, - "href": "href:498", - "id": "id:499", - "name": "mashed-thing-headache-estate", - "volume": { - "crn": "crn:501", - "href": "href:502", - "id": "id:503", - "name": "mountain-harpist-libraries-dreaming", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:39.000Z", - "crn": "crn:495", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:496", - "id": "id:497", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet11", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "primary_ip": { - "address": "10.240.80.4", - "href": "href:151", - "id": "id:152", - "name": "childlike-publish-retainer-movie", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:500" - }, - "href": "href:498", - "id": "id:499", - "name": "mashed-thing-headache-estate", - "volume": { - "crn": "crn:501", - "href": "href:502", - "id": "id:503", - "name": "mountain-harpist-libraries-dreaming", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:39.000Z", - "floating_ips": [], - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.80.4", - "href": "href:151", - "id": "id:152", - "name": "childlike-publish-retainer-movie", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:353", - "href": "href:354", - "id": "id:355", - "name": "sg11" - } - ], - "status": "available", - "subnet": { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:509" - }, - "href": "href:507", - "id": "id:508", - "name": "calzone-cacti-moonlight-subarctic", - "volume": { - "crn": "crn:510", - "href": "href:511", - "id": "id:512", - "name": "blurred-dream-pectin-tapping", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:36.000Z", - "crn": "crn:504", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:505", - "id": "id:506", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet10", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "primary_ip": { - "address": "10.240.64.4", - "href": "href:189", - "id": "id:190", - "name": "starry-smasher-ladle-dioxide", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:509" - }, - "href": "href:507", - "id": "id:508", - "name": "calzone-cacti-moonlight-subarctic", - "volume": { - "crn": "crn:510", - "href": "href:511", - "id": "id:512", - "name": "blurred-dream-pectin-tapping", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:36.000Z", - "floating_ips": [ - { - "address": "150.239.167.146", - "crn": "crn:288", - "href": "href:289", - "id": "id:290", - "name": "fip-0-subnet10" - } - ], - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.64.4", - "href": "href:189", - "id": "id:190", - "name": "starry-smasher-ladle-dioxide", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:353", - "href": "href:354", - "id": "id:355", - "name": "sg11" - } - ], - "status": "available", - "subnet": { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:518" - }, - "href": "href:516", - "id": "id:517", - "name": "recoup-blinks-ebullient-renewed", - "volume": { - "crn": "crn:519", - "href": "href:520", - "id": "id:521", - "name": "manmade-unequal-disinfect-cone", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:24.000Z", - "crn": "crn:513", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:514", - "id": "id:515", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet20", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "primary_ip": { - "address": "10.240.128.6", - "href": "href:217", - "id": "id:218", - "name": "uniquely-shelter-gracious-sudden", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:518" - }, - "href": "href:516", - "id": "id:517", - "name": "recoup-blinks-ebullient-renewed", - "volume": { - "crn": "crn:519", - "href": "href:520", - "id": "id:521", - "name": "manmade-unequal-disinfect-cone", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:24.000Z", - "floating_ips": [ - { - "address": "169.48.95.165", - "crn": "crn:291", - "href": "href:292", - "id": "id:293", - "name": "fip-0-subnet20" - } - ], - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.6", - "href": "href:217", - "id": "id:218", - "name": "uniquely-shelter-gracious-sudden", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21" - } - ], - "status": "available", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:527" - }, - "href": "href:525", - "id": "id:526", - "name": "radio-tightrope-outtakes-moonshine", - "volume": { - "crn": "crn:528", - "href": "href:529", - "id": "id:530", - "name": "tattoo-crescent-unwary-hayride", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:21.000Z", - "crn": "crn:522", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:523", - "id": "id:524", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet20", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "primary_ip": { - "address": "10.240.128.5", - "href": "href:213", - "id": "id:214", - "name": "customs-recollect-drippy-primate", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:527" - }, - "href": "href:525", - "id": "id:526", - "name": "radio-tightrope-outtakes-moonshine", - "volume": { - "crn": "crn:528", - "href": "href:529", - "id": "id:530", - "name": "tattoo-crescent-unwary-hayride", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:21.000Z", - "floating_ips": [], - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.5", - "href": "href:213", - "id": "id:214", - "name": "customs-recollect-drippy-primate", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21" - } - ], - "status": "available", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:536" - }, - "href": "href:534", - "id": "id:535", - "name": "crumpet-ride-tastiness-phoney", - "volume": { - "crn": "crn:537", - "href": "href:538", - "id": "id:539", - "name": "doorframe-marvelous-refusing-citable", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:21.000Z", - "crn": "crn:531", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:532", - "id": "id:533", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi2-subnet20", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "primary_ip": { - "address": "10.240.128.4", - "href": "href:209", - "id": "id:210", - "name": "unmixed-qualify-prescribe-railcar", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:536" - }, - "href": "href:534", - "id": "id:535", - "name": "crumpet-ride-tastiness-phoney", - "volume": { - "crn": "crn:537", - "href": "href:538", - "id": "id:539", - "name": "doorframe-marvelous-refusing-citable", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:21.000Z", - "floating_ips": [], - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.4", - "href": "href:209", - "id": "id:210", - "name": "unmixed-qualify-prescribe-railcar", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21" - } - ], - "status": "available", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:545" - }, - "href": "href:543", - "id": "id:544", - "name": "bronzing-vendor-plod-pretzel", - "volume": { - "crn": "crn:546", - "href": "href:547", - "id": "id:548", - "name": "squelch-plop-headlamp-ideologue", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:00.000Z", - "crn": "crn:540", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:541", - "id": "id:542", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet30", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "primary_ip": { - "address": "10.240.192.4", - "href": "href:258", - "id": "id:259", - "name": "legacy-shore-molecule-barometer", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:545" - }, - "href": "href:543", - "id": "id:544", - "name": "bronzing-vendor-plod-pretzel", - "volume": { - "crn": "crn:546", - "href": "href:547", - "id": "id:548", - "name": "squelch-plop-headlamp-ideologue", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:00.000Z", - "floating_ips": [ - { - "address": "52.118.100.239", - "crn": "crn:294", - "href": "href:295", - "id": "id:296", - "name": "fip-0-subnet30" - } - ], - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.192.4", - "href": "href:258", - "id": "id:259", - "name": "legacy-shore-molecule-barometer", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:346", - "href": "href:347", - "id": "id:348", - "name": "sg31" - } - ], - "status": "available", - "subnet": { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - } - ], - "routing_tables": [ - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:20.000Z", - "href": "href:11", - "id": "id:12", - "is_default": true, - "lifecycle_state": "stable", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - }, - { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - } - }, - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:19.000Z", - "href": "href:28", - "id": "id:29", - "is_default": true, - "lifecycle_state": "stable", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - }, - { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - }, - { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - } - }, - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:19.000Z", - "href": "href:45", - "id": "id:46", - "is_default": true, - "lifecycle_state": "stable", - "name": "quintuple-severity-caddie-manuals", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - } - }, - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:19.000Z", - "href": "href:58", - "id": "id:59", - "is_default": true, - "lifecycle_state": "stable", - "name": "probational-herring-undone-daintily", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - } - } - ], - "load_balancers": [], - "transit_connections": [ - { - "created_at": "2024-06-25T15:41:44.212Z", - "id": "id:549", - "name": "tg3_connection3", - "network_id": "crn:52", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:550", - "id": "id:551", - "name": "local-tg3" - }, - "updated_at": "2024-06-25T15:45:14.206Z" - }, - { - "created_at": "2024-06-25T15:41:54.416Z", - "id": "id:552", - "name": "tg3_connection0", - "network_id": "crn:22", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:550", - "id": "id:551", - "name": "local-tg3" - }, - "updated_at": "2024-06-25T15:45:53.979Z" - }, - { - "created_at": "2024-06-25T15:42:54.772Z", - "id": "id:553", - "name": "tg2_connection3", - "network_id": "crn:52", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:554", - "id": "id:555", - "name": "local-tg2" - }, - "updated_at": "2024-06-25T15:49:08.822Z" - }, - { - "created_at": "2024-06-25T15:43:11.555Z", - "id": "id:556", - "name": "tg2_connection0", - "network_id": "crn:22", - "network_type": "vpc", - "prefix_filters": [ - { - "action": "deny", - "created_at": "2024-06-25T15:46:46.641Z", - "id": "id:557", - "le": 32, - "prefix": "10.240.0.0/22", - "updated_at": "2024-06-25T15:46:46.641Z" - } - ], - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:554", - "id": "id:555", - "name": "local-tg2" - }, - "updated_at": "2024-06-25T15:49:59.395Z" - }, - { - "created_at": "2024-06-25T15:43:12.159Z", - "id": "id:558", - "name": "tg_connection0", - "network_id": "crn:22", - "network_type": "vpc", - "prefix_filters": [ - { - "action": "deny", - "before": "298db67f-2e68-4548-93b9-949f8356d4a0", - "created_at": "2024-06-25T15:45:14.711Z", - "id": "id:559", - "prefix": "10.240.4.0/22", - "updated_at": "2024-06-25T15:45:14.711Z" - }, - { - "action": "deny", - "created_at": "2024-06-25T15:45:25.435Z", - "id": "id:560", - "prefix": "10.240.8.0/22", - "updated_at": "2024-06-25T15:45:25.435Z" - } - ], - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:561", - "id": "id:562", - "name": "local-tg1" - }, - "updated_at": "2024-06-25T15:49:53.837Z" - }, - { - "created_at": "2024-06-25T15:43:41.079Z", - "id": "id:563", - "name": "tg2_connection2", - "network_id": "crn:39", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:554", - "id": "id:555", - "name": "local-tg2" - }, - "updated_at": "2024-06-25T15:49:43.192Z" - }, - { - "created_at": "2024-06-25T15:43:42.335Z", - "id": "id:564", - "name": "tg1_connection1", - "network_id": "crn:1", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:561", - "id": "id:562", - "name": "local-tg1" - }, - "updated_at": "2024-06-25T15:48:45.229Z" - }, - { - "created_at": "2024-06-25T15:44:08.995Z", - "id": "id:565", - "name": "tg1_connection2", - "network_id": "crn:39", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:561", - "id": "id:562", - "name": "local-tg1" - }, - "updated_at": "2024-06-25T15:49:11.976Z" - } - ], - "transit_gateways": [ - { - "id": "id:551", - "crn": "crn:550", - "name": "local-tg3", - "location": "us-south", - "created_at": "2024-06-25T15:40:21.390Z", - "global": false, - "resource_group": { - "id": "id:17", - "href": "href:566" - }, - "status": "available", - "updated_at": "2024-06-25T15:42:12.752Z" - }, - { - "id": "id:555", - "crn": "crn:554", - "name": "local-tg2", - "location": "us-south", - "created_at": "2024-06-25T15:40:25.895Z", - "global": false, - "resource_group": { - "id": "id:17", - "href": "href:566" - }, - "status": "available", - "updated_at": "2024-06-25T15:43:58.196Z" - }, - { - "id": "id:562", - "crn": "crn:561", - "name": "local-tg1", - "location": "us-south", - "created_at": "2024-06-25T15:40:26.455Z", - "global": false, - "resource_group": { - "id": "id:17", - "href": "href:566" - }, - "status": "available", - "updated_at": "2024-06-25T15:43:15.331Z" - } - ], - "iks_clusters": [] -} diff --git a/test/data/sg_tg_multiple/config_object.json b/test/data/sg_tg_multiple/config_object.json deleted file mode 100644 index 7e94d3b8..00000000 --- a/test/data/sg_tg_multiple/config_object.json +++ /dev/null @@ -1,6269 +0,0 @@ -{ - "collector_version": "0.11.0", - "provider": "ibm", - "vpcs": [ - { - "classic_access": false, - "created_at": "2024-06-25T15:40:20.000Z", - "crn": "crn:1", - "cse_source_ips": [ - { - "ip": { - "address": "10.22.215.5" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.22.220.2" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.249.82.12" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:8", - "href": "href:9", - "id": "id:10", - "name": "automaker-castle-bird-worried" - }, - "default_routing_table": { - "href": "href:11", - "id": "id:12", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "brute-upon-angles-cubbyhole" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.80.0/20", - "created_at": "2024-06-25T15:40:39.000Z", - "has_subnets": true, - "href": "href:18", - "id": "id:19", - "is_default": false, - "name": "address-prefix-vpc-1", - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "cidr": "10.240.64.0/20", - "created_at": "2024-06-25T15:40:40.000Z", - "has_subnets": true, - "href": "href:20", - "id": "id:21", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:6", - "name": "us-south-2" - } - } - ], - "tags": [] - }, - { - "classic_access": false, - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:22", - "cse_source_ips": [ - { - "ip": { - "address": "10.16.238.56" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.249.200.205" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.249.212.88" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:25", - "href": "href:26", - "id": "id:27", - "name": "ebullient-slacks-revert-turkey" - }, - "default_routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:30", - "href": "href:31", - "id": "id:32", - "name": "basically-drank-bulk-jam" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.0.0/22", - "created_at": "2024-06-25T15:40:37.000Z", - "has_subnets": true, - "href": "href:33", - "id": "id:34", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "cidr": "10.240.4.0/22", - "created_at": "2024-06-25T15:40:38.000Z", - "has_subnets": true, - "href": "href:35", - "id": "id:36", - "is_default": false, - "name": "address-prefix-vpc-1", - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "cidr": "10.240.8.0/22", - "created_at": "2024-06-25T15:40:39.000Z", - "has_subnets": true, - "href": "href:37", - "id": "id:38", - "is_default": false, - "name": "address-prefix-vpc-2", - "zone": { - "href": "href:5", - "name": "us-south-1" - } - } - ], - "tags": [] - }, - { - "classic_access": false, - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:39", - "cse_source_ips": [ - { - "ip": { - "address": "10.12.125.16" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.22.27.134" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.22.231.90" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:42", - "href": "href:43", - "id": "id:44", - "name": "afoot-grape-fineness-zestfully" - }, - "default_routing_table": { - "href": "href:45", - "id": "id:46", - "name": "quintuple-severity-caddie-manuals", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:47", - "href": "href:48", - "id": "id:49", - "name": "glance-cactus-unease-bankroll" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.128.0/20", - "created_at": "2024-06-25T15:40:39.000Z", - "has_subnets": true, - "href": "href:50", - "id": "id:51", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "tags": [] - }, - { - "classic_access": false, - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:52", - "cse_source_ips": [ - { - "ip": { - "address": "10.22.219.155" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - } - }, - { - "ip": { - "address": "10.12.159.11" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - } - }, - { - "ip": { - "address": "10.16.253.109" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "default_network_acl": { - "crn": "crn:55", - "href": "href:56", - "id": "id:57", - "name": "untracked-repayment-triumph-cat" - }, - "default_routing_table": { - "href": "href:58", - "id": "id:59", - "name": "probational-herring-undone-daintily", - "resource_type": "routing_table" - }, - "default_security_group": { - "crn": "crn:60", - "href": "href:61", - "id": "id:62", - "name": "repeater-upcountry-agreeing-acutely" - }, - "dns": { - "enable_hub": false, - "resolution_binding_count": 0, - "resolver": { - "servers": [ - { - "address": "161.26.0.10" - }, - { - "address": "161.26.0.11" - } - ], - "type": "system", - "configuration": "default" - } - }, - "health_reasons": null, - "health_state": "ok", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "vpc", - "status": "available", - "region": "us-south", - "address_prefixes": [ - { - "cidr": "10.240.192.0/20", - "created_at": "2024-06-25T15:40:38.000Z", - "has_subnets": true, - "href": "href:63", - "id": "id:64", - "is_default": false, - "name": "address-prefix-vpc-0", - "zone": { - "href": "href:7", - "name": "us-south-3" - } - } - ], - "tags": [] - } - ], - "subnets": [ - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:47.000Z", - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.9.0/24", - "name": "subnet5", - "network_acl": { - "crn": "crn:68", - "href": "href:69", - "id": "id:70", - "name": "acl3" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.9.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:71", - "id": "id:72", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:73", - "id": "id:74", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:75", - "id": "id:76", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:77", - "id": "id:78", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.9.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:79", - "id": "id:80", - "lifecycle_state": "stable", - "name": "ideally-grain-bagpipe-luxuriant", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.9.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:20.000Z", - "href": "href:83", - "id": "id:84", - "lifecycle_state": "stable", - "name": "outskirts-unaligned-passivism-parchment", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.9.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:47.000Z", - "href": "href:87", - "id": "id:88", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:35.000Z", - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.5.0/24", - "name": "subnet3", - "network_acl": { - "crn": "crn:92", - "href": "href:93", - "id": "id:94", - "name": "acl2" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.5.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:95", - "id": "id:96", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:97", - "id": "id:98", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:99", - "id": "id:100", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:101", - "id": "id:102", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.5.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:103", - "id": "id:104", - "lifecycle_state": "stable", - "name": "rising-gopher-reentry-graveness", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.5.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:16.000Z", - "href": "href:107", - "id": "id:108", - "lifecycle_state": "stable", - "name": "recognize-citable-exerciser-unsecured", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.5.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:35.000Z", - "href": "href:111", - "id": "id:112", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:23.000Z", - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.0.0/24", - "name": "subnet0", - "network_acl": { - "crn": "crn:116", - "href": "href:117", - "id": "id:118", - "name": "acl1" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.0.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:119", - "id": "id:120", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:121", - "id": "id:122", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:123", - "id": "id:124", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:125", - "id": "id:126", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.0.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:08.000Z", - "href": "href:127", - "id": "id:128", - "lifecycle_state": "stable", - "name": "pundit-tight-arbitrate-grace", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.0.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:39.000Z", - "href": "href:131", - "id": "id:132", - "lifecycle_state": "stable", - "name": "relatable-antiques-maturing-brulee", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.0.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:23.000Z", - "href": "href:135", - "id": "id:136", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 250, - "created_at": "2024-06-25T15:41:20.000Z", - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.80.0/24", - "name": "subnet11", - "network_acl": { - "crn": "crn:140", - "href": "href:141", - "id": "id:142", - "name": "acl11" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "reserved_ips": [ - { - "address": "10.240.80.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:143", - "id": "id:144", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:145", - "id": "id:146", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:147", - "id": "id:148", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:149", - "id": "id:150", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.80.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:40.000Z", - "href": "href:151", - "id": "id:152", - "lifecycle_state": "stable", - "name": "childlike-publish-retainer-movie", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.80.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:20.000Z", - "href": "href:155", - "id": "id:156", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:41:08.000Z", - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.4.0/24", - "name": "subnet2", - "network_acl": { - "crn": "crn:92", - "href": "href:93", - "id": "id:94", - "name": "acl2" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.4.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:160", - "id": "id:161", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:162", - "id": "id:163", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:164", - "id": "id:165", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:166", - "id": "id:167", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.4.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:21.000Z", - "href": "href:168", - "id": "id:169", - "lifecycle_state": "stable", - "name": "stood-sitcom-whoops-hurled", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.4.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:22.000Z", - "href": "href:172", - "id": "id:173", - "lifecycle_state": "stable", - "name": "bark-gatherer-rope-unrivaled", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.4.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:176", - "id": "id:177", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 250, - "created_at": "2024-06-25T15:41:08.000Z", - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.64.0/24", - "name": "subnet10", - "network_acl": { - "crn": "crn:140", - "href": "href:141", - "id": "id:142", - "name": "acl11" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:11", - "id": "id:12", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "reserved_ips": [ - { - "address": "10.240.64.0", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:181", - "id": "id:182", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.1", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:183", - "id": "id:184", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.2", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:185", - "id": "id:186", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.3", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:187", - "id": "id:188", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.64.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:36.000Z", - "href": "href:189", - "id": "id:190", - "lifecycle_state": "stable", - "name": "starry-smasher-ladle-dioxide", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.64.255", - "auto_delete": false, - "created_at": "2024-06-25T15:41:08.000Z", - "href": "href:193", - "id": "id:194", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 248, - "created_at": "2024-06-25T15:40:57.000Z", - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.128.0/24", - "name": "subnet20", - "network_acl": { - "crn": "crn:198", - "href": "href:199", - "id": "id:200", - "name": "acl21" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:45", - "id": "id:46", - "name": "quintuple-severity-caddie-manuals", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "reserved_ips": [ - { - "address": "10.240.128.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:201", - "id": "id:202", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:203", - "id": "id:204", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:205", - "id": "id:206", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:207", - "id": "id:208", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.128.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:21.000Z", - "href": "href:209", - "id": "id:210", - "lifecycle_state": "stable", - "name": "unmixed-qualify-prescribe-railcar", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.5", - "auto_delete": false, - "created_at": "2024-06-25T15:41:21.000Z", - "href": "href:213", - "id": "id:214", - "lifecycle_state": "stable", - "name": "customs-recollect-drippy-primate", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.6", - "auto_delete": false, - "created_at": "2024-06-25T15:41:24.000Z", - "href": "href:217", - "id": "id:218", - "lifecycle_state": "stable", - "name": "uniquely-shelter-gracious-sudden", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.128.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:57.000Z", - "href": "href:221", - "id": "id:222", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:40:56.000Z", - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.1.0/24", - "name": "subnet1", - "network_acl": { - "crn": "crn:116", - "href": "href:117", - "id": "id:118", - "name": "acl1" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.1.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:226", - "id": "id:227", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:228", - "id": "id:229", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:230", - "id": "id:231", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:232", - "id": "id:233", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.1.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:234", - "id": "id:235", - "lifecycle_state": "stable", - "name": "excluded-unfair-jailbird-foil", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.1.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:40.000Z", - "href": "href:238", - "id": "id:239", - "lifecycle_state": "stable", - "name": "affected-johnniecake-monorail-ungraded", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.1.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:56.000Z", - "href": "href:242", - "id": "id:243", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 250, - "created_at": "2024-06-25T15:40:48.000Z", - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.192.0/24", - "name": "subnet30", - "network_acl": { - "crn": "crn:247", - "href": "href:248", - "id": "id:249", - "name": "acl31" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:58", - "id": "id:59", - "name": "probational-herring-undone-daintily", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "reserved_ips": [ - { - "address": "10.240.192.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:250", - "id": "id:251", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:252", - "id": "id:253", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:254", - "id": "id:255", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:256", - "id": "id:257", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.192.4", - "auto_delete": false, - "created_at": "2024-06-25T15:41:01.000Z", - "href": "href:258", - "id": "id:259", - "lifecycle_state": "stable", - "name": "legacy-shore-molecule-barometer", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.192.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:48.000Z", - "href": "href:262", - "id": "id:263", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - }, - { - "available_ipv4_address_count": 249, - "created_at": "2024-06-25T15:40:44.000Z", - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "ip_version": "ipv4", - "ipv4_cidr_block": "10.240.8.0/24", - "name": "subnet4", - "network_acl": { - "crn": "crn:68", - "href": "href:69", - "id": "id:70", - "name": "acl3" - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "subnet", - "routing_table": { - "href": "href:28", - "id": "id:29", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table" - }, - "status": "available", - "total_ipv4_address_count": 256, - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "reserved_ips": [ - { - "address": "10.240.8.0", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:267", - "id": "id:268", - "lifecycle_state": "stable", - "name": "ibm-network-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.1", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:269", - "id": "id:270", - "lifecycle_state": "stable", - "name": "ibm-default-gateway", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.2", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:271", - "id": "id:272", - "lifecycle_state": "stable", - "name": "ibm-dns-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.3", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:273", - "id": "id:274", - "lifecycle_state": "stable", - "name": "ibm-reserved-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - }, - { - "address": "10.240.8.4", - "auto_delete": false, - "created_at": "2024-06-25T15:42:00.000Z", - "href": "href:275", - "id": "id:276", - "lifecycle_state": "stable", - "name": "bagged-posture-glaring-cojoined", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.8.5", - "auto_delete": false, - "created_at": "2024-06-25T15:42:16.000Z", - "href": "href:279", - "id": "id:280", - "lifecycle_state": "stable", - "name": "frighten-mystified-freeway-hurtling", - "owner": "user", - "resource_type": "subnet_reserved_ip", - "target": { - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "resource_type": "network_interface" - } - }, - { - "address": "10.240.8.255", - "auto_delete": false, - "created_at": "2024-06-25T15:40:44.000Z", - "href": "href:283", - "id": "id:284", - "lifecycle_state": "stable", - "name": "ibm-broadcast-address", - "owner": "provider", - "resource_type": "subnet_reserved_ip" - } - ], - "tags": [] - } - ], - "public_gateways": [], - "floating_ips": [ - { - "address": "52.118.151.238", - "created_at": "2024-06-25T15:43:30.000Z", - "crn": "crn:285", - "href": "href:286", - "id": "id:287", - "name": "fip-0-subnet0", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "primary_ip": { - "address": "10.240.0.4", - "href": "href:127", - "id": "id:128", - "name": "pundit-tight-arbitrate-grace", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "tags": [] - }, - { - "address": "150.239.167.146", - "created_at": "2024-06-25T15:41:59.000Z", - "crn": "crn:288", - "href": "href:289", - "id": "id:290", - "name": "fip-0-subnet10", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "primary_ip": { - "address": "10.240.64.4", - "href": "href:189", - "id": "id:190", - "name": "starry-smasher-ladle-dioxide", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "tags": [] - }, - { - "address": "169.48.95.165", - "created_at": "2024-06-25T15:41:50.000Z", - "crn": "crn:291", - "href": "href:292", - "id": "id:293", - "name": "fip-0-subnet20", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "primary_ip": { - "address": "10.240.128.6", - "href": "href:217", - "id": "id:218", - "name": "uniquely-shelter-gracious-sudden", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "tags": [] - }, - { - "address": "52.118.100.239", - "created_at": "2024-06-25T15:41:33.000Z", - "crn": "crn:294", - "href": "href:295", - "id": "id:296", - "name": "fip-0-subnet30", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "status": "available", - "target": { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "primary_ip": { - "address": "10.240.192.4", - "href": "href:258", - "id": "id:259", - "name": "legacy-shore-molecule-barometer", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "tags": [] - } - ], - "network_acls": [ - { - "created_at": "2024-06-25T15:40:41.000Z", - "crn": "crn:140", - "href": "href:141", - "id": "id:142", - "name": "acl11", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "deny", - "before": { - "href": "href:299", - "id": "id:300", - "name": "acl11-out-2" - }, - "created_at": "2024-06-25T15:40:42.000Z", - "destination": "10.240.4.0/24", - "direction": "outbound", - "href": "href:297", - "id": "id:298", - "ip_version": "ipv4", - "name": "acl11-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "before": { - "href": "href:301", - "id": "id:302", - "name": "acl11-in-1" - }, - "created_at": "2024-06-25T15:40:43.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:299", - "id": "id:300", - "ip_version": "ipv4", - "name": "acl11-out-2", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:43.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:301", - "id": "id:302", - "ip_version": "ipv4", - "name": "acl11-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - }, - { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:247", - "href": "href:248", - "id": "id:249", - "name": "acl31", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:305", - "id": "id:306", - "name": "acl31-in-1" - }, - "created_at": "2024-06-25T15:40:41.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:303", - "id": "id:304", - "ip_version": "ipv4", - "name": "acl31-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:41.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:305", - "id": "id:306", - "ip_version": "ipv4", - "name": "acl31-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:198", - "href": "href:199", - "id": "id:200", - "name": "acl21", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:309", - "id": "id:310", - "name": "acl21-in-1" - }, - "created_at": "2024-06-25T15:40:41.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:307", - "id": "id:308", - "ip_version": "ipv4", - "name": "acl21-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:42.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:309", - "id": "id:310", - "ip_version": "ipv4", - "name": "acl21-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:38.000Z", - "crn": "crn:92", - "href": "href:93", - "id": "id:94", - "name": "acl2", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:313", - "id": "id:314", - "name": "acl1-in-1" - }, - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:311", - "id": "id:312", - "ip_version": "ipv4", - "name": "acl1-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:39.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:313", - "id": "id:314", - "ip_version": "ipv4", - "name": "acl1-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:37.000Z", - "crn": "crn:68", - "href": "href:69", - "id": "id:70", - "name": "acl3", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:317", - "id": "id:318", - "name": "acl1-in-1" - }, - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:315", - "id": "id:316", - "ip_version": "ipv4", - "name": "acl1-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:317", - "id": "id:318", - "ip_version": "ipv4", - "name": "acl1-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:37.000Z", - "crn": "crn:116", - "href": "href:117", - "id": "id:118", - "name": "acl1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:321", - "id": "id:322", - "name": "acl1-in-1" - }, - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:319", - "id": "id:320", - "ip_version": "ipv4", - "name": "acl1-out-1", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:38.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:321", - "id": "id:322", - "ip_version": "ipv4", - "name": "acl1-in-1", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [ - { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:20.000Z", - "crn": "crn:8", - "href": "href:9", - "id": "id:10", - "name": "automaker-castle-bird-worried", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:325", - "id": "id:326", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:20.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:323", - "id": "id:324", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:20.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:325", - "id": "id:326", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:42", - "href": "href:43", - "id": "id:44", - "name": "afoot-grape-fineness-zestfully", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:329", - "id": "id:330", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:327", - "id": "id:328", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:329", - "id": "id:330", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:25", - "href": "href:26", - "id": "id:27", - "name": "ebullient-slacks-revert-turkey", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:333", - "id": "id:334", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:331", - "id": "id:332", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:333", - "id": "id:334", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:55", - "href": "href:56", - "id": "id:57", - "name": "untracked-repayment-triumph-cat", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "action": "allow", - "before": { - "href": "href:337", - "id": "id:338", - "name": "allow-outbound" - }, - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "inbound", - "href": "href:335", - "id": "id:336", - "ip_version": "ipv4", - "name": "allow-inbound", - "source": "0.0.0.0/0", - "protocol": "all" - }, - { - "action": "allow", - "created_at": "2024-06-25T15:40:19.000Z", - "destination": "0.0.0.0/0", - "direction": "outbound", - "href": "href:337", - "id": "id:338", - "ip_version": "ipv4", - "name": "allow-outbound", - "source": "0.0.0.0/0", - "protocol": "all" - } - ], - "subnets": [], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - } - ], - "security_groups": [ - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:342", - "id": "id:343", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:344", - "id": "id:345", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "resource_type": "network_interface" - }, - { - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "resource_type": "network_interface" - }, - { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:346", - "href": "href:347", - "id": "id:348", - "name": "sg31", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:349", - "id": "id:350", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:351", - "id": "id:352", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:40.000Z", - "crn": "crn:353", - "href": "href:354", - "id": "id:355", - "name": "sg11", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:356", - "id": "id:357", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:358", - "id": "id:359", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "resource_type": "network_interface" - }, - { - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:37.000Z", - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "inbound", - "href": "href:363", - "id": "id:364", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "outbound", - "href": "href:365", - "id": "id:366", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - } - ], - "targets": [ - { - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "resource_type": "network_interface" - }, - { - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "resource_type": "network_interface" - }, - { - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "resource_type": "network_interface" - }, - { - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "resource_type": "network_interface" - }, - { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "resource_type": "network_interface" - }, - { - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "resource_type": "network_interface" - }, - { - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "resource_type": "network_interface" - }, - { - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "resource_type": "network_interface" - }, - { - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "resource_type": "network_interface" - }, - { - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "resource_type": "network_interface" - }, - { - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "resource_type": "network_interface" - }, - { - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "resource_type": "network_interface" - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:20.000Z", - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "brute-upon-angles-cubbyhole", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:367", - "id": "id:368", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:369", - "id": "id:370", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:13", - "href": "href:14", - "id": "id:15", - "name": "brute-upon-angles-cubbyhole" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:30", - "href": "href:31", - "id": "id:32", - "name": "basically-drank-bulk-jam", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:371", - "id": "id:372", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:373", - "id": "id:374", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:30", - "href": "href:31", - "id": "id:32", - "name": "basically-drank-bulk-jam" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:47", - "href": "href:48", - "id": "id:49", - "name": "glance-cactus-unease-bankroll", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:375", - "id": "id:376", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:377", - "id": "id:378", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:47", - "href": "href:48", - "id": "id:49", - "name": "glance-cactus-unease-bankroll" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "tags": [] - }, - { - "created_at": "2024-06-25T15:40:19.000Z", - "crn": "crn:60", - "href": "href:61", - "id": "id:62", - "name": "repeater-upcountry-agreeing-acutely", - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "rules": [ - { - "direction": "outbound", - "href": "href:379", - "id": "id:380", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "cidr_block": "0.0.0.0/0" - }, - "protocol": "all" - }, - { - "direction": "inbound", - "href": "href:381", - "id": "id:382", - "ip_version": "ipv4", - "local": { - "cidr_block": "0.0.0.0/0" - }, - "remote": { - "crn": "crn:60", - "href": "href:61", - "id": "id:62", - "name": "repeater-upcountry-agreeing-acutely" - }, - "protocol": "all" - } - ], - "targets": [], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "tags": [] - } - ], - "endpoint_gateways": [], - "instances": [ - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:388" - }, - "href": "href:386", - "id": "id:387", - "name": "thief-monastery-blinks-verdict", - "volume": { - "crn": "crn:389", - "href": "href:390", - "id": "id:391", - "name": "scrabble-gorged-baton-angled", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:40.000Z", - "crn": "crn:383", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:384", - "id": "id:385", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet1", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "primary_ip": { - "address": "10.240.1.5", - "href": "href:238", - "id": "id:239", - "name": "affected-johnniecake-monorail-ungraded", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:388" - }, - "href": "href:386", - "id": "id:387", - "name": "thief-monastery-blinks-verdict", - "volume": { - "crn": "crn:389", - "href": "href:390", - "id": "id:391", - "name": "scrabble-gorged-baton-angled", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:40.000Z", - "floating_ips": [], - "href": "href:240", - "id": "id:241", - "name": "scale-clambake-endearing-abridged", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.1.5", - "href": "href:238", - "id": "id:239", - "name": "affected-johnniecake-monorail-ungraded", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:401" - }, - "href": "href:399", - "id": "id:400", - "name": "hunchback-enginous-dividend-atrium", - "volume": { - "crn": "crn:402", - "href": "href:403", - "id": "id:404", - "name": "subsoil-bobble-bovine-unmoving", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:39.000Z", - "crn": "crn:396", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:397", - "id": "id:398", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet0", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "primary_ip": { - "address": "10.240.0.5", - "href": "href:131", - "id": "id:132", - "name": "relatable-antiques-maturing-brulee", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:401" - }, - "href": "href:399", - "id": "id:400", - "name": "hunchback-enginous-dividend-atrium", - "volume": { - "crn": "crn:402", - "href": "href:403", - "id": "id:404", - "name": "subsoil-bobble-bovine-unmoving", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:39.000Z", - "floating_ips": [], - "href": "href:133", - "id": "id:134", - "name": "consonant-imperial-simply-ceramics", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.0.5", - "href": "href:131", - "id": "id:132", - "name": "relatable-antiques-maturing-brulee", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:410" - }, - "href": "href:408", - "id": "id:409", - "name": "laboring-overbuilt-growl-headland", - "volume": { - "crn": "crn:411", - "href": "href:412", - "id": "id:413", - "name": "tamper-salvaging-stick-giddily", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:22.000Z", - "crn": "crn:405", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:406", - "id": "id:407", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet2", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "primary_ip": { - "address": "10.240.4.5", - "href": "href:172", - "id": "id:173", - "name": "bark-gatherer-rope-unrivaled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:410" - }, - "href": "href:408", - "id": "id:409", - "name": "laboring-overbuilt-growl-headland", - "volume": { - "crn": "crn:411", - "href": "href:412", - "id": "id:413", - "name": "tamper-salvaging-stick-giddily", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:22.000Z", - "floating_ips": [], - "href": "href:174", - "id": "id:175", - "name": "quantum-handbag-dimmed-reassign", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.4.5", - "href": "href:172", - "id": "id:173", - "name": "bark-gatherer-rope-unrivaled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:419" - }, - "href": "href:417", - "id": "id:418", - "name": "dollop-partition-helping-palmtree", - "volume": { - "crn": "crn:420", - "href": "href:421", - "id": "id:422", - "name": "ravage-deny-amusable-settling", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:20.000Z", - "crn": "crn:414", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:415", - "id": "id:416", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet5", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "primary_ip": { - "address": "10.240.9.5", - "href": "href:83", - "id": "id:84", - "name": "outskirts-unaligned-passivism-parchment", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:419" - }, - "href": "href:417", - "id": "id:418", - "name": "dollop-partition-helping-palmtree", - "volume": { - "crn": "crn:420", - "href": "href:421", - "id": "id:422", - "name": "ravage-deny-amusable-settling", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:20.000Z", - "floating_ips": [], - "href": "href:85", - "id": "id:86", - "name": "scratch-outward-raging-hunchback", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.9.5", - "href": "href:83", - "id": "id:84", - "name": "outskirts-unaligned-passivism-parchment", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:428" - }, - "href": "href:426", - "id": "id:427", - "name": "petted-ethanol-voicing-rocklike", - "volume": { - "crn": "crn:429", - "href": "href:430", - "id": "id:431", - "name": "uptown-striving-unrevised-earthlike", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:20.000Z", - "crn": "crn:423", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:424", - "id": "id:425", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet2", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "primary_ip": { - "address": "10.240.4.4", - "href": "href:168", - "id": "id:169", - "name": "stood-sitcom-whoops-hurled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:428" - }, - "href": "href:426", - "id": "id:427", - "name": "petted-ethanol-voicing-rocklike", - "volume": { - "crn": "crn:429", - "href": "href:430", - "id": "id:431", - "name": "uptown-striving-unrevised-earthlike", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:20.000Z", - "floating_ips": [], - "href": "href:170", - "id": "id:171", - "name": "graveyard-handmade-ransack-acquaint", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.4.4", - "href": "href:168", - "id": "id:169", - "name": "stood-sitcom-whoops-hurled", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:437" - }, - "href": "href:435", - "id": "id:436", - "name": "promenade-spyglass-flattop-pushpin", - "volume": { - "crn": "crn:438", - "href": "href:439", - "id": "id:440", - "name": "relax-shaded-prism-jaunt", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:16.000Z", - "crn": "crn:432", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:433", - "id": "id:434", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet3", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "primary_ip": { - "address": "10.240.5.5", - "href": "href:107", - "id": "id:108", - "name": "recognize-citable-exerciser-unsecured", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:437" - }, - "href": "href:435", - "id": "id:436", - "name": "promenade-spyglass-flattop-pushpin", - "volume": { - "crn": "crn:438", - "href": "href:439", - "id": "id:440", - "name": "relax-shaded-prism-jaunt", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:16.000Z", - "floating_ips": [], - "href": "href:109", - "id": "id:110", - "name": "squatted-fastball-vacant-knoll", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.5.5", - "href": "href:107", - "id": "id:108", - "name": "recognize-citable-exerciser-unsecured", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:446" - }, - "href": "href:444", - "id": "id:445", - "name": "sandbox-federal-sculptor-jugum", - "volume": { - "crn": "crn:447", - "href": "href:448", - "id": "id:449", - "name": "convent-ramrod-cloning-afterward", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:15.000Z", - "crn": "crn:441", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:442", - "id": "id:443", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet4", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "primary_ip": { - "address": "10.240.8.5", - "href": "href:279", - "id": "id:280", - "name": "frighten-mystified-freeway-hurtling", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:446" - }, - "href": "href:444", - "id": "id:445", - "name": "sandbox-federal-sculptor-jugum", - "volume": { - "crn": "crn:447", - "href": "href:448", - "id": "id:449", - "name": "convent-ramrod-cloning-afterward", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:15.000Z", - "floating_ips": [], - "href": "href:281", - "id": "id:282", - "name": "speak-princess-washcloth-companion", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.8.5", - "href": "href:279", - "id": "id:280", - "name": "frighten-mystified-freeway-hurtling", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:455" - }, - "href": "href:453", - "id": "id:454", - "name": "affidavit-chastise-elsewhere-viewer", - "volume": { - "crn": "crn:456", - "href": "href:457", - "id": "id:458", - "name": "fancy-destiny-shuffling-sandbank", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:07.000Z", - "crn": "crn:450", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:451", - "id": "id:452", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet0", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "primary_ip": { - "address": "10.240.0.4", - "href": "href:127", - "id": "id:128", - "name": "pundit-tight-arbitrate-grace", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:455" - }, - "href": "href:453", - "id": "id:454", - "name": "affidavit-chastise-elsewhere-viewer", - "volume": { - "crn": "crn:456", - "href": "href:457", - "id": "id:458", - "name": "fancy-destiny-shuffling-sandbank", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:07.000Z", - "floating_ips": [ - { - "address": "52.118.151.238", - "crn": "crn:285", - "href": "href:286", - "id": "id:287", - "name": "fip-0-subnet0" - } - ], - "href": "href:129", - "id": "id:130", - "name": "writer-crusher-unsuited-cash", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.0.4", - "href": "href:127", - "id": "id:128", - "name": "pundit-tight-arbitrate-grace", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:464" - }, - "href": "href:462", - "id": "id:463", - "name": "uneven-armoire-scabiosa-letter", - "volume": { - "crn": "crn:465", - "href": "href:466", - "id": "id:467", - "name": "cognition-blinks-humid-oxidant", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:459", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:460", - "id": "id:461", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet3", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "primary_ip": { - "address": "10.240.5.4", - "href": "href:103", - "id": "id:104", - "name": "rising-gopher-reentry-graveness", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:464" - }, - "href": "href:462", - "id": "id:463", - "name": "uneven-armoire-scabiosa-letter", - "volume": { - "crn": "crn:465", - "href": "href:466", - "id": "id:467", - "name": "cognition-blinks-humid-oxidant", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:105", - "id": "id:106", - "name": "icky-balsamic-outgoing-leached", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.5.4", - "href": "href:103", - "id": "id:104", - "name": "rising-gopher-reentry-graveness", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:473" - }, - "href": "href:471", - "id": "id:472", - "name": "perplexed-impulsivity-august-jaws", - "volume": { - "crn": "crn:474", - "href": "href:475", - "id": "id:476", - "name": "tartar-sixties-fructose-parmesan", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:468", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:469", - "id": "id:470", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet1", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "primary_ip": { - "address": "10.240.1.4", - "href": "href:234", - "id": "id:235", - "name": "excluded-unfair-jailbird-foil", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:473" - }, - "href": "href:471", - "id": "id:472", - "name": "perplexed-impulsivity-august-jaws", - "volume": { - "crn": "crn:474", - "href": "href:475", - "id": "id:476", - "name": "tartar-sixties-fructose-parmesan", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:236", - "id": "id:237", - "name": "hankie-excitable-outclass-unmanaged", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.1.4", - "href": "href:234", - "id": "id:235", - "name": "excluded-unfair-jailbird-foil", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:482" - }, - "href": "href:480", - "id": "id:481", - "name": "litter-snipping-unclasp-dust", - "volume": { - "crn": "crn:483", - "href": "href:484", - "id": "id:485", - "name": "untried-sulphate-hypnosis-subsidize", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:477", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:478", - "id": "id:479", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet4", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "primary_ip": { - "address": "10.240.8.4", - "href": "href:275", - "id": "id:276", - "name": "bagged-posture-glaring-cojoined", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:482" - }, - "href": "href:480", - "id": "id:481", - "name": "litter-snipping-unclasp-dust", - "volume": { - "crn": "crn:483", - "href": "href:484", - "id": "id:485", - "name": "untried-sulphate-hypnosis-subsidize", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:277", - "id": "id:278", - "name": "bullring-ransack-feint-cheer", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.8.4", - "href": "href:275", - "id": "id:276", - "name": "bagged-posture-glaring-cojoined", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:491" - }, - "href": "href:489", - "id": "id:490", - "name": "unlawful-overreach-yarn-rippling", - "volume": { - "crn": "crn:492", - "href": "href:493", - "id": "id:494", - "name": "finer-voter-roving-jailer", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:42:00.000Z", - "crn": "crn:486", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:487", - "id": "id:488", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet5", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "primary_ip": { - "address": "10.240.9.4", - "href": "href:79", - "id": "id:80", - "name": "ideally-grain-bagpipe-luxuriant", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:491" - }, - "href": "href:489", - "id": "id:490", - "name": "unlawful-overreach-yarn-rippling", - "volume": { - "crn": "crn:492", - "href": "href:493", - "id": "id:494", - "name": "finer-voter-roving-jailer", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - }, - "zone": { - "href": "href:5", - "name": "us-south-1" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:42:00.000Z", - "floating_ips": [], - "href": "href:81", - "id": "id:82", - "name": "stooped-camera-excluded-juke", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.9.4", - "href": "href:79", - "id": "id:80", - "name": "ideally-grain-bagpipe-luxuriant", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:360", - "href": "href:361", - "id": "id:362", - "name": "sg1" - } - ], - "status": "available", - "subnet": { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:500" - }, - "href": "href:498", - "id": "id:499", - "name": "mashed-thing-headache-estate", - "volume": { - "crn": "crn:501", - "href": "href:502", - "id": "id:503", - "name": "mountain-harpist-libraries-dreaming", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:39.000Z", - "crn": "crn:495", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:496", - "id": "id:497", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet11", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "primary_ip": { - "address": "10.240.80.4", - "href": "href:151", - "id": "id:152", - "name": "childlike-publish-retainer-movie", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:500" - }, - "href": "href:498", - "id": "id:499", - "name": "mashed-thing-headache-estate", - "volume": { - "crn": "crn:501", - "href": "href:502", - "id": "id:503", - "name": "mountain-harpist-libraries-dreaming", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:39.000Z", - "floating_ips": [], - "href": "href:153", - "id": "id:154", - "name": "stride-woken-backsight-dynastic", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.80.4", - "href": "href:151", - "id": "id:152", - "name": "childlike-publish-retainer-movie", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:353", - "href": "href:354", - "id": "id:355", - "name": "sg11" - } - ], - "status": "available", - "subnet": { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:509" - }, - "href": "href:507", - "id": "id:508", - "name": "calzone-cacti-moonlight-subarctic", - "volume": { - "crn": "crn:510", - "href": "href:511", - "id": "id:512", - "name": "blurred-dream-pectin-tapping", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:36.000Z", - "crn": "crn:504", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:505", - "id": "id:506", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet10", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "primary_ip": { - "address": "10.240.64.4", - "href": "href:189", - "id": "id:190", - "name": "starry-smasher-ladle-dioxide", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:509" - }, - "href": "href:507", - "id": "id:508", - "name": "calzone-cacti-moonlight-subarctic", - "volume": { - "crn": "crn:510", - "href": "href:511", - "id": "id:512", - "name": "blurred-dream-pectin-tapping", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - }, - "zone": { - "href": "href:6", - "name": "us-south-2" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:36.000Z", - "floating_ips": [ - { - "address": "150.239.167.146", - "crn": "crn:288", - "href": "href:289", - "id": "id:290", - "name": "fip-0-subnet10" - } - ], - "href": "href:191", - "id": "id:192", - "name": "enlace-prominent-overhear-perfume", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.64.4", - "href": "href:189", - "id": "id:190", - "name": "starry-smasher-ladle-dioxide", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:353", - "href": "href:354", - "id": "id:355", - "name": "sg11" - } - ], - "status": "available", - "subnet": { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:518" - }, - "href": "href:516", - "id": "id:517", - "name": "recoup-blinks-ebullient-renewed", - "volume": { - "crn": "crn:519", - "href": "href:520", - "id": "id:521", - "name": "manmade-unequal-disinfect-cone", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:24.000Z", - "crn": "crn:513", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:514", - "id": "id:515", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi1-subnet20", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "primary_ip": { - "address": "10.240.128.6", - "href": "href:217", - "id": "id:218", - "name": "uniquely-shelter-gracious-sudden", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:518" - }, - "href": "href:516", - "id": "id:517", - "name": "recoup-blinks-ebullient-renewed", - "volume": { - "crn": "crn:519", - "href": "href:520", - "id": "id:521", - "name": "manmade-unequal-disinfect-cone", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:24.000Z", - "floating_ips": [ - { - "address": "169.48.95.165", - "crn": "crn:291", - "href": "href:292", - "id": "id:293", - "name": "fip-0-subnet20" - } - ], - "href": "href:219", - "id": "id:220", - "name": "clicker-grumbly-outskirts-greatly", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.6", - "href": "href:217", - "id": "id:218", - "name": "uniquely-shelter-gracious-sudden", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21" - } - ], - "status": "available", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:527" - }, - "href": "href:525", - "id": "id:526", - "name": "radio-tightrope-outtakes-moonshine", - "volume": { - "crn": "crn:528", - "href": "href:529", - "id": "id:530", - "name": "tattoo-crescent-unwary-hayride", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:21.000Z", - "crn": "crn:522", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:523", - "id": "id:524", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet20", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "primary_ip": { - "address": "10.240.128.5", - "href": "href:213", - "id": "id:214", - "name": "customs-recollect-drippy-primate", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:527" - }, - "href": "href:525", - "id": "id:526", - "name": "radio-tightrope-outtakes-moonshine", - "volume": { - "crn": "crn:528", - "href": "href:529", - "id": "id:530", - "name": "tattoo-crescent-unwary-hayride", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:21.000Z", - "floating_ips": [], - "href": "href:215", - "id": "id:216", - "name": "ought-football-shorter-aviator", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.5", - "href": "href:213", - "id": "id:214", - "name": "customs-recollect-drippy-primate", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21" - } - ], - "status": "available", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:536" - }, - "href": "href:534", - "id": "id:535", - "name": "crumpet-ride-tastiness-phoney", - "volume": { - "crn": "crn:537", - "href": "href:538", - "id": "id:539", - "name": "doorframe-marvelous-refusing-citable", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:21.000Z", - "crn": "crn:531", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:532", - "id": "id:533", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi2-subnet20", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "primary_ip": { - "address": "10.240.128.4", - "href": "href:209", - "id": "id:210", - "name": "unmixed-qualify-prescribe-railcar", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:536" - }, - "href": "href:534", - "id": "id:535", - "name": "crumpet-ride-tastiness-phoney", - "volume": { - "crn": "crn:537", - "href": "href:538", - "id": "id:539", - "name": "doorframe-marvelous-refusing-citable", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:21.000Z", - "floating_ips": [], - "href": "href:211", - "id": "id:212", - "name": "tavern-far-imprudent-labored", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.128.4", - "href": "href:209", - "id": "id:210", - "name": "unmixed-qualify-prescribe-railcar", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:339", - "href": "href:340", - "id": "id:341", - "name": "sg21" - } - ], - "status": "available", - "subnet": { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - }, - { - "availability_policy": { - "host_failure": "restart" - }, - "bandwidth": 4000, - "boot_volume_attachment": { - "device": { - "id": "id:545" - }, - "href": "href:543", - "id": "id:544", - "name": "bronzing-vendor-plod-pretzel", - "volume": { - "crn": "crn:546", - "href": "href:547", - "id": "id:548", - "name": "squelch-plop-headlamp-ideologue", - "resource_type": "volume" - } - }, - "confidential_compute_mode": "disabled", - "created_at": "2024-06-25T15:41:00.000Z", - "crn": "crn:540", - "disks": [], - "enable_secure_boot": false, - "health_reasons": [], - "health_state": "ok", - "href": "href:541", - "id": "id:542", - "image": { - "crn": "crn:392", - "href": "href:393", - "id": "id:394", - "name": "server-9080", - "resource_type": "image" - }, - "lifecycle_reasons": [], - "lifecycle_state": "stable", - "memory": 4, - "metadata_service": { - "enabled": false, - "protocol": "http", - "response_hop_limit": 1 - }, - "name": "vsi0-subnet30", - "network_attachments": [], - "numa_count": 1, - "primary_network_interface": { - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "primary_ip": { - "address": "10.240.192.4", - "href": "href:258", - "id": "id:259", - "name": "legacy-shore-molecule-barometer", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "subnet": { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - } - }, - "profile": { - "href": "href:395", - "name": "cx2-2x4", - "resource_type": "instance_profile" - }, - "reservation_affinity": { - "policy": "disabled", - "pool": [] - }, - "resource_group": { - "href": "href:16", - "id": "id:17", - "name": "name:4" - }, - "resource_type": "instance", - "startable": true, - "status": "running", - "status_reasons": [], - "total_network_bandwidth": 3000, - "total_volume_bandwidth": 1000, - "vcpu": { - "architecture": "amd64", - "count": 2, - "manufacturer": "intel" - }, - "volume_attachments": [ - { - "device": { - "id": "id:545" - }, - "href": "href:543", - "id": "id:544", - "name": "bronzing-vendor-plod-pretzel", - "volume": { - "crn": "crn:546", - "href": "href:547", - "id": "id:548", - "name": "squelch-plop-headlamp-ideologue", - "resource_type": "volume" - } - } - ], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - }, - "zone": { - "href": "href:7", - "name": "us-south-3" - }, - "network_interfaces": [ - { - "allow_ip_spoofing": false, - "created_at": "2024-06-25T15:41:00.000Z", - "floating_ips": [ - { - "address": "52.118.100.239", - "crn": "crn:294", - "href": "href:295", - "id": "id:296", - "name": "fip-0-subnet30" - } - ], - "href": "href:260", - "id": "id:261", - "name": "snout-given-twiddle-splinter", - "port_speed": 3000, - "primary_ip": { - "address": "10.240.192.4", - "href": "href:258", - "id": "id:259", - "name": "legacy-shore-molecule-barometer", - "resource_type": "subnet_reserved_ip" - }, - "resource_type": "network_interface", - "security_groups": [ - { - "crn": "crn:346", - "href": "href:347", - "id": "id:348", - "name": "sg31" - } - ], - "status": "available", - "subnet": { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - }, - "type": "primary" - } - ], - "tags": [] - } - ], - "routing_tables": [ - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:20.000Z", - "href": "href:11", - "id": "id:12", - "is_default": true, - "lifecycle_state": "stable", - "name": "overtone-sputter-overspend-gorge", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:137", - "href": "href:138", - "id": "id:139", - "name": "subnet11", - "resource_type": "subnet" - }, - { - "crn": "crn:178", - "href": "href:179", - "id": "id:180", - "name": "subnet10", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:1", - "href": "href:2", - "id": "id:3", - "name": "test-vpc1", - "resource_type": "vpc" - } - }, - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:19.000Z", - "href": "href:28", - "id": "id:29", - "is_default": true, - "lifecycle_state": "stable", - "name": "escapade-dynamite-upstage-context", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:65", - "href": "href:66", - "id": "id:67", - "name": "subnet5", - "resource_type": "subnet" - }, - { - "crn": "crn:89", - "href": "href:90", - "id": "id:91", - "name": "subnet3", - "resource_type": "subnet" - }, - { - "crn": "crn:113", - "href": "href:114", - "id": "id:115", - "name": "subnet0", - "resource_type": "subnet" - }, - { - "crn": "crn:157", - "href": "href:158", - "id": "id:159", - "name": "subnet2", - "resource_type": "subnet" - }, - { - "crn": "crn:223", - "href": "href:224", - "id": "id:225", - "name": "subnet1", - "resource_type": "subnet" - }, - { - "crn": "crn:264", - "href": "href:265", - "id": "id:266", - "name": "subnet4", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:22", - "href": "href:23", - "id": "id:24", - "name": "test-vpc0", - "resource_type": "vpc" - } - }, - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:19.000Z", - "href": "href:45", - "id": "id:46", - "is_default": true, - "lifecycle_state": "stable", - "name": "quintuple-severity-caddie-manuals", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:195", - "href": "href:196", - "id": "id:197", - "name": "subnet20", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:39", - "href": "href:40", - "id": "id:41", - "name": "test-vpc2", - "resource_type": "vpc" - } - }, - { - "accept_routes_from": [ - { - "resource_type": "vpn_gateway" - }, - { - "resource_type": "vpn_server" - } - ], - "advertise_routes_to": [], - "created_at": "2024-06-25T15:40:19.000Z", - "href": "href:58", - "id": "id:59", - "is_default": true, - "lifecycle_state": "stable", - "name": "probational-herring-undone-daintily", - "resource_type": "routing_table", - "route_direct_link_ingress": false, - "route_internet_ingress": false, - "route_transit_gateway_ingress": false, - "route_vpc_zone_ingress": false, - "subnets": [ - { - "crn": "crn:244", - "href": "href:245", - "id": "id:246", - "name": "subnet30", - "resource_type": "subnet" - } - ], - "routes": [], - "vpc": { - "crn": "crn:52", - "href": "href:53", - "id": "id:54", - "name": "test-vpc3", - "resource_type": "vpc" - } - } - ], - "load_balancers": [], - "transit_connections": [ - { - "created_at": "2024-06-25T15:41:44.212Z", - "id": "id:549", - "name": "tg3_connection3", - "network_id": "crn:52", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:550", - "id": "id:551", - "name": "local-tg3" - }, - "updated_at": "2024-06-25T15:45:14.206Z" - }, - { - "created_at": "2024-06-25T15:41:54.416Z", - "id": "id:552", - "name": "tg3_connection0", - "network_id": "crn:22", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:550", - "id": "id:551", - "name": "local-tg3" - }, - "updated_at": "2024-06-25T15:45:53.979Z" - }, - { - "created_at": "2024-06-25T15:42:54.772Z", - "id": "id:553", - "name": "tg2_connection3", - "network_id": "crn:52", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:554", - "id": "id:555", - "name": "local-tg2" - }, - "updated_at": "2024-06-25T15:49:08.822Z" - }, - { - "created_at": "2024-06-25T15:43:11.555Z", - "id": "id:556", - "name": "tg2_connection0", - "network_id": "crn:22", - "network_type": "vpc", - "prefix_filters": [ - { - "action": "deny", - "created_at": "2024-06-25T15:46:46.641Z", - "id": "id:557", - "le": 32, - "prefix": "10.240.0.0/22", - "updated_at": "2024-06-25T15:46:46.641Z" - } - ], - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:554", - "id": "id:555", - "name": "local-tg2" - }, - "updated_at": "2024-06-25T15:49:59.395Z" - }, - { - "created_at": "2024-06-25T15:43:12.159Z", - "id": "id:558", - "name": "tg_connection0", - "network_id": "crn:22", - "network_type": "vpc", - "prefix_filters": [ - { - "action": "deny", - "before": "298db67f-2e68-4548-93b9-949f8356d4a0", - "created_at": "2024-06-25T15:45:14.711Z", - "id": "id:559", - "prefix": "10.240.4.0/22", - "updated_at": "2024-06-25T15:45:14.711Z" - }, - { - "action": "deny", - "created_at": "2024-06-25T15:45:25.435Z", - "id": "id:560", - "prefix": "10.240.8.0/22", - "updated_at": "2024-06-25T15:45:25.435Z" - } - ], - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:561", - "id": "id:562", - "name": "local-tg1" - }, - "updated_at": "2024-06-25T15:49:53.837Z" - }, - { - "created_at": "2024-06-25T15:43:41.079Z", - "id": "id:563", - "name": "tg2_connection2", - "network_id": "crn:39", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:554", - "id": "id:555", - "name": "local-tg2" - }, - "updated_at": "2024-06-25T15:49:43.192Z" - }, - { - "created_at": "2024-06-25T15:43:42.335Z", - "id": "id:564", - "name": "tg1_connection1", - "network_id": "crn:1", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:561", - "id": "id:562", - "name": "local-tg1" - }, - "updated_at": "2024-06-25T15:48:45.229Z" - }, - { - "created_at": "2024-06-25T15:44:08.995Z", - "id": "id:565", - "name": "tg1_connection2", - "network_id": "crn:39", - "network_type": "vpc", - "prefix_filters_default": "permit", - "status": "attached", - "transit_gateway": { - "crn": "crn:561", - "id": "id:562", - "name": "local-tg1" - }, - "updated_at": "2024-06-25T15:49:11.976Z" - } - ], - "transit_gateways": [ - { - "id": "id:551", - "crn": "crn:550", - "name": "local-tg3", - "location": "us-south", - "created_at": "2024-06-25T15:40:21.390Z", - "global": false, - "resource_group": { - "id": "id:17", - "href": "href:566" - }, - "status": "available", - "updated_at": "2024-06-25T15:42:12.752Z" - }, - { - "id": "id:555", - "crn": "crn:554", - "name": "local-tg2", - "location": "us-south", - "created_at": "2024-06-25T15:40:25.895Z", - "global": false, - "resource_group": { - "id": "id:17", - "href": "href:566" - }, - "status": "available", - "updated_at": "2024-06-25T15:43:58.196Z" - }, - { - "id": "id:562", - "crn": "crn:561", - "name": "local-tg1", - "location": "us-south", - "created_at": "2024-06-25T15:40:26.455Z", - "global": false, - "resource_group": { - "id": "id:17", - "href": "href:566" - }, - "status": "available", - "updated_at": "2024-06-25T15:43:15.331Z" - } - ], - "iks_clusters": [] -} diff --git a/test/data/acl_nif/config_object.json b/test/data/tg_multiple/config_object.json similarity index 100% rename from test/data/acl_nif/config_object.json rename to test/data/tg_multiple/config_object.json diff --git a/test/synth_test_list.go b/test/synth_test_list.go index fac53a7a..de3ed502 100644 --- a/test/synth_test_list.go +++ b/test/synth_test_list.go @@ -6,38 +6,22 @@ SPDX-License-Identifier: Apache-2.0 package test const ( - aclExtenalsConfig = "%s/acl_externals/config_object.json" - aclExternalsSpec = "%s/acl_externals/conn_spec.json" - - aclNifConfig = "%s/acl_nif/config_object.json" - aclNifSpec = "%s/acl_nif/conn_spec.json" - - aclNifInstanceSegmentsConfig = "%s/acl_nif_instance_segments/config_object.json" - aclNifInstanceSegmentsSpec = "%s/acl_nif_instance_segments/conn_spec.json" - - aclProtocolsConfig = "%s/acl_protocols/config_object.json" - aclProtocolsSpec = "%s/acl_protocols/conn_spec.json" - - aclSubnetCidrSegmentsConfig = "%s/acl_subnet_cidr_segments/config_object.json" - aclSubnetCidrSegmentsSpec = "%s/acl_subnet_cidr_segments/conn_spec.json" - + tgMultipleConfig = "%s/tg_multiple/config_object.json" + sgTesting3Config = "%s/sg_testing3/config_object.json" + aclTesting4Config = "%s/acl_testing4/config_object.json" aclTesting5Config = "%s/acl_testing5/config_object.json" - aclTesting5Spec = "%s/acl_testing5/conn_spec.json" - - aclTgMultipleConfig = "%s/acl_tg_multiple/config_object.json" - aclTgMultipleSpec = "%s/acl_tg_multiple/conn_spec.json" - aclVpeConfig = "%s/acl_vpe/config_object.json" - aclVpeSpec = "%s/acl_vpe/conn_spec.json" - - sgProtocolsConfig = "%s/sg_protocols/config_object.json" - sgProtocolsSpec = "%s/sg_protocols/conn_spec.json" - - sgTesting3Config = "%s/sg_testing3/config_object.json" - sgTesting3Spec = "%s/sg_testing3/conn_spec.json" - - sgTgMultipleConfig = "%s/sg_tg_multiple/config_object.json" - sgTgMultipleSpec = "%s/sg_tg_multiple/conn_spec.json" + aclExternalsSpec = "%s/acl_externals/conn_spec.json" + aclNifSpec = "%s/acl_nif/conn_spec.json" + aclNifInstanceSegmentsSpec = "%s/acl_nif_instance_segments/conn_spec.json" + aclProtocolsSpec = "%s/acl_protocols/conn_spec.json" + aclSubnetCidrSegmentsSpec = "%s/acl_subnet_cidr_segments/conn_spec.json" + aclTesting5Spec = "%s/acl_testing5/conn_spec.json" + aclTgMultipleSpec = "%s/acl_tg_multiple/conn_spec.json" + aclVpeSpec = "%s/acl_vpe/conn_spec.json" + sgProtocolsSpec = "%s/sg_protocols/conn_spec.json" + sgTesting3Spec = "%s/sg_testing3/conn_spec.json" + sgTgMultipleSpec = "%s/sg_tg_multiple/conn_spec.json" tfOutputFmt = "tf" ) @@ -49,13 +33,13 @@ func allMainTests() []testCase { //nolint:funlen //all acl synthesis tests func synthACLTestsList() []testCase { return []testCase{ - // acl externals ## acl_testing4 config + // acl externals { testName: "acl_externals_json", args: &command{ cmd: synth, subcmd: acl, - config: aclExtenalsConfig, + config: aclTesting4Config, spec: aclExternalsSpec, outputFile: "%s/acl_externals_json/nacl_expected.json", }, @@ -65,7 +49,7 @@ func synthACLTestsList() []testCase { args: &command{ cmd: synth, subcmd: acl, - config: aclExtenalsConfig, + config: aclTesting4Config, spec: aclExternalsSpec, outputFile: "%s/acl_externals_tf/nacl_expected.tf", }, @@ -77,7 +61,7 @@ func synthACLTestsList() []testCase { args: &command{ cmd: synth, subcmd: acl, - config: aclNifConfig, + config: tgMultipleConfig, spec: aclNifSpec, outputFile: "%s/acl_nif_tf/nacl_expected.tf", }, @@ -89,7 +73,7 @@ func synthACLTestsList() []testCase { args: &command{ cmd: synth, subcmd: acl, - config: aclNifInstanceSegmentsConfig, + config: tgMultipleConfig, spec: aclNifInstanceSegmentsSpec, outputFile: "%s/acl_nif_instance_segments_tf/nacl_expected.tf", }, @@ -101,7 +85,7 @@ func synthACLTestsList() []testCase { args: &command{ cmd: synth, subcmd: acl, - config: aclProtocolsConfig, + config: tgMultipleConfig, spec: aclProtocolsSpec, outputFile: "%s/acl_protocols_csv/nacl_expected.csv", }, @@ -111,7 +95,7 @@ func synthACLTestsList() []testCase { args: &command{ cmd: synth, subcmd: acl, - config: aclProtocolsConfig, + config: tgMultipleConfig, spec: aclProtocolsSpec, outputFile: "%s/acl_protocols_json/nacl_expected.json", }, @@ -121,7 +105,7 @@ func synthACLTestsList() []testCase { args: &command{ cmd: synth, subcmd: acl, - config: aclProtocolsConfig, + config: tgMultipleConfig, spec: aclProtocolsSpec, outputFile: "%s/acl_protocols_md/nacl_expected.md", }, @@ -131,19 +115,19 @@ func synthACLTestsList() []testCase { args: &command{ cmd: synth, subcmd: acl, - config: aclProtocolsConfig, + config: tgMultipleConfig, spec: aclProtocolsSpec, outputFile: "%s/acl_protocols_tf/nacl_expected.tf", }, }, - // acl subnet and cidr segments (bidi) ## acl_testing5 config + // acl subnet and cidr segments (bidi) { testName: "acl_subnet_cidr_segments_tf", args: &command{ cmd: synth, subcmd: acl, - config: aclSubnetCidrSegmentsConfig, + config: aclTesting5Config, spec: aclSubnetCidrSegmentsSpec, outputFile: "%s/acl_subnet_cidr_segments_tf/nacl_expected.tf", }, @@ -199,7 +183,7 @@ func synthACLTestsList() []testCase { args: &command{ cmd: synth, subcmd: acl, - config: aclTgMultipleConfig, + config: tgMultipleConfig, spec: aclTgMultipleSpec, outputFile: "%s/acl_tg_multiple_json/nacl_expected.json", }, @@ -209,7 +193,7 @@ func synthACLTestsList() []testCase { args: &command{ cmd: synth, subcmd: acl, - config: aclTgMultipleConfig, + config: tgMultipleConfig, spec: aclTgMultipleSpec, outputFile: "%s/acl_tg_multiple_tf/nacl_expected.tf", }, @@ -219,7 +203,7 @@ func synthACLTestsList() []testCase { args: &command{ cmd: synth, subcmd: acl, - config: aclTgMultipleConfig, + config: tgMultipleConfig, spec: aclTgMultipleSpec, outputDir: "%s/acl_tg_multiple_tf_separate", format: tfOutputFmt, @@ -232,7 +216,7 @@ func synthACLTestsList() []testCase { args: &command{ cmd: synth, subcmd: acl, - config: aclVpeConfig, + config: sgTesting3Config, spec: aclVpeSpec, outputFile: "%s/acl_vpe_tf/nacl_expected.tf", }, @@ -248,7 +232,7 @@ func synthSGTestsList() []testCase { args: &command{ cmd: synth, subcmd: sg, - config: sgProtocolsConfig, + config: tgMultipleConfig, spec: sgProtocolsSpec, outputFile: "%s/sg_protocols_csv/sg_expected.csv", }, @@ -258,7 +242,7 @@ func synthSGTestsList() []testCase { args: &command{ cmd: synth, subcmd: sg, - config: sgProtocolsConfig, + config: tgMultipleConfig, spec: sgProtocolsSpec, outputFile: "%s/sg_protocols_json/sg_expected.json", }, @@ -268,7 +252,7 @@ func synthSGTestsList() []testCase { args: &command{ cmd: synth, subcmd: sg, - config: sgProtocolsConfig, + config: tgMultipleConfig, spec: sgProtocolsSpec, outputFile: "%s/sg_protocols_md/sg_expected.md", }, @@ -278,7 +262,7 @@ func synthSGTestsList() []testCase { args: &command{ cmd: synth, subcmd: sg, - config: sgProtocolsConfig, + config: tgMultipleConfig, spec: sgProtocolsSpec, outputFile: "%s/sg_protocols_tf/sg_expected.tf", }, @@ -332,7 +316,7 @@ func synthSGTestsList() []testCase { args: &command{ cmd: synth, subcmd: sg, - config: sgTgMultipleConfig, + config: tgMultipleConfig, spec: sgTgMultipleSpec, outputDir: "%s/sg_tg_multiple_tf_separate", format: tfOutputFmt, From e34acb022945738ca3d9ca73d60823bc7b9e6486 Mon Sep 17 00:00:00 2001 From: Yair Slobodin Date: Mon, 14 Oct 2024 17:49:35 +0300 Subject: [PATCH 13/13] added sg segment tests --- pkg/io/jsonio/unmarshalConns.go | 1 + pkg/ir/spec.go | 2 +- test/data/sg_segments1/conn_spec.json | 22 +++ test/data/sg_segments2/conn_spec.json | 30 +++ test/data/sg_segments3/conn_spec.json | 30 +++ test/data/sg_segments4/conn_spec.json | 30 +++ test/expected/sg_segments1_tf/sg_expected.tf | 173 ++++++++++++++++ test/expected/sg_segments2_tf/sg_expected.tf | 185 +++++++++++++++++ test/expected/sg_segments3_tf/sg_expected.tf | 197 +++++++++++++++++++ test/expected/sg_segments4_tf/sg_expected.tf | 89 +++++++++ test/synth_test_list.go | 53 +++++ 11 files changed, 811 insertions(+), 1 deletion(-) create mode 100644 test/data/sg_segments1/conn_spec.json create mode 100644 test/data/sg_segments2/conn_spec.json create mode 100644 test/data/sg_segments3/conn_spec.json create mode 100644 test/data/sg_segments4/conn_spec.json create mode 100644 test/expected/sg_segments1_tf/sg_expected.tf create mode 100644 test/expected/sg_segments2_tf/sg_expected.tf create mode 100644 test/expected/sg_segments3_tf/sg_expected.tf create mode 100644 test/expected/sg_segments4_tf/sg_expected.tf diff --git a/pkg/io/jsonio/unmarshalConns.go b/pkg/io/jsonio/unmarshalConns.go index 82e4952b..e28f904a 100644 --- a/pkg/io/jsonio/unmarshalConns.go +++ b/pkg/io/jsonio/unmarshalConns.go @@ -130,6 +130,7 @@ func translateResourceType(defs *ir.Definitions, resource *spec.Resource) (ir.Re if _, ok := defs.VpeSegments[resource.Name]; ok { return ir.ResourceTypeVpeSegment, nil } + return ir.ResourceTypeSubnet, fmt.Errorf("could not find segment %v", resource.Name) } return ir.ResourceTypeSubnet, fmt.Errorf("unsupported resource type %v (%v)", resource.Type, resource.Name) } diff --git a/pkg/ir/spec.go b/pkg/ir/spec.go index c89d15a2..83258e3e 100644 --- a/pkg/ir/spec.go +++ b/pkg/ir/spec.go @@ -283,7 +283,7 @@ func (s *Definitions) lookupSegment(segment map[ID]*SegmentDetails, name string, return nil, fmt.Errorf(containerNotFound, name, t) } - res := &Resource{Name: &name, NamedAddrs: []*NamedAddrs{}, Cidrs: []*NamedAddrs{}, Type: utils.Ptr(ResourceTypeSubnet)} + res := &Resource{Name: &name, NamedAddrs: []*NamedAddrs{}, Cidrs: []*NamedAddrs{}, Type: utils.Ptr(elementType)} for _, elementName := range segmentDetails.Elements { subnet, err := lookup(elementType, elementName) if err != nil { diff --git a/test/data/sg_segments1/conn_spec.json b/test/data/sg_segments1/conn_spec.json new file mode 100644 index 00000000..103589eb --- /dev/null +++ b/test/data/sg_segments1/conn_spec.json @@ -0,0 +1,22 @@ +{ + "segments": { + "cidrSegment": { + "type": "cidr", + "items": [ + "10.240.0.0/23" + ] + } + }, + "required-connections": [ + { + "src": { + "name": "cidrSegment", + "type": "segment" + }, + "dst": { + "name": "cidrSegment", + "type": "segment" + } + } + ] +} \ No newline at end of file diff --git a/test/data/sg_segments2/conn_spec.json b/test/data/sg_segments2/conn_spec.json new file mode 100644 index 00000000..f6181a3c --- /dev/null +++ b/test/data/sg_segments2/conn_spec.json @@ -0,0 +1,30 @@ +{ + "segments": { + "cidrSegment": { + "type": "cidr", + "items": [ + "10.240.0.0/23" + ] + }, + "instanceSegment": { + "type": "instance", + "items": [ + "vsi0-subnet11", + "vsi0-subnet5" + ] + } + }, + "required-connections": [ + { + + "src": { + "name": "instanceSegment", + "type": "segment" + }, + "dst": { + "name": "cidrSegment", + "type": "segment" + } + } + ] +} \ No newline at end of file diff --git a/test/data/sg_segments3/conn_spec.json b/test/data/sg_segments3/conn_spec.json new file mode 100644 index 00000000..448a9c07 --- /dev/null +++ b/test/data/sg_segments3/conn_spec.json @@ -0,0 +1,30 @@ +{ + "segments": { + "subnetSegment": { + "type": "subnet", + "items": [ + "subnet10", + "subnet20" + ] + }, + "nifSegment": { + "type": "nif", + "items": [ + "bullring-ransack-feint-cheer", + "scratch-outward-raging-hunchback" + ] + } + }, + "required-connections": [ + { + "src": { + "name": "subnetSegment", + "type": "segment" + }, + "dst": { + "name": "nifSegment", + "type": "segment" + } + } + ] +} \ No newline at end of file diff --git a/test/data/sg_segments4/conn_spec.json b/test/data/sg_segments4/conn_spec.json new file mode 100644 index 00000000..b2ef94ff --- /dev/null +++ b/test/data/sg_segments4/conn_spec.json @@ -0,0 +1,30 @@ +{ + "segments": { + "vpeSegment": { + "type": "vpe", + "items": [ + "appdata-endpoint-gateway", + "policydb-endpoint-gateway" + ] + }, + "instanceSegment": { + "type": "instance", + "items": [ + "fe", + "be" + ] + } + }, + "required-connections": [ + { + "src": { + "name": "vpeSegment", + "type": "segment" + }, + "dst": { + "name": "instanceSegment", + "type": "segment" + } + } + ] +} \ No newline at end of file diff --git a/test/expected/sg_segments1_tf/sg_expected.tf b/test/expected/sg_segments1_tf/sg_expected.tf new file mode 100644 index 00000000..7e8c7c2d --- /dev/null +++ b/test/expected/sg_segments1_tf/sg_expected.tf @@ -0,0 +1,173 @@ +### SG attached to test-vpc0/vsi0-subnet0 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet0" { + name = "sg-test-vpc0--vsi0-subnet0" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} +# Internal. required-connections[0]: (segment cidrSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi0-subnet0-0" { + group = ibm_is_security_group.test-vpc0--vsi0-subnet0.id + direction = "inbound" + remote = "10.240.0.0/23" +} +# Internal. required-connections[0]: (segment cidrSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi0-subnet0-1" { + group = ibm_is_security_group.test-vpc0--vsi0-subnet0.id + direction = "outbound" + remote = "10.240.0.0/23" +} + +### SG attached to test-vpc0/vsi0-subnet1 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet1" { + name = "sg-test-vpc0--vsi0-subnet1" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} +# Internal. required-connections[0]: (segment cidrSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi0-subnet1-0" { + group = ibm_is_security_group.test-vpc0--vsi0-subnet1.id + direction = "inbound" + remote = "10.240.0.0/23" +} +# Internal. required-connections[0]: (segment cidrSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi0-subnet1-1" { + group = ibm_is_security_group.test-vpc0--vsi0-subnet1.id + direction = "outbound" + remote = "10.240.0.0/23" +} + +### SG attached to test-vpc0/vsi0-subnet2 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet2" { + name = "sg-test-vpc0--vsi0-subnet2" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi0-subnet3 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet3" { + name = "sg-test-vpc0--vsi0-subnet3" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi0-subnet4 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet4" { + name = "sg-test-vpc0--vsi0-subnet4" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi0-subnet5 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet5" { + name = "sg-test-vpc0--vsi0-subnet5" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi1-subnet0 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet0" { + name = "sg-test-vpc0--vsi1-subnet0" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} +# Internal. required-connections[0]: (segment cidrSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi1-subnet0-0" { + group = ibm_is_security_group.test-vpc0--vsi1-subnet0.id + direction = "inbound" + remote = "10.240.0.0/23" +} +# Internal. required-connections[0]: (segment cidrSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi1-subnet0-1" { + group = ibm_is_security_group.test-vpc0--vsi1-subnet0.id + direction = "outbound" + remote = "10.240.0.0/23" +} + +### SG attached to test-vpc0/vsi1-subnet1 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet1" { + name = "sg-test-vpc0--vsi1-subnet1" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} +# Internal. required-connections[0]: (segment cidrSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi1-subnet1-0" { + group = ibm_is_security_group.test-vpc0--vsi1-subnet1.id + direction = "inbound" + remote = "10.240.0.0/23" +} +# Internal. required-connections[0]: (segment cidrSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi1-subnet1-1" { + group = ibm_is_security_group.test-vpc0--vsi1-subnet1.id + direction = "outbound" + remote = "10.240.0.0/23" +} + +### SG attached to test-vpc0/vsi1-subnet2 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet2" { + name = "sg-test-vpc0--vsi1-subnet2" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi1-subnet3 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet3" { + name = "sg-test-vpc0--vsi1-subnet3" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi1-subnet4 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet4" { + name = "sg-test-vpc0--vsi1-subnet4" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi1-subnet5 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet5" { + name = "sg-test-vpc0--vsi1-subnet5" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc1/vsi0-subnet10 +resource "ibm_is_security_group" "test-vpc1--vsi0-subnet10" { + name = "sg-test-vpc1--vsi0-subnet10" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc1_id +} + +### SG attached to test-vpc1/vsi0-subnet11 +resource "ibm_is_security_group" "test-vpc1--vsi0-subnet11" { + name = "sg-test-vpc1--vsi0-subnet11" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc1_id +} + +### SG attached to test-vpc2/vsi0-subnet20 +resource "ibm_is_security_group" "test-vpc2--vsi0-subnet20" { + name = "sg-test-vpc2--vsi0-subnet20" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc2_id +} + +### SG attached to test-vpc2/vsi1-subnet20 +resource "ibm_is_security_group" "test-vpc2--vsi1-subnet20" { + name = "sg-test-vpc2--vsi1-subnet20" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc2_id +} + +### SG attached to test-vpc2/vsi2-subnet20 +resource "ibm_is_security_group" "test-vpc2--vsi2-subnet20" { + name = "sg-test-vpc2--vsi2-subnet20" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc2_id +} + +### SG attached to test-vpc3/vsi0-subnet30 +resource "ibm_is_security_group" "test-vpc3--vsi0-subnet30" { + name = "sg-test-vpc3--vsi0-subnet30" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc3_id +} diff --git a/test/expected/sg_segments2_tf/sg_expected.tf b/test/expected/sg_segments2_tf/sg_expected.tf new file mode 100644 index 00000000..0ecc69d1 --- /dev/null +++ b/test/expected/sg_segments2_tf/sg_expected.tf @@ -0,0 +1,185 @@ +### SG attached to test-vpc0/vsi0-subnet0 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet0" { + name = "sg-test-vpc0--vsi0-subnet0" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} +# Internal. required-connections[0]: (segment instanceSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi0-subnet0-0" { + group = ibm_is_security_group.test-vpc0--vsi0-subnet0.id + direction = "inbound" + remote = ibm_is_security_group.test-vpc1--vsi0-subnet11.id +} +# Internal. required-connections[0]: (segment instanceSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi0-subnet0-1" { + group = ibm_is_security_group.test-vpc0--vsi0-subnet0.id + direction = "inbound" + remote = ibm_is_security_group.test-vpc0--vsi0-subnet5.id +} + +### SG attached to test-vpc0/vsi0-subnet1 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet1" { + name = "sg-test-vpc0--vsi0-subnet1" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} +# Internal. required-connections[0]: (segment instanceSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi0-subnet1-0" { + group = ibm_is_security_group.test-vpc0--vsi0-subnet1.id + direction = "inbound" + remote = ibm_is_security_group.test-vpc1--vsi0-subnet11.id +} +# Internal. required-connections[0]: (segment instanceSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi0-subnet1-1" { + group = ibm_is_security_group.test-vpc0--vsi0-subnet1.id + direction = "inbound" + remote = ibm_is_security_group.test-vpc0--vsi0-subnet5.id +} + +### SG attached to test-vpc0/vsi0-subnet2 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet2" { + name = "sg-test-vpc0--vsi0-subnet2" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi0-subnet3 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet3" { + name = "sg-test-vpc0--vsi0-subnet3" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi0-subnet4 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet4" { + name = "sg-test-vpc0--vsi0-subnet4" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi0-subnet5 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet5" { + name = "sg-test-vpc0--vsi0-subnet5" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} +# Internal. required-connections[0]: (segment instanceSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi0-subnet5-0" { + group = ibm_is_security_group.test-vpc0--vsi0-subnet5.id + direction = "outbound" + remote = "10.240.0.0/23" +} + +### SG attached to test-vpc0/vsi1-subnet0 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet0" { + name = "sg-test-vpc0--vsi1-subnet0" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} +# Internal. required-connections[0]: (segment instanceSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi1-subnet0-0" { + group = ibm_is_security_group.test-vpc0--vsi1-subnet0.id + direction = "inbound" + remote = ibm_is_security_group.test-vpc1--vsi0-subnet11.id +} +# Internal. required-connections[0]: (segment instanceSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi1-subnet0-1" { + group = ibm_is_security_group.test-vpc0--vsi1-subnet0.id + direction = "inbound" + remote = ibm_is_security_group.test-vpc0--vsi0-subnet5.id +} + +### SG attached to test-vpc0/vsi1-subnet1 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet1" { + name = "sg-test-vpc0--vsi1-subnet1" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} +# Internal. required-connections[0]: (segment instanceSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi1-subnet1-0" { + group = ibm_is_security_group.test-vpc0--vsi1-subnet1.id + direction = "inbound" + remote = ibm_is_security_group.test-vpc1--vsi0-subnet11.id +} +# Internal. required-connections[0]: (segment instanceSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi1-subnet1-1" { + group = ibm_is_security_group.test-vpc0--vsi1-subnet1.id + direction = "inbound" + remote = ibm_is_security_group.test-vpc0--vsi0-subnet5.id +} + +### SG attached to test-vpc0/vsi1-subnet2 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet2" { + name = "sg-test-vpc0--vsi1-subnet2" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi1-subnet3 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet3" { + name = "sg-test-vpc0--vsi1-subnet3" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi1-subnet4 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet4" { + name = "sg-test-vpc0--vsi1-subnet4" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi1-subnet5 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet5" { + name = "sg-test-vpc0--vsi1-subnet5" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc1/vsi0-subnet10 +resource "ibm_is_security_group" "test-vpc1--vsi0-subnet10" { + name = "sg-test-vpc1--vsi0-subnet10" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc1_id +} + +### SG attached to test-vpc1/vsi0-subnet11 +resource "ibm_is_security_group" "test-vpc1--vsi0-subnet11" { + name = "sg-test-vpc1--vsi0-subnet11" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc1_id +} +# Internal. required-connections[0]: (segment instanceSegment)->(segment cidrSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc1--vsi0-subnet11-0" { + group = ibm_is_security_group.test-vpc1--vsi0-subnet11.id + direction = "outbound" + remote = "10.240.0.0/23" +} + +### SG attached to test-vpc2/vsi0-subnet20 +resource "ibm_is_security_group" "test-vpc2--vsi0-subnet20" { + name = "sg-test-vpc2--vsi0-subnet20" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc2_id +} + +### SG attached to test-vpc2/vsi1-subnet20 +resource "ibm_is_security_group" "test-vpc2--vsi1-subnet20" { + name = "sg-test-vpc2--vsi1-subnet20" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc2_id +} + +### SG attached to test-vpc2/vsi2-subnet20 +resource "ibm_is_security_group" "test-vpc2--vsi2-subnet20" { + name = "sg-test-vpc2--vsi2-subnet20" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc2_id +} + +### SG attached to test-vpc3/vsi0-subnet30 +resource "ibm_is_security_group" "test-vpc3--vsi0-subnet30" { + name = "sg-test-vpc3--vsi0-subnet30" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc3_id +} diff --git a/test/expected/sg_segments3_tf/sg_expected.tf b/test/expected/sg_segments3_tf/sg_expected.tf new file mode 100644 index 00000000..a14bcf10 --- /dev/null +++ b/test/expected/sg_segments3_tf/sg_expected.tf @@ -0,0 +1,197 @@ +### SG attached to test-vpc0/vsi0-subnet0 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet0" { + name = "sg-test-vpc0--vsi0-subnet0" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi0-subnet1 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet1" { + name = "sg-test-vpc0--vsi0-subnet1" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi0-subnet2 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet2" { + name = "sg-test-vpc0--vsi0-subnet2" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi0-subnet3 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet3" { + name = "sg-test-vpc0--vsi0-subnet3" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi0-subnet4 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet4" { + name = "sg-test-vpc0--vsi0-subnet4" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} +# Internal. required-connections[0]: (segment subnetSegment)->(segment nifSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi0-subnet4-0" { + group = ibm_is_security_group.test-vpc0--vsi0-subnet4.id + direction = "inbound" + remote = "10.240.64.0/24" +} +# Internal. required-connections[0]: (segment subnetSegment)->(segment nifSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi0-subnet4-1" { + group = ibm_is_security_group.test-vpc0--vsi0-subnet4.id + direction = "inbound" + remote = "10.240.128.0/24" +} + +### SG attached to test-vpc0/vsi0-subnet5 +resource "ibm_is_security_group" "test-vpc0--vsi0-subnet5" { + name = "sg-test-vpc0--vsi0-subnet5" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi1-subnet0 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet0" { + name = "sg-test-vpc0--vsi1-subnet0" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi1-subnet1 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet1" { + name = "sg-test-vpc0--vsi1-subnet1" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi1-subnet2 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet2" { + name = "sg-test-vpc0--vsi1-subnet2" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi1-subnet3 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet3" { + name = "sg-test-vpc0--vsi1-subnet3" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi1-subnet4 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet4" { + name = "sg-test-vpc0--vsi1-subnet4" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} + +### SG attached to test-vpc0/vsi1-subnet5 +resource "ibm_is_security_group" "test-vpc0--vsi1-subnet5" { + name = "sg-test-vpc0--vsi1-subnet5" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc0_id +} +# Internal. required-connections[0]: (segment subnetSegment)->(segment nifSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi1-subnet5-0" { + group = ibm_is_security_group.test-vpc0--vsi1-subnet5.id + direction = "inbound" + remote = "10.240.64.0/24" +} +# Internal. required-connections[0]: (segment subnetSegment)->(segment nifSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc0--vsi1-subnet5-1" { + group = ibm_is_security_group.test-vpc0--vsi1-subnet5.id + direction = "inbound" + remote = "10.240.128.0/24" +} + +### SG attached to test-vpc1/vsi0-subnet10 +resource "ibm_is_security_group" "test-vpc1--vsi0-subnet10" { + name = "sg-test-vpc1--vsi0-subnet10" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc1_id +} +# Internal. required-connections[0]: (segment subnetSegment)->(segment nifSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc1--vsi0-subnet10-0" { + group = ibm_is_security_group.test-vpc1--vsi0-subnet10.id + direction = "outbound" + remote = ibm_is_security_group.test-vpc0--vsi0-subnet4.id +} +# Internal. required-connections[0]: (segment subnetSegment)->(segment nifSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc1--vsi0-subnet10-1" { + group = ibm_is_security_group.test-vpc1--vsi0-subnet10.id + direction = "outbound" + remote = ibm_is_security_group.test-vpc0--vsi1-subnet5.id +} + +### SG attached to test-vpc1/vsi0-subnet11 +resource "ibm_is_security_group" "test-vpc1--vsi0-subnet11" { + name = "sg-test-vpc1--vsi0-subnet11" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc1_id +} + +### SG attached to test-vpc2/vsi0-subnet20 +resource "ibm_is_security_group" "test-vpc2--vsi0-subnet20" { + name = "sg-test-vpc2--vsi0-subnet20" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc2_id +} +# Internal. required-connections[0]: (segment subnetSegment)->(segment nifSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc2--vsi0-subnet20-0" { + group = ibm_is_security_group.test-vpc2--vsi0-subnet20.id + direction = "outbound" + remote = ibm_is_security_group.test-vpc0--vsi0-subnet4.id +} +# Internal. required-connections[0]: (segment subnetSegment)->(segment nifSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc2--vsi0-subnet20-1" { + group = ibm_is_security_group.test-vpc2--vsi0-subnet20.id + direction = "outbound" + remote = ibm_is_security_group.test-vpc0--vsi1-subnet5.id +} + +### SG attached to test-vpc2/vsi1-subnet20 +resource "ibm_is_security_group" "test-vpc2--vsi1-subnet20" { + name = "sg-test-vpc2--vsi1-subnet20" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc2_id +} +# Internal. required-connections[0]: (segment subnetSegment)->(segment nifSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc2--vsi1-subnet20-0" { + group = ibm_is_security_group.test-vpc2--vsi1-subnet20.id + direction = "outbound" + remote = ibm_is_security_group.test-vpc0--vsi0-subnet4.id +} +# Internal. required-connections[0]: (segment subnetSegment)->(segment nifSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc2--vsi1-subnet20-1" { + group = ibm_is_security_group.test-vpc2--vsi1-subnet20.id + direction = "outbound" + remote = ibm_is_security_group.test-vpc0--vsi1-subnet5.id +} + +### SG attached to test-vpc2/vsi2-subnet20 +resource "ibm_is_security_group" "test-vpc2--vsi2-subnet20" { + name = "sg-test-vpc2--vsi2-subnet20" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc2_id +} +# Internal. required-connections[0]: (segment subnetSegment)->(segment nifSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc2--vsi2-subnet20-0" { + group = ibm_is_security_group.test-vpc2--vsi2-subnet20.id + direction = "outbound" + remote = ibm_is_security_group.test-vpc0--vsi0-subnet4.id +} +# Internal. required-connections[0]: (segment subnetSegment)->(segment nifSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc2--vsi2-subnet20-1" { + group = ibm_is_security_group.test-vpc2--vsi2-subnet20.id + direction = "outbound" + remote = ibm_is_security_group.test-vpc0--vsi1-subnet5.id +} + +### SG attached to test-vpc3/vsi0-subnet30 +resource "ibm_is_security_group" "test-vpc3--vsi0-subnet30" { + name = "sg-test-vpc3--vsi0-subnet30" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc3_id +} diff --git a/test/expected/sg_segments4_tf/sg_expected.tf b/test/expected/sg_segments4_tf/sg_expected.tf new file mode 100644 index 00000000..07166fff --- /dev/null +++ b/test/expected/sg_segments4_tf/sg_expected.tf @@ -0,0 +1,89 @@ +### SG attached to test-vpc/appdata-endpoint-gateway +resource "ibm_is_security_group" "test-vpc--appdata-endpoint-gateway" { + name = "sg-test-vpc--appdata-endpoint-gateway" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc_id +} +# Internal. required-connections[0]: (segment vpeSegment)->(segment instanceSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc--appdata-endpoint-gateway-0" { + group = ibm_is_security_group.test-vpc--appdata-endpoint-gateway.id + direction = "outbound" + remote = ibm_is_security_group.test-vpc--fe.id +} +# Internal. required-connections[0]: (segment vpeSegment)->(segment instanceSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc--appdata-endpoint-gateway-1" { + group = ibm_is_security_group.test-vpc--appdata-endpoint-gateway.id + direction = "outbound" + remote = ibm_is_security_group.test-vpc--be.id +} + +### SG attached to test-vpc/be +resource "ibm_is_security_group" "test-vpc--be" { + name = "sg-test-vpc--be" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc_id +} +# Internal. required-connections[0]: (segment vpeSegment)->(segment instanceSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc--be-0" { + group = ibm_is_security_group.test-vpc--be.id + direction = "inbound" + remote = ibm_is_security_group.test-vpc--appdata-endpoint-gateway.id +} +# Internal. required-connections[0]: (segment vpeSegment)->(segment instanceSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc--be-1" { + group = ibm_is_security_group.test-vpc--be.id + direction = "inbound" + remote = ibm_is_security_group.test-vpc--policydb-endpoint-gateway.id +} + +### SG attached to test-vpc/fe +resource "ibm_is_security_group" "test-vpc--fe" { + name = "sg-test-vpc--fe" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc_id +} +# Internal. required-connections[0]: (segment vpeSegment)->(segment instanceSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc--fe-0" { + group = ibm_is_security_group.test-vpc--fe.id + direction = "inbound" + remote = ibm_is_security_group.test-vpc--appdata-endpoint-gateway.id +} +# Internal. required-connections[0]: (segment vpeSegment)->(segment instanceSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc--fe-1" { + group = ibm_is_security_group.test-vpc--fe.id + direction = "inbound" + remote = ibm_is_security_group.test-vpc--policydb-endpoint-gateway.id +} + +### SG attached to test-vpc/opa +resource "ibm_is_security_group" "test-vpc--opa" { + name = "sg-test-vpc--opa" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc_id +} + +### SG attached to test-vpc/policydb-endpoint-gateway +resource "ibm_is_security_group" "test-vpc--policydb-endpoint-gateway" { + name = "sg-test-vpc--policydb-endpoint-gateway" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc_id +} +# Internal. required-connections[0]: (segment vpeSegment)->(segment instanceSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc--policydb-endpoint-gateway-0" { + group = ibm_is_security_group.test-vpc--policydb-endpoint-gateway.id + direction = "outbound" + remote = ibm_is_security_group.test-vpc--fe.id +} +# Internal. required-connections[0]: (segment vpeSegment)->(segment instanceSegment); allowed-protocols[0] +resource "ibm_is_security_group_rule" "test-vpc--policydb-endpoint-gateway-1" { + group = ibm_is_security_group.test-vpc--policydb-endpoint-gateway.id + direction = "outbound" + remote = ibm_is_security_group.test-vpc--be.id +} + +### SG attached to test-vpc/proxy +resource "ibm_is_security_group" "test-vpc--proxy" { + name = "sg-test-vpc--proxy" + resource_group = local.sg_synth_resource_group_id + vpc = local.sg_synth_test-vpc_id +} diff --git a/test/synth_test_list.go b/test/synth_test_list.go index de3ed502..cf49b8f2 100644 --- a/test/synth_test_list.go +++ b/test/synth_test_list.go @@ -20,6 +20,10 @@ const ( aclTgMultipleSpec = "%s/acl_tg_multiple/conn_spec.json" aclVpeSpec = "%s/acl_vpe/conn_spec.json" sgProtocolsSpec = "%s/sg_protocols/conn_spec.json" + sgSegments1Spec = "%s/sg_segments1/conn_spec.json" + sgSegments2Spec = "%s/sg_segments2/conn_spec.json" + sgSegments3Spec = "%s/sg_segments3/conn_spec.json" + sgSegments4Spec = "%s/sg_segments4/conn_spec.json" sgTesting3Spec = "%s/sg_testing3/conn_spec.json" sgTgMultipleSpec = "%s/sg_tg_multiple/conn_spec.json" @@ -224,6 +228,7 @@ func synthACLTestsList() []testCase { } } +//nolint:funlen // test cases func synthSGTestsList() []testCase { return []testCase{ // sg protocols (all output fmts, externals, scoping, nif as a resource) ## tg-multiple config @@ -268,6 +273,54 @@ func synthSGTestsList() []testCase { }, }, + // sg segments1 (cidrSegment -> cidrSegment) + { + testName: "sg_segments1_tf", + args: &command{ + cmd: synth, + subcmd: sg, + config: tgMultipleConfig, + spec: sgSegments1Spec, + outputFile: "%s/sg_segments1_tf/sg_expected.tf", + }, + }, + + // sg segments2 (instanceSegment -> cidrSegment) + { + testName: "sg_segments2_tf", + args: &command{ + cmd: synth, + subcmd: sg, + config: tgMultipleConfig, + spec: sgSegments2Spec, + outputFile: "%s/sg_segments2_tf/sg_expected.tf", + }, + }, + + // sg segments3 (subnetSegment -> nifSegment) + { + testName: "sg_segments3_tf", + args: &command{ + cmd: synth, + subcmd: sg, + config: tgMultipleConfig, + spec: sgSegments3Spec, + outputFile: "%s/sg_segments3_tf/sg_expected.tf", + }, + }, + + // sg segments4 (vpeSegment -> instanceSegment) + { + testName: "sg_segments4_tf", + args: &command{ + cmd: synth, + subcmd: sg, + config: sgTesting3Config, + spec: sgSegments4Spec, + outputFile: "%s/sg_segments4_tf/sg_expected.tf", + }, + }, + // sg testing 3 (all fmts, VPEs are included) { testName: "sg_testing3_csv",