ionoscloud 5.1.2 → 6.0.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/docs/{models/AttachedVolumes.md → AttachedVolumes.md} +1 -1
- data/docs/{models/BackupUnit.md → BackupUnit.md} +0 -0
- data/docs/{models/BackupUnitProperties.md → BackupUnitProperties.md} +0 -0
- data/docs/{models/BackupUnitSSO.md → BackupUnitSSO.md} +0 -0
- data/docs/{models/BackupUnits.md → BackupUnits.md} +0 -0
- data/docs/{api/BackupUnitApi.md → BackupUnitsApi.md} +42 -42
- data/docs/{models/BalancedNics.md → BalancedNics.md} +0 -0
- data/docs/CHANGELOG.md +1 -0
- data/docs/{models/Cdroms.md → Cdroms.md} +1 -1
- data/docs/{models/ConnectableDatacenter.md → ConnectableDatacenter.md} +0 -0
- data/docs/{models/Contract.md → Contract.md} +0 -0
- data/docs/{models/ContractProperties.md → ContractProperties.md} +0 -0
- data/docs/{api/ContractApi.md → ContractResourcesApi.md} +11 -11
- data/docs/Contracts.md +24 -0
- data/docs/CpuArchitectureProperties.md +24 -0
- data/docs/{models/DataCenterEntities.md → DataCenterEntities.md} +5 -1
- data/docs/{api/DataCenterApi.md → DataCentersApi.md} +31 -31
- data/docs/{models/Datacenter.md → Datacenter.md} +0 -0
- data/docs/{models/DatacenterElementMetadata.md → DatacenterElementMetadata.md} +0 -0
- data/docs/{models/DatacenterProperties.md → DatacenterProperties.md} +3 -1
- data/docs/{models/Datacenters.md → Datacenters.md} +0 -0
- data/docs/{api/DefaultApi.md → DefaultApi.md} +2 -13
- data/docs/{models/Error.md → Error.md} +0 -0
- data/docs/{models/ErrorMessage.md → ErrorMessage.md} +0 -0
- data/docs/{models/FirewallRule.md → FirewallRule.md} +0 -0
- data/docs/{models/FirewallRules.md → FirewallRules.md} +0 -0
- data/docs/FirewallRulesApi.md +553 -0
- data/docs/{models/FirewallruleProperties.md → FirewallruleProperties.md} +3 -1
- data/docs/FlowLog.md +26 -0
- data/docs/FlowLogProperties.md +24 -0
- data/docs/FlowLogPut.md +24 -0
- data/docs/FlowLogs.md +30 -0
- data/docs/FlowLogsApi.md +541 -0
- data/docs/{models/Group.md → Group.md} +1 -1
- data/docs/{models/GroupEntities.md → GroupEntities.md} +0 -0
- data/docs/{models/GroupMembers.md → GroupMembers.md} +1 -1
- data/docs/{models/GroupProperties.md → GroupProperties.md} +5 -1
- data/docs/{models/GroupShare.md → GroupShare.md} +1 -1
- data/docs/{models/GroupShareProperties.md → GroupShareProperties.md} +0 -0
- data/docs/{models/GroupShares.md → GroupShares.md} +1 -1
- data/docs/{models/GroupUsers.md → GroupUsers.md} +1 -1
- data/docs/{models/Groups.md → Groups.md} +1 -1
- data/docs/{api/IPBlocksApi.md → IPBlocksApi.md} +7 -11
- data/docs/{models/IPFailover.md → IPFailover.md} +0 -0
- data/docs/{models/Image.md → Image.md} +0 -0
- data/docs/{models/ImageProperties.md → ImageProperties.md} +1 -5
- data/docs/{models/Images.md → Images.md} +0 -0
- data/docs/{api/ImageApi.md → ImagesApi.md} +25 -25
- data/docs/{models/Info.md → Info.md} +0 -0
- data/docs/{models/IpBlock.md → IpBlock.md} +0 -0
- data/docs/{models/IpBlockProperties.md → IpBlockProperties.md} +1 -1
- data/docs/IpBlocks.md +24 -0
- data/docs/{models/IpConsumer.md → IpConsumer.md} +1 -5
- data/docs/{api/KubernetesApi.md → KubernetesApi.md} +17 -93
- data/docs/{models/KubernetesAutoScaling.md → KubernetesAutoScaling.md} +2 -2
- data/docs/{models/KubernetesCluster.md → KubernetesCluster.md} +0 -0
- data/docs/{models/KubernetesClusterEntities.md → KubernetesClusterEntities.md} +0 -0
- data/docs/{models/KubernetesClusterForPost.md → KubernetesClusterForPost.md} +0 -0
- data/docs/{models/KubernetesClusterForPut.md → KubernetesClusterForPut.md} +0 -0
- data/docs/{models/KubernetesClusterProperties.md → KubernetesClusterProperties.md} +4 -4
- data/docs/{models/KubernetesClusterPropertiesForPost.md → KubernetesClusterPropertiesForPost.md} +4 -4
- data/docs/{models/KubernetesClusterPropertiesForPut.md → KubernetesClusterPropertiesForPut.md} +1 -5
- data/docs/{models/KubernetesClusters.md → KubernetesClusters.md} +1 -1
- data/docs/{models/KubernetesMaintenanceWindow.md → KubernetesMaintenanceWindow.md} +2 -2
- data/docs/{models/KubernetesNode.md → KubernetesNode.md} +0 -0
- data/docs/{models/KubernetesNodeMetadata.md → KubernetesNodeMetadata.md} +0 -0
- data/docs/{models/KubernetesNodePool.md → KubernetesNodePool.md} +0 -0
- data/docs/{models/KubernetesNodePoolForPost.md → KubernetesNodePoolForPost.md} +0 -0
- data/docs/{models/KubernetesNodePoolForPut.md → KubernetesNodePoolForPut.md} +0 -0
- data/docs/KubernetesNodePoolLan.md +22 -0
- data/docs/KubernetesNodePoolLanRoutes.md +20 -0
- data/docs/{models/KubernetesNodePoolProperties.md → KubernetesNodePoolProperties.md} +2 -1
- data/docs/{models/KubernetesNodePoolPropertiesForPost.md → KubernetesNodePoolPropertiesForPost.md} +2 -1
- data/docs/{models/KubernetesNodePoolPropertiesForPut.md → KubernetesNodePoolPropertiesForPut.md} +0 -0
- data/docs/{models/KubernetesNodePools.md → KubernetesNodePools.md} +1 -1
- data/docs/{models/KubernetesNodeProperties.md → KubernetesNodeProperties.md} +0 -0
- data/docs/{models/KubernetesNodes.md → KubernetesNodes.md} +0 -0
- data/docs/{models/Label.md → Label.md} +0 -0
- data/docs/{models/LabelProperties.md → LabelProperties.md} +0 -0
- data/docs/{models/LabelResource.md → LabelResource.md} +0 -0
- data/docs/{models/LabelResourceProperties.md → LabelResourceProperties.md} +0 -0
- data/docs/{models/LabelResources.md → LabelResources.md} +0 -0
- data/docs/{models/Labels.md → Labels.md} +0 -0
- data/docs/{api/LabelApi.md → LabelsApi.md} +128 -132
- data/docs/{models/Lan.md → Lan.md} +0 -0
- data/docs/{models/LanEntities.md → LanEntities.md} +0 -0
- data/docs/{models/LanNics.md → LanNics.md} +0 -0
- data/docs/{models/LanPost.md → LanPost.md} +0 -0
- data/docs/{models/LanProperties.md → LanProperties.md} +0 -0
- data/docs/{models/LanPropertiesPost.md → LanPropertiesPost.md} +0 -0
- data/docs/{models/Lans.md → Lans.md} +1 -1
- data/docs/{api/LanApi.md → LansApi.md} +55 -55
- data/docs/{api/LoadBalancerApi.md → LoadBalancersApi.md} +73 -69
- data/docs/{models/Loadbalancer.md → Loadbalancer.md} +0 -0
- data/docs/{models/LoadbalancerEntities.md → LoadbalancerEntities.md} +0 -0
- data/docs/{models/LoadbalancerProperties.md → LoadbalancerProperties.md} +0 -0
- data/docs/{models/Loadbalancers.md → Loadbalancers.md} +0 -0
- data/docs/{models/Location.md → Location.md} +0 -0
- data/docs/{models/LocationProperties.md → LocationProperties.md} +3 -1
- data/docs/{models/Locations.md → Locations.md} +0 -0
- data/docs/{api/LocationApi.md → LocationsApi.md} +14 -14
- data/docs/NATGatewaysApi.md +1581 -0
- data/docs/NatGateway.md +28 -0
- data/docs/NatGatewayEntities.md +20 -0
- data/docs/NatGatewayLanProperties.md +20 -0
- data/docs/NatGatewayProperties.md +22 -0
- data/docs/NatGatewayPut.md +24 -0
- data/docs/NatGatewayRule.md +26 -0
- data/docs/NatGatewayRuleProperties.md +30 -0
- data/docs/{models/S3Bucket.md → NatGatewayRuleProtocol.md} +2 -5
- data/docs/NatGatewayRulePut.md +24 -0
- data/docs/NatGatewayRuleType.md +15 -0
- data/docs/NatGatewayRules.md +24 -0
- data/docs/NatGateways.md +30 -0
- data/docs/NetworkInterfacesApi.md +541 -0
- data/docs/NetworkLoadBalancer.md +28 -0
- data/docs/NetworkLoadBalancerEntities.md +20 -0
- data/docs/NetworkLoadBalancerForwardingRule.md +26 -0
- data/docs/NetworkLoadBalancerForwardingRuleHealthCheck.md +26 -0
- data/docs/NetworkLoadBalancerForwardingRuleProperties.md +30 -0
- data/docs/NetworkLoadBalancerForwardingRulePut.md +24 -0
- data/docs/NetworkLoadBalancerForwardingRuleTarget.md +24 -0
- data/docs/NetworkLoadBalancerForwardingRuleTargetHealthCheck.md +22 -0
- data/docs/NetworkLoadBalancerForwardingRules.md +30 -0
- data/docs/NetworkLoadBalancerProperties.md +26 -0
- data/docs/NetworkLoadBalancerPut.md +24 -0
- data/docs/NetworkLoadBalancers.md +30 -0
- data/docs/NetworkLoadBalancersApi.md +1593 -0
- data/docs/{models/Nic.md → Nic.md} +0 -0
- data/docs/{models/NicEntities.md → NicEntities.md} +2 -0
- data/docs/{models/NicProperties.md → NicProperties.md} +6 -2
- data/docs/NicPut.md +24 -0
- data/docs/{models/Nics.md → Nics.md} +1 -1
- data/docs/{models/NoStateMetaData.md → NoStateMetaData.md} +0 -0
- data/docs/{models/PaginationLinks.md → PaginationLinks.md} +0 -0
- data/docs/{models/Peer.md → Peer.md} +0 -0
- data/docs/{models/PrivateCrossConnect.md → PrivateCrossConnect.md} +0 -0
- data/docs/{models/PrivateCrossConnectProperties.md → PrivateCrossConnectProperties.md} +0 -0
- data/docs/{models/PrivateCrossConnects.md → PrivateCrossConnects.md} +0 -0
- data/docs/{api/PrivateCrossConnectApi.md → PrivateCrossConnectsApi.md} +34 -30
- data/docs/README.md +4 -4
- data/docs/RemoteConsoleUrl.md +18 -0
- data/docs/{models/Request.md → Request.md} +0 -0
- data/docs/{models/RequestMetadata.md → RequestMetadata.md} +0 -0
- data/docs/{models/RequestProperties.md → RequestProperties.md} +0 -0
- data/docs/{models/RequestStatus.md → RequestStatus.md} +0 -0
- data/docs/{models/RequestStatusMetadata.md → RequestStatusMetadata.md} +0 -0
- data/docs/{models/RequestTarget.md → RequestTarget.md} +0 -0
- data/docs/{models/Requests.md → Requests.md} +1 -1
- data/docs/{api/RequestApi.md → RequestsApi.md} +24 -40
- data/docs/{models/Resource.md → Resource.md} +1 -1
- data/docs/{models/ResourceEntities.md → ResourceEntities.md} +0 -0
- data/docs/{models/ResourceGroups.md → ResourceGroups.md} +1 -1
- data/docs/{models/ResourceLimits.md → ResourceLimits.md} +11 -1
- data/docs/{models/ResourceProperties.md → ResourceProperties.md} +0 -0
- data/docs/{models/ResourceReference.md → ResourceReference.md} +0 -0
- data/docs/{models/Resources.md → Resources.md} +1 -1
- data/docs/{models/ResourcesUsers.md → ResourcesUsers.md} +1 -1
- data/docs/{models/S3Key.md → S3Key.md} +1 -1
- data/docs/{models/S3KeyMetadata.md → S3KeyMetadata.md} +0 -0
- data/docs/{models/S3KeyProperties.md → S3KeyProperties.md} +0 -0
- data/docs/{models/S3Keys.md → S3Keys.md} +1 -1
- data/docs/{models/S3ObjectStorageSSO.md → S3ObjectStorageSSO.md} +0 -0
- data/docs/{models/Server.md → Server.md} +0 -0
- data/docs/{models/ServerEntities.md → ServerEntities.md} +0 -0
- data/docs/{models/ServerProperties.md → ServerProperties.md} +6 -2
- data/docs/{models/Servers.md → Servers.md} +0 -0
- data/docs/{api/ServerApi.md → ServersApi.md} +430 -86
- data/docs/{models/Snapshot.md → Snapshot.md} +0 -0
- data/docs/{models/SnapshotProperties.md → SnapshotProperties.md} +0 -0
- data/docs/{models/Snapshots.md → Snapshots.md} +0 -0
- data/docs/{api/SnapshotApi.md → SnapshotsApi.md} +28 -28
- data/docs/TargetPortRange.md +20 -0
- data/docs/Template.md +26 -0
- data/docs/TemplateProperties.md +24 -0
- data/docs/Templates.md +24 -0
- data/docs/TemplatesApi.md +165 -0
- data/docs/Token.md +18 -0
- data/docs/{models/Type.md → Type.md} +0 -0
- data/docs/{models/User.md → User.md} +0 -0
- data/docs/{api/UserManagementApi.md → UserManagementApi.md} +12 -526
- data/docs/{models/UserMetadata.md → UserMetadata.md} +0 -0
- data/docs/{models/UserPost.md → UserPost.md} +0 -0
- data/docs/{models/UserProperties.md → UserProperties.md} +0 -0
- data/docs/{models/UserPropertiesPost.md → UserPropertiesPost.md} +0 -0
- data/docs/{models/UserPropertiesPut.md → UserPropertiesPut.md} +0 -0
- data/docs/{models/UserPut.md → UserPut.md} +0 -0
- data/docs/UserS3KeysApi.md +517 -0
- data/docs/Users.md +24 -0
- data/docs/{models/UsersEntities.md → UsersEntities.md} +0 -0
- data/docs/{models/Volume.md → Volume.md} +0 -0
- data/docs/{models/VolumeProperties.md → VolumeProperties.md} +5 -5
- data/docs/{models/Volumes.md → Volumes.md} +0 -0
- data/docs/{api/VolumeApi.md → VolumesApi.md} +42 -42
- data/docs/summary.md +386 -159
- data/ionoscloud.gemspec +2 -2
- data/lib/ionoscloud/api/_api.rb +3 -3
- data/lib/ionoscloud/api/{backup_unit_api.rb → backup_units_api.rb} +56 -56
- data/lib/ionoscloud/api/{contract_api.rb → contract_resources_api.rb} +13 -13
- data/lib/ionoscloud/api/{data_center_api.rb → data_centers_api.rb} +49 -49
- data/lib/ionoscloud/api/firewall_rules_api.rb +640 -0
- data/lib/ionoscloud/api/flow_logs_api.rb +622 -0
- data/lib/ionoscloud/api/{image_api.rb → images_api.rb} +36 -36
- data/lib/ionoscloud/api/ip_blocks_api.rb +12 -30
- data/lib/ionoscloud/api/kubernetes_api.rb +17 -80
- data/lib/ionoscloud/api/{label_api.rb → labels_api.rb} +245 -263
- data/lib/ionoscloud/api/{lan_api.rb → lans_api.rb} +101 -101
- data/lib/ionoscloud/api/{load_balancer_api.rb → load_balancers_api.rb} +144 -126
- data/lib/ionoscloud/api/{location_api.rb → locations_api.rb} +21 -21
- data/lib/ionoscloud/api/nat_gateways_api.rb +1690 -0
- data/lib/ionoscloud/api/network_interfaces_api.rb +604 -0
- data/lib/ionoscloud/api/network_load_balancers_api.rb +1708 -0
- data/lib/ionoscloud/api/{private_cross_connect_api.rb → private_cross_connects_api.rb} +57 -39
- data/lib/ionoscloud/api/{request_api.rb → requests_api.rb} +33 -57
- data/lib/ionoscloud/api/{server_api.rb → servers_api.rb} +501 -157
- data/lib/ionoscloud/api/{snapshot_api.rb → snapshots_api.rb} +42 -42
- data/lib/ionoscloud/api/templates_api.rb +164 -0
- data/lib/ionoscloud/api/user_management_api.rb +12 -525
- data/lib/ionoscloud/api/user_s3_keys_api.rb +517 -0
- data/lib/ionoscloud/api/{volume_api.rb → volumes_api.rb} +71 -71
- data/lib/ionoscloud/api_client.rb +21 -21
- data/lib/ionoscloud/api_error.rb +2 -2
- data/lib/ionoscloud/configuration.rb +6 -6
- data/lib/ionoscloud/models/attached_volumes.rb +13 -69
- data/lib/ionoscloud/models/backup_unit.rb +7 -49
- data/lib/ionoscloud/models/backup_unit_properties.rb +5 -31
- data/lib/ionoscloud/models/backup_unit_sso.rb +3 -13
- data/lib/ionoscloud/models/backup_units.rb +12 -44
- data/lib/ionoscloud/models/balanced_nics.rb +13 -69
- data/lib/ionoscloud/models/cdroms.rb +13 -69
- data/lib/ionoscloud/models/connectable_datacenter.rb +5 -31
- data/lib/ionoscloud/models/contract.rb +4 -22
- data/lib/ionoscloud/models/contract_properties.rb +7 -49
- data/lib/ionoscloud/models/contracts.rb +249 -0
- data/lib/ionoscloud/models/cpu_architecture_properties.rb +247 -0
- data/lib/ionoscloud/models/data_center_entities.rb +27 -43
- data/lib/ionoscloud/models/datacenter.rb +8 -58
- data/lib/ionoscloud/models/datacenter_element_metadata.rb +12 -78
- data/lib/ionoscloud/models/datacenter_properties.rb +49 -63
- data/lib/ionoscloud/models/datacenters.rb +13 -69
- data/lib/ionoscloud/models/error.rb +8 -24
- data/lib/ionoscloud/models/error_message.rb +4 -22
- data/lib/ionoscloud/models/firewall_rule.rb +7 -49
- data/lib/ionoscloud/models/firewall_rules.rb +13 -69
- data/lib/ionoscloud/models/firewallrule_properties.rb +57 -124
- data/lib/ionoscloud/models/flow_log.rb +260 -0
- data/lib/ionoscloud/models/flow_log_properties.rb +313 -0
- data/lib/ionoscloud/models/{kubernetes_config.rb → flow_log_put.rb} +13 -81
- data/lib/ionoscloud/models/flow_logs.rb +278 -0
- data/lib/ionoscloud/models/group.rb +7 -49
- data/lib/ionoscloud/models/group_entities.rb +4 -22
- data/lib/ionoscloud/models/group_members.rb +10 -42
- data/lib/ionoscloud/models/group_properties.rb +35 -97
- data/lib/ionoscloud/models/group_share.rb +6 -40
- data/lib/ionoscloud/models/group_share_properties.rb +4 -22
- data/lib/ionoscloud/models/group_shares.rb +10 -42
- data/lib/ionoscloud/models/group_users.rb +10 -42
- data/lib/ionoscloud/models/groups.rb +10 -42
- data/lib/ionoscloud/models/image.rb +7 -49
- data/lib/ionoscloud/models/image_properties.rb +24 -210
- data/lib/ionoscloud/models/images.rb +10 -42
- data/lib/ionoscloud/models/info.rb +5 -31
- data/lib/ionoscloud/models/ip_block.rb +7 -49
- data/lib/ionoscloud/models/ip_block_properties.rb +15 -53
- data/lib/ionoscloud/models/ip_blocks.rb +13 -98
- data/lib/ionoscloud/models/ip_consumer.rb +12 -104
- data/lib/ionoscloud/models/ip_failover.rb +4 -22
- data/lib/ionoscloud/models/kubernetes_auto_scaling.rb +13 -21
- data/lib/ionoscloud/models/kubernetes_cluster.rb +8 -58
- data/lib/ionoscloud/models/kubernetes_cluster_entities.rb +3 -13
- data/lib/ionoscloud/models/kubernetes_cluster_for_post.rb +8 -58
- data/lib/ionoscloud/models/kubernetes_cluster_for_put.rb +8 -58
- data/lib/ionoscloud/models/kubernetes_cluster_properties.rb +32 -84
- data/lib/ionoscloud/models/kubernetes_cluster_properties_for_post.rb +22 -62
- data/lib/ionoscloud/models/kubernetes_cluster_properties_for_put.rb +8 -70
- data/lib/ionoscloud/models/kubernetes_clusters.rb +11 -43
- data/lib/ionoscloud/models/kubernetes_maintenance_window.rb +13 -21
- data/lib/ionoscloud/models/kubernetes_node.rb +7 -49
- data/lib/ionoscloud/models/kubernetes_node_metadata.rb +9 -51
- data/lib/ionoscloud/models/kubernetes_node_pool.rb +7 -49
- data/lib/ionoscloud/models/kubernetes_node_pool_for_post.rb +7 -49
- data/lib/ionoscloud/models/kubernetes_node_pool_for_put.rb +7 -49
- data/lib/ionoscloud/models/kubernetes_node_pool_lan.rb +28 -21
- data/lib/ionoscloud/models/kubernetes_node_pool_lan_routes.rb +227 -0
- data/lib/ionoscloud/models/kubernetes_node_pool_properties.rb +42 -170
- data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_post.rb +37 -159
- data/lib/ionoscloud/models/kubernetes_node_pool_properties_for_put.rb +27 -93
- data/lib/ionoscloud/models/kubernetes_node_pools.rb +11 -43
- data/lib/ionoscloud/models/kubernetes_node_properties.rb +6 -40
- data/lib/ionoscloud/models/kubernetes_nodes.rb +10 -42
- data/lib/ionoscloud/models/label.rb +7 -49
- data/lib/ionoscloud/models/label_properties.rb +7 -49
- data/lib/ionoscloud/models/label_resource.rb +7 -49
- data/lib/ionoscloud/models/label_resource_properties.rb +4 -22
- data/lib/ionoscloud/models/label_resources.rb +15 -71
- data/lib/ionoscloud/models/labels.rb +12 -44
- data/lib/ionoscloud/models/lan.rb +8 -58
- data/lib/ionoscloud/models/lan_entities.rb +3 -13
- data/lib/ionoscloud/models/lan_nics.rb +13 -69
- data/lib/ionoscloud/models/lan_post.rb +8 -58
- data/lib/ionoscloud/models/lan_properties.rb +10 -42
- data/lib/ionoscloud/models/lan_properties_post.rb +10 -42
- data/lib/ionoscloud/models/lans.rb +14 -70
- data/lib/ionoscloud/models/loadbalancer.rb +8 -58
- data/lib/ionoscloud/models/loadbalancer_entities.rb +3 -13
- data/lib/ionoscloud/models/loadbalancer_properties.rb +34 -43
- data/lib/ionoscloud/models/loadbalancers.rb +13 -69
- data/lib/ionoscloud/models/location.rb +7 -49
- data/lib/ionoscloud/models/location_properties.rb +49 -37
- data/lib/ionoscloud/models/locations.rb +10 -42
- data/lib/ionoscloud/models/nat_gateway.rb +269 -0
- data/lib/ionoscloud/models/nat_gateway_entities.rb +225 -0
- data/lib/ionoscloud/models/nat_gateway_lan_properties.rb +234 -0
- data/lib/ionoscloud/models/nat_gateway_properties.rb +251 -0
- data/lib/ionoscloud/models/nat_gateway_put.rb +251 -0
- data/lib/ionoscloud/models/nat_gateway_rule.rb +260 -0
- data/lib/ionoscloud/models/nat_gateway_rule_properties.rb +291 -0
- data/lib/ionoscloud/models/nat_gateway_rule_protocol.rb +39 -0
- data/lib/ionoscloud/models/nat_gateway_rule_put.rb +251 -0
- data/lib/ionoscloud/models/nat_gateway_rule_type.rb +36 -0
- data/lib/ionoscloud/models/nat_gateway_rules.rb +249 -0
- data/lib/ionoscloud/models/nat_gateways.rb +278 -0
- data/lib/ionoscloud/models/network_load_balancer.rb +269 -0
- data/lib/ionoscloud/models/network_load_balancer_entities.rb +225 -0
- data/lib/ionoscloud/models/network_load_balancer_forwarding_rule.rb +260 -0
- data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_health_check.rb +257 -0
- data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_properties.rb +354 -0
- data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_put.rb +251 -0
- data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_target.rb +261 -0
- data/lib/ionoscloud/models/network_load_balancer_forwarding_rule_target_health_check.rb +237 -0
- data/lib/ionoscloud/models/network_load_balancer_forwarding_rules.rb +278 -0
- data/lib/ionoscloud/models/network_load_balancer_properties.rb +276 -0
- data/lib/ionoscloud/models/network_load_balancer_put.rb +251 -0
- data/lib/ionoscloud/models/network_load_balancers.rb +278 -0
- data/lib/ionoscloud/models/nic.rb +8 -58
- data/lib/ionoscloud/models/nic_entities.rb +13 -14
- data/lib/ionoscloud/models/nic_properties.rb +71 -73
- data/lib/ionoscloud/models/nic_put.rb +251 -0
- data/lib/ionoscloud/models/nics.rb +13 -69
- data/lib/ionoscloud/models/no_state_meta_data.rb +9 -67
- data/lib/ionoscloud/models/pagination_links.rb +5 -31
- data/lib/ionoscloud/models/peer.rb +7 -49
- data/lib/ionoscloud/models/private_cross_connect.rb +7 -49
- data/lib/ionoscloud/models/private_cross_connect_properties.rb +14 -44
- data/lib/ionoscloud/models/private_cross_connects.rb +10 -42
- data/lib/ionoscloud/models/{kubernetes_config_properties.rb → remote_console_url.rb} +13 -23
- data/lib/ionoscloud/models/request.rb +7 -49
- data/lib/ionoscloud/models/request_metadata.rb +6 -40
- data/lib/ionoscloud/models/request_properties.rb +10 -42
- data/lib/ionoscloud/models/request_status.rb +6 -40
- data/lib/ionoscloud/models/request_status_metadata.rb +10 -42
- data/lib/ionoscloud/models/request_target.rb +4 -22
- data/lib/ionoscloud/models/requests.rb +14 -70
- data/lib/ionoscloud/models/resource.rb +8 -58
- data/lib/ionoscloud/models/resource_entities.rb +3 -13
- data/lib/ionoscloud/models/resource_groups.rb +10 -42
- data/lib/ionoscloud/models/resource_limits.rb +94 -157
- data/lib/ionoscloud/models/resource_properties.rb +4 -22
- data/lib/ionoscloud/models/resource_reference.rb +5 -31
- data/lib/ionoscloud/models/resources.rb +10 -42
- data/lib/ionoscloud/models/resources_users.rb +10 -42
- data/lib/ionoscloud/models/s3_key.rb +7 -49
- data/lib/ionoscloud/models/s3_key_metadata.rb +4 -22
- data/lib/ionoscloud/models/s3_key_properties.rb +4 -22
- data/lib/ionoscloud/models/s3_keys.rb +10 -42
- data/lib/ionoscloud/models/s3_object_storage_sso.rb +3 -13
- data/lib/ionoscloud/models/server.rb +8 -58
- data/lib/ionoscloud/models/server_entities.rb +5 -31
- data/lib/ionoscloud/models/server_properties.rb +36 -82
- data/lib/ionoscloud/models/servers.rb +13 -69
- data/lib/ionoscloud/models/snapshot.rb +7 -49
- data/lib/ionoscloud/models/snapshot_properties.rb +18 -148
- data/lib/ionoscloud/models/snapshots.rb +10 -42
- data/lib/ionoscloud/models/target_port_range.rb +227 -0
- data/lib/ionoscloud/models/template.rb +260 -0
- data/lib/ionoscloud/models/template_properties.rb +267 -0
- data/lib/ionoscloud/models/templates.rb +249 -0
- data/lib/ionoscloud/models/{s3_bucket.rb → token.rb} +13 -28
- data/lib/ionoscloud/models/type.rb +10 -2
- data/lib/ionoscloud/models/user.rb +8 -58
- data/lib/ionoscloud/models/user_metadata.rb +5 -31
- data/lib/ionoscloud/models/user_post.rb +3 -13
- data/lib/ionoscloud/models/user_properties.rb +10 -76
- data/lib/ionoscloud/models/user_properties_post.rb +10 -76
- data/lib/ionoscloud/models/user_properties_put.rb +9 -67
- data/lib/ionoscloud/models/user_put.rb +4 -22
- data/lib/ionoscloud/models/users.rb +13 -98
- data/lib/ionoscloud/models/users_entities.rb +4 -22
- data/lib/ionoscloud/models/volume.rb +7 -49
- data/lib/ionoscloud/models/volume_properties.rb +40 -191
- data/lib/ionoscloud/models/volumes.rb +13 -69
- data/lib/ionoscloud/version.rb +3 -3
- data/lib/ionoscloud.rb +60 -19
- data/spec/api/_api_spec.rb +49 -0
- data/spec/api/backup_units_api_spec.rb +140 -0
- data/spec/api/contract_resources_api_spec.rb +49 -0
- data/spec/api/data_centers_api_spec.rb +128 -0
- data/spec/api/firewall_rules_api_spec.rb +146 -0
- data/spec/api/flow_logs_api_spec.rb +140 -0
- data/spec/api/images_api_spec.rb +111 -0
- data/spec/api/ip_blocks_api_spec.rb +126 -0
- data/spec/api/kubernetes_api_spec.rb +294 -0
- data/spec/api/labels_api_spec.rb +478 -0
- data/spec/api/lans_api_spec.rb +186 -0
- data/spec/api/load_balancers_api_spec.rb +205 -0
- data/spec/api/locations_api_spec.rb +80 -0
- data/spec/api/nat_gateways_api_spec.rb +336 -0
- data/spec/api/network_interfaces_api_spec.rb +140 -0
- data/spec/api/network_load_balancers_api_spec.rb +342 -0
- data/spec/api/private_cross_connects_api_spec.rb +112 -0
- data/spec/api/requests_api_spec.rb +84 -0
- data/spec/api/servers_api_spec.rb +401 -0
- data/spec/api/snapshots_api_spec.rb +111 -0
- data/spec/api/templates_api_spec.rb +60 -0
- data/spec/api/user_management_api_spec.rb +402 -0
- data/spec/api/user_s3_keys_api_spec.rb +128 -0
- data/spec/api/volumes_api_spec.rb +171 -0
- data/spec/api_client_spec.rb +2 -2
- data/spec/configuration_spec.rb +5 -5
- data/spec/models/attached_volumes_spec.rb +70 -0
- data/spec/models/backup_unit_properties_spec.rb +46 -0
- data/spec/models/backup_unit_spec.rb +62 -0
- data/spec/models/backup_unit_sso_spec.rb +34 -0
- data/spec/models/backup_units_spec.rb +56 -0
- data/spec/models/balanced_nics_spec.rb +70 -0
- data/spec/models/cdroms_spec.rb +70 -0
- data/spec/models/connectable_datacenter_spec.rb +46 -0
- data/spec/models/contract_properties_spec.rb +58 -0
- data/spec/models/contract_spec.rb +40 -0
- data/spec/models/contracts_spec.rb +52 -0
- data/spec/models/cpu_architecture_properties_spec.rb +52 -0
- data/spec/models/data_center_entities_spec.rb +64 -0
- data/spec/models/datacenter_element_metadata_spec.rb +80 -0
- data/spec/models/datacenter_properties_spec.rb +74 -0
- data/spec/models/datacenter_spec.rb +64 -0
- data/spec/models/datacenters_spec.rb +70 -0
- data/spec/models/error_message_spec.rb +40 -0
- data/spec/models/error_spec.rb +40 -0
- data/spec/models/firewall_rule_spec.rb +58 -0
- data/spec/models/firewall_rules_spec.rb +70 -0
- data/spec/models/firewallrule_properties_spec.rb +108 -0
- data/spec/models/flow_log_properties_spec.rb +60 -0
- data/spec/models/flow_log_put_spec.rb +52 -0
- data/spec/models/flow_log_spec.rb +58 -0
- data/spec/models/flow_logs_spec.rb +70 -0
- data/spec/models/group_entities_spec.rb +40 -0
- data/spec/models/group_members_spec.rb +52 -0
- data/spec/models/group_properties_spec.rb +100 -0
- data/spec/models/group_share_properties_spec.rb +40 -0
- data/spec/models/group_share_spec.rb +52 -0
- data/spec/models/group_shares_spec.rb +52 -0
- data/spec/models/group_spec.rb +58 -0
- data/spec/models/group_users_spec.rb +52 -0
- data/spec/models/groups_spec.rb +52 -0
- data/spec/models/image_properties_spec.rb +138 -0
- data/spec/models/image_spec.rb +58 -0
- data/spec/models/images_spec.rb +52 -0
- data/spec/models/info_spec.rb +46 -0
- data/spec/models/ip_block_properties_spec.rb +58 -0
- data/spec/models/ip_block_spec.rb +58 -0
- data/spec/models/ip_blocks_spec.rb +52 -0
- data/spec/models/ip_consumer_spec.rb +70 -0
- data/spec/models/ip_failover_spec.rb +40 -0
- data/spec/models/kubernetes_auto_scaling_spec.rb +40 -0
- data/spec/models/kubernetes_cluster_entities_spec.rb +34 -0
- data/spec/models/kubernetes_cluster_for_post_spec.rb +68 -0
- data/spec/models/kubernetes_cluster_for_put_spec.rb +68 -0
- data/spec/models/kubernetes_cluster_properties_for_post_spec.rb +58 -0
- data/spec/models/kubernetes_cluster_properties_for_put_spec.rb +46 -0
- data/spec/models/kubernetes_cluster_properties_spec.rb +70 -0
- data/spec/models/kubernetes_cluster_spec.rb +68 -0
- data/spec/models/kubernetes_clusters_spec.rb +56 -0
- data/spec/models/kubernetes_maintenance_window_spec.rb +44 -0
- data/spec/models/kubernetes_node_metadata_spec.rb +62 -0
- data/spec/models/kubernetes_node_pool_for_post_spec.rb +62 -0
- data/spec/models/kubernetes_node_pool_for_put_spec.rb +62 -0
- data/spec/models/kubernetes_node_pool_lan_routes_spec.rb +40 -0
- data/spec/models/kubernetes_node_pool_lan_spec.rb +46 -0
- data/spec/models/kubernetes_node_pool_properties_for_post_spec.rb +132 -0
- data/spec/models/kubernetes_node_pool_properties_for_put_spec.rb +82 -0
- data/spec/models/kubernetes_node_pool_properties_spec.rb +138 -0
- data/spec/models/kubernetes_node_pool_spec.rb +62 -0
- data/spec/models/kubernetes_node_pools_spec.rb +56 -0
- data/spec/models/kubernetes_node_properties_spec.rb +52 -0
- data/spec/models/kubernetes_node_spec.rb +62 -0
- data/spec/models/kubernetes_nodes_spec.rb +56 -0
- data/spec/models/label_properties_spec.rb +58 -0
- data/spec/models/label_resource_properties_spec.rb +40 -0
- data/spec/models/label_resource_spec.rb +62 -0
- data/spec/models/label_resources_spec.rb +74 -0
- data/spec/models/label_spec.rb +62 -0
- data/spec/models/labels_spec.rb +56 -0
- data/spec/models/lan_entities_spec.rb +34 -0
- data/spec/models/lan_nics_spec.rb +70 -0
- data/spec/models/lan_post_spec.rb +64 -0
- data/spec/models/lan_properties_post_spec.rb +52 -0
- data/spec/models/lan_properties_spec.rb +52 -0
- data/spec/models/lan_spec.rb +64 -0
- data/spec/models/lans_spec.rb +70 -0
- data/spec/models/loadbalancer_entities_spec.rb +34 -0
- data/spec/models/loadbalancer_properties_spec.rb +50 -0
- data/spec/models/loadbalancer_spec.rb +64 -0
- data/spec/models/loadbalancers_spec.rb +70 -0
- data/spec/models/location_properties_spec.rb +56 -0
- data/spec/models/location_spec.rb +58 -0
- data/spec/models/locations_spec.rb +52 -0
- data/spec/models/nat_gateway_entities_spec.rb +40 -0
- data/spec/models/nat_gateway_lan_properties_spec.rb +40 -0
- data/spec/models/nat_gateway_properties_spec.rb +46 -0
- data/spec/models/nat_gateway_put_spec.rb +52 -0
- data/spec/models/nat_gateway_rule_properties_spec.rb +70 -0
- data/spec/models/nat_gateway_rule_protocol_spec.rb +28 -0
- data/spec/models/nat_gateway_rule_put_spec.rb +52 -0
- data/spec/models/nat_gateway_rule_spec.rb +58 -0
- data/spec/models/nat_gateway_rule_type_spec.rb +28 -0
- data/spec/models/nat_gateway_rules_spec.rb +52 -0
- data/spec/models/nat_gateway_spec.rb +64 -0
- data/spec/models/nat_gateways_spec.rb +70 -0
- data/spec/models/network_load_balancer_entities_spec.rb +40 -0
- data/spec/models/network_load_balancer_forwarding_rule_health_check_spec.rb +58 -0
- data/spec/models/network_load_balancer_forwarding_rule_properties_spec.rb +78 -0
- data/spec/models/network_load_balancer_forwarding_rule_put_spec.rb +52 -0
- data/spec/models/network_load_balancer_forwarding_rule_spec.rb +58 -0
- data/spec/models/network_load_balancer_forwarding_rule_target_health_check_spec.rb +46 -0
- data/spec/models/network_load_balancer_forwarding_rule_target_spec.rb +52 -0
- data/spec/models/network_load_balancer_forwarding_rules_spec.rb +70 -0
- data/spec/models/network_load_balancer_properties_spec.rb +58 -0
- data/spec/models/network_load_balancer_put_spec.rb +52 -0
- data/spec/models/network_load_balancer_spec.rb +64 -0
- data/spec/models/network_load_balancers_spec.rb +70 -0
- data/spec/models/nic_entities_spec.rb +40 -0
- data/spec/models/nic_properties_spec.rb +86 -0
- data/spec/models/nic_put_spec.rb +52 -0
- data/spec/models/nic_spec.rb +64 -0
- data/spec/models/nics_spec.rb +70 -0
- data/spec/models/no_state_meta_data_spec.rb +70 -0
- data/spec/models/pagination_links_spec.rb +46 -0
- data/spec/models/peer_spec.rb +58 -0
- data/spec/models/private_cross_connect_properties_spec.rb +52 -0
- data/spec/models/private_cross_connect_spec.rb +58 -0
- data/spec/models/private_cross_connects_spec.rb +52 -0
- data/spec/models/remote_console_url_spec.rb +34 -0
- data/spec/models/request_metadata_spec.rb +52 -0
- data/spec/models/request_properties_spec.rb +52 -0
- data/spec/models/request_spec.rb +58 -0
- data/spec/models/request_status_metadata_spec.rb +56 -0
- data/spec/models/request_status_spec.rb +52 -0
- data/spec/models/request_target_spec.rb +44 -0
- data/spec/models/requests_spec.rb +70 -0
- data/spec/models/resource_entities_spec.rb +34 -0
- data/spec/models/resource_groups_spec.rb +52 -0
- data/spec/models/resource_limits_spec.rb +160 -0
- data/spec/models/resource_properties_spec.rb +40 -0
- data/spec/models/resource_reference_spec.rb +46 -0
- data/spec/models/resource_spec.rb +64 -0
- data/spec/models/resources_spec.rb +52 -0
- data/spec/models/resources_users_spec.rb +52 -0
- data/spec/models/s3_key_metadata_spec.rb +40 -0
- data/spec/models/s3_key_properties_spec.rb +40 -0
- data/spec/models/s3_key_spec.rb +58 -0
- data/spec/models/s3_keys_spec.rb +52 -0
- data/spec/models/s3_object_storage_sso_spec.rb +34 -0
- data/spec/models/server_entities_spec.rb +46 -0
- data/spec/models/server_properties_spec.rb +96 -0
- data/spec/models/server_spec.rb +64 -0
- data/spec/models/servers_spec.rb +70 -0
- data/spec/models/snapshot_properties_spec.rb +128 -0
- data/spec/models/snapshot_spec.rb +58 -0
- data/spec/models/snapshots_spec.rb +52 -0
- data/spec/models/target_port_range_spec.rb +40 -0
- data/spec/models/template_properties_spec.rb +52 -0
- data/spec/models/template_spec.rb +58 -0
- data/spec/models/templates_spec.rb +52 -0
- data/spec/models/token_spec.rb +34 -0
- data/spec/models/type_spec.rb +28 -0
- data/spec/models/user_metadata_spec.rb +46 -0
- data/spec/models/user_post_spec.rb +34 -0
- data/spec/models/user_properties_post_spec.rb +76 -0
- data/spec/models/user_properties_put_spec.rb +70 -0
- data/spec/models/user_properties_spec.rb +76 -0
- data/spec/models/user_put_spec.rb +40 -0
- data/spec/models/user_spec.rb +64 -0
- data/spec/models/users_entities_spec.rb +40 -0
- data/spec/models/users_spec.rb +52 -0
- data/spec/models/volume_properties_spec.rb +158 -0
- data/spec/models/volume_spec.rb +58 -0
- data/spec/models/volumes_spec.rb +70 -0
- data/spec/spec_helper.rb +2 -2
- metadata +642 -179
- data/Gemfile.lock +0 -68
- data/LICENSE +0 -190
- data/README.md +0 -65
- data/docs/api/NicApi.md +0 -1087
- data/docs/models/IpBlocks.md +0 -30
- data/docs/models/KubernetesConfig.md +0 -24
- data/docs/models/KubernetesConfigProperties.md +0 -18
- data/docs/models/KubernetesNodePoolLan.md +0 -18
- data/docs/models/Users.md +0 -30
- data/lib/ionoscloud/api/nic_api.rb +0 -1222
- data/lib/test_driver.rb +0 -104
@@ -3,10 +3,10 @@
|
|
3
3
|
|
4
4
|
#An enterprise-grade Infrastructure is provided as a Service (IaaS) solution that can be managed through a browser-based \"Data Center Designer\" (DCD) tool or via an easy to use API. The API allows you to perform a variety of management tasks such as spinning up additional servers, adding volumes, adjusting networking, and so forth. It is designed to allow users to leverage the same power and flexibility found within the DCD visual tool. Both tools are consistent with their concepts and lend well to making the experience smooth and intuitive.
|
5
5
|
|
6
|
-
The version of the OpenAPI document:
|
6
|
+
The version of the OpenAPI document: 6.0
|
7
7
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
9
|
-
OpenAPI Generator version: 5.
|
9
|
+
OpenAPI Generator version: 5.0.1-SNAPSHOT
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
@@ -15,42 +15,36 @@ require 'time'
|
|
15
15
|
|
16
16
|
module Ionoscloud
|
17
17
|
class FirewallruleProperties
|
18
|
-
|
19
18
|
# A name of that resource
|
20
19
|
attr_accessor :name
|
21
20
|
|
22
|
-
|
23
21
|
# The protocol for the rule. Property cannot be modified after creation (disallowed in update requests)
|
24
22
|
attr_accessor :protocol
|
25
23
|
|
26
|
-
|
27
24
|
# Only traffic originating from the respective MAC address is allowed. Valid format: aa:bb:cc:dd:ee:ff. Value null allows all source MAC address
|
28
25
|
attr_accessor :source_mac
|
29
26
|
|
30
|
-
|
31
27
|
# Only traffic originating from the respective IPv4 address is allowed. Value null allows all source IPs
|
32
28
|
attr_accessor :source_ip
|
33
29
|
|
34
|
-
|
35
30
|
# In case the target NIC has multiple IP addresses, only traffic directed to the respective IP address of the NIC is allowed. Value null allows all target IPs
|
36
31
|
attr_accessor :target_ip
|
37
32
|
|
38
|
-
|
39
33
|
# Defines the allowed code (from 0 to 254) if protocol ICMP is chosen. Value null allows all codes
|
40
34
|
attr_accessor :icmp_code
|
41
35
|
|
42
|
-
|
43
36
|
# Defines the allowed type (from 0 to 254) if the protocol ICMP is chosen. Value null allows all types
|
44
37
|
attr_accessor :icmp_type
|
45
38
|
|
46
|
-
|
47
39
|
# Defines the start range of the allowed port (from 1 to 65534) if protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd value null to allow all ports
|
48
40
|
attr_accessor :port_range_start
|
49
41
|
|
50
|
-
|
51
42
|
# Defines the end range of the allowed port (from 1 to 65534) if the protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd null to allow all ports
|
52
43
|
attr_accessor :port_range_end
|
53
44
|
|
45
|
+
# The type of firewall rule. If is not specified, it will take the default value INGRESS
|
46
|
+
attr_accessor :type
|
47
|
+
|
54
48
|
class EnumAttributeValidator
|
55
49
|
attr_reader :datatype
|
56
50
|
attr_reader :allowable_values
|
@@ -76,24 +70,16 @@ module Ionoscloud
|
|
76
70
|
# Attribute mapping from ruby-style variable name to JSON key.
|
77
71
|
def self.attribute_map
|
78
72
|
{
|
79
|
-
|
80
73
|
:'name' => :'name',
|
81
|
-
|
82
74
|
:'protocol' => :'protocol',
|
83
|
-
|
84
75
|
:'source_mac' => :'sourceMac',
|
85
|
-
|
86
76
|
:'source_ip' => :'sourceIp',
|
87
|
-
|
88
77
|
:'target_ip' => :'targetIp',
|
89
|
-
|
90
78
|
:'icmp_code' => :'icmpCode',
|
91
|
-
|
92
79
|
:'icmp_type' => :'icmpType',
|
93
|
-
|
94
80
|
:'port_range_start' => :'portRangeStart',
|
95
|
-
|
96
|
-
:'
|
81
|
+
:'port_range_end' => :'portRangeEnd',
|
82
|
+
:'type' => :'type'
|
97
83
|
}
|
98
84
|
end
|
99
85
|
|
@@ -105,39 +91,22 @@ module Ionoscloud
|
|
105
91
|
# Attribute type mapping.
|
106
92
|
def self.openapi_types
|
107
93
|
{
|
108
|
-
|
109
94
|
:'name' => :'String',
|
110
|
-
|
111
95
|
:'protocol' => :'String',
|
112
|
-
|
113
96
|
:'source_mac' => :'String',
|
114
|
-
|
115
97
|
:'source_ip' => :'String',
|
116
|
-
|
117
98
|
:'target_ip' => :'String',
|
118
|
-
|
119
99
|
:'icmp_code' => :'Integer',
|
120
|
-
|
121
100
|
:'icmp_type' => :'Integer',
|
122
|
-
|
123
101
|
:'port_range_start' => :'Integer',
|
124
|
-
|
125
|
-
:'
|
102
|
+
:'port_range_end' => :'Integer',
|
103
|
+
:'type' => :'String'
|
126
104
|
}
|
127
105
|
end
|
128
106
|
|
129
107
|
# List of attributes with nullable: true
|
130
108
|
def self.openapi_nullable
|
131
109
|
Set.new([
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
110
|
])
|
142
111
|
end
|
143
112
|
|
@@ -155,82 +124,56 @@ module Ionoscloud
|
|
155
124
|
end
|
156
125
|
h[k.to_sym] = v
|
157
126
|
}
|
158
|
-
|
159
127
|
|
160
128
|
if attributes.key?(:'name')
|
161
129
|
self.name = attributes[:'name']
|
162
130
|
end
|
163
131
|
|
164
|
-
|
165
132
|
if attributes.key?(:'protocol')
|
166
133
|
self.protocol = attributes[:'protocol']
|
167
134
|
end
|
168
135
|
|
169
|
-
|
170
136
|
if attributes.key?(:'source_mac')
|
171
137
|
self.source_mac = attributes[:'source_mac']
|
172
138
|
end
|
173
139
|
|
174
|
-
|
175
140
|
if attributes.key?(:'source_ip')
|
176
141
|
self.source_ip = attributes[:'source_ip']
|
177
142
|
end
|
178
143
|
|
179
|
-
|
180
144
|
if attributes.key?(:'target_ip')
|
181
145
|
self.target_ip = attributes[:'target_ip']
|
182
146
|
end
|
183
147
|
|
184
|
-
|
185
148
|
if attributes.key?(:'icmp_code')
|
186
149
|
self.icmp_code = attributes[:'icmp_code']
|
187
150
|
end
|
188
151
|
|
189
|
-
|
190
152
|
if attributes.key?(:'icmp_type')
|
191
153
|
self.icmp_type = attributes[:'icmp_type']
|
192
154
|
end
|
193
155
|
|
194
|
-
|
195
156
|
if attributes.key?(:'port_range_start')
|
196
157
|
self.port_range_start = attributes[:'port_range_start']
|
197
158
|
end
|
198
159
|
|
199
|
-
|
200
160
|
if attributes.key?(:'port_range_end')
|
201
161
|
self.port_range_end = attributes[:'port_range_end']
|
202
162
|
end
|
163
|
+
|
164
|
+
if attributes.key?(:'type')
|
165
|
+
self.type = attributes[:'type']
|
166
|
+
end
|
203
167
|
end
|
204
168
|
|
205
169
|
# Show invalid properties with the reasons. Usually used together with valid?
|
206
170
|
# @return Array for valid properties with the reasons
|
207
171
|
def list_invalid_properties
|
208
172
|
invalid_properties = Array.new
|
209
|
-
|
210
|
-
|
211
173
|
if @protocol.nil?
|
212
174
|
invalid_properties.push('invalid value for "protocol", protocol cannot be nil.')
|
213
175
|
end
|
214
176
|
|
215
|
-
|
216
|
-
pattern = Regexp.new(/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/)
|
217
|
-
if !@source_mac.nil? && @source_mac !~ pattern
|
218
|
-
invalid_properties.push("invalid value for \"source_mac\", must conform to the pattern #{pattern}.")
|
219
|
-
end
|
220
|
-
|
221
|
-
|
222
|
-
pattern = Regexp.new(/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/)
|
223
|
-
if !@source_ip.nil? && @source_ip !~ pattern
|
224
|
-
invalid_properties.push("invalid value for \"source_ip\", must conform to the pattern #{pattern}.")
|
225
|
-
end
|
226
|
-
|
227
|
-
|
228
|
-
pattern = Regexp.new(/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/)
|
229
|
-
if !@target_ip.nil? && @target_ip !~ pattern
|
230
|
-
invalid_properties.push("invalid value for \"target_ip\", must conform to the pattern #{pattern}.")
|
231
|
-
end
|
232
|
-
|
233
|
-
|
234
177
|
if !@icmp_code.nil? && @icmp_code > 254
|
235
178
|
invalid_properties.push('invalid value for "icmp_code", must be smaller than or equal to 254.')
|
236
179
|
end
|
@@ -239,7 +182,6 @@ module Ionoscloud
|
|
239
182
|
invalid_properties.push('invalid value for "icmp_code", must be greater than or equal to 0.')
|
240
183
|
end
|
241
184
|
|
242
|
-
|
243
185
|
if !@icmp_type.nil? && @icmp_type > 254
|
244
186
|
invalid_properties.push('invalid value for "icmp_type", must be smaller than or equal to 254.')
|
245
187
|
end
|
@@ -248,7 +190,6 @@ module Ionoscloud
|
|
248
190
|
invalid_properties.push('invalid value for "icmp_type", must be greater than or equal to 0.')
|
249
191
|
end
|
250
192
|
|
251
|
-
|
252
193
|
if !@port_range_start.nil? && @port_range_start > 65534
|
253
194
|
invalid_properties.push('invalid value for "port_range_start", must be smaller than or equal to 65534.')
|
254
195
|
end
|
@@ -257,7 +198,6 @@ module Ionoscloud
|
|
257
198
|
invalid_properties.push('invalid value for "port_range_start", must be greater than or equal to 1.')
|
258
199
|
end
|
259
200
|
|
260
|
-
|
261
201
|
if !@port_range_end.nil? && @port_range_end > 65534
|
262
202
|
invalid_properties.push('invalid value for "port_range_end", must be smaller than or equal to 65534.')
|
263
203
|
end
|
@@ -272,34 +212,28 @@ module Ionoscloud
|
|
272
212
|
# Check to see if the all the properties in the model are valid
|
273
213
|
# @return true if the model is valid
|
274
214
|
def valid?
|
275
|
-
|
276
|
-
|
277
215
|
return false if @protocol.nil?
|
278
216
|
protocol_validator = EnumAttributeValidator.new('String', ["TCP", "UDP", "ICMP", "ANY"])
|
279
217
|
return false unless protocol_validator.valid?(@protocol)
|
280
|
-
|
281
|
-
return false
|
282
|
-
|
283
|
-
return false
|
284
|
-
|
285
|
-
return false
|
286
|
-
|
218
|
+
source_mac_validator = EnumAttributeValidator.new('String', ["@Valid MAC address@", "null"])
|
219
|
+
return false unless source_mac_validator.valid?(@source_mac)
|
220
|
+
source_ip_validator = EnumAttributeValidator.new('String', ["@Valid IP address@", "null"])
|
221
|
+
return false unless source_ip_validator.valid?(@source_ip)
|
222
|
+
target_ip_validator = EnumAttributeValidator.new('String', ["@Valid IP address@", "null"])
|
223
|
+
return false unless target_ip_validator.valid?(@target_ip)
|
287
224
|
return false if !@icmp_code.nil? && @icmp_code > 254
|
288
225
|
return false if !@icmp_code.nil? && @icmp_code < 0
|
289
|
-
|
290
226
|
return false if !@icmp_type.nil? && @icmp_type > 254
|
291
227
|
return false if !@icmp_type.nil? && @icmp_type < 0
|
292
|
-
|
293
228
|
return false if !@port_range_start.nil? && @port_range_start > 65534
|
294
229
|
return false if !@port_range_start.nil? && @port_range_start < 1
|
295
|
-
|
296
230
|
return false if !@port_range_end.nil? && @port_range_end > 65534
|
297
231
|
return false if !@port_range_end.nil? && @port_range_end < 1
|
232
|
+
type_validator = EnumAttributeValidator.new('String', ["INGRESS", "EGRESS"])
|
233
|
+
return false unless type_validator.valid?(@type)
|
298
234
|
true
|
299
235
|
end
|
300
236
|
|
301
|
-
|
302
|
-
|
303
237
|
# Custom attribute writer method checking allowed values (enum).
|
304
238
|
# @param [Object] protocol Object to be assigned
|
305
239
|
def protocol=(protocol)
|
@@ -310,43 +244,36 @@ module Ionoscloud
|
|
310
244
|
@protocol = protocol
|
311
245
|
end
|
312
246
|
|
313
|
-
|
314
|
-
#
|
315
|
-
# @param [Object] source_mac Value to be assigned
|
247
|
+
# Custom attribute writer method checking allowed values (enum).
|
248
|
+
# @param [Object] source_mac Object to be assigned
|
316
249
|
def source_mac=(source_mac)
|
317
|
-
|
318
|
-
|
319
|
-
fail ArgumentError, "invalid value for \"source_mac\", must
|
250
|
+
validator = EnumAttributeValidator.new('String', ["@Valid MAC address@", "null"])
|
251
|
+
unless validator.valid?(source_mac)
|
252
|
+
fail ArgumentError, "invalid value for \"source_mac\", must be one of #{validator.allowable_values}."
|
320
253
|
end
|
321
|
-
|
322
254
|
@source_mac = source_mac
|
323
255
|
end
|
324
256
|
|
325
|
-
|
326
|
-
#
|
327
|
-
# @param [Object] source_ip Value to be assigned
|
257
|
+
# Custom attribute writer method checking allowed values (enum).
|
258
|
+
# @param [Object] source_ip Object to be assigned
|
328
259
|
def source_ip=(source_ip)
|
329
|
-
|
330
|
-
|
331
|
-
fail ArgumentError, "invalid value for \"source_ip\", must
|
260
|
+
validator = EnumAttributeValidator.new('String', ["@Valid IP address@", "null"])
|
261
|
+
unless validator.valid?(source_ip)
|
262
|
+
fail ArgumentError, "invalid value for \"source_ip\", must be one of #{validator.allowable_values}."
|
332
263
|
end
|
333
|
-
|
334
264
|
@source_ip = source_ip
|
335
265
|
end
|
336
266
|
|
337
|
-
|
338
|
-
#
|
339
|
-
# @param [Object] target_ip Value to be assigned
|
267
|
+
# Custom attribute writer method checking allowed values (enum).
|
268
|
+
# @param [Object] target_ip Object to be assigned
|
340
269
|
def target_ip=(target_ip)
|
341
|
-
|
342
|
-
|
343
|
-
fail ArgumentError, "invalid value for \"target_ip\", must
|
270
|
+
validator = EnumAttributeValidator.new('String', ["@Valid IP address@", "null"])
|
271
|
+
unless validator.valid?(target_ip)
|
272
|
+
fail ArgumentError, "invalid value for \"target_ip\", must be one of #{validator.allowable_values}."
|
344
273
|
end
|
345
|
-
|
346
274
|
@target_ip = target_ip
|
347
275
|
end
|
348
276
|
|
349
|
-
|
350
277
|
# Custom attribute writer method with validation
|
351
278
|
# @param [Object] icmp_code Value to be assigned
|
352
279
|
def icmp_code=(icmp_code)
|
@@ -361,7 +288,6 @@ module Ionoscloud
|
|
361
288
|
@icmp_code = icmp_code
|
362
289
|
end
|
363
290
|
|
364
|
-
|
365
291
|
# Custom attribute writer method with validation
|
366
292
|
# @param [Object] icmp_type Value to be assigned
|
367
293
|
def icmp_type=(icmp_type)
|
@@ -376,7 +302,6 @@ module Ionoscloud
|
|
376
302
|
@icmp_type = icmp_type
|
377
303
|
end
|
378
304
|
|
379
|
-
|
380
305
|
# Custom attribute writer method with validation
|
381
306
|
# @param [Object] port_range_start Value to be assigned
|
382
307
|
def port_range_start=(port_range_start)
|
@@ -391,7 +316,6 @@ module Ionoscloud
|
|
391
316
|
@port_range_start = port_range_start
|
392
317
|
end
|
393
318
|
|
394
|
-
|
395
319
|
# Custom attribute writer method with validation
|
396
320
|
# @param [Object] port_range_end Value to be assigned
|
397
321
|
def port_range_end=(port_range_end)
|
@@ -406,20 +330,31 @@ module Ionoscloud
|
|
406
330
|
@port_range_end = port_range_end
|
407
331
|
end
|
408
332
|
|
333
|
+
# Custom attribute writer method checking allowed values (enum).
|
334
|
+
# @param [Object] type Object to be assigned
|
335
|
+
def type=(type)
|
336
|
+
validator = EnumAttributeValidator.new('String', ["INGRESS", "EGRESS"])
|
337
|
+
unless validator.valid?(type)
|
338
|
+
fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
|
339
|
+
end
|
340
|
+
@type = type
|
341
|
+
end
|
342
|
+
|
409
343
|
# Checks equality by comparing each attribute.
|
410
344
|
# @param [Object] Object to be compared
|
411
345
|
def ==(o)
|
412
346
|
return true if self.equal?(o)
|
413
347
|
self.class == o.class &&
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
348
|
+
name == o.name &&
|
349
|
+
protocol == o.protocol &&
|
350
|
+
source_mac == o.source_mac &&
|
351
|
+
source_ip == o.source_ip &&
|
352
|
+
target_ip == o.target_ip &&
|
353
|
+
icmp_code == o.icmp_code &&
|
354
|
+
icmp_type == o.icmp_type &&
|
355
|
+
port_range_start == o.port_range_start &&
|
356
|
+
port_range_end == o.port_range_end &&
|
357
|
+
type == o.type
|
423
358
|
end
|
424
359
|
|
425
360
|
# @see the `==` method
|
@@ -431,7 +366,7 @@ module Ionoscloud
|
|
431
366
|
# Calculates hash code according to all attributes.
|
432
367
|
# @return [Integer] Hash code
|
433
368
|
def hash
|
434
|
-
[name, protocol, source_mac, source_ip, target_ip, icmp_code, icmp_type, port_range_start, port_range_end].hash
|
369
|
+
[name, protocol, source_mac, source_ip, target_ip, icmp_code, icmp_type, port_range_start, port_range_end, type].hash
|
435
370
|
end
|
436
371
|
|
437
372
|
# Builds the object from hash
|
@@ -551,7 +486,5 @@ module Ionoscloud
|
|
551
486
|
value
|
552
487
|
end
|
553
488
|
end
|
554
|
-
|
555
489
|
end
|
556
|
-
|
557
490
|
end
|
@@ -0,0 +1,260 @@
|
|
1
|
+
=begin
|
2
|
+
#CLOUD API
|
3
|
+
|
4
|
+
#An enterprise-grade Infrastructure is provided as a Service (IaaS) solution that can be managed through a browser-based \"Data Center Designer\" (DCD) tool or via an easy to use API. The API allows you to perform a variety of management tasks such as spinning up additional servers, adding volumes, adjusting networking, and so forth. It is designed to allow users to leverage the same power and flexibility found within the DCD visual tool. Both tools are consistent with their concepts and lend well to making the experience smooth and intuitive.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 6.0
|
7
|
+
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 5.0.1-SNAPSHOT
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'date'
|
14
|
+
require 'time'
|
15
|
+
|
16
|
+
module Ionoscloud
|
17
|
+
class FlowLog
|
18
|
+
# The resource's unique identifier
|
19
|
+
attr_accessor :id
|
20
|
+
|
21
|
+
# The type of object that has been created
|
22
|
+
attr_accessor :type
|
23
|
+
|
24
|
+
# URL to the object representation (absolute path)
|
25
|
+
attr_accessor :href
|
26
|
+
|
27
|
+
attr_accessor :metadata
|
28
|
+
|
29
|
+
attr_accessor :properties
|
30
|
+
|
31
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
32
|
+
def self.attribute_map
|
33
|
+
{
|
34
|
+
:'id' => :'id',
|
35
|
+
:'type' => :'type',
|
36
|
+
:'href' => :'href',
|
37
|
+
:'metadata' => :'metadata',
|
38
|
+
:'properties' => :'properties'
|
39
|
+
}
|
40
|
+
end
|
41
|
+
|
42
|
+
# Returns all the JSON keys this model knows about
|
43
|
+
def self.acceptable_attributes
|
44
|
+
attribute_map.values
|
45
|
+
end
|
46
|
+
|
47
|
+
# Attribute type mapping.
|
48
|
+
def self.openapi_types
|
49
|
+
{
|
50
|
+
:'id' => :'String',
|
51
|
+
:'type' => :'Type',
|
52
|
+
:'href' => :'String',
|
53
|
+
:'metadata' => :'DatacenterElementMetadata',
|
54
|
+
:'properties' => :'FlowLogProperties'
|
55
|
+
}
|
56
|
+
end
|
57
|
+
|
58
|
+
# List of attributes with nullable: true
|
59
|
+
def self.openapi_nullable
|
60
|
+
Set.new([
|
61
|
+
])
|
62
|
+
end
|
63
|
+
|
64
|
+
# Initializes the object
|
65
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
66
|
+
def initialize(attributes = {})
|
67
|
+
if (!attributes.is_a?(Hash))
|
68
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Ionoscloud::FlowLog` initialize method"
|
69
|
+
end
|
70
|
+
|
71
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
72
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
73
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
74
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Ionoscloud::FlowLog`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
75
|
+
end
|
76
|
+
h[k.to_sym] = v
|
77
|
+
}
|
78
|
+
|
79
|
+
if attributes.key?(:'id')
|
80
|
+
self.id = attributes[:'id']
|
81
|
+
end
|
82
|
+
|
83
|
+
if attributes.key?(:'type')
|
84
|
+
self.type = attributes[:'type']
|
85
|
+
end
|
86
|
+
|
87
|
+
if attributes.key?(:'href')
|
88
|
+
self.href = attributes[:'href']
|
89
|
+
end
|
90
|
+
|
91
|
+
if attributes.key?(:'metadata')
|
92
|
+
self.metadata = attributes[:'metadata']
|
93
|
+
end
|
94
|
+
|
95
|
+
if attributes.key?(:'properties')
|
96
|
+
self.properties = attributes[:'properties']
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
101
|
+
# @return Array for valid properties with the reasons
|
102
|
+
def list_invalid_properties
|
103
|
+
invalid_properties = Array.new
|
104
|
+
if @properties.nil?
|
105
|
+
invalid_properties.push('invalid value for "properties", properties cannot be nil.')
|
106
|
+
end
|
107
|
+
|
108
|
+
invalid_properties
|
109
|
+
end
|
110
|
+
|
111
|
+
# Check to see if the all the properties in the model are valid
|
112
|
+
# @return true if the model is valid
|
113
|
+
def valid?
|
114
|
+
return false if @properties.nil?
|
115
|
+
true
|
116
|
+
end
|
117
|
+
|
118
|
+
# Checks equality by comparing each attribute.
|
119
|
+
# @param [Object] Object to be compared
|
120
|
+
def ==(o)
|
121
|
+
return true if self.equal?(o)
|
122
|
+
self.class == o.class &&
|
123
|
+
id == o.id &&
|
124
|
+
type == o.type &&
|
125
|
+
href == o.href &&
|
126
|
+
metadata == o.metadata &&
|
127
|
+
properties == o.properties
|
128
|
+
end
|
129
|
+
|
130
|
+
# @see the `==` method
|
131
|
+
# @param [Object] Object to be compared
|
132
|
+
def eql?(o)
|
133
|
+
self == o
|
134
|
+
end
|
135
|
+
|
136
|
+
# Calculates hash code according to all attributes.
|
137
|
+
# @return [Integer] Hash code
|
138
|
+
def hash
|
139
|
+
[id, type, href, metadata, properties].hash
|
140
|
+
end
|
141
|
+
|
142
|
+
# Builds the object from hash
|
143
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
144
|
+
# @return [Object] Returns the model itself
|
145
|
+
def self.build_from_hash(attributes)
|
146
|
+
new.build_from_hash(attributes)
|
147
|
+
end
|
148
|
+
|
149
|
+
# Builds the object from hash
|
150
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
151
|
+
# @return [Object] Returns the model itself
|
152
|
+
def build_from_hash(attributes)
|
153
|
+
return nil unless attributes.is_a?(Hash)
|
154
|
+
self.class.openapi_types.each_pair do |key, type|
|
155
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
156
|
+
self.send("#{key}=", nil)
|
157
|
+
elsif type =~ /\AArray<(.*)>/i
|
158
|
+
# check to ensure the input is an array given that the attribute
|
159
|
+
# is documented as an array but the input is not
|
160
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
161
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
162
|
+
end
|
163
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
164
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
self
|
169
|
+
end
|
170
|
+
|
171
|
+
# Deserializes the data based on type
|
172
|
+
# @param string type Data type
|
173
|
+
# @param string value Value to be deserialized
|
174
|
+
# @return [Object] Deserialized data
|
175
|
+
def _deserialize(type, value)
|
176
|
+
case type.to_sym
|
177
|
+
when :Time
|
178
|
+
Time.parse(value)
|
179
|
+
when :Date
|
180
|
+
Date.parse(value)
|
181
|
+
when :String
|
182
|
+
value.to_s
|
183
|
+
when :Integer
|
184
|
+
value.to_i
|
185
|
+
when :Float
|
186
|
+
value.to_f
|
187
|
+
when :Boolean
|
188
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
189
|
+
true
|
190
|
+
else
|
191
|
+
false
|
192
|
+
end
|
193
|
+
when :Object
|
194
|
+
# generic object (usually a Hash), return directly
|
195
|
+
value
|
196
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
197
|
+
inner_type = Regexp.last_match[:inner_type]
|
198
|
+
value.map { |v| _deserialize(inner_type, v) }
|
199
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
200
|
+
k_type = Regexp.last_match[:k_type]
|
201
|
+
v_type = Regexp.last_match[:v_type]
|
202
|
+
{}.tap do |hash|
|
203
|
+
value.each do |k, v|
|
204
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
205
|
+
end
|
206
|
+
end
|
207
|
+
else # model
|
208
|
+
# models (e.g. Pet) or oneOf
|
209
|
+
klass = Ionoscloud.const_get(type)
|
210
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
211
|
+
end
|
212
|
+
end
|
213
|
+
|
214
|
+
# Returns the string representation of the object
|
215
|
+
# @return [String] String presentation of the object
|
216
|
+
def to_s
|
217
|
+
to_hash.to_s
|
218
|
+
end
|
219
|
+
|
220
|
+
# to_body is an alias to to_hash (backward compatibility)
|
221
|
+
# @return [Hash] Returns the object in the form of hash
|
222
|
+
def to_body
|
223
|
+
to_hash
|
224
|
+
end
|
225
|
+
|
226
|
+
# Returns the object in the form of hash
|
227
|
+
# @return [Hash] Returns the object in the form of hash
|
228
|
+
def to_hash
|
229
|
+
hash = {}
|
230
|
+
self.class.attribute_map.each_pair do |attr, param|
|
231
|
+
value = self.send(attr)
|
232
|
+
if value.nil?
|
233
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
234
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
235
|
+
end
|
236
|
+
|
237
|
+
hash[param] = _to_hash(value)
|
238
|
+
end
|
239
|
+
hash
|
240
|
+
end
|
241
|
+
|
242
|
+
# Outputs non-array value in the form of hash
|
243
|
+
# For object, use to_hash. Otherwise, just return the value
|
244
|
+
# @param [Object] value Any valid value
|
245
|
+
# @return [Hash] Returns the value in the form of hash
|
246
|
+
def _to_hash(value)
|
247
|
+
if value.is_a?(Array)
|
248
|
+
value.compact.map { |v| _to_hash(v) }
|
249
|
+
elsif value.is_a?(Hash)
|
250
|
+
{}.tap do |hash|
|
251
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
252
|
+
end
|
253
|
+
elsif value.respond_to? :to_hash
|
254
|
+
value.to_hash
|
255
|
+
else
|
256
|
+
value
|
257
|
+
end
|
258
|
+
end
|
259
|
+
end
|
260
|
+
end
|