kruby 1.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +201 -0
- data/README.md +1722 -0
- data/lib/kruby.rb +3 -0
- data/lib/kubernetes/api/admissionregistration_api.rb +77 -0
- data/lib/kubernetes/api/admissionregistration_v1_api.rb +2576 -0
- data/lib/kubernetes/api/admissionregistration_v1alpha1_api.rb +1213 -0
- data/lib/kubernetes/api/admissionregistration_v1beta1_api.rb +1213 -0
- data/lib/kubernetes/api/apiextensions_api.rb +77 -0
- data/lib/kubernetes/api/apiextensions_v1_api.rb +872 -0
- data/lib/kubernetes/api/apiregistration_api.rb +77 -0
- data/lib/kubernetes/api/apiregistration_v1_api.rb +872 -0
- data/lib/kubernetes/api/apis_api.rb +77 -0
- data/lib/kubernetes/api/apps_api.rb +77 -0
- data/lib/kubernetes/api/apps_v1_api.rb +5282 -0
- data/lib/kubernetes/api/authentication_api.rb +77 -0
- data/lib/kubernetes/api/authentication_v1_api.rb +223 -0
- data/lib/kubernetes/api/authorization_api.rb +77 -0
- data/lib/kubernetes/api/authorization_v1_api.rb +375 -0
- data/lib/kubernetes/api/autoscaling_api.rb +77 -0
- data/lib/kubernetes/api/autoscaling_v1_api.rb +1020 -0
- data/lib/kubernetes/api/autoscaling_v2_api.rb +1020 -0
- data/lib/kubernetes/api/batch_api.rb +77 -0
- data/lib/kubernetes/api/batch_v1_api.rb +1963 -0
- data/lib/kubernetes/api/certificates_api.rb +77 -0
- data/lib/kubernetes/api/certificates_v1_api.rb +1099 -0
- data/lib/kubernetes/api/certificates_v1alpha1_api.rb +645 -0
- data/lib/kubernetes/api/certificates_v1beta1_api.rb +1588 -0
- data/lib/kubernetes/api/coordination_api.rb +77 -0
- data/lib/kubernetes/api/coordination_v1_api.rb +775 -0
- data/lib/kubernetes/api/coordination_v1alpha2_api.rb +775 -0
- data/lib/kubernetes/api/coordination_v1beta1_api.rb +775 -0
- data/lib/kubernetes/api/core_api.rb +77 -0
- data/lib/kubernetes/api/core_v1_api.rb +16817 -0
- data/lib/kubernetes/api/custom_objects_api.rb +2665 -0
- data/lib/kubernetes/api/discovery_api.rb +77 -0
- data/lib/kubernetes/api/discovery_v1_api.rb +775 -0
- data/lib/kubernetes/api/events_api.rb +77 -0
- data/lib/kubernetes/api/events_v1_api.rb +775 -0
- data/lib/kubernetes/api/flowcontrol_apiserver_api.rb +77 -0
- data/lib/kubernetes/api/flowcontrol_apiserver_v1_api.rb +1667 -0
- data/lib/kubernetes/api/internal_apiserver_api.rb +77 -0
- data/lib/kubernetes/api/internal_apiserver_v1alpha1_api.rb +872 -0
- data/lib/kubernetes/api/logs_api.rb +130 -0
- data/lib/kubernetes/api/networking_api.rb +77 -0
- data/lib/kubernetes/api/networking_v1_api.rb +3649 -0
- data/lib/kubernetes/api/networking_v1beta1_api.rb +1440 -0
- data/lib/kubernetes/api/node_api.rb +77 -0
- data/lib/kubernetes/api/node_v1_api.rb +645 -0
- data/lib/kubernetes/api/openid_api.rb +77 -0
- data/lib/kubernetes/api/policy_api.rb +77 -0
- data/lib/kubernetes/api/policy_v1_api.rb +1020 -0
- data/lib/kubernetes/api/rbac_authorization_api.rb +77 -0
- data/lib/kubernetes/api/rbac_authorization_v1_api.rb +2609 -0
- data/lib/kubernetes/api/resource_api.rb +77 -0
- data/lib/kubernetes/api/resource_v1_api.rb +2854 -0
- data/lib/kubernetes/api/resource_v1alpha3_api.rb +872 -0
- data/lib/kubernetes/api/resource_v1beta1_api.rb +2854 -0
- data/lib/kubernetes/api/resource_v1beta2_api.rb +2854 -0
- data/lib/kubernetes/api/scheduling_api.rb +77 -0
- data/lib/kubernetes/api/scheduling_v1_api.rb +645 -0
- data/lib/kubernetes/api/scheduling_v1alpha1_api.rb +775 -0
- data/lib/kubernetes/api/storage_api.rb +77 -0
- data/lib/kubernetes/api/storage_v1_api.rb +3842 -0
- data/lib/kubernetes/api/storage_v1beta1_api.rb +645 -0
- data/lib/kubernetes/api/storagemigration_api.rb +77 -0
- data/lib/kubernetes/api/storagemigration_v1beta1_api.rb +872 -0
- data/lib/kubernetes/api/version_api.rb +77 -0
- data/lib/kubernetes/api/well_known_api.rb +77 -0
- data/lib/kubernetes/api_client.rb +390 -0
- data/lib/kubernetes/api_error.rb +57 -0
- data/lib/kubernetes/config/error.rb +17 -0
- data/lib/kubernetes/config/incluster_config.rb +106 -0
- data/lib/kubernetes/config/kube_config.rb +171 -0
- data/lib/kubernetes/configuration.rb +277 -0
- data/lib/kubernetes/loader.rb +4 -0
- data/lib/kubernetes/models/admissionregistration_v1_service_reference.rb +260 -0
- data/lib/kubernetes/models/admissionregistration_v1_webhook_client_config.rb +256 -0
- data/lib/kubernetes/models/apiextensions_v1_service_reference.rb +260 -0
- data/lib/kubernetes/models/apiextensions_v1_webhook_client_config.rb +256 -0
- data/lib/kubernetes/models/apiregistration_v1_service_reference.rb +240 -0
- data/lib/kubernetes/models/authentication_v1_token_request.rb +262 -0
- data/lib/kubernetes/models/core_v1_endpoint_port.rb +255 -0
- data/lib/kubernetes/models/core_v1_event.rb +385 -0
- data/lib/kubernetes/models/core_v1_event_list.rb +256 -0
- data/lib/kubernetes/models/core_v1_event_series.rb +230 -0
- data/lib/kubernetes/models/core_v1_resource_claim.rb +235 -0
- data/lib/kubernetes/models/discovery_v1_endpoint_port.rb +250 -0
- data/lib/kubernetes/models/events_v1_event.rb +380 -0
- data/lib/kubernetes/models/events_v1_event_list.rb +256 -0
- data/lib/kubernetes/models/events_v1_event_series.rb +240 -0
- data/lib/kubernetes/models/flowcontrol_v1_subject.rb +252 -0
- data/lib/kubernetes/models/rbac_v1_subject.rb +260 -0
- data/lib/kubernetes/models/resource_v1_resource_claim.rb +262 -0
- data/lib/kubernetes/models/storage_v1_token_request.rb +235 -0
- data/lib/kubernetes/models/v1_affinity.rb +237 -0
- data/lib/kubernetes/models/v1_aggregation_rule.rb +222 -0
- data/lib/kubernetes/models/v1_allocated_device_status.rb +296 -0
- data/lib/kubernetes/models/v1_allocation_result.rb +238 -0
- data/lib/kubernetes/models/v1_api_group.rb +283 -0
- data/lib/kubernetes/models/v1_api_group_list.rb +247 -0
- data/lib/kubernetes/models/v1_api_resource.rb +341 -0
- data/lib/kubernetes/models/v1_api_resource_list.rb +262 -0
- data/lib/kubernetes/models/v1_api_service.rb +257 -0
- data/lib/kubernetes/models/v1_api_service_condition.rb +270 -0
- data/lib/kubernetes/models/v1_api_service_list.rb +256 -0
- data/lib/kubernetes/models/v1_api_service_spec.rb +306 -0
- data/lib/kubernetes/models/v1_api_service_status.rb +222 -0
- data/lib/kubernetes/models/v1_api_versions.rb +264 -0
- data/lib/kubernetes/models/v1_app_armor_profile.rb +235 -0
- data/lib/kubernetes/models/v1_attached_volume.rb +240 -0
- data/lib/kubernetes/models/v1_audit_annotation.rb +240 -0
- data/lib/kubernetes/models/v1_aws_elastic_block_store_volume_source.rb +255 -0
- data/lib/kubernetes/models/v1_azure_disk_volume_source.rb +280 -0
- data/lib/kubernetes/models/v1_azure_file_persistent_volume_source.rb +260 -0
- data/lib/kubernetes/models/v1_azure_file_volume_source.rb +250 -0
- data/lib/kubernetes/models/v1_binding.rb +253 -0
- data/lib/kubernetes/models/v1_bound_object_reference.rb +250 -0
- data/lib/kubernetes/models/v1_capabilities.rb +234 -0
- data/lib/kubernetes/models/v1_capacity_request_policy.rb +241 -0
- data/lib/kubernetes/models/v1_capacity_request_policy_range.rb +245 -0
- data/lib/kubernetes/models/v1_capacity_requirements.rb +222 -0
- data/lib/kubernetes/models/v1_cel_device_selector.rb +225 -0
- data/lib/kubernetes/models/v1_ceph_fs_persistent_volume_source.rb +276 -0
- data/lib/kubernetes/models/v1_ceph_fs_volume_source.rb +276 -0
- data/lib/kubernetes/models/v1_certificate_signing_request.rb +262 -0
- data/lib/kubernetes/models/v1_certificate_signing_request_condition.rb +280 -0
- data/lib/kubernetes/models/v1_certificate_signing_request_list.rb +256 -0
- data/lib/kubernetes/models/v1_certificate_signing_request_spec.rb +327 -0
- data/lib/kubernetes/models/v1_certificate_signing_request_status.rb +249 -0
- data/lib/kubernetes/models/v1_cinder_persistent_volume_source.rb +254 -0
- data/lib/kubernetes/models/v1_cinder_volume_source.rb +254 -0
- data/lib/kubernetes/models/v1_client_ip_config.rb +220 -0
- data/lib/kubernetes/models/v1_cluster_role.rb +260 -0
- data/lib/kubernetes/models/v1_cluster_role_binding.rb +265 -0
- data/lib/kubernetes/models/v1_cluster_role_binding_list.rb +256 -0
- data/lib/kubernetes/models/v1_cluster_role_list.rb +256 -0
- data/lib/kubernetes/models/v1_cluster_trust_bundle_projection.rb +264 -0
- data/lib/kubernetes/models/v1_component_condition.rb +260 -0
- data/lib/kubernetes/models/v1_component_status.rb +251 -0
- data/lib/kubernetes/models/v1_component_status_list.rb +256 -0
- data/lib/kubernetes/models/v1_condition.rb +295 -0
- data/lib/kubernetes/models/v1_config_map.rb +273 -0
- data/lib/kubernetes/models/v1_config_map_env_source.rb +230 -0
- data/lib/kubernetes/models/v1_config_map_key_selector.rb +245 -0
- data/lib/kubernetes/models/v1_config_map_list.rb +256 -0
- data/lib/kubernetes/models/v1_config_map_node_config_source.rb +275 -0
- data/lib/kubernetes/models/v1_config_map_projection.rb +242 -0
- data/lib/kubernetes/models/v1_config_map_volume_source.rb +252 -0
- data/lib/kubernetes/models/v1_container.rb +477 -0
- data/lib/kubernetes/models/v1_container_extended_resource_request.rb +255 -0
- data/lib/kubernetes/models/v1_container_image.rb +232 -0
- data/lib/kubernetes/models/v1_container_port.rb +265 -0
- data/lib/kubernetes/models/v1_container_resize_policy.rb +240 -0
- data/lib/kubernetes/models/v1_container_restart_rule.rb +234 -0
- data/lib/kubernetes/models/v1_container_restart_rule_on_exit_codes.rb +237 -0
- data/lib/kubernetes/models/v1_container_state.rb +237 -0
- data/lib/kubernetes/models/v1_container_state_running.rb +220 -0
- data/lib/kubernetes/models/v1_container_state_terminated.rb +285 -0
- data/lib/kubernetes/models/v1_container_state_waiting.rb +230 -0
- data/lib/kubernetes/models/v1_container_status.rb +387 -0
- data/lib/kubernetes/models/v1_container_user.rb +219 -0
- data/lib/kubernetes/models/v1_controller_revision.rb +264 -0
- data/lib/kubernetes/models/v1_controller_revision_list.rb +256 -0
- data/lib/kubernetes/models/v1_counter.rb +225 -0
- data/lib/kubernetes/models/v1_counter_set.rb +242 -0
- data/lib/kubernetes/models/v1_cron_job.rb +257 -0
- data/lib/kubernetes/models/v1_cron_job_list.rb +256 -0
- data/lib/kubernetes/models/v1_cron_job_spec.rb +299 -0
- data/lib/kubernetes/models/v1_cron_job_status.rb +242 -0
- data/lib/kubernetes/models/v1_cross_version_object_reference.rb +250 -0
- data/lib/kubernetes/models/v1_csi_driver.rb +253 -0
- data/lib/kubernetes/models/v1_csi_driver_list.rb +256 -0
- data/lib/kubernetes/models/v1_csi_driver_spec.rb +314 -0
- data/lib/kubernetes/models/v1_csi_node.rb +253 -0
- data/lib/kubernetes/models/v1_csi_node_driver.rb +261 -0
- data/lib/kubernetes/models/v1_csi_node_list.rb +256 -0
- data/lib/kubernetes/models/v1_csi_node_spec.rb +227 -0
- data/lib/kubernetes/models/v1_csi_persistent_volume_source.rb +317 -0
- data/lib/kubernetes/models/v1_csi_storage_capacity.rb +283 -0
- data/lib/kubernetes/models/v1_csi_storage_capacity_list.rb +256 -0
- data/lib/kubernetes/models/v1_csi_volume_source.rb +266 -0
- data/lib/kubernetes/models/v1_custom_resource_column_definition.rb +285 -0
- data/lib/kubernetes/models/v1_custom_resource_conversion.rb +234 -0
- data/lib/kubernetes/models/v1_custom_resource_definition.rb +262 -0
- data/lib/kubernetes/models/v1_custom_resource_definition_condition.rb +280 -0
- data/lib/kubernetes/models/v1_custom_resource_definition_list.rb +256 -0
- data/lib/kubernetes/models/v1_custom_resource_definition_names.rb +284 -0
- data/lib/kubernetes/models/v1_custom_resource_definition_spec.rb +290 -0
- data/lib/kubernetes/models/v1_custom_resource_definition_status.rb +253 -0
- data/lib/kubernetes/models/v1_custom_resource_definition_version.rb +317 -0
- data/lib/kubernetes/models/v1_custom_resource_subresource_scale.rb +250 -0
- data/lib/kubernetes/models/v1_custom_resource_subresources.rb +229 -0
- data/lib/kubernetes/models/v1_custom_resource_validation.rb +219 -0
- data/lib/kubernetes/models/v1_daemon_endpoint.rb +225 -0
- data/lib/kubernetes/models/v1_daemon_set.rb +257 -0
- data/lib/kubernetes/models/v1_daemon_set_condition.rb +270 -0
- data/lib/kubernetes/models/v1_daemon_set_list.rb +256 -0
- data/lib/kubernetes/models/v1_daemon_set_spec.rb +267 -0
- data/lib/kubernetes/models/v1_daemon_set_status.rb +332 -0
- data/lib/kubernetes/models/v1_daemon_set_update_strategy.rb +229 -0
- data/lib/kubernetes/models/v1_delete_options.rb +291 -0
- data/lib/kubernetes/models/v1_deployment.rb +257 -0
- data/lib/kubernetes/models/v1_deployment_condition.rb +280 -0
- data/lib/kubernetes/models/v1_deployment_list.rb +256 -0
- data/lib/kubernetes/models/v1_deployment_spec.rb +297 -0
- data/lib/kubernetes/models/v1_deployment_status.rb +302 -0
- data/lib/kubernetes/models/v1_deployment_strategy.rb +229 -0
- data/lib/kubernetes/models/v1_device.rb +346 -0
- data/lib/kubernetes/models/v1_device_allocation_configuration.rb +246 -0
- data/lib/kubernetes/models/v1_device_allocation_result.rb +234 -0
- data/lib/kubernetes/models/v1_device_attribute.rb +250 -0
- data/lib/kubernetes/models/v1_device_capacity.rb +234 -0
- data/lib/kubernetes/models/v1_device_claim.rb +246 -0
- data/lib/kubernetes/models/v1_device_claim_configuration.rb +231 -0
- data/lib/kubernetes/models/v1_device_class.rb +253 -0
- data/lib/kubernetes/models/v1_device_class_configuration.rb +219 -0
- data/lib/kubernetes/models/v1_device_class_list.rb +256 -0
- data/lib/kubernetes/models/v1_device_class_spec.rb +244 -0
- data/lib/kubernetes/models/v1_device_constraint.rb +242 -0
- data/lib/kubernetes/models/v1_device_counter_consumption.rb +242 -0
- data/lib/kubernetes/models/v1_device_request.rb +246 -0
- data/lib/kubernetes/models/v1_device_request_allocation_result.rb +338 -0
- data/lib/kubernetes/models/v1_device_selector.rb +219 -0
- data/lib/kubernetes/models/v1_device_sub_request.rb +293 -0
- data/lib/kubernetes/models/v1_device_taint.rb +260 -0
- data/lib/kubernetes/models/v1_device_toleration.rb +260 -0
- data/lib/kubernetes/models/v1_downward_api_projection.rb +222 -0
- data/lib/kubernetes/models/v1_downward_api_volume_file.rb +253 -0
- data/lib/kubernetes/models/v1_downward_api_volume_source.rb +232 -0
- data/lib/kubernetes/models/v1_empty_dir_volume_source.rb +230 -0
- data/lib/kubernetes/models/v1_endpoint.rb +296 -0
- data/lib/kubernetes/models/v1_endpoint_address.rb +254 -0
- data/lib/kubernetes/models/v1_endpoint_conditions.rb +240 -0
- data/lib/kubernetes/models/v1_endpoint_hints.rb +234 -0
- data/lib/kubernetes/models/v1_endpoint_slice.rb +283 -0
- data/lib/kubernetes/models/v1_endpoint_slice_list.rb +256 -0
- data/lib/kubernetes/models/v1_endpoint_subset.rb +246 -0
- data/lib/kubernetes/models/v1_endpoints.rb +251 -0
- data/lib/kubernetes/models/v1_endpoints_list.rb +256 -0
- data/lib/kubernetes/models/v1_env_from_source.rb +238 -0
- data/lib/kubernetes/models/v1_env_var.rb +244 -0
- data/lib/kubernetes/models/v1_env_var_source.rb +255 -0
- data/lib/kubernetes/models/v1_ephemeral_container.rb +487 -0
- data/lib/kubernetes/models/v1_ephemeral_volume_source.rb +219 -0
- data/lib/kubernetes/models/v1_event_source.rb +230 -0
- data/lib/kubernetes/models/v1_eviction.rb +248 -0
- data/lib/kubernetes/models/v1_exact_device_request.rb +288 -0
- data/lib/kubernetes/models/v1_exec_action.rb +222 -0
- data/lib/kubernetes/models/v1_exempt_priority_level_configuration.rb +230 -0
- data/lib/kubernetes/models/v1_expression_warning.rb +240 -0
- data/lib/kubernetes/models/v1_external_documentation.rb +228 -0
- data/lib/kubernetes/models/v1_fc_volume_source.rb +264 -0
- data/lib/kubernetes/models/v1_field_selector_attributes.rb +232 -0
- data/lib/kubernetes/models/v1_field_selector_requirement.rb +252 -0
- data/lib/kubernetes/models/v1_file_key_selector.rb +265 -0
- data/lib/kubernetes/models/v1_flex_persistent_volume_source.rb +266 -0
- data/lib/kubernetes/models/v1_flex_volume_source.rb +266 -0
- data/lib/kubernetes/models/v1_flocker_volume_source.rb +230 -0
- data/lib/kubernetes/models/v1_flow_distinguisher_method.rb +225 -0
- data/lib/kubernetes/models/v1_flow_schema.rb +257 -0
- data/lib/kubernetes/models/v1_flow_schema_condition.rb +260 -0
- data/lib/kubernetes/models/v1_flow_schema_list.rb +256 -0
- data/lib/kubernetes/models/v1_flow_schema_spec.rb +255 -0
- data/lib/kubernetes/models/v1_flow_schema_status.rb +222 -0
- data/lib/kubernetes/models/v1_for_node.rb +225 -0
- data/lib/kubernetes/models/v1_for_zone.rb +225 -0
- data/lib/kubernetes/models/v1_gce_persistent_disk_volume_source.rb +255 -0
- data/lib/kubernetes/models/v1_git_repo_volume_source.rb +245 -0
- data/lib/kubernetes/models/v1_glusterfs_persistent_volume_source.rb +260 -0
- data/lib/kubernetes/models/v1_glusterfs_volume_source.rb +250 -0
- data/lib/kubernetes/models/v1_group_resource.rb +238 -0
- data/lib/kubernetes/models/v1_group_subject.rb +225 -0
- data/lib/kubernetes/models/v1_group_version_for_discovery.rb +240 -0
- data/lib/kubernetes/models/v1_grpc_action.rb +235 -0
- data/lib/kubernetes/models/v1_horizontal_pod_autoscaler.rb +257 -0
- data/lib/kubernetes/models/v1_horizontal_pod_autoscaler_list.rb +256 -0
- data/lib/kubernetes/models/v1_horizontal_pod_autoscaler_spec.rb +259 -0
- data/lib/kubernetes/models/v1_horizontal_pod_autoscaler_status.rb +270 -0
- data/lib/kubernetes/models/v1_host_alias.rb +237 -0
- data/lib/kubernetes/models/v1_host_ip.rb +225 -0
- data/lib/kubernetes/models/v1_host_path_volume_source.rb +235 -0
- data/lib/kubernetes/models/v1_http_get_action.rb +267 -0
- data/lib/kubernetes/models/v1_http_header.rb +240 -0
- data/lib/kubernetes/models/v1_http_ingress_path.rb +249 -0
- data/lib/kubernetes/models/v1_http_ingress_rule_value.rb +227 -0
- data/lib/kubernetes/models/v1_image_volume_source.rb +230 -0
- data/lib/kubernetes/models/v1_ingress.rb +257 -0
- data/lib/kubernetes/models/v1_ingress_backend.rb +228 -0
- data/lib/kubernetes/models/v1_ingress_class.rb +248 -0
- data/lib/kubernetes/models/v1_ingress_class_list.rb +256 -0
- data/lib/kubernetes/models/v1_ingress_class_parameters_reference.rb +270 -0
- data/lib/kubernetes/models/v1_ingress_class_spec.rb +229 -0
- data/lib/kubernetes/models/v1_ingress_list.rb +256 -0
- data/lib/kubernetes/models/v1_ingress_load_balancer_ingress.rb +242 -0
- data/lib/kubernetes/models/v1_ingress_load_balancer_status.rb +222 -0
- data/lib/kubernetes/models/v1_ingress_port_status.rb +250 -0
- data/lib/kubernetes/models/v1_ingress_rule.rb +229 -0
- data/lib/kubernetes/models/v1_ingress_service_backend.rb +234 -0
- data/lib/kubernetes/models/v1_ingress_spec.rb +253 -0
- data/lib/kubernetes/models/v1_ingress_status.rb +219 -0
- data/lib/kubernetes/models/v1_ingress_tls.rb +232 -0
- data/lib/kubernetes/models/v1_ip_address.rb +248 -0
- data/lib/kubernetes/models/v1_ip_address_list.rb +256 -0
- data/lib/kubernetes/models/v1_ip_address_spec.rb +224 -0
- data/lib/kubernetes/models/v1_ip_block.rb +237 -0
- data/lib/kubernetes/models/v1_iscsi_persistent_volume_source.rb +336 -0
- data/lib/kubernetes/models/v1_iscsi_volume_source.rb +336 -0
- data/lib/kubernetes/models/v1_job.rb +257 -0
- data/lib/kubernetes/models/v1_job_condition.rb +280 -0
- data/lib/kubernetes/models/v1_job_list.rb +256 -0
- data/lib/kubernetes/models/v1_job_spec.rb +371 -0
- data/lib/kubernetes/models/v1_job_status.rb +321 -0
- data/lib/kubernetes/models/v1_job_template_spec.rb +228 -0
- data/lib/kubernetes/models/v1_json_schema_props.rb +641 -0
- data/lib/kubernetes/models/v1_key_to_path.rb +250 -0
- data/lib/kubernetes/models/v1_label_selector.rb +234 -0
- data/lib/kubernetes/models/v1_label_selector_attributes.rb +232 -0
- data/lib/kubernetes/models/v1_label_selector_requirement.rb +252 -0
- data/lib/kubernetes/models/v1_lease.rb +248 -0
- data/lib/kubernetes/models/v1_lease_list.rb +256 -0
- data/lib/kubernetes/models/v1_lease_spec.rb +280 -0
- data/lib/kubernetes/models/v1_lifecycle.rb +238 -0
- data/lib/kubernetes/models/v1_lifecycle_handler.rb +246 -0
- data/lib/kubernetes/models/v1_limit_range.rb +248 -0
- data/lib/kubernetes/models/v1_limit_range_item.rb +285 -0
- data/lib/kubernetes/models/v1_limit_range_list.rb +256 -0
- data/lib/kubernetes/models/v1_limit_range_spec.rb +227 -0
- data/lib/kubernetes/models/v1_limit_response.rb +234 -0
- data/lib/kubernetes/models/v1_limited_priority_level_configuration.rb +249 -0
- data/lib/kubernetes/models/v1_linux_container_user.rb +252 -0
- data/lib/kubernetes/models/v1_list_meta.rb +250 -0
- data/lib/kubernetes/models/v1_load_balancer_ingress.rb +252 -0
- data/lib/kubernetes/models/v1_load_balancer_status.rb +222 -0
- data/lib/kubernetes/models/v1_local_object_reference.rb +220 -0
- data/lib/kubernetes/models/v1_local_subject_access_review.rb +262 -0
- data/lib/kubernetes/models/v1_local_volume_source.rb +235 -0
- data/lib/kubernetes/models/v1_managed_fields_entry.rb +280 -0
- data/lib/kubernetes/models/v1_match_condition.rb +240 -0
- data/lib/kubernetes/models/v1_match_resources.rb +262 -0
- data/lib/kubernetes/models/v1_modify_volume_status.rb +235 -0
- data/lib/kubernetes/models/v1_mutating_webhook.rb +353 -0
- data/lib/kubernetes/models/v1_mutating_webhook_configuration.rb +251 -0
- data/lib/kubernetes/models/v1_mutating_webhook_configuration_list.rb +256 -0
- data/lib/kubernetes/models/v1_named_rule_with_operations.rb +280 -0
- data/lib/kubernetes/models/v1_namespace.rb +257 -0
- data/lib/kubernetes/models/v1_namespace_condition.rb +270 -0
- data/lib/kubernetes/models/v1_namespace_list.rb +256 -0
- data/lib/kubernetes/models/v1_namespace_spec.rb +222 -0
- data/lib/kubernetes/models/v1_namespace_status.rb +232 -0
- data/lib/kubernetes/models/v1_network_device_data.rb +242 -0
- data/lib/kubernetes/models/v1_network_policy.rb +248 -0
- data/lib/kubernetes/models/v1_network_policy_egress_rule.rb +234 -0
- data/lib/kubernetes/models/v1_network_policy_ingress_rule.rb +234 -0
- data/lib/kubernetes/models/v1_network_policy_list.rb +256 -0
- data/lib/kubernetes/models/v1_network_policy_peer.rb +237 -0
- data/lib/kubernetes/models/v1_network_policy_port.rb +240 -0
- data/lib/kubernetes/models/v1_network_policy_spec.rb +255 -0
- data/lib/kubernetes/models/v1_nfs_volume_source.rb +250 -0
- data/lib/kubernetes/models/v1_node.rb +257 -0
- data/lib/kubernetes/models/v1_node_address.rb +240 -0
- data/lib/kubernetes/models/v1_node_affinity.rb +231 -0
- data/lib/kubernetes/models/v1_node_condition.rb +280 -0
- data/lib/kubernetes/models/v1_node_config_source.rb +219 -0
- data/lib/kubernetes/models/v1_node_config_status.rb +247 -0
- data/lib/kubernetes/models/v1_node_daemon_endpoints.rb +219 -0
- data/lib/kubernetes/models/v1_node_features.rb +220 -0
- data/lib/kubernetes/models/v1_node_list.rb +256 -0
- data/lib/kubernetes/models/v1_node_runtime_handler.rb +229 -0
- data/lib/kubernetes/models/v1_node_runtime_handler_features.rb +230 -0
- data/lib/kubernetes/models/v1_node_selector.rb +227 -0
- data/lib/kubernetes/models/v1_node_selector_requirement.rb +252 -0
- data/lib/kubernetes/models/v1_node_selector_term.rb +234 -0
- data/lib/kubernetes/models/v1_node_spec.rb +283 -0
- data/lib/kubernetes/models/v1_node_status.rb +364 -0
- data/lib/kubernetes/models/v1_node_swap_status.rb +220 -0
- data/lib/kubernetes/models/v1_node_system_info.rb +369 -0
- data/lib/kubernetes/models/v1_non_resource_attributes.rb +230 -0
- data/lib/kubernetes/models/v1_non_resource_policy_rule.rb +244 -0
- data/lib/kubernetes/models/v1_non_resource_rule.rb +239 -0
- data/lib/kubernetes/models/v1_object_field_selector.rb +235 -0
- data/lib/kubernetes/models/v1_object_meta.rb +370 -0
- data/lib/kubernetes/models/v1_object_reference.rb +280 -0
- data/lib/kubernetes/models/v1_opaque_device_configuration.rb +240 -0
- data/lib/kubernetes/models/v1_overhead.rb +222 -0
- data/lib/kubernetes/models/v1_owner_reference.rb +290 -0
- data/lib/kubernetes/models/v1_param_kind.rb +230 -0
- data/lib/kubernetes/models/v1_param_ref.rb +249 -0
- data/lib/kubernetes/models/v1_parent_reference.rb +260 -0
- data/lib/kubernetes/models/v1_persistent_volume.rb +257 -0
- data/lib/kubernetes/models/v1_persistent_volume_claim.rb +257 -0
- data/lib/kubernetes/models/v1_persistent_volume_claim_condition.rb +280 -0
- data/lib/kubernetes/models/v1_persistent_volume_claim_list.rb +256 -0
- data/lib/kubernetes/models/v1_persistent_volume_claim_spec.rb +298 -0
- data/lib/kubernetes/models/v1_persistent_volume_claim_status.rb +299 -0
- data/lib/kubernetes/models/v1_persistent_volume_claim_template.rb +233 -0
- data/lib/kubernetes/models/v1_persistent_volume_claim_volume_source.rb +235 -0
- data/lib/kubernetes/models/v1_persistent_volume_list.rb +256 -0
- data/lib/kubernetes/models/v1_persistent_volume_spec.rb +502 -0
- data/lib/kubernetes/models/v1_persistent_volume_status.rb +250 -0
- data/lib/kubernetes/models/v1_photon_persistent_disk_volume_source.rb +235 -0
- data/lib/kubernetes/models/v1_pod.rb +257 -0
- data/lib/kubernetes/models/v1_pod_affinity.rb +234 -0
- data/lib/kubernetes/models/v1_pod_affinity_term.rb +279 -0
- data/lib/kubernetes/models/v1_pod_anti_affinity.rb +234 -0
- data/lib/kubernetes/models/v1_pod_certificate_projection.rb +292 -0
- data/lib/kubernetes/models/v1_pod_condition.rb +290 -0
- data/lib/kubernetes/models/v1_pod_disruption_budget.rb +257 -0
- data/lib/kubernetes/models/v1_pod_disruption_budget_list.rb +256 -0
- data/lib/kubernetes/models/v1_pod_disruption_budget_spec.rb +249 -0
- data/lib/kubernetes/models/v1_pod_disruption_budget_status.rb +304 -0
- data/lib/kubernetes/models/v1_pod_dns_config.rb +246 -0
- data/lib/kubernetes/models/v1_pod_dns_config_option.rb +230 -0
- data/lib/kubernetes/models/v1_pod_extended_resource_claim_status.rb +242 -0
- data/lib/kubernetes/models/v1_pod_failure_policy.rb +227 -0
- data/lib/kubernetes/models/v1_pod_failure_policy_on_exit_codes_requirement.rb +252 -0
- data/lib/kubernetes/models/v1_pod_failure_policy_on_pod_conditions_pattern.rb +235 -0
- data/lib/kubernetes/models/v1_pod_failure_policy_rule.rb +246 -0
- data/lib/kubernetes/models/v1_pod_ip.rb +225 -0
- data/lib/kubernetes/models/v1_pod_list.rb +256 -0
- data/lib/kubernetes/models/v1_pod_os.rb +225 -0
- data/lib/kubernetes/models/v1_pod_readiness_gate.rb +225 -0
- data/lib/kubernetes/models/v1_pod_resource_claim.rb +245 -0
- data/lib/kubernetes/models/v1_pod_resource_claim_status.rb +235 -0
- data/lib/kubernetes/models/v1_pod_scheduling_gate.rb +225 -0
- data/lib/kubernetes/models/v1_pod_security_context.rb +340 -0
- data/lib/kubernetes/models/v1_pod_spec.rb +655 -0
- data/lib/kubernetes/models/v1_pod_status.rb +424 -0
- data/lib/kubernetes/models/v1_pod_template.rb +248 -0
- data/lib/kubernetes/models/v1_pod_template_list.rb +256 -0
- data/lib/kubernetes/models/v1_pod_template_spec.rb +228 -0
- data/lib/kubernetes/models/v1_policy_rule.rb +275 -0
- data/lib/kubernetes/models/v1_policy_rules_with_subjects.rb +251 -0
- data/lib/kubernetes/models/v1_port_status.rb +250 -0
- data/lib/kubernetes/models/v1_portworx_volume_source.rb +245 -0
- data/lib/kubernetes/models/v1_preconditions.rb +230 -0
- data/lib/kubernetes/models/v1_preferred_scheduling_term.rb +239 -0
- data/lib/kubernetes/models/v1_priority_class.rb +284 -0
- data/lib/kubernetes/models/v1_priority_class_list.rb +256 -0
- data/lib/kubernetes/models/v1_priority_level_configuration.rb +257 -0
- data/lib/kubernetes/models/v1_priority_level_configuration_condition.rb +260 -0
- data/lib/kubernetes/models/v1_priority_level_configuration_list.rb +256 -0
- data/lib/kubernetes/models/v1_priority_level_configuration_reference.rb +225 -0
- data/lib/kubernetes/models/v1_priority_level_configuration_spec.rb +243 -0
- data/lib/kubernetes/models/v1_priority_level_configuration_status.rb +222 -0
- data/lib/kubernetes/models/v1_probe.rb +306 -0
- data/lib/kubernetes/models/v1_projected_volume_source.rb +232 -0
- data/lib/kubernetes/models/v1_queuing_configuration.rb +240 -0
- data/lib/kubernetes/models/v1_quobyte_volume_source.rb +280 -0
- data/lib/kubernetes/models/v1_rbd_persistent_volume_source.rb +301 -0
- data/lib/kubernetes/models/v1_rbd_volume_source.rb +301 -0
- data/lib/kubernetes/models/v1_replica_set.rb +257 -0
- data/lib/kubernetes/models/v1_replica_set_condition.rb +270 -0
- data/lib/kubernetes/models/v1_replica_set_list.rb +256 -0
- data/lib/kubernetes/models/v1_replica_set_spec.rb +253 -0
- data/lib/kubernetes/models/v1_replica_set_status.rb +287 -0
- data/lib/kubernetes/models/v1_replication_controller.rb +257 -0
- data/lib/kubernetes/models/v1_replication_controller_condition.rb +270 -0
- data/lib/kubernetes/models/v1_replication_controller_list.rb +256 -0
- data/lib/kubernetes/models/v1_replication_controller_spec.rb +251 -0
- data/lib/kubernetes/models/v1_replication_controller_status.rb +277 -0
- data/lib/kubernetes/models/v1_resource_attributes.rb +298 -0
- data/lib/kubernetes/models/v1_resource_claim_consumer_reference.rb +265 -0
- data/lib/kubernetes/models/v1_resource_claim_list.rb +256 -0
- data/lib/kubernetes/models/v1_resource_claim_spec.rb +219 -0
- data/lib/kubernetes/models/v1_resource_claim_status.rb +243 -0
- data/lib/kubernetes/models/v1_resource_claim_template.rb +253 -0
- data/lib/kubernetes/models/v1_resource_claim_template_list.rb +256 -0
- data/lib/kubernetes/models/v1_resource_claim_template_spec.rb +233 -0
- data/lib/kubernetes/models/v1_resource_field_selector.rb +245 -0
- data/lib/kubernetes/models/v1_resource_health.rb +235 -0
- data/lib/kubernetes/models/v1_resource_policy_rule.rb +283 -0
- data/lib/kubernetes/models/v1_resource_pool.rb +255 -0
- data/lib/kubernetes/models/v1_resource_quota.rb +257 -0
- data/lib/kubernetes/models/v1_resource_quota_list.rb +256 -0
- data/lib/kubernetes/models/v1_resource_quota_spec.rb +243 -0
- data/lib/kubernetes/models/v1_resource_quota_status.rb +234 -0
- data/lib/kubernetes/models/v1_resource_requirements.rb +246 -0
- data/lib/kubernetes/models/v1_resource_rule.rb +263 -0
- data/lib/kubernetes/models/v1_resource_slice.rb +253 -0
- data/lib/kubernetes/models/v1_resource_slice_list.rb +256 -0
- data/lib/kubernetes/models/v1_resource_slice_spec.rb +302 -0
- data/lib/kubernetes/models/v1_resource_status.rb +237 -0
- data/lib/kubernetes/models/v1_role.rb +251 -0
- data/lib/kubernetes/models/v1_role_binding.rb +265 -0
- data/lib/kubernetes/models/v1_role_binding_list.rb +256 -0
- data/lib/kubernetes/models/v1_role_list.rb +256 -0
- data/lib/kubernetes/models/v1_role_ref.rb +255 -0
- data/lib/kubernetes/models/v1_rolling_update_daemon_set.rb +230 -0
- data/lib/kubernetes/models/v1_rolling_update_deployment.rb +230 -0
- data/lib/kubernetes/models/v1_rolling_update_stateful_set_strategy.rb +230 -0
- data/lib/kubernetes/models/v1_rule_with_operations.rb +268 -0
- data/lib/kubernetes/models/v1_runtime_class.rb +272 -0
- data/lib/kubernetes/models/v1_runtime_class_list.rb +256 -0
- data/lib/kubernetes/models/v1_scale.rb +257 -0
- data/lib/kubernetes/models/v1_scale_io_persistent_volume_source.rb +324 -0
- data/lib/kubernetes/models/v1_scale_io_volume_source.rb +324 -0
- data/lib/kubernetes/models/v1_scale_spec.rb +220 -0
- data/lib/kubernetes/models/v1_scale_status.rb +235 -0
- data/lib/kubernetes/models/v1_scheduling.rb +234 -0
- data/lib/kubernetes/models/v1_scope_selector.rb +222 -0
- data/lib/kubernetes/models/v1_scoped_resource_selector_requirement.rb +252 -0
- data/lib/kubernetes/models/v1_se_linux_options.rb +250 -0
- data/lib/kubernetes/models/v1_seccomp_profile.rb +235 -0
- data/lib/kubernetes/models/v1_secret.rb +283 -0
- data/lib/kubernetes/models/v1_secret_env_source.rb +230 -0
- data/lib/kubernetes/models/v1_secret_key_selector.rb +245 -0
- data/lib/kubernetes/models/v1_secret_list.rb +256 -0
- data/lib/kubernetes/models/v1_secret_projection.rb +242 -0
- data/lib/kubernetes/models/v1_secret_reference.rb +230 -0
- data/lib/kubernetes/models/v1_secret_volume_source.rb +252 -0
- data/lib/kubernetes/models/v1_security_context.rb +325 -0
- data/lib/kubernetes/models/v1_selectable_field.rb +225 -0
- data/lib/kubernetes/models/v1_self_subject_access_review.rb +262 -0
- data/lib/kubernetes/models/v1_self_subject_access_review_spec.rb +228 -0
- data/lib/kubernetes/models/v1_self_subject_review.rb +248 -0
- data/lib/kubernetes/models/v1_self_subject_review_status.rb +219 -0
- data/lib/kubernetes/models/v1_self_subject_rules_review.rb +262 -0
- data/lib/kubernetes/models/v1_self_subject_rules_review_spec.rb +220 -0
- data/lib/kubernetes/models/v1_server_address_by_client_cidr.rb +240 -0
- data/lib/kubernetes/models/v1_service.rb +257 -0
- data/lib/kubernetes/models/v1_service_account.rb +273 -0
- data/lib/kubernetes/models/v1_service_account_list.rb +256 -0
- data/lib/kubernetes/models/v1_service_account_subject.rb +240 -0
- data/lib/kubernetes/models/v1_service_account_token_projection.rb +245 -0
- data/lib/kubernetes/models/v1_service_backend_port.rb +230 -0
- data/lib/kubernetes/models/v1_service_cidr.rb +257 -0
- data/lib/kubernetes/models/v1_service_cidr_list.rb +256 -0
- data/lib/kubernetes/models/v1_service_cidr_spec.rb +222 -0
- data/lib/kubernetes/models/v1_service_cidr_status.rb +222 -0
- data/lib/kubernetes/models/v1_service_list.rb +256 -0
- data/lib/kubernetes/models/v1_service_port.rb +275 -0
- data/lib/kubernetes/models/v1_service_spec.rb +421 -0
- data/lib/kubernetes/models/v1_service_status.rb +231 -0
- data/lib/kubernetes/models/v1_session_affinity_config.rb +219 -0
- data/lib/kubernetes/models/v1_sleep_action.rb +225 -0
- data/lib/kubernetes/models/v1_stateful_set.rb +257 -0
- data/lib/kubernetes/models/v1_stateful_set_condition.rb +270 -0
- data/lib/kubernetes/models/v1_stateful_set_list.rb +256 -0
- data/lib/kubernetes/models/v1_stateful_set_ordinals.rb +220 -0
- data/lib/kubernetes/models/v1_stateful_set_persistent_volume_claim_retention_policy.rb +230 -0
- data/lib/kubernetes/models/v1_stateful_set_spec.rb +327 -0
- data/lib/kubernetes/models/v1_stateful_set_status.rb +317 -0
- data/lib/kubernetes/models/v1_stateful_set_update_strategy.rb +229 -0
- data/lib/kubernetes/models/v1_status.rb +288 -0
- data/lib/kubernetes/models/v1_status_cause.rb +240 -0
- data/lib/kubernetes/models/v1_status_details.rb +272 -0
- data/lib/kubernetes/models/v1_storage_class.rb +320 -0
- data/lib/kubernetes/models/v1_storage_class_list.rb +256 -0
- data/lib/kubernetes/models/v1_storage_os_persistent_volume_source.rb +259 -0
- data/lib/kubernetes/models/v1_storage_os_volume_source.rb +259 -0
- data/lib/kubernetes/models/v1_subject_access_review.rb +262 -0
- data/lib/kubernetes/models/v1_subject_access_review_spec.rb +272 -0
- data/lib/kubernetes/models/v1_subject_access_review_status.rb +255 -0
- data/lib/kubernetes/models/v1_subject_rules_review_status.rb +269 -0
- data/lib/kubernetes/models/v1_success_policy.rb +227 -0
- data/lib/kubernetes/models/v1_success_policy_rule.rb +230 -0
- data/lib/kubernetes/models/v1_sysctl.rb +240 -0
- data/lib/kubernetes/models/v1_taint.rb +260 -0
- data/lib/kubernetes/models/v1_tcp_socket_action.rb +235 -0
- data/lib/kubernetes/models/v1_token_request_spec.rb +246 -0
- data/lib/kubernetes/models/v1_token_request_status.rb +240 -0
- data/lib/kubernetes/models/v1_token_review.rb +262 -0
- data/lib/kubernetes/models/v1_token_review_spec.rb +232 -0
- data/lib/kubernetes/models/v1_token_review_status.rb +251 -0
- data/lib/kubernetes/models/v1_toleration.rb +260 -0
- data/lib/kubernetes/models/v1_topology_selector_label_requirement.rb +242 -0
- data/lib/kubernetes/models/v1_topology_selector_term.rb +222 -0
- data/lib/kubernetes/models/v1_topology_spread_constraint.rb +306 -0
- data/lib/kubernetes/models/v1_type_checking.rb +222 -0
- data/lib/kubernetes/models/v1_typed_local_object_reference.rb +250 -0
- data/lib/kubernetes/models/v1_typed_object_reference.rb +260 -0
- data/lib/kubernetes/models/v1_uncounted_terminated_pods.rb +234 -0
- data/lib/kubernetes/models/v1_user_info.rb +254 -0
- data/lib/kubernetes/models/v1_user_subject.rb +225 -0
- data/lib/kubernetes/models/v1_validating_admission_policy.rb +257 -0
- data/lib/kubernetes/models/v1_validating_admission_policy_binding.rb +248 -0
- data/lib/kubernetes/models/v1_validating_admission_policy_binding_list.rb +256 -0
- data/lib/kubernetes/models/v1_validating_admission_policy_binding_spec.rb +250 -0
- data/lib/kubernetes/models/v1_validating_admission_policy_list.rb +256 -0
- data/lib/kubernetes/models/v1_validating_admission_policy_spec.rb +286 -0
- data/lib/kubernetes/models/v1_validating_admission_policy_status.rb +241 -0
- data/lib/kubernetes/models/v1_validating_webhook.rb +343 -0
- data/lib/kubernetes/models/v1_validating_webhook_configuration.rb +251 -0
- data/lib/kubernetes/models/v1_validating_webhook_configuration_list.rb +256 -0
- data/lib/kubernetes/models/v1_validation.rb +255 -0
- data/lib/kubernetes/models/v1_validation_rule.rb +275 -0
- data/lib/kubernetes/models/v1_variable.rb +240 -0
- data/lib/kubernetes/models/v1_volume.rb +495 -0
- data/lib/kubernetes/models/v1_volume_attachment.rb +262 -0
- data/lib/kubernetes/models/v1_volume_attachment_list.rb +256 -0
- data/lib/kubernetes/models/v1_volume_attachment_source.rb +229 -0
- data/lib/kubernetes/models/v1_volume_attachment_spec.rb +254 -0
- data/lib/kubernetes/models/v1_volume_attachment_status.rb +255 -0
- data/lib/kubernetes/models/v1_volume_attributes_class.rb +266 -0
- data/lib/kubernetes/models/v1_volume_attributes_class_list.rb +256 -0
- data/lib/kubernetes/models/v1_volume_device.rb +240 -0
- data/lib/kubernetes/models/v1_volume_error.rb +240 -0
- data/lib/kubernetes/models/v1_volume_mount.rb +290 -0
- data/lib/kubernetes/models/v1_volume_mount_status.rb +260 -0
- data/lib/kubernetes/models/v1_volume_node_affinity.rb +219 -0
- data/lib/kubernetes/models/v1_volume_node_resources.rb +220 -0
- data/lib/kubernetes/models/v1_volume_projection.rb +264 -0
- data/lib/kubernetes/models/v1_volume_resource_requirements.rb +234 -0
- data/lib/kubernetes/models/v1_vsphere_virtual_disk_volume_source.rb +255 -0
- data/lib/kubernetes/models/v1_watch_event.rb +239 -0
- data/lib/kubernetes/models/v1_webhook_conversion.rb +236 -0
- data/lib/kubernetes/models/v1_weighted_pod_affinity_term.rb +239 -0
- data/lib/kubernetes/models/v1_windows_security_context_options.rb +250 -0
- data/lib/kubernetes/models/v1_workload_reference.rb +250 -0
- data/lib/kubernetes/models/v1alpha1_apply_configuration.rb +220 -0
- data/lib/kubernetes/models/v1alpha1_cluster_trust_bundle.rb +253 -0
- data/lib/kubernetes/models/v1alpha1_cluster_trust_bundle_list.rb +256 -0
- data/lib/kubernetes/models/v1alpha1_cluster_trust_bundle_spec.rb +235 -0
- data/lib/kubernetes/models/v1alpha1_gang_scheduling_policy.rb +225 -0
- data/lib/kubernetes/models/v1alpha1_json_patch.rb +220 -0
- data/lib/kubernetes/models/v1alpha1_match_condition.rb +239 -0
- data/lib/kubernetes/models/v1alpha1_match_resources.rb +262 -0
- data/lib/kubernetes/models/v1alpha1_mutating_admission_policy.rb +248 -0
- data/lib/kubernetes/models/v1alpha1_mutating_admission_policy_binding.rb +248 -0
- data/lib/kubernetes/models/v1alpha1_mutating_admission_policy_binding_list.rb +256 -0
- data/lib/kubernetes/models/v1alpha1_mutating_admission_policy_binding_spec.rb +238 -0
- data/lib/kubernetes/models/v1alpha1_mutating_admission_policy_list.rb +256 -0
- data/lib/kubernetes/models/v1alpha1_mutating_admission_policy_spec.rb +284 -0
- data/lib/kubernetes/models/v1alpha1_mutation.rb +243 -0
- data/lib/kubernetes/models/v1alpha1_named_rule_with_operations.rb +280 -0
- data/lib/kubernetes/models/v1alpha1_param_kind.rb +230 -0
- data/lib/kubernetes/models/v1alpha1_param_ref.rb +249 -0
- data/lib/kubernetes/models/v1alpha1_pod_group.rb +239 -0
- data/lib/kubernetes/models/v1alpha1_pod_group_policy.rb +229 -0
- data/lib/kubernetes/models/v1alpha1_server_storage_version.rb +254 -0
- data/lib/kubernetes/models/v1alpha1_storage_version.rb +268 -0
- data/lib/kubernetes/models/v1alpha1_storage_version_condition.rb +290 -0
- data/lib/kubernetes/models/v1alpha1_storage_version_list.rb +256 -0
- data/lib/kubernetes/models/v1alpha1_storage_version_status.rb +244 -0
- data/lib/kubernetes/models/v1alpha1_typed_local_object_reference.rb +250 -0
- data/lib/kubernetes/models/v1alpha1_variable.rb +240 -0
- data/lib/kubernetes/models/v1alpha1_workload.rb +253 -0
- data/lib/kubernetes/models/v1alpha1_workload_list.rb +256 -0
- data/lib/kubernetes/models/v1alpha1_workload_spec.rb +236 -0
- data/lib/kubernetes/models/v1alpha2_lease_candidate.rb +248 -0
- data/lib/kubernetes/models/v1alpha2_lease_candidate_list.rb +256 -0
- data/lib/kubernetes/models/v1alpha2_lease_candidate_spec.rb +285 -0
- data/lib/kubernetes/models/v1alpha3_device_taint.rb +260 -0
- data/lib/kubernetes/models/v1alpha3_device_taint_rule.rb +262 -0
- data/lib/kubernetes/models/v1alpha3_device_taint_rule_list.rb +256 -0
- data/lib/kubernetes/models/v1alpha3_device_taint_rule_spec.rb +233 -0
- data/lib/kubernetes/models/v1alpha3_device_taint_rule_status.rb +222 -0
- data/lib/kubernetes/models/v1alpha3_device_taint_selector.rb +240 -0
- data/lib/kubernetes/models/v1beta1_allocated_device_status.rb +296 -0
- data/lib/kubernetes/models/v1beta1_allocation_result.rb +238 -0
- data/lib/kubernetes/models/v1beta1_apply_configuration.rb +220 -0
- data/lib/kubernetes/models/v1beta1_basic_device.rb +331 -0
- data/lib/kubernetes/models/v1beta1_capacity_request_policy.rb +241 -0
- data/lib/kubernetes/models/v1beta1_capacity_request_policy_range.rb +245 -0
- data/lib/kubernetes/models/v1beta1_capacity_requirements.rb +222 -0
- data/lib/kubernetes/models/v1beta1_cel_device_selector.rb +225 -0
- data/lib/kubernetes/models/v1beta1_cluster_trust_bundle.rb +253 -0
- data/lib/kubernetes/models/v1beta1_cluster_trust_bundle_list.rb +256 -0
- data/lib/kubernetes/models/v1beta1_cluster_trust_bundle_spec.rb +235 -0
- data/lib/kubernetes/models/v1beta1_counter.rb +225 -0
- data/lib/kubernetes/models/v1beta1_counter_set.rb +242 -0
- data/lib/kubernetes/models/v1beta1_device.rb +234 -0
- data/lib/kubernetes/models/v1beta1_device_allocation_configuration.rb +246 -0
- data/lib/kubernetes/models/v1beta1_device_allocation_result.rb +234 -0
- data/lib/kubernetes/models/v1beta1_device_attribute.rb +250 -0
- data/lib/kubernetes/models/v1beta1_device_capacity.rb +234 -0
- data/lib/kubernetes/models/v1beta1_device_claim.rb +246 -0
- data/lib/kubernetes/models/v1beta1_device_claim_configuration.rb +231 -0
- data/lib/kubernetes/models/v1beta1_device_class.rb +253 -0
- data/lib/kubernetes/models/v1beta1_device_class_configuration.rb +219 -0
- data/lib/kubernetes/models/v1beta1_device_class_list.rb +256 -0
- data/lib/kubernetes/models/v1beta1_device_class_spec.rb +244 -0
- data/lib/kubernetes/models/v1beta1_device_constraint.rb +242 -0
- data/lib/kubernetes/models/v1beta1_device_counter_consumption.rb +242 -0
- data/lib/kubernetes/models/v1beta1_device_request.rb +310 -0
- data/lib/kubernetes/models/v1beta1_device_request_allocation_result.rb +338 -0
- data/lib/kubernetes/models/v1beta1_device_selector.rb +219 -0
- data/lib/kubernetes/models/v1beta1_device_sub_request.rb +293 -0
- data/lib/kubernetes/models/v1beta1_device_taint.rb +260 -0
- data/lib/kubernetes/models/v1beta1_device_toleration.rb +260 -0
- data/lib/kubernetes/models/v1beta1_ip_address.rb +248 -0
- data/lib/kubernetes/models/v1beta1_ip_address_list.rb +256 -0
- data/lib/kubernetes/models/v1beta1_ip_address_spec.rb +224 -0
- data/lib/kubernetes/models/v1beta1_json_patch.rb +220 -0
- data/lib/kubernetes/models/v1beta1_lease_candidate.rb +248 -0
- data/lib/kubernetes/models/v1beta1_lease_candidate_list.rb +256 -0
- data/lib/kubernetes/models/v1beta1_lease_candidate_spec.rb +285 -0
- data/lib/kubernetes/models/v1beta1_match_condition.rb +240 -0
- data/lib/kubernetes/models/v1beta1_match_resources.rb +262 -0
- data/lib/kubernetes/models/v1beta1_mutating_admission_policy.rb +248 -0
- data/lib/kubernetes/models/v1beta1_mutating_admission_policy_binding.rb +248 -0
- data/lib/kubernetes/models/v1beta1_mutating_admission_policy_binding_list.rb +256 -0
- data/lib/kubernetes/models/v1beta1_mutating_admission_policy_binding_spec.rb +238 -0
- data/lib/kubernetes/models/v1beta1_mutating_admission_policy_list.rb +256 -0
- data/lib/kubernetes/models/v1beta1_mutating_admission_policy_spec.rb +284 -0
- data/lib/kubernetes/models/v1beta1_mutation.rb +243 -0
- data/lib/kubernetes/models/v1beta1_named_rule_with_operations.rb +280 -0
- data/lib/kubernetes/models/v1beta1_network_device_data.rb +242 -0
- data/lib/kubernetes/models/v1beta1_opaque_device_configuration.rb +240 -0
- data/lib/kubernetes/models/v1beta1_param_kind.rb +230 -0
- data/lib/kubernetes/models/v1beta1_param_ref.rb +249 -0
- data/lib/kubernetes/models/v1beta1_parent_reference.rb +260 -0
- data/lib/kubernetes/models/v1beta1_pod_certificate_request.rb +262 -0
- data/lib/kubernetes/models/v1beta1_pod_certificate_request_list.rb +256 -0
- data/lib/kubernetes/models/v1beta1_pod_certificate_request_spec.rb +409 -0
- data/lib/kubernetes/models/v1beta1_pod_certificate_request_status.rb +262 -0
- data/lib/kubernetes/models/v1beta1_resource_claim.rb +262 -0
- data/lib/kubernetes/models/v1beta1_resource_claim_consumer_reference.rb +265 -0
- data/lib/kubernetes/models/v1beta1_resource_claim_list.rb +256 -0
- data/lib/kubernetes/models/v1beta1_resource_claim_spec.rb +219 -0
- data/lib/kubernetes/models/v1beta1_resource_claim_status.rb +243 -0
- data/lib/kubernetes/models/v1beta1_resource_claim_template.rb +253 -0
- data/lib/kubernetes/models/v1beta1_resource_claim_template_list.rb +256 -0
- data/lib/kubernetes/models/v1beta1_resource_claim_template_spec.rb +233 -0
- data/lib/kubernetes/models/v1beta1_resource_pool.rb +255 -0
- data/lib/kubernetes/models/v1beta1_resource_slice.rb +253 -0
- data/lib/kubernetes/models/v1beta1_resource_slice_list.rb +256 -0
- data/lib/kubernetes/models/v1beta1_resource_slice_spec.rb +302 -0
- data/lib/kubernetes/models/v1beta1_service_cidr.rb +257 -0
- data/lib/kubernetes/models/v1beta1_service_cidr_list.rb +256 -0
- data/lib/kubernetes/models/v1beta1_service_cidr_spec.rb +222 -0
- data/lib/kubernetes/models/v1beta1_service_cidr_status.rb +222 -0
- data/lib/kubernetes/models/v1beta1_storage_version_migration.rb +257 -0
- data/lib/kubernetes/models/v1beta1_storage_version_migration_list.rb +256 -0
- data/lib/kubernetes/models/v1beta1_storage_version_migration_spec.rb +224 -0
- data/lib/kubernetes/models/v1beta1_storage_version_migration_status.rb +232 -0
- data/lib/kubernetes/models/v1beta1_variable.rb +240 -0
- data/lib/kubernetes/models/v1beta1_volume_attributes_class.rb +266 -0
- data/lib/kubernetes/models/v1beta1_volume_attributes_class_list.rb +256 -0
- data/lib/kubernetes/models/v1beta2_allocated_device_status.rb +296 -0
- data/lib/kubernetes/models/v1beta2_allocation_result.rb +238 -0
- data/lib/kubernetes/models/v1beta2_capacity_request_policy.rb +241 -0
- data/lib/kubernetes/models/v1beta2_capacity_request_policy_range.rb +245 -0
- data/lib/kubernetes/models/v1beta2_capacity_requirements.rb +222 -0
- data/lib/kubernetes/models/v1beta2_cel_device_selector.rb +225 -0
- data/lib/kubernetes/models/v1beta2_counter.rb +225 -0
- data/lib/kubernetes/models/v1beta2_counter_set.rb +242 -0
- data/lib/kubernetes/models/v1beta2_device.rb +346 -0
- data/lib/kubernetes/models/v1beta2_device_allocation_configuration.rb +246 -0
- data/lib/kubernetes/models/v1beta2_device_allocation_result.rb +234 -0
- data/lib/kubernetes/models/v1beta2_device_attribute.rb +250 -0
- data/lib/kubernetes/models/v1beta2_device_capacity.rb +234 -0
- data/lib/kubernetes/models/v1beta2_device_claim.rb +246 -0
- data/lib/kubernetes/models/v1beta2_device_claim_configuration.rb +231 -0
- data/lib/kubernetes/models/v1beta2_device_class.rb +253 -0
- data/lib/kubernetes/models/v1beta2_device_class_configuration.rb +219 -0
- data/lib/kubernetes/models/v1beta2_device_class_list.rb +256 -0
- data/lib/kubernetes/models/v1beta2_device_class_spec.rb +244 -0
- data/lib/kubernetes/models/v1beta2_device_constraint.rb +242 -0
- data/lib/kubernetes/models/v1beta2_device_counter_consumption.rb +242 -0
- data/lib/kubernetes/models/v1beta2_device_request.rb +246 -0
- data/lib/kubernetes/models/v1beta2_device_request_allocation_result.rb +338 -0
- data/lib/kubernetes/models/v1beta2_device_selector.rb +219 -0
- data/lib/kubernetes/models/v1beta2_device_sub_request.rb +293 -0
- data/lib/kubernetes/models/v1beta2_device_taint.rb +260 -0
- data/lib/kubernetes/models/v1beta2_device_toleration.rb +260 -0
- data/lib/kubernetes/models/v1beta2_exact_device_request.rb +288 -0
- data/lib/kubernetes/models/v1beta2_network_device_data.rb +242 -0
- data/lib/kubernetes/models/v1beta2_opaque_device_configuration.rb +240 -0
- data/lib/kubernetes/models/v1beta2_resource_claim.rb +262 -0
- data/lib/kubernetes/models/v1beta2_resource_claim_consumer_reference.rb +265 -0
- data/lib/kubernetes/models/v1beta2_resource_claim_list.rb +256 -0
- data/lib/kubernetes/models/v1beta2_resource_claim_spec.rb +219 -0
- data/lib/kubernetes/models/v1beta2_resource_claim_status.rb +243 -0
- data/lib/kubernetes/models/v1beta2_resource_claim_template.rb +253 -0
- data/lib/kubernetes/models/v1beta2_resource_claim_template_list.rb +256 -0
- data/lib/kubernetes/models/v1beta2_resource_claim_template_spec.rb +233 -0
- data/lib/kubernetes/models/v1beta2_resource_pool.rb +255 -0
- data/lib/kubernetes/models/v1beta2_resource_slice.rb +253 -0
- data/lib/kubernetes/models/v1beta2_resource_slice_list.rb +256 -0
- data/lib/kubernetes/models/v1beta2_resource_slice_spec.rb +302 -0
- data/lib/kubernetes/models/v2_api_group_discovery.rb +248 -0
- data/lib/kubernetes/models/v2_api_group_discovery_list.rb +253 -0
- data/lib/kubernetes/models/v2_api_resource_discovery.rb +316 -0
- data/lib/kubernetes/models/v2_api_subresource_discovery.rb +262 -0
- data/lib/kubernetes/models/v2_api_version_discovery.rb +246 -0
- data/lib/kubernetes/models/v2_container_resource_metric_source.rb +254 -0
- data/lib/kubernetes/models/v2_container_resource_metric_status.rb +254 -0
- data/lib/kubernetes/models/v2_cross_version_object_reference.rb +250 -0
- data/lib/kubernetes/models/v2_external_metric_source.rb +238 -0
- data/lib/kubernetes/models/v2_external_metric_status.rb +238 -0
- data/lib/kubernetes/models/v2_horizontal_pod_autoscaler.rb +257 -0
- data/lib/kubernetes/models/v2_horizontal_pod_autoscaler_behavior.rb +228 -0
- data/lib/kubernetes/models/v2_horizontal_pod_autoscaler_condition.rb +270 -0
- data/lib/kubernetes/models/v2_horizontal_pod_autoscaler_list.rb +256 -0
- data/lib/kubernetes/models/v2_horizontal_pod_autoscaler_spec.rb +270 -0
- data/lib/kubernetes/models/v2_horizontal_pod_autoscaler_status.rb +279 -0
- data/lib/kubernetes/models/v2_hpa_scaling_policy.rb +255 -0
- data/lib/kubernetes/models/v2_hpa_scaling_rules.rb +252 -0
- data/lib/kubernetes/models/v2_metric_identifier.rb +234 -0
- data/lib/kubernetes/models/v2_metric_spec.rb +270 -0
- data/lib/kubernetes/models/v2_metric_status.rb +270 -0
- data/lib/kubernetes/models/v2_metric_target.rb +255 -0
- data/lib/kubernetes/models/v2_metric_value_status.rb +240 -0
- data/lib/kubernetes/models/v2_object_metric_source.rb +252 -0
- data/lib/kubernetes/models/v2_object_metric_status.rb +252 -0
- data/lib/kubernetes/models/v2_pods_metric_source.rb +238 -0
- data/lib/kubernetes/models/v2_pods_metric_status.rb +238 -0
- data/lib/kubernetes/models/v2_resource_metric_source.rb +239 -0
- data/lib/kubernetes/models/v2_resource_metric_status.rb +239 -0
- data/lib/kubernetes/models/v2beta1_api_group_discovery.rb +248 -0
- data/lib/kubernetes/models/v2beta1_api_group_discovery_list.rb +253 -0
- data/lib/kubernetes/models/v2beta1_api_resource_discovery.rb +316 -0
- data/lib/kubernetes/models/v2beta1_api_subresource_discovery.rb +262 -0
- data/lib/kubernetes/models/v2beta1_api_version_discovery.rb +246 -0
- data/lib/kubernetes/models/version_info.rb +378 -0
- data/lib/kubernetes/utils.rb +123 -0
- data/lib/kubernetes/version.rb +15 -0
- data/lib/kubernetes/watch.rb +4 -0
- data/lib/kubernetes.rb +836 -0
- metadata +914 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Copyright 2017 The Kubernetes Authors.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
#
|
|
15
|
+
|
|
16
|
+
require 'kubernetes/configuration'
|
|
17
|
+
require 'kubernetes/config/error'
|
|
18
|
+
|
|
19
|
+
module Kubernetes
|
|
20
|
+
# The InClusterConfig class represents configuration for authn/authz in a
|
|
21
|
+
# Kubernetes cluster.
|
|
22
|
+
class InClusterConfig
|
|
23
|
+
# rubocop:disable Metrics/LineLength
|
|
24
|
+
SERVICE_HOST_ENV_NAME = 'KUBERNETES_SERVICE_HOST'.freeze
|
|
25
|
+
SERVICE_PORT_ENV_NAME = 'KUBERNETES_SERVICE_PORT'.freeze
|
|
26
|
+
SERVICE_TOKEN_FILENAME = '/var/run/secrets/kubernetes.io/serviceaccount/token'.freeze
|
|
27
|
+
SERVICE_CA_CERT_FILENAME = '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt'.freeze
|
|
28
|
+
TOKEN_REFRESH_PERIOD = 60 # 1 minute
|
|
29
|
+
# rubocop:enable Metrics/LineLength
|
|
30
|
+
|
|
31
|
+
attr_accessor :host
|
|
32
|
+
attr_accessor :port
|
|
33
|
+
attr_accessor :token
|
|
34
|
+
attr_accessor :token_expires_at
|
|
35
|
+
|
|
36
|
+
def validate
|
|
37
|
+
unless (self.host = env[SERVICE_HOST_ENV_NAME]) &&
|
|
38
|
+
(self.port = env[SERVICE_PORT_ENV_NAME])
|
|
39
|
+
raise ConfigError, 'Service host/port is not set'
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# rubocop:disable Metrics/LineLength
|
|
43
|
+
raise ConfigError, 'Service token file does not exists' unless File.file?(token_file)
|
|
44
|
+
raise ConfigError, 'Service token file does not exists' unless File.file?(ca_cert)
|
|
45
|
+
# rubocop:enable Metrics/LineLength
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def self.in_cluster?
|
|
49
|
+
File.exist?(SERVICE_TOKEN_FILENAME) &&
|
|
50
|
+
File.exist?(SERVICE_CA_CERT_FILENAME)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def env
|
|
54
|
+
@env ||= ENV
|
|
55
|
+
@env
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def ca_cert
|
|
59
|
+
@ca_cert ||= SERVICE_CA_CERT_FILENAME
|
|
60
|
+
@ca_cert
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def token_file
|
|
64
|
+
@token_file ||= SERVICE_TOKEN_FILENAME
|
|
65
|
+
@token_file
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def token_refresh_period
|
|
69
|
+
@token_refresh_period ||= TOKEN_REFRESH_PERIOD
|
|
70
|
+
@token_refresh_period
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def load_token
|
|
74
|
+
File.open(token_file) do |io|
|
|
75
|
+
self.token = io.read.chomp
|
|
76
|
+
self.token_expires_at = Time.now + token_refresh_period
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# rubocop:disable Metrics/AbcSize
|
|
81
|
+
def configure(configuration, try_refresh_token: true)
|
|
82
|
+
validate
|
|
83
|
+
load_token
|
|
84
|
+
configuration.api_key['authorization'] = "Bearer #{token}"
|
|
85
|
+
configuration.scheme = 'https'
|
|
86
|
+
configuration.host = "#{host}:#{port}"
|
|
87
|
+
configuration.ssl_ca_cert = ca_cert
|
|
88
|
+
return unless try_refresh_token
|
|
89
|
+
|
|
90
|
+
Configuration.instance_variable_set(:@in_cluster_config, self)
|
|
91
|
+
Configuration.prepend(Module.new do
|
|
92
|
+
# rubocop:disable Metrics/LineLength
|
|
93
|
+
def api_key_with_prefix(identifier)
|
|
94
|
+
in_cluster_config = self.class.instance_variable_get(:@in_cluster_config)
|
|
95
|
+
if identifier == 'authorization' && @api_key.key?(identifier) && in_cluster_config.token_expires_at <= Time.now
|
|
96
|
+
in_cluster_config.load_token
|
|
97
|
+
@api_key[identifier] = 'Bearer ' + in_cluster_config.token
|
|
98
|
+
end
|
|
99
|
+
super identifier
|
|
100
|
+
end
|
|
101
|
+
# rubocop:enable Metrics/LineLength
|
|
102
|
+
end)
|
|
103
|
+
end
|
|
104
|
+
# rubocop:enable Metrics/AbcSize
|
|
105
|
+
end
|
|
106
|
+
end
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# Copyright 2017 The Kubernetes Authors.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
|
|
15
|
+
require 'base64'
|
|
16
|
+
require 'yaml'
|
|
17
|
+
require 'tempfile'
|
|
18
|
+
require 'uri'
|
|
19
|
+
|
|
20
|
+
require 'kubernetes/api_client'
|
|
21
|
+
require 'kubernetes/configuration'
|
|
22
|
+
require 'kubernetes/config/error'
|
|
23
|
+
require 'kubernetes/utils'
|
|
24
|
+
|
|
25
|
+
module Kubernetes
|
|
26
|
+
# rubocop:disable ClassLength
|
|
27
|
+
# The KubeConfig class represents configuration based on a YAML
|
|
28
|
+
# representation.
|
|
29
|
+
class KubeConfig
|
|
30
|
+
KUBE_CONFIG_DEFAULT_LOCATION = File.expand_path('~/.kube/config')
|
|
31
|
+
AUTH_KEY = 'authorization'.freeze
|
|
32
|
+
|
|
33
|
+
class << self
|
|
34
|
+
def list_context_names(config_file = KUBE_CONFIG_DEFAULT_LOCATION)
|
|
35
|
+
config = new(config_file)
|
|
36
|
+
config.list_context_names
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
attr_accessor :path
|
|
41
|
+
attr_writer :config
|
|
42
|
+
|
|
43
|
+
def initialize(path = nil, config_hash = nil)
|
|
44
|
+
@path = path
|
|
45
|
+
@config = config_hash
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def base_path
|
|
49
|
+
File.dirname(path)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def config
|
|
53
|
+
@config ||= File.open(path) do |io|
|
|
54
|
+
::YAML.safe_load(io.read)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def configure(configuration, context_name = nil)
|
|
59
|
+
context = context_name ? find_context(context_name) : current_context
|
|
60
|
+
return unless context
|
|
61
|
+
|
|
62
|
+
user = context['user'] || {}
|
|
63
|
+
cluster = context['cluster'] || {}
|
|
64
|
+
|
|
65
|
+
configuration.tap do |c|
|
|
66
|
+
c.api_key[AUTH_KEY] = user[AUTH_KEY] if user[AUTH_KEY]
|
|
67
|
+
|
|
68
|
+
init_server(cluster, user, c)
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def init_server(cluster, user, config)
|
|
73
|
+
return unless (server = cluster['server'])
|
|
74
|
+
|
|
75
|
+
server = URI.parse(server)
|
|
76
|
+
config.scheme = server.scheme
|
|
77
|
+
host = "#{server.host}:#{server.port}"
|
|
78
|
+
host = "#{server.userinfo}@#{host}" if server.userinfo
|
|
79
|
+
config.host = host
|
|
80
|
+
config.base_path = server.path
|
|
81
|
+
|
|
82
|
+
return unless server.scheme == 'https'
|
|
83
|
+
|
|
84
|
+
setup_ssl(cluster, user, config)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def setup_ssl(cluster, user, config)
|
|
88
|
+
# rubocop:disable DoubleNegation
|
|
89
|
+
config.verify_ssl = !!cluster['verify-ssl']
|
|
90
|
+
config.verify_ssl_host = !!cluster['verify-ssl']
|
|
91
|
+
# rubocop:enable DoubleNegation
|
|
92
|
+
|
|
93
|
+
config.ssl_ca_cert = cluster['certificate-authority']
|
|
94
|
+
config.cert_file = user['client-certificate']
|
|
95
|
+
config.key_file = user['client-key']
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def find_cluster(name)
|
|
99
|
+
find_by_name(config['clusters'], 'cluster', name).tap do |cluster|
|
|
100
|
+
Kubernetes.create_temp_file_and_set(cluster, 'certificate-authority')
|
|
101
|
+
cluster['verify_ssl'] = !cluster['insecure-skip-tls-verify']
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
def find_user(name)
|
|
106
|
+
find_by_name(config['users'], 'user', name).tap do |user|
|
|
107
|
+
next unless user
|
|
108
|
+
|
|
109
|
+
Kubernetes.create_temp_file_and_set(user, 'client-certificate')
|
|
110
|
+
Kubernetes.create_temp_file_and_set(user, 'client-key')
|
|
111
|
+
load_token_file(user)
|
|
112
|
+
setup_auth(user)
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
def load_token_file(user)
|
|
117
|
+
# If tokenFile is specified, then set token
|
|
118
|
+
return unless !user['token'] && user['tokenFile']
|
|
119
|
+
|
|
120
|
+
File.open(user['tokenFile']) do |io|
|
|
121
|
+
user['token'] = io.read.chomp
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# rubocop:disable AbcSize
|
|
126
|
+
def setup_auth(user)
|
|
127
|
+
# Convert token field to http header
|
|
128
|
+
if user['token']
|
|
129
|
+
user['authorization'] = "Bearer #{user['token']}"
|
|
130
|
+
elsif user['username'] && user['password']
|
|
131
|
+
user_pass = "#{user['username']}:#{user['password']}"
|
|
132
|
+
user['authorization'] = "Basic #{Base64.strict_encode64(user_pass)}"
|
|
133
|
+
elsif user['auth-provider'] && user['auth-provider']['name'] == 'azure'
|
|
134
|
+
token = user['auth-provider']['config']['access-token']
|
|
135
|
+
user['authorization'] = "Bearer #{token}"
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
# rubocop:enable AbcSize
|
|
139
|
+
|
|
140
|
+
def list_context_names
|
|
141
|
+
config['contexts'].map { |e| e['name'] }
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
def find_context(name)
|
|
145
|
+
find_by_name(config['contexts'], 'context', name).tap do |context|
|
|
146
|
+
if context['cluster']
|
|
147
|
+
context['cluster'] = find_cluster(context['cluster'])
|
|
148
|
+
end
|
|
149
|
+
if context['user'] && !context['user'].empty?
|
|
150
|
+
context['user'] = find_user(context['user'])
|
|
151
|
+
end
|
|
152
|
+
end
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
def current_context
|
|
156
|
+
return unless config
|
|
157
|
+
|
|
158
|
+
find_context(config['current-context'])
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
protected
|
|
162
|
+
|
|
163
|
+
def find_by_name(list, key, name)
|
|
164
|
+
obj = list.find { |item| item['name'] == name }
|
|
165
|
+
raise ConfigError, "#{key}: #{name} not found" unless obj
|
|
166
|
+
|
|
167
|
+
obj[key].dup if obj[key]
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
# rubocop:enable ClassLength
|
|
171
|
+
end
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Kubernetes
|
|
3
|
+
|
|
4
|
+
#No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: release-1.35
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 5.1.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
module Kubernetes
|
|
14
|
+
class Configuration
|
|
15
|
+
# Defines url scheme
|
|
16
|
+
attr_accessor :scheme
|
|
17
|
+
|
|
18
|
+
# Defines url host
|
|
19
|
+
attr_accessor :host
|
|
20
|
+
|
|
21
|
+
# Defines url base path
|
|
22
|
+
attr_accessor :base_path
|
|
23
|
+
|
|
24
|
+
# Define server configuration index
|
|
25
|
+
attr_accessor :server_index
|
|
26
|
+
|
|
27
|
+
# Define server operation configuration index
|
|
28
|
+
attr_accessor :server_operation_index
|
|
29
|
+
|
|
30
|
+
# Default server variables
|
|
31
|
+
attr_accessor :server_variables
|
|
32
|
+
|
|
33
|
+
# Default server operation variables
|
|
34
|
+
attr_accessor :server_operation_variables
|
|
35
|
+
|
|
36
|
+
# Defines API keys used with API Key authentications.
|
|
37
|
+
#
|
|
38
|
+
# @return [Hash] key: parameter name, value: parameter value (API key)
|
|
39
|
+
#
|
|
40
|
+
# @example parameter name is "api_key", API key is "xxx" (e.g. "api_key=xxx" in query string)
|
|
41
|
+
# config.api_key['api_key'] = 'xxx'
|
|
42
|
+
attr_accessor :api_key
|
|
43
|
+
|
|
44
|
+
# Defines API key prefixes used with API Key authentications.
|
|
45
|
+
#
|
|
46
|
+
# @return [Hash] key: parameter name, value: API key prefix
|
|
47
|
+
#
|
|
48
|
+
# @example parameter name is "Authorization", API key prefix is "Token" (e.g. "Authorization: Token xxx" in headers)
|
|
49
|
+
# config.api_key_prefix['api_key'] = 'Token'
|
|
50
|
+
attr_accessor :api_key_prefix
|
|
51
|
+
|
|
52
|
+
# Defines the username used with HTTP basic authentication.
|
|
53
|
+
#
|
|
54
|
+
# @return [String]
|
|
55
|
+
attr_accessor :username
|
|
56
|
+
|
|
57
|
+
# Defines the password used with HTTP basic authentication.
|
|
58
|
+
#
|
|
59
|
+
# @return [String]
|
|
60
|
+
attr_accessor :password
|
|
61
|
+
|
|
62
|
+
# Defines the access token (Bearer) used with OAuth2.
|
|
63
|
+
attr_accessor :access_token
|
|
64
|
+
|
|
65
|
+
# Set this to enable/disable debugging. When enabled (set to true), HTTP request/response
|
|
66
|
+
# details will be logged with `logger.debug` (see the `logger` attribute).
|
|
67
|
+
# Default to false.
|
|
68
|
+
#
|
|
69
|
+
# @return [true, false]
|
|
70
|
+
attr_accessor :debugging
|
|
71
|
+
|
|
72
|
+
# Defines the logger used for debugging.
|
|
73
|
+
# Default to `Rails.logger` (when in Rails) or logging to STDOUT.
|
|
74
|
+
#
|
|
75
|
+
# @return [#debug]
|
|
76
|
+
attr_accessor :logger
|
|
77
|
+
|
|
78
|
+
# Defines the temporary folder to store downloaded files
|
|
79
|
+
# (for API endpoints that have file response).
|
|
80
|
+
# Default to use `Tempfile`.
|
|
81
|
+
#
|
|
82
|
+
# @return [String]
|
|
83
|
+
attr_accessor :temp_folder_path
|
|
84
|
+
|
|
85
|
+
# The time limit for HTTP request in seconds.
|
|
86
|
+
# Default to 0 (never times out).
|
|
87
|
+
attr_accessor :timeout
|
|
88
|
+
|
|
89
|
+
# Set this to false to skip client side validation in the operation.
|
|
90
|
+
# Default to true.
|
|
91
|
+
# @return [true, false]
|
|
92
|
+
attr_accessor :client_side_validation
|
|
93
|
+
|
|
94
|
+
### TLS/SSL setting
|
|
95
|
+
# Set this to false to skip verifying SSL certificate when calling API from https server.
|
|
96
|
+
# Default to true.
|
|
97
|
+
#
|
|
98
|
+
# @note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
|
|
99
|
+
#
|
|
100
|
+
# @return [true, false]
|
|
101
|
+
attr_accessor :verify_ssl
|
|
102
|
+
|
|
103
|
+
### TLS/SSL setting
|
|
104
|
+
# Set this to false to skip verifying SSL host name
|
|
105
|
+
# Default to true.
|
|
106
|
+
#
|
|
107
|
+
# @note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
|
|
108
|
+
#
|
|
109
|
+
# @return [true, false]
|
|
110
|
+
attr_accessor :verify_ssl_host
|
|
111
|
+
|
|
112
|
+
### TLS/SSL setting
|
|
113
|
+
# Set this to customize the certificate file to verify the peer.
|
|
114
|
+
#
|
|
115
|
+
# @return [String] the path to the certificate file
|
|
116
|
+
#
|
|
117
|
+
# @see The `cainfo` option of Typhoeus, `--cert` option of libcurl. Related source code:
|
|
118
|
+
# https://github.com/typhoeus/typhoeus/blob/master/lib/typhoeus/easy_factory.rb#L145
|
|
119
|
+
attr_accessor :ssl_ca_cert
|
|
120
|
+
|
|
121
|
+
### TLS/SSL setting
|
|
122
|
+
# Client certificate file (for client certificate)
|
|
123
|
+
attr_accessor :cert_file
|
|
124
|
+
|
|
125
|
+
### TLS/SSL setting
|
|
126
|
+
# Client private key file (for client certificate)
|
|
127
|
+
attr_accessor :key_file
|
|
128
|
+
|
|
129
|
+
# Set this to customize parameters encoding of array parameter with multi collectionFormat.
|
|
130
|
+
# Default to nil.
|
|
131
|
+
#
|
|
132
|
+
# @see The params_encoding option of Ethon. Related source code:
|
|
133
|
+
# https://github.com/typhoeus/ethon/blob/master/lib/ethon/easy/queryable.rb#L96
|
|
134
|
+
attr_accessor :params_encoding
|
|
135
|
+
|
|
136
|
+
attr_accessor :inject_format
|
|
137
|
+
|
|
138
|
+
attr_accessor :force_ending_format
|
|
139
|
+
|
|
140
|
+
def initialize
|
|
141
|
+
@scheme = 'http'
|
|
142
|
+
@host = 'localhost'
|
|
143
|
+
@base_path = ''
|
|
144
|
+
@server_index = 0
|
|
145
|
+
@server_operation_index = {}
|
|
146
|
+
@server_variables = {}
|
|
147
|
+
@server_operation_variables = {}
|
|
148
|
+
@api_key = {}
|
|
149
|
+
@api_key_prefix = {}
|
|
150
|
+
@timeout = 0
|
|
151
|
+
@client_side_validation = true
|
|
152
|
+
@verify_ssl = true
|
|
153
|
+
@verify_ssl_host = true
|
|
154
|
+
@params_encoding = nil
|
|
155
|
+
@cert_file = nil
|
|
156
|
+
@key_file = nil
|
|
157
|
+
@debugging = false
|
|
158
|
+
@inject_format = false
|
|
159
|
+
@force_ending_format = false
|
|
160
|
+
@logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
|
|
161
|
+
|
|
162
|
+
yield(self) if block_given?
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
# The default Configuration object.
|
|
166
|
+
def self.default
|
|
167
|
+
@@default ||= Configuration.new
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
def configure
|
|
171
|
+
yield(self) if block_given?
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
def scheme=(scheme)
|
|
175
|
+
# remove :// from scheme
|
|
176
|
+
@scheme = scheme.sub(/:\/\//, '')
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
def host=(host)
|
|
180
|
+
# remove http(s):// and anything after a slash
|
|
181
|
+
@host = host.sub(/https?:\/\//, '').split('/').first
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
def base_path=(base_path)
|
|
185
|
+
# Add leading and trailing slashes to base_path
|
|
186
|
+
@base_path = "/#{base_path}".gsub(/\/+/, '/')
|
|
187
|
+
@base_path = '' if @base_path == '/'
|
|
188
|
+
end
|
|
189
|
+
|
|
190
|
+
# Returns base URL for specified operation based on server settings
|
|
191
|
+
def base_url(operation = nil)
|
|
192
|
+
index = server_operation_index.fetch(operation, server_index)
|
|
193
|
+
return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if index == nil
|
|
194
|
+
|
|
195
|
+
server_url(index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
# Gets API key (with prefix if set).
|
|
199
|
+
# @param [String] param_name the parameter name of API key auth
|
|
200
|
+
def api_key_with_prefix(param_name, param_alias = nil)
|
|
201
|
+
key = @api_key[param_name]
|
|
202
|
+
key = @api_key.fetch(param_alias, key) unless param_alias.nil?
|
|
203
|
+
if @api_key_prefix[param_name]
|
|
204
|
+
"#{@api_key_prefix[param_name]} #{key}"
|
|
205
|
+
else
|
|
206
|
+
key
|
|
207
|
+
end
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
# Gets Basic Auth token string
|
|
211
|
+
def basic_auth_token
|
|
212
|
+
'Basic ' + ["#{username}:#{password}"].pack('m').delete("\r\n")
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
# Returns Auth Settings hash for api client.
|
|
216
|
+
def auth_settings
|
|
217
|
+
{
|
|
218
|
+
'BearerToken' =>
|
|
219
|
+
{
|
|
220
|
+
type: 'api_key',
|
|
221
|
+
in: 'header',
|
|
222
|
+
key: 'authorization',
|
|
223
|
+
value: api_key_with_prefix('BearerToken')
|
|
224
|
+
},
|
|
225
|
+
}
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
# Returns an array of Server setting
|
|
229
|
+
def server_settings
|
|
230
|
+
[
|
|
231
|
+
{
|
|
232
|
+
url: "",
|
|
233
|
+
description: "No description provided",
|
|
234
|
+
}
|
|
235
|
+
]
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
def operation_server_settings
|
|
239
|
+
{
|
|
240
|
+
}
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
# Returns URL based on server settings
|
|
244
|
+
#
|
|
245
|
+
# @param index array index of the server settings
|
|
246
|
+
# @param variables hash of variable and the corresponding value
|
|
247
|
+
def server_url(index, variables = {}, servers = nil)
|
|
248
|
+
servers = server_settings if servers == nil
|
|
249
|
+
|
|
250
|
+
# check array index out of bound
|
|
251
|
+
if (index < 0 || index >= servers.size)
|
|
252
|
+
fail ArgumentError, "Invalid index #{index} when selecting the server. Must be less than #{servers.size}"
|
|
253
|
+
end
|
|
254
|
+
|
|
255
|
+
server = servers[index]
|
|
256
|
+
url = server[:url]
|
|
257
|
+
|
|
258
|
+
return url unless server.key? :variables
|
|
259
|
+
|
|
260
|
+
# go through variable and assign a value
|
|
261
|
+
server[:variables].each do |name, variable|
|
|
262
|
+
if variables.key?(name)
|
|
263
|
+
if (!server[:variables][name].key?(:enum_values) || server[:variables][name][:enum_values].include?(variables[name]))
|
|
264
|
+
url.gsub! "{" + name.to_s + "}", variables[name]
|
|
265
|
+
else
|
|
266
|
+
fail ArgumentError, "The variable `#{name}` in the server URL has invalid value #{variables[name]}. Must be #{server[:variables][name][:enum_values]}."
|
|
267
|
+
end
|
|
268
|
+
else
|
|
269
|
+
# use default value
|
|
270
|
+
url.gsub! "{" + name.to_s + "}", server[:variables][name][:default_value]
|
|
271
|
+
end
|
|
272
|
+
end
|
|
273
|
+
|
|
274
|
+
url
|
|
275
|
+
end
|
|
276
|
+
end
|
|
277
|
+
end
|