From b4d130174c567bd82ee905eab92f86cbc11803f1 Mon Sep 17 00:00:00 2001 From: Elad Tabak Date: Sun, 28 Jul 2024 12:48:25 +0300 Subject: [PATCH 1/4] Add v2aplha1 model --- .../v2alpha1/UpgradePolicyStateValue.model | 40 +++ ...d_on_additional_catalog_sources_type.model | 30 +++ .../v2alpha1/add_on_config_type.model | 25 ++ .../add_on_environment_variable_type.model | 24 ++ .../v2alpha1/add_on_inquiries_resource.model | 69 +++++ .../v2alpha1/add_on_inquiry_resource.model | 22 ++ .../v2alpha1/add_on_install_mode_type.model | 26 ++ .../add_on_installation_billing.model | 23 ++ .../add_on_installation_parameter_type.model | 21 ++ .../add_on_installation_resource.model | 32 +++ .../add_on_installation_state_type.model | 33 +++ .../v2alpha1/add_on_installation_type.model | 45 ++++ .../add_on_installations_resource.model | 77 ++++++ .../v2alpha1/add_on_namespace_type.model | 26 ++ .../add_on_parameter_option_type.model | 32 +++ .../v2alpha1/add_on_parameter_type.model | 59 +++++ .../add_on_requirement_status_type.model | 26 ++ .../v2alpha1/add_on_requirement_type.model | 35 +++ .../v2alpha1/add_on_resource.model | 37 +++ .../add_on_secret_propagation_type.model | 30 +++ .../v2alpha1/add_on_sub_operator_type.model | 30 +++ .../clusters_mgmt/v2alpha1/add_on_type.model | 87 +++++++ .../v2alpha1/add_on_version_resource.model | 33 +++ .../v2alpha1/add_on_version_type.model | 52 ++++ .../v2alpha1/add_on_versions_resource.model | 76 ++++++ .../v2alpha1/add_ons_resource.model | 76 ++++++ .../addon_upgrade_policies_resource.model | 45 ++++ .../addon_upgrade_policy_resource.model | 37 +++ .../addon_upgrade_policy_state_resource.model | 28 ++ .../addon_upgrade_policy_state_type.model | 25 ++ .../v2alpha1/addon_upgrade_policy_type.model | 39 +++ .../v2alpha1/admin_credentials_type.model | 25 ++ .../v2alpha1/alert_info_type.model | 24 ++ .../v2alpha1/alert_severity_type.model | 27 ++ .../v2alpha1/alerts_info_type.model | 20 ++ .../alerts_metric_query_resource.model | 22 ++ .../v2alpha1/ami_override_type.model | 27 ++ .../v2alpha1/audit_log_type.model | 21 ++ .../v2alpha1/autoscaler_resource.model | 38 +++ ...caler_resource_limits_gpu_limit_type.model | 26 ++ .../autoscaler_resource_limits_type.model | 33 +++ .../autoscaler_scale_down_config_type.model | 35 +++ .../available_regions_inquiry_resource.model | 44 ++++ .../v2alpha1/aws_etcd_enryption_type.model | 21 ++ .../v2alpha1/aws_flavour_type.model | 38 +++ .../v2alpha1/aws_http_token_state_type.model | 24 ++ ...structure_access_role_grant_resource.model | 27 ++ ...ructure_access_role_grant_state_type.model | 35 +++ ...nfrastructure_access_role_grant_type.model | 36 +++ ...tructure_access_role_grants_resource.model | 78 ++++++ ..._infrastructure_access_role_resource.model | 23 ++ ...nfrastructure_access_role_state_type.model | 32 +++ .../aws_infrastructure_access_role_type.model | 28 ++ ...infrastructure_access_roles_resource.model | 69 +++++ .../v2alpha1/aws_inquiries_resource.model | 53 ++++ .../v2alpha1/aws_machine_pool_type.model | 40 +++ .../v2alpha1/aws_node_pool_type.model | 47 ++++ .../aws_region_machine_types_resource.model | 37 +++ .../clusters_mgmt/v2alpha1/aws_resource.model | 26 ++ .../v2alpha1/aws_security_group_type.model | 27 ++ .../aws_spot_market_options_type.model | 22 ++ .../v2alpha1/aws_sts_account_role_type.model | 25 ++ ...s_sts_account_roles_inquiry_resource.model | 50 ++++ .../aws_sts_policies_inquiry_resource.model | 65 +++++ .../v2alpha1/aws_sts_policies_type.model | 31 +++ .../v2alpha1/aws_sts_role_type.model | 43 +++ .../v2alpha1/aws_subnetwork_type.model | 36 +++ model/clusters_mgmt/v2alpha1/aws_type.model | 76 ++++++ .../aws_validate_credentials_resource.model | 24 ++ .../v2alpha1/aws_volume_type.model | 24 ++ .../v2alpha1/azure_node_pool_type.model | 58 +++++ model/clusters_mgmt/v2alpha1/azure_type.model | 84 ++++++ .../v2alpha1/billing_model_item_type.model | 30 +++ .../v2alpha1/billing_model_type.model | 40 +++ .../break_glass_credential_resource.model | 23 ++ .../break_glass_credential_type.model | 43 +++ .../break_glass_credentials_resource.model | 79 ++++++ .../v2alpha1/byo_oidc_type.model | 26 ++ model/clusters_mgmt/v2alpha1/ccs_type.model | 24 ++ .../cloud_available_regions_resource.model | 45 ++++ .../v2alpha1/cloud_provider_resource.model | 35 +++ .../v2alpha1/cloud_provider_type.model | 28 ++ .../v2alpha1/cloud_providers_resource.model | 74 ++++++ .../v2alpha1/cloud_region_resource.model | 32 +++ .../v2alpha1/cloud_region_type.model | 55 ++++ .../v2alpha1/cloud_regions_resource.model | 53 ++++ .../v2alpha1/cluster_api_type.model | 23 ++ .../v2alpha1/cluster_autoscaler_type.model | 57 ++++ .../cluster_configuration_mode_type.model | 25 ++ .../v2alpha1/cluster_console_type.model | 21 ++ .../v2alpha1/cluster_credentials_type.model | 22 ++ .../v2alpha1/cluster_deployment_type.model | 21 ++ .../v2alpha1/cluster_health_state_type.model | 27 ++ .../v2alpha1/cluster_link_type.model | 24 ++ .../cluster_nodes_root_volume_type.model | 24 ++ .../v2alpha1/cluster_nodes_type.model | 56 ++++ .../v2alpha1/cluster_operator_info_type.model | 28 ++ .../cluster_operators_info_type.model | 20 ++ ...ster_operators_metric_query_resource.model | 22 ++ .../cluster_operators_state_type.model | 27 ++ .../v2alpha1/cluster_registration_type.model | 49 ++++ .../v2alpha1/cluster_resource.model | 216 +++++++++++++++ .../v2alpha1/cluster_state_type.model | 51 ++++ .../v2alpha1/cluster_status_resource.model | 22 ++ .../v2alpha1/cluster_status_type.model | 45 ++++ .../clusters_mgmt/v2alpha1/cluster_type.model | 245 ++++++++++++++++++ .../v2alpha1/cluster_vpc_resource.model | 22 ++ .../v2alpha1/clusterdeployment_resource.model | 22 ++ .../v2alpha1/clusters_resource.model | 79 ++++++ .../v2alpha1/component_route_kind_type.model | 22 ++ .../v2alpha1/component_route_type.model | 24 ++ .../v2alpha1/control_plane_resource.model | 23 ++ ...trol_plane_upgrade_policies_resource.model | 45 ++++ ...ontrol_plane_upgrade_policy_resource.model | 32 +++ .../control_plane_upgrade_policy_type.model | 48 ++++ ..._node_roles_os_metric_query_resource.model | 23 ++ ..._total_node_role_os_metric_node_type.model | 29 +++ ...totals_node_role_os_metric_node_type.model | 22 ++ .../v2alpha1/credential_request_type.model | 30 +++ .../v2alpha1/credentials_resource.model | 23 ++ .../v2alpha1/delete_protection_resource.model | 25 ++ .../v2alpha1/delete_protection_type.model | 25 ++ .../v2alpha1/dns_domain_resource.model | 27 ++ .../v2alpha1/dns_domain_type.model | 30 +++ .../v2alpha1/dns_domains_resource.model | 59 +++++ model/clusters_mgmt/v2alpha1/dns_type.model | 62 +++++ .../encryption_key_inquiry_type.model | 21 ++ .../encryption_keys_inquiry_resource.model | 44 ++++ .../v2alpha1/environment_resource.model | 33 +++ .../v2alpha1/environment_type.model | 30 +++ model/clusters_mgmt/v2alpha1/errors.model | 20 ++ model/clusters_mgmt/v2alpha1/event_type.model | 27 ++ .../v2alpha1/events_resource.model | 29 +++ .../external_auth_config_resource.model | 27 ++ .../v2alpha1/external_auth_config_type.model | 28 ++ .../v2alpha1/external_auth_resource.model | 32 +++ .../v2alpha1/external_auth_type.model | 129 +++++++++ .../v2alpha1/external_auths_resource.model | 44 ++++ .../external_configuration_resource.model | 41 +++ .../external_configuration_type.model | 27 ++ .../v2alpha1/flavour_nodes_type.model | 21 ++ .../v2alpha1/flavour_resource.model | 34 +++ .../clusters_mgmt/v2alpha1/flavour_type.model | 42 +++ .../v2alpha1/flavours_resource.model | 69 +++++ .../v2alpha1/gcp_authentication_type.model | 27 ++ .../v2alpha1/gcp_encryption_key_type.model | 27 ++ .../v2alpha1/gcp_flavour_type.model | 38 +++ .../v2alpha1/gcp_image_override_type.model | 30 +++ .../v2alpha1/gcp_inquiries_resource.model | 40 +++ .../v2alpha1/gcp_network_type.model | 30 +++ .../gcp_region_machine_types_resource.model | 37 +++ .../v2alpha1/gcp_security_type.model | 21 ++ model/clusters_mgmt/v2alpha1/gcp_type.model | 43 +++ .../v2alpha1/gcp_volume_type.model | 21 ++ .../v2alpha1/group_resource.model | 28 ++ model/clusters_mgmt/v2alpha1/group_type.model | 21 ++ .../v2alpha1/groups_resource.model | 39 +++ .../v2alpha1/htpasswd_user_resource.model | 32 +++ .../v2alpha1/htpasswd_user_type.model | 31 +++ .../v2alpha1/htpasswd_users_resource.model | 63 +++++ .../v2alpha1/hypershift_config_type.model | 30 +++ .../v2alpha1/hypershift_resource.model | 28 ++ .../v2alpha1/hypershift_type.model | 26 ++ .../v2alpha1/identity_provider_resource.model | 37 +++ .../v2alpha1/identity_provider_type.model | 227 ++++++++++++++++ .../identity_providers_resource.model | 45 ++++ .../v2alpha1/image_overrides_type.model | 21 ++ .../v2alpha1/inflight_check_resource.model | 23 ++ .../v2alpha1/inflight_check_state_type.model | 30 +++ .../v2alpha1/inflight_check_type.model | 37 +++ .../v2alpha1/inflight_checks_resource.model | 40 +++ .../v2alpha1/ingress_resource.model | 32 +++ .../clusters_mgmt/v2alpha1/ingress_type.model | 51 ++++ .../v2alpha1/ingresses_resource.model | 50 ++++ .../v2alpha1/instance_iam_roles.model | 26 ++ .../v2alpha1/key_ring_inquiry_type.model | 21 ++ .../v2alpha1/key_rings_inquiry_resource.model | 44 ++++ .../v2alpha1/kubelet_config_resource.model | 55 ++++ .../v2alpha1/kubelet_config_type.model | 27 ++ .../v2alpha1/kubelet_configs_resource.model | 45 ++++ .../v2alpha1/label_resource.model | 32 +++ model/clusters_mgmt/v2alpha1/label_type.model | 23 ++ .../v2alpha1/labels_resource.model | 45 ++++ .../limited_support_reason_resource.model | 27 ++ ...ted_support_reason_template_resource.model | 23 ++ ...limited_support_reason_template_type.model | 24 ++ ...ed_support_reason_templates_resource.model | 39 +++ .../limited_support_reason_type.model | 39 +++ .../limited_support_reasons_resource.model | 46 ++++ .../v2alpha1/listening_method_type.model | 24 ++ .../v2alpha1/load_balancer_flavor_type.model | 26 ++ .../load_balancer_quota_values_resource.model | 33 +++ .../clusters_mgmt/v2alpha1/log_resource.model | 34 +++ model/clusters_mgmt/v2alpha1/log_type.model | 21 ++ .../v2alpha1/logs_resource.model | 43 +++ .../machine_pool_autoscaling_type.model | 24 ++ ..._pool_aws_security_group_filter_type.model | 21 ++ .../v2alpha1/machine_pool_resource.model | 32 +++ .../v2alpha1/machine_pool_type.model | 50 ++++ .../v2alpha1/machine_pools_resource.model | 45 ++++ .../v2alpha1/machine_type_category_type.model | 30 +++ .../v2alpha1/machine_type_resource.model | 23 ++ .../v2alpha1/machine_type_size_type.model | 28 ++ .../v2alpha1/machine_type_type.model | 48 ++++ .../v2alpha1/machine_types_resource.model | 70 +++++ .../v2alpha1/managedservice_type.model | 23 ++ .../v2alpha1/manifest_resource.model | 32 +++ .../v2alpha1/manifest_type.model | 21 ++ .../v2alpha1/manifests_resource.model | 45 ++++ .../v2alpha1/metric_queries_resource.model | 45 ++++ .../namespace_ownership_policy_type.model | 26 ++ .../clusters_mgmt/v2alpha1/network_type.model | 33 +++ .../network_verification_resource.model | 23 ++ .../v2alpha1/network_verification_type.model | 32 +++ .../network_verifications_resource.model | 29 +++ .../v2alpha1/node_info_type.model | 24 ++ .../v2alpha1/node_pool_autoscaling_type.model | 24 ++ .../node_pool_management_upgrade_type.model | 27 ++ .../v2alpha1/node_pool_resource.model | 37 +++ .../v2alpha1/node_pool_status_type.model | 24 ++ .../v2alpha1/node_pool_type.model | 65 +++++ .../node_pool_upgrade_policies_resource.model | 45 ++++ .../node_pool_upgrade_policy_resource.model | 32 +++ .../node_pool_upgrade_policy_type.model | 51 ++++ .../v2alpha1/node_pools_resource.model | 75 ++++++ model/clusters_mgmt/v2alpha1/node_type.model | 27 ++ .../v2alpha1/nodes_info_type.model | 20 ++ .../nodes_metric_query_resource.model | 22 ++ .../v2alpha1/oidc_config_resource.model | 32 +++ .../v2alpha1/oidc_config_type.model | 51 ++++ .../v2alpha1/oidc_configs_resource.model | 45 ++++ .../v2alpha1/operator_iam_role_resource.model | 22 ++ .../v2alpha1/operator_iam_role_type.model | 33 +++ .../operator_iam_roles_resource.model | 46 ++++ .../v2alpha1/organization_link_type.model | 24 ++ .../pending_delete_cluster_resource.model | 28 ++ .../pending_delete_cluster_type.model | 28 ++ .../pending_delete_clusters_resource.model | 70 +++++ .../v2alpha1/platform_type.model | 33 +++ ...vate_link_cluster_configuration_type.model | 23 ++ ...ink_configuration_principal_resource.model | 28 ++ ...te_link_configuration_principal_type.model | 20 ++ ...nk_configuration_principals_resource.model | 61 +++++ ...e_link_configuration_principals_type.model | 21 ++ .../private_link_configuration_resource.model | 27 ++ .../private_link_configuration_type.model | 23 ++ .../v2alpha1/processor_type_type.model | 24 ++ .../product_minimal_version_resource.model | 23 ++ .../product_minimal_version_type.model | 24 ++ .../product_minimal_versions_resource.model | 70 +++++ .../v2alpha1/product_resource.model | 31 +++ .../product_technology_preview_resource.model | 23 ++ .../product_technology_preview_type.model | 27 ++ ...product_technology_previews_resource.model | 70 +++++ .../clusters_mgmt/v2alpha1/product_type.model | 21 ++ .../v2alpha1/products_resource.model | 70 +++++ .../v2alpha1/provider_data_inquiry_type.model | 45 ++++ .../v2alpha1/provision_shard_resource.model | 32 +++ .../provision_shard_topology_type.model | 22 ++ .../v2alpha1/provision_shard_type.model | 58 +++++ .../v2alpha1/provision_shards_resource.model | 61 +++++ model/clusters_mgmt/v2alpha1/proxy_type.model | 30 +++ .../v2alpha1/release_image_details_type.model | 23 ++ .../v2alpha1/release_images_type.model | 23 ++ .../v2alpha1/resource_range_type.model | 20 ++ .../v2alpha1/resource_resource.model | 24 ++ .../v2alpha1/resource_type.model | 25 ++ .../v2alpha1/resources_resource.model | 30 +++ .../role_policy_binding_status_type.model | 20 ++ .../v2alpha1/role_policy_binding_type.model | 25 ++ .../role_policy_bindings_resource.model | 35 +++ .../v2alpha1/role_policy_type.model | 21 ++ .../v2alpha1/root_resource.model | 139 ++++++++++ .../v2alpha1/server_config_type.model | 27 ++ ..._node_roles_os_metric_query_resource.model | 23 ++ ..._total_node_role_os_metric_node_type.model | 30 +++ ...totals_node_role_os_metric_node_type.model | 22 ++ .../v2alpha1/storage_quota_type.model | 24 ++ .../storage_quota_values_resource.model | 33 +++ .../sts_credential_request_type.model | 26 ++ ...credential_requests_inquiry_resource.model | 34 +++ .../v2alpha1/sts_operator_type.model | 33 +++ .../sts_support_jump_role_resource.model | 22 ++ .../v2alpha1/sts_support_jump_role_type.model | 21 ++ model/clusters_mgmt/v2alpha1/sts_type.model | 55 ++++ .../subnet_network_verification_type.model | 29 +++ .../v2alpha1/subscription_type.model | 19 ++ .../v2alpha1/syncset_resource.model | 32 +++ .../clusters_mgmt/v2alpha1/syncset_type.model | 21 ++ .../v2alpha1/syncsets_resource.model | 45 ++++ model/clusters_mgmt/v2alpha1/taint_type.model | 28 ++ .../v2alpha1/trusted_ip_resource.model | 23 ++ .../v2alpha1/trusted_ips_resource.model | 33 +++ .../v2alpha1/trusted_ips_type.model | 21 ++ .../v2alpha1/tuning_config_resource.model | 32 +++ .../v2alpha1/tuning_config_type.model | 24 ++ .../v2alpha1/tuning_configs_resource.model | 45 ++++ .../v2alpha1/upgrade_policies_resource.model | 45 ++++ .../v2alpha1/upgrade_policy_resource.model | 37 +++ .../upgrade_policy_schedule_type.model | 27 ++ .../upgrade_policy_state_resource.model | 28 ++ .../v2alpha1/upgrade_policy_state_type.model | 25 ++ .../v2alpha1/upgrade_policy_type.model | 39 +++ .../upgrade_policy_upgrade_type.model | 34 +++ .../v2alpha1/user_resource.model | 27 ++ model/clusters_mgmt/v2alpha1/user_type.model | 19 ++ .../v2alpha1/users_resource.model | 45 ++++ model/clusters_mgmt/v2alpha1/value_type.model | 41 +++ .../version_gate_agreement_resource.model | 27 ++ .../version_gate_agreement_type.model | 24 ++ .../version_gate_agreements_resource.model | 45 ++++ .../v2alpha1/version_gate_resource.model | 27 ++ .../v2alpha1/version_gate_type.model | 43 +++ .../v2alpha1/version_gates_resource.model | 73 ++++++ .../v2alpha1/version_resource.model | 23 ++ .../clusters_mgmt/v2alpha1/version_type.model | 62 +++++ .../v2alpha1/versions_resource.model | 72 +++++ .../v2alpha1/vpc_inquiry_type.model | 39 +++ .../v2alpha1/vpcs_inquiry_resource.model | 44 ++++ .../v2alpha1/wif_config_resource.model | 29 +++ .../v2alpha1/wif_config_type.model | 55 ++++ .../v2alpha1/wif_configs_resources.model | 77 ++++++ .../v2alpha1/wif_service_account_type.model | 44 ++++ .../v2alpha1/wif_template_resource.model | 23 ++ .../v2alpha1/wif_template_type.model | 22 ++ .../v2alpha1/wif_templates_resource.model | 73 ++++++ .../v2alpha1/wildcard_policy_type.model | 26 ++ 327 files changed, 12326 insertions(+) create mode 100644 model/clusters_mgmt/v2alpha1/UpgradePolicyStateValue.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_additional_catalog_sources_type.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_config_type.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_environment_variable_type.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_inquiries_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_inquiry_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_install_mode_type.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_installation_billing.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_installation_parameter_type.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_installation_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_installation_state_type.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_installation_type.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_installations_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_namespace_type.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_parameter_option_type.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_parameter_type.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_requirement_status_type.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_requirement_type.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_secret_propagation_type.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_sub_operator_type.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_type.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_version_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_version_type.model create mode 100644 model/clusters_mgmt/v2alpha1/add_on_versions_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/add_ons_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/addon_upgrade_policies_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/addon_upgrade_policy_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_type.model create mode 100644 model/clusters_mgmt/v2alpha1/addon_upgrade_policy_type.model create mode 100644 model/clusters_mgmt/v2alpha1/admin_credentials_type.model create mode 100644 model/clusters_mgmt/v2alpha1/alert_info_type.model create mode 100644 model/clusters_mgmt/v2alpha1/alert_severity_type.model create mode 100644 model/clusters_mgmt/v2alpha1/alerts_info_type.model create mode 100644 model/clusters_mgmt/v2alpha1/alerts_metric_query_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/ami_override_type.model create mode 100644 model/clusters_mgmt/v2alpha1/audit_log_type.model create mode 100644 model/clusters_mgmt/v2alpha1/autoscaler_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_gpu_limit_type.model create mode 100644 model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_type.model create mode 100644 model/clusters_mgmt/v2alpha1/autoscaler_scale_down_config_type.model create mode 100644 model/clusters_mgmt/v2alpha1/available_regions_inquiry_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_etcd_enryption_type.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_flavour_type.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_http_token_state_type.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_state_type.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_type.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grants_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_state_type.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_type.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_infrastructure_access_roles_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_inquiries_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_machine_pool_type.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_node_pool_type.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_region_machine_types_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_security_group_type.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_spot_market_options_type.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_sts_account_role_type.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_sts_account_roles_inquiry_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_sts_policies_inquiry_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_sts_policies_type.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_sts_role_type.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_subnetwork_type.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_type.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_validate_credentials_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/aws_volume_type.model create mode 100644 model/clusters_mgmt/v2alpha1/azure_node_pool_type.model create mode 100644 model/clusters_mgmt/v2alpha1/azure_type.model create mode 100644 model/clusters_mgmt/v2alpha1/billing_model_item_type.model create mode 100644 model/clusters_mgmt/v2alpha1/billing_model_type.model create mode 100644 model/clusters_mgmt/v2alpha1/break_glass_credential_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/break_glass_credential_type.model create mode 100644 model/clusters_mgmt/v2alpha1/break_glass_credentials_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/byo_oidc_type.model create mode 100644 model/clusters_mgmt/v2alpha1/ccs_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cloud_available_regions_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/cloud_provider_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/cloud_provider_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cloud_providers_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/cloud_region_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/cloud_region_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cloud_regions_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_api_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_autoscaler_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_configuration_mode_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_console_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_credentials_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_deployment_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_health_state_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_link_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_nodes_root_volume_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_nodes_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_operator_info_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_operators_info_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_operators_metric_query_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_operators_state_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_registration_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_state_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_status_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_status_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cluster_vpc_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/clusterdeployment_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/clusters_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/component_route_kind_type.model create mode 100644 model/clusters_mgmt/v2alpha1/component_route_type.model create mode 100644 model/clusters_mgmt/v2alpha1/control_plane_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/control_plane_upgrade_policies_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cpu_total_by_node_roles_os_metric_query_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/cpu_total_node_role_os_metric_node_type.model create mode 100644 model/clusters_mgmt/v2alpha1/cpu_totals_node_role_os_metric_node_type.model create mode 100644 model/clusters_mgmt/v2alpha1/credential_request_type.model create mode 100644 model/clusters_mgmt/v2alpha1/credentials_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/delete_protection_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/delete_protection_type.model create mode 100644 model/clusters_mgmt/v2alpha1/dns_domain_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/dns_domain_type.model create mode 100644 model/clusters_mgmt/v2alpha1/dns_domains_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/dns_type.model create mode 100644 model/clusters_mgmt/v2alpha1/encryption_key_inquiry_type.model create mode 100644 model/clusters_mgmt/v2alpha1/encryption_keys_inquiry_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/environment_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/environment_type.model create mode 100644 model/clusters_mgmt/v2alpha1/errors.model create mode 100644 model/clusters_mgmt/v2alpha1/event_type.model create mode 100644 model/clusters_mgmt/v2alpha1/events_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/external_auth_config_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/external_auth_config_type.model create mode 100644 model/clusters_mgmt/v2alpha1/external_auth_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/external_auth_type.model create mode 100644 model/clusters_mgmt/v2alpha1/external_auths_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/external_configuration_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/external_configuration_type.model create mode 100644 model/clusters_mgmt/v2alpha1/flavour_nodes_type.model create mode 100644 model/clusters_mgmt/v2alpha1/flavour_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/flavour_type.model create mode 100644 model/clusters_mgmt/v2alpha1/flavours_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/gcp_authentication_type.model create mode 100644 model/clusters_mgmt/v2alpha1/gcp_encryption_key_type.model create mode 100644 model/clusters_mgmt/v2alpha1/gcp_flavour_type.model create mode 100644 model/clusters_mgmt/v2alpha1/gcp_image_override_type.model create mode 100644 model/clusters_mgmt/v2alpha1/gcp_inquiries_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/gcp_network_type.model create mode 100644 model/clusters_mgmt/v2alpha1/gcp_region_machine_types_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/gcp_security_type.model create mode 100644 model/clusters_mgmt/v2alpha1/gcp_type.model create mode 100644 model/clusters_mgmt/v2alpha1/gcp_volume_type.model create mode 100644 model/clusters_mgmt/v2alpha1/group_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/group_type.model create mode 100644 model/clusters_mgmt/v2alpha1/groups_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/htpasswd_user_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/htpasswd_user_type.model create mode 100644 model/clusters_mgmt/v2alpha1/htpasswd_users_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/hypershift_config_type.model create mode 100644 model/clusters_mgmt/v2alpha1/hypershift_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/hypershift_type.model create mode 100644 model/clusters_mgmt/v2alpha1/identity_provider_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/identity_provider_type.model create mode 100644 model/clusters_mgmt/v2alpha1/identity_providers_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/image_overrides_type.model create mode 100644 model/clusters_mgmt/v2alpha1/inflight_check_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/inflight_check_state_type.model create mode 100644 model/clusters_mgmt/v2alpha1/inflight_check_type.model create mode 100644 model/clusters_mgmt/v2alpha1/inflight_checks_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/ingress_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/ingress_type.model create mode 100644 model/clusters_mgmt/v2alpha1/ingresses_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/instance_iam_roles.model create mode 100644 model/clusters_mgmt/v2alpha1/key_ring_inquiry_type.model create mode 100644 model/clusters_mgmt/v2alpha1/key_rings_inquiry_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/kubelet_config_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/kubelet_config_type.model create mode 100644 model/clusters_mgmt/v2alpha1/kubelet_configs_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/label_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/label_type.model create mode 100644 model/clusters_mgmt/v2alpha1/labels_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/limited_support_reason_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/limited_support_reason_template_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/limited_support_reason_template_type.model create mode 100644 model/clusters_mgmt/v2alpha1/limited_support_reason_templates_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/limited_support_reason_type.model create mode 100644 model/clusters_mgmt/v2alpha1/limited_support_reasons_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/listening_method_type.model create mode 100644 model/clusters_mgmt/v2alpha1/load_balancer_flavor_type.model create mode 100644 model/clusters_mgmt/v2alpha1/load_balancer_quota_values_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/log_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/log_type.model create mode 100644 model/clusters_mgmt/v2alpha1/logs_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/machine_pool_autoscaling_type.model create mode 100644 model/clusters_mgmt/v2alpha1/machine_pool_aws_security_group_filter_type.model create mode 100644 model/clusters_mgmt/v2alpha1/machine_pool_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/machine_pool_type.model create mode 100644 model/clusters_mgmt/v2alpha1/machine_pools_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/machine_type_category_type.model create mode 100644 model/clusters_mgmt/v2alpha1/machine_type_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/machine_type_size_type.model create mode 100644 model/clusters_mgmt/v2alpha1/machine_type_type.model create mode 100644 model/clusters_mgmt/v2alpha1/machine_types_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/managedservice_type.model create mode 100644 model/clusters_mgmt/v2alpha1/manifest_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/manifest_type.model create mode 100644 model/clusters_mgmt/v2alpha1/manifests_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/metric_queries_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/namespace_ownership_policy_type.model create mode 100644 model/clusters_mgmt/v2alpha1/network_type.model create mode 100644 model/clusters_mgmt/v2alpha1/network_verification_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/network_verification_type.model create mode 100644 model/clusters_mgmt/v2alpha1/network_verifications_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/node_info_type.model create mode 100644 model/clusters_mgmt/v2alpha1/node_pool_autoscaling_type.model create mode 100644 model/clusters_mgmt/v2alpha1/node_pool_management_upgrade_type.model create mode 100644 model/clusters_mgmt/v2alpha1/node_pool_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/node_pool_status_type.model create mode 100644 model/clusters_mgmt/v2alpha1/node_pool_type.model create mode 100644 model/clusters_mgmt/v2alpha1/node_pool_upgrade_policies_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_type.model create mode 100644 model/clusters_mgmt/v2alpha1/node_pools_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/node_type.model create mode 100644 model/clusters_mgmt/v2alpha1/nodes_info_type.model create mode 100644 model/clusters_mgmt/v2alpha1/nodes_metric_query_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/oidc_config_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/oidc_config_type.model create mode 100644 model/clusters_mgmt/v2alpha1/oidc_configs_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/operator_iam_role_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/operator_iam_role_type.model create mode 100644 model/clusters_mgmt/v2alpha1/operator_iam_roles_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/organization_link_type.model create mode 100644 model/clusters_mgmt/v2alpha1/pending_delete_cluster_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/pending_delete_cluster_type.model create mode 100644 model/clusters_mgmt/v2alpha1/pending_delete_clusters_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/platform_type.model create mode 100644 model/clusters_mgmt/v2alpha1/private_link_cluster_configuration_type.model create mode 100644 model/clusters_mgmt/v2alpha1/private_link_configuration_principal_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/private_link_configuration_principal_type.model create mode 100644 model/clusters_mgmt/v2alpha1/private_link_configuration_principals_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/private_link_configuration_principals_type.model create mode 100644 model/clusters_mgmt/v2alpha1/private_link_configuration_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/private_link_configuration_type.model create mode 100644 model/clusters_mgmt/v2alpha1/processor_type_type.model create mode 100644 model/clusters_mgmt/v2alpha1/product_minimal_version_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/product_minimal_version_type.model create mode 100644 model/clusters_mgmt/v2alpha1/product_minimal_versions_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/product_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/product_technology_preview_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/product_technology_preview_type.model create mode 100644 model/clusters_mgmt/v2alpha1/product_technology_previews_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/product_type.model create mode 100644 model/clusters_mgmt/v2alpha1/products_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/provider_data_inquiry_type.model create mode 100644 model/clusters_mgmt/v2alpha1/provision_shard_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/provision_shard_topology_type.model create mode 100644 model/clusters_mgmt/v2alpha1/provision_shard_type.model create mode 100644 model/clusters_mgmt/v2alpha1/provision_shards_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/proxy_type.model create mode 100644 model/clusters_mgmt/v2alpha1/release_image_details_type.model create mode 100644 model/clusters_mgmt/v2alpha1/release_images_type.model create mode 100644 model/clusters_mgmt/v2alpha1/resource_range_type.model create mode 100644 model/clusters_mgmt/v2alpha1/resource_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/resource_type.model create mode 100644 model/clusters_mgmt/v2alpha1/resources_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/role_policy_binding_status_type.model create mode 100644 model/clusters_mgmt/v2alpha1/role_policy_binding_type.model create mode 100644 model/clusters_mgmt/v2alpha1/role_policy_bindings_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/role_policy_type.model create mode 100644 model/clusters_mgmt/v2alpha1/root_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/server_config_type.model create mode 100644 model/clusters_mgmt/v2alpha1/socket_total_by_node_roles_os_metric_query_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/socket_total_node_role_os_metric_node_type.model create mode 100644 model/clusters_mgmt/v2alpha1/socket_totals_node_role_os_metric_node_type.model create mode 100644 model/clusters_mgmt/v2alpha1/storage_quota_type.model create mode 100644 model/clusters_mgmt/v2alpha1/storage_quota_values_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/sts_credential_request_type.model create mode 100644 model/clusters_mgmt/v2alpha1/sts_credential_requests_inquiry_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/sts_operator_type.model create mode 100644 model/clusters_mgmt/v2alpha1/sts_support_jump_role_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/sts_support_jump_role_type.model create mode 100644 model/clusters_mgmt/v2alpha1/sts_type.model create mode 100644 model/clusters_mgmt/v2alpha1/subnet_network_verification_type.model create mode 100644 model/clusters_mgmt/v2alpha1/subscription_type.model create mode 100644 model/clusters_mgmt/v2alpha1/syncset_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/syncset_type.model create mode 100644 model/clusters_mgmt/v2alpha1/syncsets_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/taint_type.model create mode 100644 model/clusters_mgmt/v2alpha1/trusted_ip_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/trusted_ips_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/trusted_ips_type.model create mode 100644 model/clusters_mgmt/v2alpha1/tuning_config_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/tuning_config_type.model create mode 100644 model/clusters_mgmt/v2alpha1/tuning_configs_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/upgrade_policies_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/upgrade_policy_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/upgrade_policy_schedule_type.model create mode 100644 model/clusters_mgmt/v2alpha1/upgrade_policy_state_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/upgrade_policy_state_type.model create mode 100644 model/clusters_mgmt/v2alpha1/upgrade_policy_type.model create mode 100644 model/clusters_mgmt/v2alpha1/upgrade_policy_upgrade_type.model create mode 100644 model/clusters_mgmt/v2alpha1/user_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/user_type.model create mode 100644 model/clusters_mgmt/v2alpha1/users_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/value_type.model create mode 100644 model/clusters_mgmt/v2alpha1/version_gate_agreement_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/version_gate_agreement_type.model create mode 100644 model/clusters_mgmt/v2alpha1/version_gate_agreements_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/version_gate_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/version_gate_type.model create mode 100644 model/clusters_mgmt/v2alpha1/version_gates_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/version_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/version_type.model create mode 100644 model/clusters_mgmt/v2alpha1/versions_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/vpc_inquiry_type.model create mode 100644 model/clusters_mgmt/v2alpha1/vpcs_inquiry_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/wif_config_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/wif_config_type.model create mode 100644 model/clusters_mgmt/v2alpha1/wif_configs_resources.model create mode 100644 model/clusters_mgmt/v2alpha1/wif_service_account_type.model create mode 100644 model/clusters_mgmt/v2alpha1/wif_template_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/wif_template_type.model create mode 100644 model/clusters_mgmt/v2alpha1/wif_templates_resource.model create mode 100644 model/clusters_mgmt/v2alpha1/wildcard_policy_type.model diff --git a/model/clusters_mgmt/v2alpha1/UpgradePolicyStateValue.model b/model/clusters_mgmt/v2alpha1/UpgradePolicyStateValue.model new file mode 100644 index 00000000..9229b131 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/UpgradePolicyStateValue.model @@ -0,0 +1,40 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Overall state of a cluster upgrade policy. +enum UpgradePolicyStateValue { + // Upgrade policy set but an upgrade wasn't scheduled yet + Pending + + // Upgrade policy set and was scheduled + Scheduled + + // Upgrade started + Started + + // Upgrade completed (temporary state - the policy will be removed in case of + // manual upgrade, or move back to pending in case of automatic upgrade) + Completed + + // Upgrade failed + Failed + + // Upgrade is taking longer than expected + Delayed + + // Upgrade got cancelled (temporary state - the policy will get removed). + Cancelled +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_additional_catalog_sources_type.model b/model/clusters_mgmt/v2alpha1/add_on_additional_catalog_sources_type.model new file mode 100644 index 00000000..1df0d133 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_additional_catalog_sources_type.model @@ -0,0 +1,30 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an addon catalog source object used by addon versions. +struct AdditionalCatalogSource { + // ID of the additional catalog source + ID String + + // Name of the additional catalog source. + Name String + + // Image of the additional catalog source. + Image String + + // Indicates is this additional catalog source is enabled for the addon + Enabled Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_config_type.model b/model/clusters_mgmt/v2alpha1/add_on_config_type.model new file mode 100644 index 00000000..b652e145 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_config_type.model @@ -0,0 +1,25 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an add-on config. +// The attributes under it are to be used by the addon once its installed in the cluster. +class AddOnConfig { + // List of environment variables for the addon + AddOnEnvironmentVariables []AddOnEnvironmentVariable + + // List of secret propagations for the addon + SecretPropagations []AddOnSecretPropagation +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_environment_variable_type.model b/model/clusters_mgmt/v2alpha1/add_on_environment_variable_type.model new file mode 100644 index 00000000..d336a347 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_environment_variable_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an add-on env object. +class AddOnEnvironmentVariable { + // Name of the env object. + Name String + + // Value of the env object. + Value String +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_inquiries_resource.model b/model/clusters_mgmt/v2alpha1/add_on_inquiries_resource.model new file mode 100644 index 00000000..c5242d97 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_inquiries_resource.model @@ -0,0 +1,69 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages add-on inquiries, inquiries perform validation of add-on(s) on a per cluster basis +// based on add-on conditions and requirements. +resource AddonInquiries { + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of an + // SQL statement, but using the names of the attributes of the add-on instead of + // the names of the columns of a table. For example, in order to retrieve all the + // add-ons with a name starting with `my` the value should be: + // + // ```sql + // name like 'my%' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the add-ons + // that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the add-on instead of + // the names of the columns of a table. For example, in order to sort the add-ons + // descending by name the value should be: + // + // ```sql + // name desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of add-ons. + out Items []AddOn + } + + locator AddonInquiry { + target AddonInquiry + variable AddonID + } +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/add_on_inquiry_resource.model new file mode 100644 index 00000000..3cfb460d --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_inquiry_resource.model @@ -0,0 +1,22 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific add-on inquiry +resource AddonInquiry { + method Get { + out Body AddOn + } +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_install_mode_type.model b/model/clusters_mgmt/v2alpha1/add_on_install_mode_type.model new file mode 100644 index 00000000..05bb66b0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_install_mode_type.model @@ -0,0 +1,26 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an add-on InstallMode field. +enum AddOnInstallMode { + // This mode means that the the addon CRD exists in a single specific namespace. + // This namespace is reflected by the TargetNamespace addon field + OwnNamespace + + // This mode means that the addon is deployed in all namespaces. + // However, the addon status is retrieved from the target namespace + AllNamespaces +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_installation_billing.model b/model/clusters_mgmt/v2alpha1/add_on_installation_billing.model new file mode 100644 index 00000000..6f8e052e --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_installation_billing.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an add-on installation billing. +class AddOnInstallationBilling { + // Billing Model for addon resources + BillingModel BillingModel + // Account ID for billing market place + BillingMarketplaceAccount String +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_installation_parameter_type.model b/model/clusters_mgmt/v2alpha1/add_on_installation_parameter_type.model new file mode 100644 index 00000000..a812581b --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_installation_parameter_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an add-on installation parameter. +class AddOnInstallationParameter { + // Value of the parameter. + Value String +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_installation_resource.model b/model/clusters_mgmt/v2alpha1/add_on_installation_resource.model new file mode 100644 index 00000000..c9c79563 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_installation_resource.model @@ -0,0 +1,32 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific add-on installation. +resource AddOnInstallation { + // Retrieves the details of the add-on installation. + method Get { + out Body AddOnInstallation + } + + // Updates the add-on installation. + method Update { + in out Body AddOnInstallation + } + + // Delete an add-on installation and remove it from the collection of add-on installations on the cluster. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_installation_state_type.model b/model/clusters_mgmt/v2alpha1/add_on_installation_state_type.model new file mode 100644 index 00000000..1c2f2e4c --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_installation_state_type.model @@ -0,0 +1,33 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an add-on installation State field. +enum AddOnInstallationState { + // The add-on is in pending state. + Pending + + // The add-on is still being installed. + Installing + + // The add-on is being deleted. + Deleting + + // Error during installation. + Failed + + // The add-on is ready to be used. + Ready +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_installation_type.model b/model/clusters_mgmt/v2alpha1/add_on_installation_type.model new file mode 100644 index 00000000..09e82ba4 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_installation_type.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an add-on installation in a cluster. +class AddOnInstallation { + // Link to add-on attached to this cluster. + link Addon AddOn + + // Link to the installed version of this add-on. + link AddonVersion AddOnVersion + + // Overall state of the add-on installation. + State AddOnInstallationState + + // Reason for the current State. + StateDescription String + + // Version of the operator installed by the add-on. + OperatorVersion String + + // Billing details for add-on installation resource + Billing AddOnInstallationBilling + + // List of add-on parameters for this add-on installation. + link Parameters []AddOnInstallationParameter + + // Date and time when the add-on was initially installed in the cluster. + CreationTimestamp Date + + // Date and time when the add-on installation information was last updated. + UpdatedTimestamp Date +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_installations_resource.model b/model/clusters_mgmt/v2alpha1/add_on_installations_resource.model new file mode 100644 index 00000000..dab05826 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_installations_resource.model @@ -0,0 +1,77 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of add-on installations. +resource AddOnInstallations { + // Retrieves the list of add-on installations. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of an + // SQL statement, but using the names of the attributes of the add-on installation + // instead of the names of the columns of a table. For example, in order to retrieve + // all the add-on installations with a name starting with `my` the value should be: + // + // ```sql + // name like 'my%' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the add-on + // installations that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the add-on installation + // instead of the names of the columns of a table. For example, in order to sort the + // add-on installations descending by name the value should be: + // + // ```sql + // name desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of add-on installations. + out Items []AddOnInstallation + } + + // Create a new add-on installation and add it to the collection of add-on installations on the cluster. + method Add { + // Description of the add-on installation. + in out Body AddOnInstallation + } + + // Returns a reference to the service that manages a specific add-on installation. + locator Addoninstallation { + target AddOnInstallation + variable ID + } +} + diff --git a/model/clusters_mgmt/v2alpha1/add_on_namespace_type.model b/model/clusters_mgmt/v2alpha1/add_on_namespace_type.model new file mode 100644 index 00000000..dd2b9809 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_namespace_type.model @@ -0,0 +1,26 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +class AddOnNamespace{ + // Name of the namespace. + Name String + + // Labels to be applied to this namespace. + Labels [String]String + + // Annotations to be applied to this namespace. + Annotations [String]String +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_parameter_option_type.model b/model/clusters_mgmt/v2alpha1/add_on_parameter_option_type.model new file mode 100644 index 00000000..7d18b94f --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_parameter_option_type.model @@ -0,0 +1,32 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an add-on parameter option. +struct AddOnParameterOption { + + // Name of the add-on parameter option. + Name String + + // Value of the add-on parameter option. + Value String + + // Rank of option to be used in cases where editable direction should be restricted. + Rank Integer + + // List of add-on requirements for this parameter option. + Requirements []AddOnRequirement + +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_parameter_type.model b/model/clusters_mgmt/v2alpha1/add_on_parameter_type.model new file mode 100644 index 00000000..985bc659 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_parameter_type.model @@ -0,0 +1,59 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an add-on parameter. +class AddOnParameter { + + // Link to add-on. + link Addon AddOn + + // Name of the add-on parameter. + Name String + + // Description of the add-on parameter. + Description String + + // Type of value of the add-on parameter. + ValueType String + + // Validation rule for the add-on parameter. + Validation String + + // Error message to return should the parameter be invalid. + ValidationErrMsg String + + // Indicates if this parameter is required by the add-on. + Required Boolean + + // Indicates if this parameter can be edited after creation. + Editable Boolean + + // Restricts if the parameter can be upscaled/downscaled + // Expected values are "up", "down", or "" (no restriction). + EditableDirection String + + // Indicates if this parameter is enabled for the add-on. + Enabled Boolean + + // Indicates the value default for the add-on parameter. + DefaultValue String + + // List of options for the add-on parameter value. + Options []AddOnParameterOption + + // Conditions in which this parameter is valid for + Conditions []AddOnRequirement +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_requirement_status_type.model b/model/clusters_mgmt/v2alpha1/add_on_requirement_status_type.model new file mode 100644 index 00000000..b4d3ebd0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_requirement_status_type.model @@ -0,0 +1,26 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an add-on requirement status. +struct AddOnRequirementStatus { + + // Indicates if this requirement is fulfilled. + Fulfilled Boolean + + // Error messages detailing reasons for unfulfilled requirements. + ErrorMsgs []String + +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_requirement_type.model b/model/clusters_mgmt/v2alpha1/add_on_requirement_type.model new file mode 100644 index 00000000..94cdb177 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_requirement_type.model @@ -0,0 +1,35 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an add-on requirement. +struct AddOnRequirement { + + // ID of the add-on requirement. + ID String + + // Type of resource of the add-on requirement. + Resource String + + // Data for the add-on requirement. + Data [String]Interface + + // Indicates if this requirement is enabled for the add-on. + Enabled Boolean + + // Optional cluster specific status for the add-on. + Status AddOnRequirementStatus + +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_resource.model b/model/clusters_mgmt/v2alpha1/add_on_resource.model new file mode 100644 index 00000000..aeb88a70 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_resource.model @@ -0,0 +1,37 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific add-on. +resource AddOn { + // Retrieves the details of the add-on. + method Get { + out Body AddOn + } + + // Updates the add-on. + method Update { + in out Body AddOn + } + + // Deletes the add-on. + method Delete { + } + + // Reference to the resource that manages the collection of addon versions. + locator Versions { + target AddOnVersions + } +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_secret_propagation_type.model b/model/clusters_mgmt/v2alpha1/add_on_secret_propagation_type.model new file mode 100644 index 00000000..fc46a365 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_secret_propagation_type.model @@ -0,0 +1,30 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an addon secret propagation +struct AddOnSecretPropagation { + // ID of the secret propagation + ID string + + // SourceSecret is location of the source secret + SourceSecret String + + // DestinationSecret is location of the secret to be added + DestinationSecret String + + // Indicates is this secret propagation is enabled for the addon + Enabled Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_sub_operator_type.model b/model/clusters_mgmt/v2alpha1/add_on_sub_operator_type.model new file mode 100644 index 00000000..d8d516e9 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_sub_operator_type.model @@ -0,0 +1,30 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an add-on sub operator. A sub operator is an operator +// who's life cycle is controlled by the add-on umbrella operator. +struct AddOnSubOperator { + + // Name of the add-on sub operator + OperatorName String + + // Namespace of the add-on sub operator + OperatorNamespace String + + // Indicates if the sub operator is enabled for the add-on + Enabled Boolean +} + diff --git a/model/clusters_mgmt/v2alpha1/add_on_type.model b/model/clusters_mgmt/v2alpha1/add_on_type.model new file mode 100644 index 00000000..2ab004d0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_type.model @@ -0,0 +1,87 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an add-on that can be installed in a cluster. +class AddOn { + // Name of the add-on. + Name String + + // Description of the add-on. + Description String + + // Link to documentation about the add-on. + DocsLink String + + // Label used to attach to a cluster deployment when add-on is installed. + Label String + + // Base64-encoded icon representing an add-on. The icon should be in PNG format. + Icon String + + // Indicates if this add-on can be added to clusters. + Enabled Boolean + + // Indicates if this add-on is hidden. + Hidden Boolean + + // Used to determine from where to reserve quota for this add-on. + ResourceName String + + // Used to determine how many units of quota an add-on consumes per resource name. + ResourceCost Float + + // The namespace in which the addon CRD exists. + TargetNamespace String + + // Namespaces which are required by this addon. + Namespaces []AddOnNamespace + + // Common labels to be applied to all resources created by this addon. + CommonLabels [String]String + + // Common annotations to be applied to all resources created by this addon. + CommonAnnotations [String]String + + // The mode in which the addon is deployed. + InstallMode AddOnInstallMode + + // The name of the operator installed by this add-on. + OperatorName String + + // Indicates if this add-on has external resources associated with it + HasExternalResources Boolean + + // List of credentials requests to authenticate operators to access cloud resources. + CredentialsRequests []CredentialRequest + + // List of parameters for this add-on. + link Parameters []AddOnParameter + + // List of requirements for this add-on. + Requirements []AddOnRequirement + + // List of sub operators for this add-on. + SubOperators []AddOnSubOperator + + // Additional configs to be used by the addon once its installed in the cluster. + Config AddOnConfig + + // Link to the current default version of this add-on. + link Version AddOnVersion + + // Indicates if add-on is part of a managed service + ManagedService Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_version_resource.model b/model/clusters_mgmt/v2alpha1/add_on_version_resource.model new file mode 100644 index 00000000..2cac7c71 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_version_resource.model @@ -0,0 +1,33 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific add-on version. +resource AddOnVersion { + // Retrieves the details of the add-on version. + method Get { + out Body AddOnVersion + } + + // Updates the add-on version. + method Update { + in out Body AddOnVersion + } + + // Deletes the add-on version. + method Delete { + } + +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_version_type.model b/model/clusters_mgmt/v2alpha1/add_on_version_type.model new file mode 100644 index 00000000..de299259 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_version_type.model @@ -0,0 +1,52 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an add-on version. +class AddOnVersion { + + // Indicates if this add-on version can be added to clusters. + Enabled Boolean + + // The pull secret name used for this addon version. + PullSecretName String + + // The catalog source image for this add-on version. + SourceImage String + + // The package image for this addon version + PackageImage String + + // The specific addon catalog source channel of packages + Channel String + + // Additional catalog sources associated with this addon version + AdditionalCatalogSources []AdditionalCatalogSource + + // List of parameters for this add-on version. + link Parameters []AddOnParameter + + // List of requirements for this add-on version. + Requirements []AddOnRequirement + + // List of sub operators for this add-on version. + SubOperators []AddOnSubOperator + + // Additional configs to be used by the addon once its installed in the cluster. + Config AddOnConfig + + // AvailableUpgrades is the list of versions this version can be upgraded to. + AvailableUpgrades []String +} diff --git a/model/clusters_mgmt/v2alpha1/add_on_versions_resource.model b/model/clusters_mgmt/v2alpha1/add_on_versions_resource.model new file mode 100644 index 00000000..b30c9f33 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_on_versions_resource.model @@ -0,0 +1,76 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of add-on versions. +resource AddOnVersions { + // Retrieves the list of add-on versions. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of an + // SQL statement, but using the names of the attributes of the add-on version instead + // of the names of the columns of a table. For example, in order to retrieve all the + // add-on versions with an id starting with `0.1` the value should be: + // + // ```sql + // id like '0.1.%' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the add-on + // versions that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the add-on instead of + // the names of the columns of a table. For example, in order to sort the add-on + // versions descending by id the value should be: + // + // ```sql + // id desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of add-on versions. + out Items []AddOnVersion + } + + // Create a new add-on version and add it to the collection of add-ons. + method Add { + // Description of the add-on version. + in out Body AddOnVersion + } + + // Returns a reference to the service that manages a specific add-on version. + locator Version { + target AddOnVersion + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/add_ons_resource.model b/model/clusters_mgmt/v2alpha1/add_ons_resource.model new file mode 100644 index 00000000..42f3f950 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/add_ons_resource.model @@ -0,0 +1,76 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of add-ons. +resource AddOns { + // Retrieves the list of add-ons. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of an + // SQL statement, but using the names of the attributes of the add-on instead of + // the names of the columns of a table. For example, in order to retrieve all the + // add-ons with a name starting with `my` the value should be: + // + // ```sql + // name like 'my%' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the add-ons + // that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the add-on instead of + // the names of the columns of a table. For example, in order to sort the add-ons + // descending by name the value should be: + // + // ```sql + // name desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of add-ons. + out Items []AddOn + } + + // Create a new add-on and add it to the collection of add-ons. + method Add { + // Description of the add-on. + in out Body AddOn + } + + // Returns a reference to the service that manages a specific add-on. + locator Addon { + target AddOn + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/addon_upgrade_policies_resource.model b/model/clusters_mgmt/v2alpha1/addon_upgrade_policies_resource.model new file mode 100644 index 00000000..b5b9e711 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/addon_upgrade_policies_resource.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of addon upgrade policies of a cluster. +resource AddonUpgradePolicies { + // Retrieves the list of addon upgrade policies. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of addon upgrade policy. + out Items []AddonUpgradePolicy + } + + // Adds a new addon upgrade policy to the cluster. + method Add { + // Description of the upgrade policy. + in out Body AddonUpgradePolicy + } + + // Reference to the service that manages an specific addon upgrade policy. + locator AddonUpgradePolicy { + target AddonUpgradePolicy + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_resource.model b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_resource.model new file mode 100644 index 00000000..56dda586 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_resource.model @@ -0,0 +1,37 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific addon upgrade policy. +resource AddonUpgradePolicy { + // Retrieves the details of the addon upgrade policy. + method Get { + out Body AddonUpgradePolicy + } + + // Update the addon upgrade policy. + method Update { + in out Body AddonUpgradePolicy + } + + // Deletes the addon upgrade policy. + method Delete { + } + + // Reference to the state of the addon upgrade policy. + locator State { + target AddonUpgradePolicyState + } +} diff --git a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_resource.model b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_resource.model new file mode 100644 index 00000000..6b771ea0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_resource.model @@ -0,0 +1,28 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific upgrade policy state. +resource AddonUpgradePolicyState { + // Retrieves the details of the upgrade policy state. + method Get { + out Body AddonUpgradePolicyState + } + + // Update the upgrade policy state. + method Update { + in out Body AddonUpgradePolicyState + } +} diff --git a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_type.model b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_type.model new file mode 100644 index 00000000..55d21886 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_type.model @@ -0,0 +1,25 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an addon upgrade policy state that that is set for a cluster. +class AddonUpgradePolicyState { + // State value can be 'pending', 'scheduled', 'cancelled', 'started', 'delayed', + // 'failed' or 'completed'. + Value UpgradePolicyStateValue + + // Description of the state. + Description String +} diff --git a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_type.model b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_type.model new file mode 100644 index 00000000..96e4432e --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_type.model @@ -0,0 +1,39 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an upgrade policy that can be set for a cluster. +class AddonUpgradePolicy { + // Cluster ID this upgrade policy is defined for. + ClusterID String + + // Addon ID this upgrade policy is defined for + AddonID String + + // Schedule cron expression that defines automatic upgrade scheduling. + Schedule String + + // Schedule type can be either "manual" (single execution) or "automatic" (re-occurring). + ScheduleType String + + // Upgrade type specify the type of the upgrade. Must be "ADDON". + UpgradeType String + + // Version is the desired upgrade version. + Version String + + // Next time the upgrade should run. + NextRun Date +} diff --git a/model/clusters_mgmt/v2alpha1/admin_credentials_type.model b/model/clusters_mgmt/v2alpha1/admin_credentials_type.model new file mode 100644 index 00000000..13d67ef2 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/admin_credentials_type.model @@ -0,0 +1,25 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Temporary administrator credentials generated during the installation of the +// cluster. +struct AdminCredentials { + // Cluster administrator user name. + User String + + // Cluster administrator password. + Password String +} diff --git a/model/clusters_mgmt/v2alpha1/alert_info_type.model b/model/clusters_mgmt/v2alpha1/alert_info_type.model new file mode 100644 index 00000000..6253ae05 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/alert_info_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Provides information about a single alert firing on the cluster. +struct AlertInfo { + // The alert name. Multiple alerts with same name are possible. + Name String + + // The alert severity. + Severity AlertSeverity +} diff --git a/model/clusters_mgmt/v2alpha1/alert_severity_type.model b/model/clusters_mgmt/v2alpha1/alert_severity_type.model new file mode 100644 index 00000000..4741c869 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/alert_severity_type.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Severity of a cluster alert received via telemetry. +enum AlertSeverity { + // This level is only used for the "Watchdog" alert that is always on. + None + + // Warning. + Warning + + // Critical. + Critical +} diff --git a/model/clusters_mgmt/v2alpha1/alerts_info_type.model b/model/clusters_mgmt/v2alpha1/alerts_info_type.model new file mode 100644 index 00000000..8e663600 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/alerts_info_type.model @@ -0,0 +1,20 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Provides information about the alerts firing on the cluster. +struct AlertsInfo { + Alerts []AlertInfo +} diff --git a/model/clusters_mgmt/v2alpha1/alerts_metric_query_resource.model b/model/clusters_mgmt/v2alpha1/alerts_metric_query_resource.model new file mode 100644 index 00000000..116239bf --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/alerts_metric_query_resource.model @@ -0,0 +1,22 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Provides information about the alerts firing on the cluster. +resource AlertsMetricQuery { + method Get { + out Body AlertsInfo + } +} diff --git a/model/clusters_mgmt/v2alpha1/ami_override_type.model b/model/clusters_mgmt/v2alpha1/ami_override_type.model new file mode 100644 index 00000000..4a1f4cbe --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/ami_override_type.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// AMIOverride specifies what Amazon Machine Image should be used for a particular product and region. +class AMIOverride { + // Link to the product type. + link Product Product + + // Link to the cloud provider region. + link Region CloudRegion + + // AMI is the id of the Amazon Machine Image. + AMI String +} diff --git a/model/clusters_mgmt/v2alpha1/audit_log_type.model b/model/clusters_mgmt/v2alpha1/audit_log_type.model new file mode 100644 index 00000000..0c31e264 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/audit_log_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Contains the necessary attributes to support audit log forwarding +struct AuditLog { + // ARN of the CloudWatch audit log forwarding role + RoleArn String +} diff --git a/model/clusters_mgmt/v2alpha1/autoscaler_resource.model b/model/clusters_mgmt/v2alpha1/autoscaler_resource.model new file mode 100644 index 00000000..04fe51db --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/autoscaler_resource.model @@ -0,0 +1,38 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages global autoscaler configurations for a cluster. +resource Autoscaler { + // Retrieves the autoscaler of a cluster. + method Get { + out Body ClusterAutoscaler + } + + // Creates a new cluster autoscaler object. + method Post { + in Request ClusterAutoscaler + out Body ClusterAutoscaler + } + + // Updates the cluster autoscaler. + method Update { + in out Body ClusterAutoscaler + } + + // Deletes the cluster autoscaler. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_gpu_limit_type.model b/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_gpu_limit_type.model new file mode 100644 index 00000000..8b7ca70a --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_gpu_limit_type.model @@ -0,0 +1,26 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +struct AutoscalerResourceLimitsGPULimit { + // The type of GPU to associate with the minimum and maximum limits. + // This value is used by the Cluster Autoscaler to identify Nodes that will have GPU capacity by searching + // for it as a label value on the Node objects. For example, Nodes that carry the label key + // `cluster-api/accelerator` with the label value being the same as the Type field will be counted towards + // the resource limits by the Cluster Autoscaler. + Type String + + Range ResourceRange +} diff --git a/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_type.model b/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_type.model new file mode 100644 index 00000000..d731f503 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_type.model @@ -0,0 +1,33 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +struct AutoscalerResourceLimits { + // Maximum number of nodes in all node groups. + // Cluster autoscaler will not grow the cluster beyond this number. + MaxNodesTotal Integer + + // Minimum and maximum number of cores in cluster, in the format :. + // Cluster autoscaler will not scale the cluster beyond these numbers. + Cores ResourceRange + + // Minimum and maximum number of gigabytes of memory in cluster, in the format :. + // Cluster autoscaler will not scale the cluster beyond these numbers. + Memory ResourceRange + + // Minimum and maximum number of different GPUs in cluster, in the format ::. + // Cluster autoscaler will not scale the cluster beyond these numbers. Can be passed multiple times. + GPUS []AutoscalerResourceLimitsGPULimit +} diff --git a/model/clusters_mgmt/v2alpha1/autoscaler_scale_down_config_type.model b/model/clusters_mgmt/v2alpha1/autoscaler_scale_down_config_type.model new file mode 100644 index 00000000..c03e16f9 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/autoscaler_scale_down_config_type.model @@ -0,0 +1,35 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +struct AutoscalerScaleDownConfig { + // Should cluster-autoscaler scale down the cluster. + Enabled Boolean + + // How long a node should be unneeded before it is eligible for scale down. + UnneededTime String + + // Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. + UtilizationThreshold String + + // How long after scale up that scale down evaluation resumes. + DelayAfterAdd String + + // How long after node deletion that scale down evaluation resumes, defaults to scan-interval. + DelayAfterDelete String + + // How long after scale down failure that scale down evaluation resumes. + DelayAfterFailure String +} diff --git a/model/clusters_mgmt/v2alpha1/available_regions_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/available_regions_inquiry_resource.model new file mode 100644 index 00000000..cab8cc7a --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/available_regions_inquiry_resource.model @@ -0,0 +1,44 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific available regions inquiry. +resource AvailableRegionsInquiry { + // Retrieves the list of available regions of the cloud provider. + // IMPORTANT: This list doesn't currently support paging or searching, so the returned + // `page` will always be 1 and `size` and `total` will always be the total number of available regions + // of the provider. + method Search { + // Index of the returned page, where one corresponds to the first page. As this + // collection doesn't support paging the result will always be `1`. + in out Page Integer = 1 + + // Number of items that will be contained in the returned page. As this collection + // doesn't support paging or searching the result will always be the total number of + // regions of the provider. + in out Size Integer = 100 + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. As this collection doesn't support paging or + // searching the result will always be the total number of available regions of the provider. + out Total Integer + + // Retrieved list of regions. + out Items []CloudRegion + + // Cloud provider data needed for the inquiry + in Body CloudProviderData + } +} diff --git a/model/clusters_mgmt/v2alpha1/aws_etcd_enryption_type.model b/model/clusters_mgmt/v2alpha1/aws_etcd_enryption_type.model new file mode 100644 index 00000000..e704709e --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_etcd_enryption_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Contains the necessary attributes to support etcd encryption for AWS based clusters. +struct AwsEtcdEncryption { + // ARN of the KMS to be used for the etcd encryption + KMSKeyARN String +} diff --git a/model/clusters_mgmt/v2alpha1/aws_flavour_type.model b/model/clusters_mgmt/v2alpha1/aws_flavour_type.model new file mode 100644 index 00000000..6cc8eb41 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_flavour_type.model @@ -0,0 +1,38 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Specification for different classes of nodes inside a flavour. +struct AWSFlavour { + // AWS default instance type for the master volume. + MasterInstanceType String + + // AWS default instance type for the worker volume. + // + // User can be overridden specifying in the cluster itself a type for compute node. + ComputeInstanceType String + + // AWS default instance type for the infra volume. + InfraInstanceType String + + // Master volume specification. + MasterVolume AWSVolume + + // Infra volume specification. + InfraVolume AWSVolume + + // Worker volume specification. + WorkerVolume AWSVolume +} diff --git a/model/clusters_mgmt/v2alpha1/aws_http_token_state_type.model b/model/clusters_mgmt/v2alpha1/aws_http_token_state_type.model new file mode 100644 index 00000000..f2e85102 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_http_token_state_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Which Ec2MetadataHttpTokens to use for metadata service interaction options for EC2 instances +enum Ec2MetadataHttpTokens { + // imdsv2 is optional + Optional + + // imdsv2 is required + Required +} diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_resource.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_resource.model new file mode 100644 index 00000000..c691dc5d --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_resource.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific AWS infrastructure access role grant. +resource AWSInfrastructureAccessRoleGrant { + // Retrieves the details of the AWS infrastructure access role grant. + method Get { + out Body AWSInfrastructureAccessRoleGrant + } + + // Deletes the AWS infrastructure access role grant. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_state_type.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_state_type.model new file mode 100644 index 00000000..c72dc527 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_state_type.model @@ -0,0 +1,35 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// State of an AWS infrastructure access role grant. +enum AWSInfrastructureAccessRoleGrantState { + // The access role grant in pending. + Pending + + // Access role has been granted to user. + Ready + + // The attempt to grant access role to user ARN failed. + Failed + + // The access role grant is in the process of being deleted. + Deleting + + // This ia a special state intended for the user know + // that the access role grant has been removed by SRE. + // The user can delete this grant from the DB. + Removed +} diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_type.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_type.model new file mode 100644 index 00000000..851888cc --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_type.model @@ -0,0 +1,36 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an AWS infrastructure access role grant. +class AWSInfrastructureAccessRoleGrant { + // Link to AWS infrastructure access role. + // Grant must use a 'valid' role. + link Role AWSInfrastructureAccessRole + + // The user AWS IAM ARN we want to grant the role. + UserARN String + + // State of the grant. + State AWSInfrastructureAccessRoleGrantState + + // Description of the state. + // Will be empty unless state is 'Failed'. + StateDescription String + + // URL to switch to the role in AWS console. + ConsoleURL String +} + diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grants_resource.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grants_resource.model new file mode 100644 index 00000000..4baeaf16 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grants_resource.model @@ -0,0 +1,78 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of AWS infrastructure access role grants. +resource AWSInfrastructureAccessRoleGrants { + // Retrieves the list of AWS infrastructure access role grants. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of an + // SQL statement, but using the names of the attributes of the AWS infrastructure access role grant + // instead of the names of the columns of a table. For example, in order to retrieve + // all the AWS infrastructure access role grants with a user ARN starting with `user` the value should be: + // + // ```sql + // user_arn like '%user' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the AWS + // infrastructure access role grants that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the AWS infrastructure access role grant + // instead of the names of the columns of a table. For example, in order to sort the + // AWS infrastructure access role grants descending by user ARN the value should be: + // + // ```sql + // user_arn desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of AWS infrastructure access role grants. + out Items []AWSInfrastructureAccessRoleGrant + } + + // Create a new AWS infrastructure access role grant and add it to the collection of + // AWS infrastructure access role grants on the cluster. + method Add { + // Description of the AWS infrastructure access role grant. + in out Body AWSInfrastructureAccessRoleGrant + } + + // Returns a reference to the service that manages a specific AWS infrastructure access role grant. + locator AWSInfrastructureAccessRoleGrant { + target AWSInfrastructureAccessRoleGrant + variable ID + } +} + diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_resource.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_resource.model new file mode 100644 index 00000000..1ba682bf --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_resource.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific aws infrastructure access role. +resource AWSInfrastructureAccessRole { + // Retrieves the details of the aws infrastructure access role. + method Get { + out Body AWSInfrastructureAccessRole + } +} diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_state_type.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_state_type.model new file mode 100644 index 00000000..c17f5056 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_state_type.model @@ -0,0 +1,32 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// State of an AWS infrastructure access role. +enum AWSInfrastructureAccessRoleState { + + // Access role is valid an can be used. + // Only valid roles can be used in a role grant. + Valid + + // Role definition is invalid. Role can't be used. + Invalid + + // This is a special state intended for the user know + // that the access role has been removed by SRE, + // but there are still grants referencing it. + // Role can't be used in a new grant. + Removed +} diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_type.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_type.model new file mode 100644 index 00000000..019835ba --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_type.model @@ -0,0 +1,28 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// A set of acces permissions for AWS resources +class AWSInfrastructureAccessRole { + // Human friendly identifier of the role, for example `Read only`. + DisplayName String + + // Description of the role. + Description String + + // State of the role. + State AWSInfrastructureAccessRoleState + +} diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_roles_resource.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_roles_resource.model new file mode 100644 index 00000000..ed4d313e --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_roles_resource.model @@ -0,0 +1,69 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of aws infrastructure access roles. +resource AWSInfrastructureAccessRoles { + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of an + // SQL statement, but using the names of the attributes of the role instead of + // the names of the columns of a table. For example, in order to retrieve all the + // role with a name starting with `my`the value should be: + // + // ```sql + // display_name like 'my%' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the roles + // that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the role instead of + // the names of the columns of a table. For example, in order to sort the roles + // descending by dislay_name the value should be: + // + // ```sql + // display_name desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of roles. + out Items []AWSInfrastructureAccessRole + } + + // Reference to the resource that manages a specific role. + locator AWSInfrastructureAccessRole { + target AWSInfrastructureAccessRole + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/aws_inquiries_resource.model b/model/clusters_mgmt/v2alpha1/aws_inquiries_resource.model new file mode 100644 index 00000000..305bcbf4 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_inquiries_resource.model @@ -0,0 +1,53 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of aws inquiries. +resource AWSInquiries { + // Reference to the resource that manages a collection of vpcs. + locator Vpcs { + target VpcsInquiry + } + + // Reference to the resource that manages a collection of regions. + locator Regions { + target AvailableRegionsInquiry + } + + // Reference to the resource that manages aws sts policies. + locator STSPolicies { + target AWSSTSPoliciesInquiry + } + + // Reference to the resource that manages sts cred request. + locator STSCredentialRequests { + target STSCredentialRequestsInquiry + } + + // Reference to the resource that manages aws machine types by regions. + locator MachineTypes { + target AWSRegionMachineTypesInquiry + } + + // Reference to the resource that manages aws sts roles. + locator STSAccountRoles { + target AWSSTSAccountRolesInquiry + } + + // Reference to the resource that manages creds validation. + locator ValidateCredentials { + target AwsValidateCredentials + } +} diff --git a/model/clusters_mgmt/v2alpha1/aws_machine_pool_type.model b/model/clusters_mgmt/v2alpha1/aws_machine_pool_type.model new file mode 100644 index 00000000..a4d5e0ed --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_machine_pool_type.model @@ -0,0 +1,40 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of aws machine pool specific parameters. +class AWSMachinePool { + // Use spot instances on this machine pool to reduce cost. + SpotMarketOptions AWSSpotMarketOptions + + // Additional AWS Security Groups to be added machine pool. Note that machine pools can only be worker node at the time. + AdditionalSecurityGroupIds []String + + // Associates nodepool subnets with AWS Outposts. + SubnetOutposts [String]String + + // Associates nodepool availability zones with zone types (e.g. wavelength, local). + AvailabilityZoneTypes [String]String + + // Optional keys and values that the machine pool provisioner will add as AWS tags to all AWS resources it creates. + // + // AWS tags must conform to the following standards: + // - Each resource may have a maximum of 25 tags + // - Tags beginning with "aws:" are reserved for system use and may not be set + // - Tag keys may be between 1 and 128 characters in length + // - Tag values may be between 0 and 256 characters in length + // - Tags may only contain letters, numbers, spaces, and the following characters: [_ . : / = + - @] + Tags [String]String +} diff --git a/model/clusters_mgmt/v2alpha1/aws_node_pool_type.model b/model/clusters_mgmt/v2alpha1/aws_node_pool_type.model new file mode 100644 index 00000000..a88572e7 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_node_pool_type.model @@ -0,0 +1,47 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of aws node pool specific parameters. +class AWSNodePool { + // InstanceType is an ec2 instance type for node instances (e.g. m5.large). + InstanceType String + + // InstanceProfile is the AWS EC2 instance profile, which is a container for an IAM role that the EC2 instance uses. + InstanceProfile String + + // Optional keys and values that the installer will add as tags to all AWS resources it creates. + // + // AWS tags must conform to the following standards: + // - Each resource may have a maximum of 25 tags + // - Tags beginning with "aws:" are reserved for system use and may not be set + // - Tag keys may be between 1 and 128 characters in length + // - Tag values may be between 0 and 256 characters in length + // - Tags may only contain letters, numbers, spaces, and the following characters: [_ . : / = + - @] + Tags [String]String + + // Associates nodepool subnets with AWS Outposts. + SubnetOutposts [String]String + + // Associates nodepool availability zones with zone types (e.g. wavelength, local). + AvailabilityZoneTypes [String]String + + // Additional AWS Security Groups to be added node pool. + AdditionalSecurityGroupIds []String + + // Which Ec2MetadataHttpTokens to use for metadata service interaction options for EC2 instances + @json(name = "ec2_metadata_http_tokens") + Ec2MetadataHttpTokens Ec2MetadataHttpTokens +} diff --git a/model/clusters_mgmt/v2alpha1/aws_region_machine_types_resource.model b/model/clusters_mgmt/v2alpha1/aws_region_machine_types_resource.model new file mode 100644 index 00000000..d24f0354 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_region_machine_types_resource.model @@ -0,0 +1,37 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages machine types in region inquiry. +resource AWSRegionMachineTypesInquiry { + // Retrieves the list of machine types in the provided region. + method Search { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of machine types. + out Items []MachineType + + // Cloud provider data needed for the inquiry + in Body CloudProviderData + } +} diff --git a/model/clusters_mgmt/v2alpha1/aws_resource.model b/model/clusters_mgmt/v2alpha1/aws_resource.model new file mode 100644 index 00000000..eefc6a1a --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_resource.model @@ -0,0 +1,26 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages AWS specific parts for a specific cluster. +resource AWS { + locator PrivateLinkConfiguration { + target PrivateLinkConfiguration + } + + locator RolePolicyBindings { + target RolePolicyBindings + } +} diff --git a/model/clusters_mgmt/v2alpha1/aws_security_group_type.model b/model/clusters_mgmt/v2alpha1/aws_security_group_type.model new file mode 100644 index 00000000..7bd800fb --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_security_group_type.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// AWS security group object +struct SecurityGroup { + // The security group ID. + ID String + + // Name of the security group according to its `Name` tag on AWS. + Name String + + // If the resource is RH managed. + RedHatManaged Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/aws_spot_market_options_type.model b/model/clusters_mgmt/v2alpha1/aws_spot_market_options_type.model new file mode 100644 index 00000000..f014bf4d --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_spot_market_options_type.model @@ -0,0 +1,22 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Spot market options for AWS machine pool. +class AWSSpotMarketOptions { + // The max price for spot instance. Optional. + // If not set, use the on-demand price. + MaxPrice Float +} diff --git a/model/clusters_mgmt/v2alpha1/aws_sts_account_role_type.model b/model/clusters_mgmt/v2alpha1/aws_sts_account_role_type.model new file mode 100644 index 00000000..769f4a36 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_sts_account_role_type.model @@ -0,0 +1,25 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an sts account role for a rosa cluster +struct AWSSTSAccountRole { + + //The Prefix for this Account Role + Prefix String + + //The list of STS Roles for this Account Role + Items []AWSSTSRole +} diff --git a/model/clusters_mgmt/v2alpha1/aws_sts_account_roles_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/aws_sts_account_roles_inquiry_resource.model new file mode 100644 index 00000000..ad64b4b3 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_sts_account_roles_inquiry_resource.model @@ -0,0 +1,50 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages STS Roles +resource AWSSTSAccountRolesInquiry { + // Retrieves the list of STS Account Roles in the specified AWS Account. + // IMPORTANT: This collection doesn't currently support paging or searching, so the returned + // `page` will always be 1 and `size` and `total` will always be the total number of available account roles + // in the AWS Account + + method Search { + + // AWS Account Details required for the inquiry + in Body AWS + + // Index of the returned page, where one corresponds to the first page. As this + // collection doesn't support paging the result will always be `1`. + in out Page Integer = 1 + + // Number of items that will be contained in the returned page. As this collection + // doesn't support paging or searching the result will always be the total number of + // be the total number of STS account roles. + in out Size Integer = 100 + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. As this collection doesn't support paging or + // searching the result will always be the total number of STS account roles + out Total Integer + + // The AWS Account Id for the STS Account Roles + @json(name = "aws_acccount_id") + out AwsAccountId String + + // Retrieved list of STS Account Roles + out Items []AWSSTSAccountRole + } +} diff --git a/model/clusters_mgmt/v2alpha1/aws_sts_policies_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/aws_sts_policies_inquiry_resource.model new file mode 100644 index 00000000..fe1be5f8 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_sts_policies_inquiry_resource.model @@ -0,0 +1,65 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages STS policies +resource AWSSTSPoliciesInquiry { + // Retrieves the list of policies. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of a + // SQL statement, but using the names of the attributes of the awsstspolicies instead of + // the names of the columns of a table. For example, in order to retrieve all the + // policies of type `operatorrole` + // should be: + // + // ```sql + // policy_type like 'OperatorRole%' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the + // policies will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the awsstspolicies instead of + // the names of the columns of a table. For example, in order to sort the policies + // descending by operator type identifier the value should be: + // + // ```sql + // orderBy id desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of policies. + out Items []AWSSTSPolicy + } +} diff --git a/model/clusters_mgmt/v2alpha1/aws_sts_policies_type.model b/model/clusters_mgmt/v2alpha1/aws_sts_policies_type.model new file mode 100644 index 00000000..b4407a62 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_sts_policies_type.model @@ -0,0 +1,31 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an sts policies for rosa cluster +struct AWSSTSPolicy { + + //Policy ID + ID String + + //Policy Details + Details String + + //Type of policy operator/account role + Type String + + //The ARN of the managed policy + ARN String +} diff --git a/model/clusters_mgmt/v2alpha1/aws_sts_role_type.model b/model/clusters_mgmt/v2alpha1/aws_sts_role_type.model new file mode 100644 index 00000000..49bccfd5 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_sts_role_type.model @@ -0,0 +1,43 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an sts role for a rosa cluster +struct AWSSTSRole { + + //The AWS ARN for this Role + @json(name = "arn") + RoleARN String + + //The type of this Role + @json(name = "type") + RoleType String + + //Does this role have Admin permission? + @json(name = "isAdmin") + IsAdmin Boolean + + //The Openshift Version for this Role + @json(name = "roleVersion") + RoleVersion String + + //Does this Role have Managed Policies? + @json(name = "managedPolicies") + ManagedPolicies Boolean + + //Does this Role have HCP Managed Policies? + @json(name = "hcpManagedPolicies") + HcpManagedPolicies Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/aws_subnetwork_type.model b/model/clusters_mgmt/v2alpha1/aws_subnetwork_type.model new file mode 100644 index 00000000..b49ec2ae --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_subnetwork_type.model @@ -0,0 +1,36 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// AWS subnetwork object to be used while installing a cluster +struct Subnetwork { + // The subnet ID to be used while installing a cluster. + SubnetID String + + // Name of the subnet according to its `Name` tag on AWS. + Name String + + // Whether or not it is a public subnet. + Public Boolean + + // The availability zone to which the subnet is related. + AvailabilityZone String + + // The CIDR Block of the subnet. + CIDRBlock String + + // If the resource is RH managed. + RedHatManaged Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/aws_type.model b/model/clusters_mgmt/v2alpha1/aws_type.model new file mode 100644 index 00000000..7e3f694d --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_type.model @@ -0,0 +1,76 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// _Amazon Web Services_ specific settings of a cluster. +struct AWS { + // AWS account identifier. + AccountID String + + // AWS access key identifier. + AccessKeyID String + + // AWS secret access key. + SecretAccessKey String + + // The subnet ids to be used when installing the cluster. + SubnetIDs []String + + // Sets cluster to be inaccessible externally. + PrivateLink Boolean + + // Manages additional configuration for Private Links. + PrivateLinkConfiguration PrivateLinkClusterConfiguration + + // Optional keys and values that the installer will add as tags to all AWS resources it creates + Tags [String]String + + // Contains the necessary attributes to support role-based authentication on AWS. + STS STS + + // Customer Managed Key to encrypt EBS Volume + KMSKeyArn String + + // Related etcd encryption configuration + EtcdEncryption AwsEtcdEncryption + + // BillingAccountID is the account used for billing subscriptions purchased via the marketplace + BillingAccountID String + + // Audit log forwarding configuration + AuditLog AuditLog + + // Which Ec2MetadataHttpTokens to use for metadata service interaction options for EC2 instances + @json(name = "ec2_metadata_http_tokens") + Ec2MetadataHttpTokens Ec2MetadataHttpTokens + + // ID of private hosted zone. + PrivateHostedZoneID String + + // Role ARN for private hosted zone. + PrivateHostedZoneRoleARN String + + // Additional AWS Security Groups to be added to default worker (compute) machine pool. + AdditionalComputeSecurityGroupIds []String + + // Additional AWS Security Groups to be added to default infra machine pool. + AdditionalInfraSecurityGroupIds []String + + // Additional AWS Security Groups to be added to default control plane machine pool. + AdditionalControlPlaneSecurityGroupIds []String + + // Additional allowed principal ARNs to be added to the hosted control plane's VPC Endpoint Service. + AdditionalAllowedPrincipals []String +} diff --git a/model/clusters_mgmt/v2alpha1/aws_validate_credentials_resource.model b/model/clusters_mgmt/v2alpha1/aws_validate_credentials_resource.model new file mode 100644 index 00000000..ea15ca7b --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_validate_credentials_resource.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages aws creds validation +resource AwsValidateCredentials { + // Manages aws creds validation. + method Post { + // Cloud provider data needed for the inquiry. + in out Body CloudProviderData + } +} diff --git a/model/clusters_mgmt/v2alpha1/aws_volume_type.model b/model/clusters_mgmt/v2alpha1/aws_volume_type.model new file mode 100644 index 00000000..a7eaa5fa --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/aws_volume_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Holds settings for an AWS storage volume. +struct AWSVolume { + // Volume provisioned IOPS. + IOPS Integer + + // Volume size in Gib. + Size Integer +} diff --git a/model/clusters_mgmt/v2alpha1/azure_node_pool_type.model b/model/clusters_mgmt/v2alpha1/azure_node_pool_type.model new file mode 100644 index 00000000..4e3ee469 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/azure_node_pool_type.model @@ -0,0 +1,58 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of azure node pool specific parameters. +struct AzureNodePool { + // ResourceName is the Azure Resource Name of the NodePool. + // ResourceName must be within the Azure Resource Group Name of the parent + // Cluster it belongs to. + // ResourceName must be located in the same Azure Location as the parent + // Cluster it belongs to. + // ResourceName must be located in the same Azure Subscription as the parent + // Cluster it belongs to. + // ResourceName must belong to the same Microsoft Entra Tenant ID as the parent + // Cluster it belongs to. + // Required during creation. + // Immutable. + ResourceName String + + // The Azure Virtual Machine size identifier used for the + // Nodes of the Node Pool. + // Availability of VM sizes are dependent on the Azure Location + // of the parent Cluster. + // Required during creation. + VMSize String + + // The size in GiB to assign to the OS disks of the + // Nodes in the Node Pool. The property + // is the number of bytes x 1024^3. + // If not specified, OS disk size is 30 GiB. + OSDiskSizeGibibytes Integer + + // The disk storage account type to use for the OS disks of the Nodes in the + // Node Pool. Valid values are: + // * Standard_LRS: HDD + // * StandardSSD_LRS: Standard SSD + // * Premium_LRS: Premium SDD + // * UltraSSD_LRS: Ultra SDD + // + // If not specified, `Premium_LRS` is used. + OSDiskStorageAccountType String + + // Enables Ephemeral OS Disks for the Nodes in the Node Pool. + // If not specified, no Ephemeral OS Disks are used. + EphemeralOSDiskEnabled Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/azure_type.model b/model/clusters_mgmt/v2alpha1/azure_type.model new file mode 100644 index 00000000..4b0ba8c9 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/azure_type.model @@ -0,0 +1,84 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Microsoft Azure settings of a cluster. +struct Azure { + // [Required] The Azure Subscription ID associated with the cluster. It must belong to + // the Microsoft Entra Tenant ID `tenant_id`. + SubscriptionID String + + // [Required] The Azure Resource Group Name of the cluster. It must be within `subscription_id` + // of the cluster. `resource_group_name` is located in the same Azure location + // as the cluster's region. + ResourceGroupName String + + // [Required] The Azure Resource Name of the cluster. It must be within the + // Azure Resource Group Name `resource_group_name`. + // `resource_name` is located in the same Azure location as the cluster's region. + ResourceName String + + // [Required] The Microsoft Entra Tenant ID where the cluster belongs. + TenantID String + + // [Required] The name of the Azure Resource Group where the Azure Resources related + // to the cluster are created. The Azure Resource Group is created with the given + // value, within the Azure Subscription `subscription_id` of the cluster. + // `managed_resource_group_name` cannot be equal to the value of `managed_resource_group`. + // `managed_resource_group_name` is located in the same Azure location as the + // cluster's region. + // Not to be confused with `resource_group_name`, which is the Azure Resource Group Name + // where the own Azure Resource associated to the cluster resides. + ManagedResourceGroupName String + + // [Required] The Azure Resource ID of a pre-existing Azure + // Subnet. It is an Azure Subnet used for the Data Plane of the cluster. + // `subnet_resource_id` must be located in the same Azure location as the + // cluster's region. + // The Azure Subscription specified as part of the `subnet_resource_id` + // must be located in the same Azure Subscription as `subscription_id`. + // The Azure Resource Group Name specified as part of `subnet_resource_id` + // must belong to the Azure Subscription `subscription_id`, and in the same + // Azure location as the cluster's region. + // The Azure Resource Group Name specified as part of `subnet_resource_id` + // must be a different Resource Group Name than the one specified in + // `managed_resource_group_name`. + // The Azure Resource Group Name specified as part of the `subnet_resource_id` + // can be the same, or a different one than the one specified in + // `resource_group_name`. + SubnetResourceID String + + // [Required] The Azure Resource ID of a pre-existing + // Azure Network Security Group. + // The Network Security Group specified in network_security_group_resource_id + // must already be associated to the Azure Subnet `subnet_resource_id`. + // It is the Azure Network Security Group associated to the cluster's subnet + // specified in `subnet_resource_id`. + // `network_security_group_resource_id` must be located in the same Azure + // location as the cluster's region. + // The Azure Subscription specified as part of + // `network_security_group_resource_id` must be located in the same Azure + // Subscription as `subscription_id`. + // The Azure Resource Group Name specified as part of `network_security_group_resource_id` + // must belong to the Azure Subscription `subscription_id`, and in the same + // Azure location as the cluster's region. + // The Azure Resource Group Name specified as part of `network_security_group_resource_id` + // must be a different Resource Group Name than the one specified in + // `managed_resource_group_name`. + // The Azure Resource Group Name specified as part of `network_security_group_resource_id` + // can be the same, or a different one than the one specified in + // `resource_group_name`. + NetworkSecurityGroupResourceID String +} diff --git a/model/clusters_mgmt/v2alpha1/billing_model_item_type.model b/model/clusters_mgmt/v2alpha1/billing_model_item_type.model new file mode 100644 index 00000000..04583ef4 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/billing_model_item_type.model @@ -0,0 +1,30 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// BillingModelItem represents a billing model +class BillingModelItem { + // BillingModelType is the type of the BillingModel. e.g. standard, marketplace. + BillingModelType String + + // Indicates the marketplace of the billing model. e.g. gcp, aws, etc. + Marketplace String + + // User friendly display name of the billing model. + DisplayName String + + // Single line description of the billing model. + Description String +} diff --git a/model/clusters_mgmt/v2alpha1/billing_model_type.model b/model/clusters_mgmt/v2alpha1/billing_model_type.model new file mode 100644 index 00000000..085bcb8d --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/billing_model_type.model @@ -0,0 +1,40 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Billing model for cluster resources. +enum BillingModel { + // Standard. This is the default billing model + Standard + + // BillingModel Marketplace Legacy Marketplace billing model. Currently only used for tests. Use cloud-provider specific billing models instead. + Marketplace + + // AWS Marketplace billing model. + @json(name = "marketplace-aws") + MarketplaceAWS + + // Azure Marketplace billing model. + @json(name = "marketplace-azure") + MarketplaceAzure + + // RH Marketplace billing model. + @json(name = "marketplace-rhm") + MarketplaceRHM + + // GCP Marketplace billing model. + @json(name = "marketplace-gcp") + MarketplaceGCP +} diff --git a/model/clusters_mgmt/v2alpha1/break_glass_credential_resource.model b/model/clusters_mgmt/v2alpha1/break_glass_credential_resource.model new file mode 100644 index 00000000..aeab3200 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/break_glass_credential_resource.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific break glass credential. +resource BreakGlassCredential { + // Retrieves the details of the break glass credential. + method Get { + out Body BreakGlassCredential + } +} diff --git a/model/clusters_mgmt/v2alpha1/break_glass_credential_type.model b/model/clusters_mgmt/v2alpha1/break_glass_credential_type.model new file mode 100644 index 00000000..c9207dfb --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/break_glass_credential_type.model @@ -0,0 +1,43 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a break glass credential. +class BreakGlassCredential { + // Username is the user which will be used for this credential. + Username String + + // ExpirationTimestamp is the date and time when the credential will expire. + ExpirationTimestamp Date + + // RevocationTimestamp is the date and time when the credential has been revoked. + RevocationTimestamp Date + + // Status is the status of this credential + Status BreakGlassCredentialStatus + + // Kubeconfig is the generated kubeconfig for this credential. It is only stored in memory + Kubeconfig String +} + +// Status of the break glass credential. +enum BreakGlassCredentialStatus { + Created + Issued + Expired + AwaitingRevocation + Revoked + Failed +} diff --git a/model/clusters_mgmt/v2alpha1/break_glass_credentials_resource.model b/model/clusters_mgmt/v2alpha1/break_glass_credentials_resource.model new file mode 100644 index 00000000..3bb73e8d --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/break_glass_credentials_resource.model @@ -0,0 +1,79 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the break glass credentials of a cluster. +resource BreakGlassCredentials { + // Retrieves the list of break glass credentials. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of a + // SQL statement, but using the names of the attributes of the break glass credentials + // instead of the names of the columns of a table. For example, in order to retrieve all + // the credentials with a specific username and status the following is required: + // + // ```sql + // username='user1' AND status='expired' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the + // break glass credentials that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the break glass credentials + // instead of the the names of the columns of a table. For example, in order to sort the + // credentials descending by identifier the value should be: + // + // ```sql + // id desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of break glass credentials. + out Items []BreakGlassCredential + } + + // Adds a new break glass credential to the cluster. + method Add { + // Description of the break glass credential. + in out Body BreakGlassCredential + } + + // Revokes all the break glass certificates signed by a specific signer. + method Delete { + } + + // Reference to the service that manages a specific break glass credential. + locator BreakGlassCredential { + target BreakGlassCredential + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/byo_oidc_type.model b/model/clusters_mgmt/v2alpha1/byo_oidc_type.model new file mode 100644 index 00000000..19391421 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/byo_oidc_type.model @@ -0,0 +1,26 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// ByoOidc configuration. +struct ByoOidc { + // Boolean flag indicating if the cluster should be creating using _ByoOidc_. + // + // By default this is `false`. + // + // To enable it the cluster needs to be ROSA cluster and the organization of the user needs + // to have the `byo-oidc` feature toggle enabled. + Enabled Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/ccs_type.model b/model/clusters_mgmt/v2alpha1/ccs_type.model new file mode 100644 index 00000000..b02da033 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/ccs_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +class CCS { + // Indicates if Customer Cloud Subscription is enabled on the cluster. + Enabled Boolean + + // Indicates if cloud permissions checks are disabled, + // when attempting installation of the cluster. + DisableSCPChecks Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/cloud_available_regions_resource.model b/model/clusters_mgmt/v2alpha1/cloud_available_regions_resource.model new file mode 100644 index 00000000..d8d2c0ac --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cloud_available_regions_resource.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages collection of cloud provider regions available to a particular cloud provider account +resource AvailableRegions { + // Retrieves the list of available regions of the cloud provider. + // + // IMPORTANT: This collection doesn't currently support paging or searching, so the returned + // `page` will always be 1 and `size` and `total` will always be the total number of available regions + // of the provider. + method Search { + // Index of the returned page, where one corresponds to the first page. As this + // collection doesn't support paging the result will always be `1`. + in out Page Integer = 1 + + // Number of items that will be contained in the returned page. As this collection + // doesn't support paging or searching the result will always be the total number of + // regions of the provider. + in out Size Integer = 100 + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. As this collection doesn't support paging or + // searching the result will always be the total number of available regions of the provider. + out Total Integer + + // AWS account details + in Body AWS + + // Retrieved list of cloud regions. + out Items []CloudRegion + } +} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/cloud_provider_resource.model b/model/clusters_mgmt/v2alpha1/cloud_provider_resource.model new file mode 100644 index 00000000..d2c8c2e4 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cloud_provider_resource.model @@ -0,0 +1,35 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific cloud provider. +resource CloudProvider { + // Retrieves the details of the cloud provider. + method Get { + out Body CloudProvider + } + + // Reference to the resource that manages the collection of regions for + // this cloud provider. + locator Regions { + target CloudRegions + } + + // Reference to the resource that manages the collection of available regions for + // this cloud provider. + locator AvailableRegions { + target AvailableRegions + } +} diff --git a/model/clusters_mgmt/v2alpha1/cloud_provider_type.model b/model/clusters_mgmt/v2alpha1/cloud_provider_type.model new file mode 100644 index 00000000..1b6391a6 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cloud_provider_type.model @@ -0,0 +1,28 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Cloud provider. +class CloudProvider { + // Human friendly identifier of the cloud provider, for example `aws`. + Name String + + // Name of the cloud provider for display purposes. It can contain any characters, + // including spaces. + DisplayName String + + // (optional) Provider's regions - only included when listing providers with `fetchRegions=true`. + Regions []CloudRegion +} diff --git a/model/clusters_mgmt/v2alpha1/cloud_providers_resource.model b/model/clusters_mgmt/v2alpha1/cloud_providers_resource.model new file mode 100644 index 00000000..cb59bc22 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cloud_providers_resource.model @@ -0,0 +1,74 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of cloud providers. +resource CloudProviders { + // Retrieves the list of cloud providers. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of a + // SQL statement, but using the names of the attributes of the cloud provider + // instead of the names of the columns of a table. For example, in order to retrieve + // all the cloud providers with a name starting with `A` the value should be: + // + // ```sql + // name like 'A%' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the clusters + // that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the cloud provider + // instead of the names of the columns of a table. For example, in order to sort the + // clusters descending by name identifier the value should be: + // + // ```sql + // name desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // If true, includes the regions on each provider in the output. Could slow request response time. + @http(name = "fetchRegions") + in FetchRegions Boolean + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of cloud providers. + out Items []CloudProvider + } + + // Returns a reference to the service that manages an specific cloud provider. + locator CloudProvider { + target CloudProvider + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/cloud_region_resource.model b/model/clusters_mgmt/v2alpha1/cloud_region_resource.model new file mode 100644 index 00000000..675d8a45 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cloud_region_resource.model @@ -0,0 +1,32 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific cloud region. +resource CloudRegion { + // Retrieves the details of the region. + method Get { + out Body CloudRegion + } + + // Updates the region. + method Update { + in out Body CloudRegion + } + + // Deletes the region. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/cloud_region_type.model b/model/clusters_mgmt/v2alpha1/cloud_region_type.model new file mode 100644 index 00000000..452f26f8 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cloud_region_type.model @@ -0,0 +1,55 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Description of a region of a cloud provider. +class CloudRegion { + // Human friendly identifier of the region, for example `us-east-1`. + // + // NOTE: Currently for all cloud providers and all regions `id` and `name` have exactly + // the same values. + Name String + + // Name of the region for display purposes, for example `N. Virginia`. + DisplayName String + + // Link to the cloud provider that the region belongs to. + link CloudProvider CloudProvider + + // Whether the region is enabled for deploying a managed cluster. + Enabled Boolean + + // Whether the region supports multiple availability zones. + SupportsMultiAZ Boolean + + // 'true' if the region is supported only for CCS clusters, 'false' otherwise. + CCSOnly Boolean + + // 'true' if the region is supported for Hypershift deployments, 'false' otherwise. + SupportsHypershift Boolean + + // Whether the region is an AWS GovCloud region. + @json(name = "govcloud") + GovCloud Boolean + + // (GCP only) Comma-separated list of KMS location IDs that can be used with this region. + // E.g. "global,nam4,us". Order is not guaranteed. + KMSLocationID String + + // (GCP only) Comma-separated list of display names corresponding to KMSLocationID. + // E.g. "Global,nam4 (Iowa, South Carolina, and Oklahoma),US". Order is not guaranteed but will match KMSLocationID. + // Unfortunately, this API doesn't allow robust splitting - Contact ocm-feedback@redhat.com if you want to rely on this. + KMSLocationName String +} diff --git a/model/clusters_mgmt/v2alpha1/cloud_regions_resource.model b/model/clusters_mgmt/v2alpha1/cloud_regions_resource.model new file mode 100644 index 00000000..1c0972f4 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cloud_regions_resource.model @@ -0,0 +1,53 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of regions of a cloud provider. +resource CloudRegions { + // Retrieves the list of regions of the cloud provider. + // + // IMPORTANT: This collection doesn't currently support paging or searching, so the returned + // `page` will always be 1 and `size` and `total` will always be the total number of regions + // of the provider. + method List { + // Index of the returned page, where one corresponds to the first page. As this + // collection doesn't support paging the result will always be `1`. + in out Page Integer = 1 + + // Number of items that will be contained in the returned page. As this collection + // doesn't support paging or searching the result will always be the total number of + // regions of the provider. + in out Size Integer = 100 + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. As this collection doesn't support paging or + // searching the result will always be the total number of regions of the provider. + out Total Integer + + // Retrieved list of cloud providers. + out Items []CloudRegion + } + + // Reference to the service that manages an specific region. + locator Region { + target CloudRegion + variable ID + } + + // Adds a cloud region to the database. + method Add { + in out Body CloudRegion + } +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_api_type.model b/model/clusters_mgmt/v2alpha1/cluster_api_type.model new file mode 100644 index 00000000..47a50db6 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_api_type.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Information about the API of a cluster. +struct ClusterAPI { + // The URL of the API server of the cluster. + URL String + // The listening method of the API server. + Listening ListeningMethod +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_autoscaler_type.model b/model/clusters_mgmt/v2alpha1/cluster_autoscaler_type.model new file mode 100644 index 00000000..d84befd5 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_autoscaler_type.model @@ -0,0 +1,57 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Cluster-wide autoscaling configuration. +class ClusterAutoscaler { + // BalanceSimilarNodeGroups enables/disables the + // `--balance-similar-node-groups` cluster-autoscaler feature. + // This feature will automatically identify node groups with + // the same instance type and the same set of labels and try + // to keep the respective sizes of those node groups balanced. + BalanceSimilarNodeGroups Boolean + + // Enables/Disables `--skip-nodes-with-local-storage` CA feature flag. If true cluster autoscaler will never delete nodes with pods with local storage, e.g. EmptyDir or HostPath. true by default at autoscaler. + SkipNodesWithLocalStorage Boolean + + // Sets the autoscaler log level. + // Default value is 1, level 4 is recommended for DEBUGGING and level 6 will enable almost everything. + LogVerbosity Integer + + // Gives pods graceful termination time before scaling down. + MaxPodGracePeriod Integer + + // To allow users to schedule "best-effort" pods, which shouldn't trigger + // Cluster Autoscaler actions, but only run when there are spare resources available, + // More info: https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#how-does-cluster-autoscaler-work-with-pod-priority-and-preemption. + PodPriorityThreshold Integer + + // Should CA ignore DaemonSet pods when calculating resource utilization for scaling down. false by default. + IgnoreDaemonsetsUtilization Boolean + + // Maximum time CA waits for node to be provisioned. + MaxNodeProvisionTime String + + // This option specifies labels that cluster autoscaler should ignore when considering node group similarity. + // For example, if you have nodes with "topology.ebs.csi.aws.com/zone" label, you can add name of this label here + // to prevent cluster autoscaler from splitting nodes into different node groups based on its value. + BalancingIgnoredLabels []String + + // Constraints of autoscaling resources. + ResourceLimits AutoscalerResourceLimits + + // Configuration of scale down operation. + ScaleDown AutoscalerScaleDownConfig +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_configuration_mode_type.model b/model/clusters_mgmt/v2alpha1/cluster_configuration_mode_type.model new file mode 100644 index 00000000..000ac5c2 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_configuration_mode_type.model @@ -0,0 +1,25 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Configuration mode of a cluster. +enum ClusterConfigurationMode { + // Full configuration (default). + Full + + // Only read configuration operations are supported. + // The cluster can't be deleted, reshaped, configure IDPs, add/remove users, etc. + ReadOnly +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_console_type.model b/model/clusters_mgmt/v2alpha1/cluster_console_type.model new file mode 100644 index 00000000..c064dee5 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_console_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Information about the console of a cluster. +struct ClusterConsole { + // The URL of the console of the cluster. + URL String +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_credentials_type.model b/model/clusters_mgmt/v2alpha1/cluster_credentials_type.model new file mode 100644 index 00000000..c96f3dd2 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_credentials_type.model @@ -0,0 +1,22 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Credentials of the a cluster. +class ClusterCredentials { + // Administrator _kubeconfig_ file for the cluster. + Kubeconfig String + +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_deployment_type.model b/model/clusters_mgmt/v2alpha1/cluster_deployment_type.model new file mode 100644 index 00000000..104b23f2 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_deployment_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a clusterdeployment. +class ClusterDeployment { + // Content of the clusterdeployment. + Content Interface +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_health_state_type.model b/model/clusters_mgmt/v2alpha1/cluster_health_state_type.model new file mode 100644 index 00000000..5b5dad24 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_health_state_type.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// ClusterHealthState indicates the health of a cluster. +enum ClusterHealthState { + // Cluster is Ready and healthy. + Healthy + + // Cluster is Ready and unhealthy. + Unhealthy + + // Cluster health is unknown. + Unknown +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_link_type.model b/model/clusters_mgmt/v2alpha1/cluster_link_type.model new file mode 100644 index 00000000..3eeaf6ce --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_link_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Definition of a cluster link. +struct ClusterLink { + // The cluster's ID. + ID String + + // HREF for the cluster, filled in response. + HREF String +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_nodes_root_volume_type.model b/model/clusters_mgmt/v2alpha1/cluster_nodes_root_volume_type.model new file mode 100644 index 00000000..ddbfb06e --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_nodes_root_volume_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Root volume capabilities. +struct RootVolume { + // AWS volume specification + AWS AWSVolume + + // GCP Volume specification + GCP GCPVolume +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_nodes_type.model b/model/clusters_mgmt/v2alpha1/cluster_nodes_type.model new file mode 100644 index 00000000..a8d69fcf --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_nodes_type.model @@ -0,0 +1,56 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Counts of different classes of nodes inside a cluster. +struct ClusterNodes { + // Total number of nodes of the cluster. + Total Integer + + // Number of master nodes of the cluster. + Master Integer + + // Number of infrastructure nodes of the cluster. + Infra Integer + + // Number of compute nodes of the cluster. + // Compute and AutoscaleCompute cannot be used together. + Compute Integer + + // Details for auto-scaling the compute machine pool. + // Compute and AutoscaleCompute cannot be used together. + AutoscaleCompute MachinePoolAutoscaling + + // The compute machine type to use, for example `r5.xlarge`. + ComputeMachineType MachineType + + // The labels set on the "default" compute machine pool. + ComputeLabels [String]String + + // The availability zones upon which the nodes are created. + AvailabilityZones []String + + // List of security groups to be applied to nodes (Optional). + SecurityGroupFilters []MachinePoolSecurityGroupFilter + + // The master machine type to use, for example `r5.xlarge` (Optional). + MasterMachineType MachineType + + // The infra machine type to use, for example `r5.xlarge` (Optional). + InfraMachineType MachineType + + // The compute machine root volume capabilities. + ComputeRootVolume RootVolume +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_operator_info_type.model b/model/clusters_mgmt/v2alpha1/cluster_operator_info_type.model new file mode 100644 index 00000000..f46a9356 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_operator_info_type.model @@ -0,0 +1,28 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +struct ClusterOperatorInfo { + // Time when the sample was obtained, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) format. + Time Date + // Name of the operator. + Name String + // Current version of the operator. Empty string if unknown. + Version String + // Operator status. Empty string if unknown. + Condition ClusterOperatorState + // Extra detail on condition, if available. Empty string if unknown. + Reason String +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_operators_info_type.model b/model/clusters_mgmt/v2alpha1/cluster_operators_info_type.model new file mode 100644 index 00000000..ff7656e0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_operators_info_type.model @@ -0,0 +1,20 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Provides detailed information about the operators installed on the cluster. +struct ClusterOperatorsInfo { + Operators []ClusterOperatorInfo +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_operators_metric_query_resource.model b/model/clusters_mgmt/v2alpha1/cluster_operators_metric_query_resource.model new file mode 100644 index 00000000..39c86fb0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_operators_metric_query_resource.model @@ -0,0 +1,22 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Provides detailed information about the Metrics of the Cluster +resource ClusterOperatorsMetricQuery { + method Get { + out Body ClusterOperatorsInfo + } +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_operators_state_type.model b/model/clusters_mgmt/v2alpha1/cluster_operators_state_type.model new file mode 100644 index 00000000..fb219f23 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_operators_state_type.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Overall state of a cluster operator. +enum ClusterOperatorState { + // Operator is working normally. + Available + // Operator is partially working, there is an issue. + Degraded + // Operator is not running or not working. + Failing + // Operator is upgrading to newer version, possibly degraded until upgrade completes. + Upgrading +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_registration_type.model b/model/clusters_mgmt/v2alpha1/cluster_registration_type.model new file mode 100644 index 00000000..08d5d9f2 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_registration_type.model @@ -0,0 +1,49 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Registration of a new cluster to the service. +// +// For example, to register a cluster that has been provisioned outside +// of this service, send a a request like this: +// +// ```http +// POST /api/clusters_mgmt/v1/register_cluster HTTP/1.1 +// ``` +// +// With a request body like this: +// +// ```json +// { +// "external_id": "d656aecf-11a6-4782-ad86-8f72638449ba", +// "subscription_id": "...", +// "organization_id": "..." +// } +// ``` +struct ClusterRegistration { + // Subscription identifier of the cluster generated by the account + // manager. + SubscriptionID String + + // Organization identifier of the cluster generated by the + // account manager. + OrganizationID String + + // Identifier of the cluster generated by the installer. + ExternalID String + + // Optional Console URL of the cluster. + ConsoleUrl String +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_resource.model b/model/clusters_mgmt/v2alpha1/cluster_resource.model new file mode 100644 index 00000000..eb8e6f18 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_resource.model @@ -0,0 +1,216 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific cluster. +resource Cluster { + // Retrieves the details of the cluster. + method Get { + out Body Cluster + } + + // Updates the cluster. + method Update { + in out Body Cluster + } + + // Deletes the cluster. + method Delete { + // If false it will only delete from OCM but not the actual cluster resources. + // false is only allowed for OCP clusters. true by default. + in Deprovision Boolean = true + + // Dry run flag is used to check if the operation can be completed, but won't delete. + in DryRun Boolean = false + + // BestEffort flag is used to check if the cluster deletion should be best-effort mode or not. + in BestEffort Boolean = false + } + + // Reference to the resource that manages the detailed status of the cluster. + locator Status { + target ClusterStatus + } + + // Reference to the resource that manages the credentials of the cluster. + locator Credentials { + target Credentials + } + + // Reference to the resource that manages the collection of logs of the cluster. + locator Logs { + target Logs + } + + // Reference to the resource that manages the collection of groups. + locator Groups { + target Groups + } + + // Reference to the resource that manages the collection of identity providers. + locator IdentityProviders { + target IdentityProviders + } + + // Reference to the resource that manages the external authentication configuration. + locator ExternalAuthConfig { + target ExternalAuthConfig + } + + // Reference to the resource that manages the external configuration. + locator ExternalConfiguration { + target ExternalConfiguration + } + + // Reference to the resource that manages the break glass credentials. + locator BreakGlassCredentials { + target BreakGlassCredentials + } + + // Reference to the resource that manages the cluster's provision shard. + locator ProvisionShard { + target ProvisionShard + } + + // Reference to the resource that manages the collection of ingress resources. + locator Ingresses { + target Ingresses + } + + // Reference to the resource that manages the collection of inflight checks. + locator InflightChecks { + target InflightChecks + } + + // Reference to the resource that manages the collection of machine pool resources. + locator MachinePools { + target MachinePools + } + + // Reference to the resource that manages the collection of node pool resources. + locator NodePools { + target NodePools + } + + // Initiates cluster hibernation. While hibernating a cluster will not consume any cloud provider infrastructure + // but will be counted for quota. + method Hibernate { + + } + + // Resumes from Hibernation. + method Resume { + + } + + // Reference to the resource that manages metrics queries for the cluster. + locator MetricQueries { + target MetricQueries + } + + // Reference to the resource that manages the collection of add-ons installed on this cluster. + locator Addons { + target AddOnInstallations + } + + // Reference to the resource that manages the collection of the add-on inquiries on this cluster. + locator AddonInquiries { + target AddonInquiries + } + + // Reference to the resource that manages the collection of AWS infrastructure + // access role grants on this cluster. + locator AWSInfrastructureAccessRoleGrants { + target AWSInfrastructureAccessRoleGrants + } + + // Reference to the resource that manages the collection of upgrade policies defined for this cluster. + locator UpgradePolicies { + target UpgradePolicies + } + + // Reference to the resource that manages the collection of upgrade policies defined for control plane for this cluster. + locator ControlPlane { + target ControlPlane + } + + // Reference to the resource that manages the collection of addon upgrade policies defined for this cluster. + locator AddonUpgradePolicies { + target AddonUpgradePolicies + } + + // Reference to the resource that manages the cluster deployment. + locator Clusterdeployment { + target Clusterdeployment + } + + // Reference to cluster resources. + locator Resources { + target Resources + } + + // Reference to cluster limited support reasons. + locator LimitedSupportReasons { + target LimitedSupportReasons + } + + // Reference to cluster's agreed version gate. + locator GateAgreements { + target VersionGateAgreements + } + + locator STSOperatorRoles { + target OperatorIAMRoles + } + + locator Hypershift { + target Hypershift + } + + locator AWS { + target AWS + } + + // Reference to the resource that manages the collection of tuning configs for this cluster. + locator TuningConfigs { + target TuningConfigs + } + + locator KubeletConfigs { + target KubeletConfigs + } + + locator DeleteProtection { + target DeleteProtection + } + + locator StsSupportJumpRole{ + target StsSupportJumpRole + } + + // Reference to the resource that manages the cluster autoscaler. + locator Autoscaler { + target Autoscaler + } + + // Reference to the resource that manages the vpc resource. + locator Vpc { + target Vpc + } + + locator KubeletConfig { + target KubeletConfig + } +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_state_type.model b/model/clusters_mgmt/v2alpha1/cluster_state_type.model new file mode 100644 index 00000000..9a7b3f2c --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_state_type.model @@ -0,0 +1,51 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Overall state of a cluster. +enum ClusterState { + // The cluster is waiting for user action. + Waiting + + // The cluster is validating user input. + Validating + + // The cluster is pending resources before being provisioned. + Pending + + // The cluster is still being installed. + Installing + + // The cluster is ready to use. + Ready + + // The cluster is being uninstalled. + Uninstalling + + // The cluster is moving from 'Ready' state to 'Hibernating'. + PoweringDown + + // The cluster is moving from 'Hibernating' state to 'Ready'. + Resuming + + // The cluster will consume marginal cloud provider infrastructure but will be counted for quota. + Hibernating + + // Error during installation. + Error + + // The state of the cluster is unknown. + Unknown +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_status_resource.model b/model/clusters_mgmt/v2alpha1/cluster_status_resource.model new file mode 100644 index 00000000..7c06d6e7 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_status_resource.model @@ -0,0 +1,22 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Provides detailed information about the status of an specific cluster. +resource ClusterStatus { + method Get { + out Body ClusterStatus + } +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_status_type.model b/model/clusters_mgmt/v2alpha1/cluster_status_type.model new file mode 100644 index 00000000..6b3e50da --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_status_type.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Detailed status of a cluster. +class ClusterStatus { + // The overall state of the cluster. + State ClusterState + + // Detailed description of the cluster status. + Description String + + // DNSReady from Provisioner + DNSReady Boolean + + // OIDCReady from user configuration. + OIDCReady Boolean + + // Provisioning Error Message + ProvisionErrorMessage String + + // Provisioning Error Code + ProvisionErrorCode String + + // Configuration mode + ConfigurationMode ClusterConfigurationMode + + // Limited Support Reason Count + LimitedSupportReasonCount Integer + + // Current Replicas available for a Hosted Cluster + CurrentCompute Integer +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_type.model b/model/clusters_mgmt/v2alpha1/cluster_type.model new file mode 100644 index 00000000..0e4fcb96 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_type.model @@ -0,0 +1,245 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Definition of an _OpenShift_ cluster. +// +// The `cloud_provider` attribute is a reference to the cloud provider. When a +// cluster is retrieved it will be a link to the cloud provider, containing only +// the kind, id and href attributes: +// +// ```json +// { +// "cloud_provider": { +// "kind": "CloudProviderLink", +// "id": "123", +// "href": "/api/clusters_mgmt/v1/cloud_providers/123" +// } +// } +// ``` +// +// When a cluster is created this is optional, and if used it should contain the +// identifier of the cloud provider to use: +// +// ```json +// { +// "cloud_provider": { +// "id": "123", +// } +// } +// ``` +// +// If not included, then the cluster will be created using the default cloud +// provider, which is currently Amazon Web Services. +// +// The region attribute is mandatory when a cluster is created. +// +// The `aws.access_key_id`, `aws.secret_access_key` and `dns.base_domain` +// attributes are mandatory when creation a cluster with your own Amazon Web +// Services account. +class Cluster { + // Name of the cluster. This name is assigned by the user when the + // cluster is created. This is used to uniquely identify the cluster + Name String + + // DomainPrefix of the cluster. This prefix is optionally assigned by the user when the + // cluster is created. It will appear in the Cluster's domain when the cluster is provisioned. + DomainPrefix String + + // InfraID is used for example to name the VPCs. + InfraID String + + // Link to the _flavour_ that was used to create the cluster. + link Flavour Flavour + + // Information about the console of the cluster. + Console ClusterConsole + + // Flag indicating if the cluster should be created with nodes in + // different availability zones or all the nodes in a single one + // randomly selected. + MultiAZ Boolean + + // Information about the nodes of the cluster. + Nodes ClusterNodes + + // Information about the API of the cluster. + API ClusterAPI + + // Link to the cloud provider region where the cluster is installed. + link Region CloudRegion + + // DNS settings of the cluster. + DNS DNS + + // User defined properties for tagging and querying. + Properties [String]String + + // Overall state of the cluster. + State ClusterState + + // Flag indicating if the cluster is managed (by Red Hat) or + // self-managed by the user. + Managed Boolean + + // External identifier of the cluster, generated by the installer. + ExternalID String + + // Amazon Web Services settings of the cluster. + AWS AWS + + // Google cloud platform settings of the cluster. + GCP GCP + + // Microsoft Azure settings of the cluster. + Azure Azure + + // Network settings of the cluster. + Network Network + + // Proxy. + Proxy Proxy + + // Link to an optional _ClusterAutoscaler_ that is coupled with the cluster. + link Autoscaler ClusterAutoscaler + + // Additional trust bundle. + AdditionalTrustBundle String + + // GCP Network. + GCPNetwork GCPNetwork + + // Key used for encryption of GCP cluster nodes. + GCPEncryptionKey GCPEncryptionKey + + // Date and time when the cluster was initially created, using the + // format defined in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt). + CreationTimestamp Date + + // Date and time when the cluster will be automatically deleted, using the format defined in + // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt). If no timestamp is provided, the cluster + // will never expire. + // + // This option is unsupported. + ExpirationTimestamp Date + + // Link to the cloud provider where the cluster is installed. + link CloudProvider CloudProvider + + // Version of _OpenShift_ installed in the cluster, for example `4.0.0-0.2`. + // + // When retrieving a cluster this will always be reported. + // + // When provisioning a cluster this will be ignored, as the version to + // deploy will be determined internally. + OpenshiftVersion String + + // Link to the subscription that comes from the account management service when the cluster + // is registered. + link Subscription Subscription + + // Link to the collection of groups of user of the cluster. + link Groups []Group + + // Link to the version of _OpenShift_ that will be used to install the cluster. + link Version Version + + // Link to the collection of identity providers of the cluster. + link IdentityProviders []IdentityProvider + + // Contains configuration of a Customer Cloud Subscription cluster. + CCS CCS + + // List of add-ons on this cluster. + link Addons []AddOnInstallation + + // List of machine pools on this cluster. + link MachinePools []MachinePool + + // List of node pools on this cluster. + // NodePool is a scalable set of worker nodes attached to a hosted cluster. + link NodePools []NodePool + + // List of ingresses on this cluster. + link Ingresses []Ingress + + // List of AWS infrastructure access role grants on this cluster. + link AWSInfrastructureAccessRoleGrants []AWSInfrastructureAccessRoleGrant + + // List of inflight checks on this cluster. + link InflightChecks []InflightCheck + + // Storage quota to be assigned to the cluster. + StorageQuota Value + + // Load Balancer quota to be assigned to the cluster. + LoadBalancerQuota Integer + + // Link to the product type of this cluster. + link Product Product + + // HealthState indicates the overall health state of the cluster. + HealthState ClusterHealthState + + // ExternalConfiguration shows external configuration on the cluster. + ExternalConfiguration ExternalConfiguration + + // ProvisionShard contains the properties of the provision shard, including AWS and GCP related configurations + ProvisionShard ProvisionShard + + //Status of cluster + Status ClusterStatus + + // Node drain grace period. + NodeDrainGracePeriod Value + + // Create cluster that uses FIPS Validated / Modules in Process cryptographic libraries. + FIPS Boolean + + // Indicates whether that etcd is encrypted or not. + // This is set only during cluster creation. + EtcdEncryption Boolean + + // Billing model for cluster resources. + BillingModel BillingModel + + // Indicates whether the User workload monitoring is enabled or not + // It is enabled by default + DisableUserWorkloadMonitoring Boolean + + // Contains information about Managed Service + ManagedService ManagedService + + // Hypershift configuration. + Hypershift Hypershift + + // Contains information about BYO OIDC. + ByoOidc ByoOidc + + // Delete protection + DeleteProtection DeleteProtection + + // Details for `htpasswd` identity provider. + Htpasswd HTPasswdIdentityProvider + + // Details of cluster-wide KubeletConfig + KubeletConfig KubeletConfig + + // External authentication configuration + ExternalAuthConfig ExternalAuthConfig + + // Indicate whether the cluster is enabled for multi arch workers + MultiArchEnabled Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/cluster_vpc_resource.model b/model/clusters_mgmt/v2alpha1/cluster_vpc_resource.model new file mode 100644 index 00000000..edc4b738 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cluster_vpc_resource.model @@ -0,0 +1,22 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Provides detailed information about the status of an specific cluster. +resource Vpc { + method Get { + out Body CloudVPC + } +} diff --git a/model/clusters_mgmt/v2alpha1/clusterdeployment_resource.model b/model/clusters_mgmt/v2alpha1/clusterdeployment_resource.model new file mode 100644 index 00000000..8e91ec79 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/clusterdeployment_resource.model @@ -0,0 +1,22 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific clusterdeployment. +resource Clusterdeployment { + // Deletes the clusterdeployment. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/clusters_resource.model b/model/clusters_mgmt/v2alpha1/clusters_resource.model new file mode 100644 index 00000000..e0e9d6d9 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/clusters_resource.model @@ -0,0 +1,79 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of clusters. +resource Clusters { + // Retrieves the list of clusters. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of a + // SQL statement, but using the names of the attributes of the cluster instead of + // the names of the columns of a table. For example, in order to retrieve all the + // clusters with a name starting with `my` in the `us-east-1` region the value + // should be: + // + // ```sql + // name like 'my%' and region.id = 'us-east-1' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the + // clusters that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the cluster instead of + // the names of the columns of a table. For example, in order to sort the clusters + // descending by region identifier the value should be: + // + // ```sql + // region.id desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of clusters. + out Items []Cluster + } + + // Provision a new cluster and add it to the collection of clusters. + // + // See the `register_cluster` method for adding an existing cluster. + method Add { + // Description of the cluster. + in out Body Cluster + } + + // Returns a reference to the service that manages an specific cluster. + locator Cluster { + target Cluster + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/component_route_kind_type.model b/model/clusters_mgmt/v2alpha1/component_route_kind_type.model new file mode 100644 index 00000000..ae6b99e8 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/component_route_kind_type.model @@ -0,0 +1,22 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Type of Component Route. +enum ComponentRouteType { + Oauth + Downloads + Console +} diff --git a/model/clusters_mgmt/v2alpha1/component_route_type.model b/model/clusters_mgmt/v2alpha1/component_route_type.model new file mode 100644 index 00000000..7ff6d025 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/component_route_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a Component Route. +class ComponentRoute { + // Hostname of the route. + Hostname String + + // TLS Secret reference of the route. + TlsSecretRef String +} diff --git a/model/clusters_mgmt/v2alpha1/control_plane_resource.model b/model/clusters_mgmt/v2alpha1/control_plane_resource.model new file mode 100644 index 00000000..99727254 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/control_plane_resource.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific upgrade policy. +resource ControlPlane { + // Reference to the state of the upgrade policy. + locator UpgradePolicies { + target ControlPlaneUpgradePolicies + } +} diff --git a/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policies_resource.model b/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policies_resource.model new file mode 100644 index 00000000..93771790 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policies_resource.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of upgrade policies for the control plane of a cluster. +resource ControlPlaneUpgradePolicies { + // Retrieves the list of upgrade policies for the control plane. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of upgrade policy. + out Items []ControlPlaneUpgradePolicy + } + + // Adds a new upgrade policy to the control plane of the cluster. + method Add { + // Description of the upgrade policy. + in out Body ControlPlaneUpgradePolicy + } + + // Reference to the service that manages an specific upgrade policy for the control plane. + locator ControlPlaneUpgradePolicy { + target ControlPlaneUpgradePolicy + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_resource.model b/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_resource.model new file mode 100644 index 00000000..46d5c9d1 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_resource.model @@ -0,0 +1,32 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific upgrade policy for the control plane. +resource ControlPlaneUpgradePolicy { + // Retrieves the details of the upgrade policy for the control plane. + method Get { + out Body ControlPlaneUpgradePolicy + } + + // Update the upgrade policy for the control plane. + method Update { + in out Body ControlPlaneUpgradePolicy + } + + // Deletes the upgrade policy for the control plane. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_type.model b/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_type.model new file mode 100644 index 00000000..7e5dc6a0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_type.model @@ -0,0 +1,48 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an upgrade policy that can be set for a cluster. +class ControlPlaneUpgradePolicy { + // Cluster ID this upgrade policy for control plane is defined for. + ClusterID String + + // Schedule cron expression that defines automatic upgrade scheduling. + Schedule String + + // Schedule type of the control plane upgrade. + ScheduleType ScheduleType + + // Upgrade type of the control plane. + UpgradeType UpgradeType + + // Version is the desired upgrade version. + Version String + + // Next time the upgrade should run. + NextRun Date + + // Indicates if minor version upgrades are allowed for automatic upgrades (for manual it's always allowed). + EnableMinorVersionUpgrades Boolean + + // Timestamp for creation of resource. + CreationTimestamp Date + + // Timestamp for last update that happened to resource. + LastUpdateTimestamp Date + + // State of the upgrade policy for the hosted control plane. + State UpgradePolicyState +} diff --git a/model/clusters_mgmt/v2alpha1/cpu_total_by_node_roles_os_metric_query_resource.model b/model/clusters_mgmt/v2alpha1/cpu_total_by_node_roles_os_metric_query_resource.model new file mode 100644 index 00000000..6477c790 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cpu_total_by_node_roles_os_metric_query_resource.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Total cpu capacity in the cluster by node role and operating system. +resource CPUTotalByNodeRolesOSMetricQuery { + // Retrieves the metrics. + method Get { + out Body CPUTotalsNodeRoleOSMetricNode + } +} diff --git a/model/clusters_mgmt/v2alpha1/cpu_total_node_role_os_metric_node_type.model b/model/clusters_mgmt/v2alpha1/cpu_total_node_role_os_metric_node_type.model new file mode 100644 index 00000000..be48b2a5 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cpu_total_node_role_os_metric_node_type.model @@ -0,0 +1,29 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of information from telemetry about a the CPU capacity by node role and OS. +struct CPUTotalNodeRoleOSMetricNode { + Time Date + + // Representation of the node role for a cluster. + NodeRoles []String + + // The operating system. + OperatingSystem String + + // The total CPU capacity of nodes with this set of roles and operating system. + CPUTotal Float +} diff --git a/model/clusters_mgmt/v2alpha1/cpu_totals_node_role_os_metric_node_type.model b/model/clusters_mgmt/v2alpha1/cpu_totals_node_role_os_metric_node_type.model new file mode 100644 index 00000000..f44809b3 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/cpu_totals_node_role_os_metric_node_type.model @@ -0,0 +1,22 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + + +// Representation of information from telemetry about the CPU capacity by node +// role and OS of a cluster. +struct CPUTotalsNodeRoleOSMetricNode { + CPUTotals []CPUTotalNodeRoleOSMetricNode +} diff --git a/model/clusters_mgmt/v2alpha1/credential_request_type.model b/model/clusters_mgmt/v2alpha1/credential_request_type.model new file mode 100644 index 00000000..91cabc8b --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/credential_request_type.model @@ -0,0 +1,30 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Contains the necessary attributes to allow each operator to access the necessary AWS resources +struct CredentialRequest { + // Name of the credentials secret used to access cloud resources + Name String + + // Namespace where the credentials secret lives in the cluster + Namespace String + + // Service account name to use when authenticating + ServiceAccount String + + // List of policy permissions needed to access cloud resources + PolicyPermissions []String +} diff --git a/model/clusters_mgmt/v2alpha1/credentials_resource.model b/model/clusters_mgmt/v2alpha1/credentials_resource.model new file mode 100644 index 00000000..54e2861c --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/credentials_resource.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the credentials of a cluster. +resource Credentials { + // Retrieves the details of the credentials of a cluster. + method Get { + out Body ClusterCredentials + } +} diff --git a/model/clusters_mgmt/v2alpha1/delete_protection_resource.model b/model/clusters_mgmt/v2alpha1/delete_protection_resource.model new file mode 100644 index 00000000..d5f20950 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/delete_protection_resource.model @@ -0,0 +1,25 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages delete protection specific parts for a specific cluster. +resource DeleteProtection { + method Get { + out Body DeleteProtection + } + method Update { + in out Body DeleteProtection + } +} diff --git a/model/clusters_mgmt/v2alpha1/delete_protection_type.model b/model/clusters_mgmt/v2alpha1/delete_protection_type.model new file mode 100644 index 00000000..d46db361 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/delete_protection_type.model @@ -0,0 +1,25 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// DeleteProtection configuration. +struct DeleteProtection { + // Boolean flag indicating if the cluster should be be using _DeleteProtection_. + // + // By default this is `false`. + // + // To enable it a SREP needs to patch the value through OCM API + Enabled Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/dns_domain_resource.model b/model/clusters_mgmt/v2alpha1/dns_domain_resource.model new file mode 100644 index 00000000..bfb91468 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/dns_domain_resource.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages DNS domain. +resource DNSDomain { + // Retrieves the details of the DNS domain. + method Get { + out Body DNSDomain + } + + // Delete the DNS domain. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/dns_domain_type.model b/model/clusters_mgmt/v2alpha1/dns_domain_type.model new file mode 100644 index 00000000..eef47c65 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/dns_domain_type.model @@ -0,0 +1,30 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Contains the properties of a DNS domain. +class DNSDomain { + // Link to the organization that reserved the DNS domain. + link Organization OrganizationLink + + // Link to the cluster that is registered with the DNS domain (optional). + link Cluster ClusterLink + + // Date and time when the DNS domain was reserved. + ReservedAtTimestamp Date + + // Indicates if this dns domain is user defined. + UserDefined Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/dns_domains_resource.model b/model/clusters_mgmt/v2alpha1/dns_domains_resource.model new file mode 100644 index 00000000..27040ee0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/dns_domains_resource.model @@ -0,0 +1,59 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of DNS domains. +resource DNSDomains { + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of a + // SQL statement, but using the names of the attributes of the dns domain instead of + // the names of the columns of a table. For example, in order to retrieve all the + // dns domains with a ID starting with `02a5` should be: + // + // ```sql + // id like '02a5%' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the + // dns domains that the user has permission to see will be returned. + in Search String + + // Total number of items of the collection. + out Total Integer + + // Retrieved a list of DNS domains. + out Items []DNSDomain + } + + // Adds a DNS domain. + method Add { + // Description of the DNS domain. + in out Body DNSDomain + } + + // Reference to the resource that manages a specific DNS doamin. + locator DNSDomain { + target DNSDomain + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/dns_type.model b/model/clusters_mgmt/v2alpha1/dns_type.model new file mode 100644 index 00000000..82ab9fd5 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/dns_type.model @@ -0,0 +1,62 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// DNS settings of the cluster. +struct DNS { + // Base DNS domain of the cluster. + // + // During the installation of the cluster it is necessary to create multiple DNS records. + // They will be created as sub-domains of this domain. For example, if the domain_prefix of the + // cluster is `mycluster` and the base domain is `example.com` then the following DNS + // records will be created: + // + // ``` + // mycluster-api.example.com + // mycluster-etcd-0.example.com + // mycluster-etcd-1.example.com + // mycluster-etcd-3.example.com + // ``` + // + // The exact number, type and names of the created DNS record depends on the characteristics + // of the cluster, and may be different for different versions of _OpenShift_. Please don't + // rely on them. For example, to find what is the URL of the Kubernetes API server of the + // cluster don't assume that it will be `mycluster-api.example.com`. Instead of that use + // this API to retrieve the description of the cluster, and get it from the `api.url` + // attribute. For example, if the identifier of the cluster is `123` send a request like + // this: + // + // ```http + // GET /api/clusters_mgmt/v1/clusters/123 HTTP/1.1 + // ``` + // + // That will return a response like this, including the `api.url` attribute: + // + // ```json + // { + // "kind": "Cluster", + // "id": "123", + // "href": "/api/clusters_mgmt/v1/clusters/123", + // "api": { + // "url": "https://mycluster-api.example.com:6443" + // }, + // ... + // } + // ``` + // + // When the cluster is created in Amazon Web Services it is necessary to create this base + // DNS domain in advance, using AWS Route53 (https://console.aws.amazon.com/route53). + BaseDomain String +} diff --git a/model/clusters_mgmt/v2alpha1/encryption_key_inquiry_type.model b/model/clusters_mgmt/v2alpha1/encryption_key_inquiry_type.model new file mode 100644 index 00000000..78f2b849 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/encryption_key_inquiry_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Description of a cloud provider encryption key. +class EncryptionKey { + // Name of the encryption key. + Name String +} diff --git a/model/clusters_mgmt/v2alpha1/encryption_keys_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/encryption_keys_inquiry_resource.model new file mode 100644 index 00000000..1d03c59f --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/encryption_keys_inquiry_resource.model @@ -0,0 +1,44 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific encryption keys inquiry. +resource EncryptionKeysInquiry { + // Retrieves the list of encryption keys. + // IMPORTANT: This collection doesn't currently support paging or searching, so the returned + // `page` will always be 1 and `size` and `total` will always be the total number of available regions + // of the provider. + method Search { + // Index of the returned page, where one corresponds to the first page. As this + // collection doesn't support paging the result will always be `1`. + in out Page Integer = 1 + + // Number of items that will be contained in the returned page. As this collection + // doesn't support paging or searching the result will always be the total number of + // regions of the provider. + in out Size Integer = 100 + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. As this collection doesn't support paging or + // searching the result will always be the total number of available regions of the provider. + out Total Integer + + // Retrieved list of encryption keys. + out Items []EncryptionKey + + // Cloud provider data needed for the inquiry + in Body CloudProviderData + } +} diff --git a/model/clusters_mgmt/v2alpha1/environment_resource.model b/model/clusters_mgmt/v2alpha1/environment_resource.model new file mode 100644 index 00000000..7871e918 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/environment_resource.model @@ -0,0 +1,33 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific environment. +resource Environment { + // Retrieves the details of the environment. + method Get { + out Body Environment + } + + // Updates the environment. + // + // Attributes that can be updated are: + // + // - `last_upgrade_available_check` + // - `last_limited_support_check` + method Update { + in out Body Environment + } +} diff --git a/model/clusters_mgmt/v2alpha1/environment_type.model b/model/clusters_mgmt/v2alpha1/environment_type.model new file mode 100644 index 00000000..ca102ab0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/environment_type.model @@ -0,0 +1,30 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Description of an environment +struct Environment { + // environment name + Name String + + // last time that the worker checked for available upgrades + LastUpgradeAvailableCheck Date + + // last time that the worker checked for limited support clusters + LastLimitedSupportCheck Date + + // the backplane url for the environment + BackplaneURL String +} diff --git a/model/clusters_mgmt/v2alpha1/errors.model b/model/clusters_mgmt/v2alpha1/errors.model new file mode 100644 index 00000000..8230d725 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/errors.model @@ -0,0 +1,20 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Can't create cluster, the given external identifier is already in use. +error DuplicatedExternalID { + code 1001 +} diff --git a/model/clusters_mgmt/v2alpha1/event_type.model b/model/clusters_mgmt/v2alpha1/event_type.model new file mode 100644 index 00000000..dbfa3467 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/event_type.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a trackable event. +struct Event { + // Key of the event to be tracked. This key should start with an + // uppercase letter followed by alphanumeric characters or + // underscores. The entire key needs to be smaller than 64 characters. + Key String + + //Body of the event to track the details of the tracking event as Key value pair + Body [String]String + +} diff --git a/model/clusters_mgmt/v2alpha1/events_resource.model b/model/clusters_mgmt/v2alpha1/events_resource.model new file mode 100644 index 00000000..b0d5f2ca --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/events_resource.model @@ -0,0 +1,29 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a collection used to track events reported by external clients. +resource Events { + // Adds a new event to be tracked. When sending a new event request, + // it gets tracked in Prometheus, Pendo, CloudWatch, or whichever + // analytics client is configured as part of clusters service. This + // allows for reporting on events that happen outside of a regular API + // request, but are found to be useful for understanding customer + // needs and possible blockers. + method Add { + // Description of the event. + in out Body Event + } +} diff --git a/model/clusters_mgmt/v2alpha1/external_auth_config_resource.model b/model/clusters_mgmt/v2alpha1/external_auth_config_resource.model new file mode 100644 index 00000000..f11fa886 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/external_auth_config_resource.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the external authentication configuration for a ROSA HCP cluster. +resource ExternalAuthConfig { + method Get { + out Body ExternalAuthConfig + } + + // Reference to the resource that manages the collection of ExternalAuths resources. + locator ExternalAuths { + target ExternalAuths + } +} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/external_auth_config_type.model b/model/clusters_mgmt/v2alpha1/external_auth_config_type.model new file mode 100644 index 00000000..64896571 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/external_auth_config_type.model @@ -0,0 +1,28 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// ExternalAuthConfig configuration +struct ExternalAuthConfig { + // Boolean flag indicating if the cluster should use an external authentication configuration. + // + // By default this is false. + // + // To enable it the cluster needs to be ROSA HCP cluster and the organization of the user needs + // to have the `external-authentication` feature toggle enabled. + Enabled Boolean + + link ExternalAuths []ExternalAuth +} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/external_auth_resource.model b/model/clusters_mgmt/v2alpha1/external_auth_resource.model new file mode 100644 index 00000000..fc1b117a --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/external_auth_resource.model @@ -0,0 +1,32 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific external authentication. +resource ExternalAuth { + // Retrieves the details of an external authentication. + method Get { + out Body ExternalAuth + } + + // Updates the external authentication. + method Update { + in out Body ExternalAuth + } + + // Deletes the external authentication. + method Delete { + } +} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/external_auth_type.model b/model/clusters_mgmt/v2alpha1/external_auth_type.model new file mode 100644 index 00000000..210e294c --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/external_auth_type.model @@ -0,0 +1,129 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an external authentication provider. +class ExternalAuth { + + // The issuer describes the attributes of the OIDC token issuer. + Issuer TokenIssuer + + // The list of the platform's clients that need to request tokens from the issuer. + Clients []ExternalAuthClientConfig + + // The rules on how to transform information from an ID token into a cluster identity. + Claim ExternalAuthClaim +} + +// Representation of a token issuer used in an external authentication. +struct TokenIssuer { + + // URL is the serving URL of the token issuer. + URL String + + // Audiences is an array of audiences that the token was issued for. + // Valid tokens must include at least one of these values in their + // "aud" claim. + // Must be set to exactly one value. + Audiences []String + + // Certificate bundle to use to validate server certificates for the configured URL. + CA String +} + +// ExternalAuthClientConfig contains configuration for the platform's clients that +// need to request tokens from the issuer. +struct ExternalAuthClientConfig { + + // The component that is supposed to consume this client configuration. + Component ClientComponent + + // The identifier of the OIDC client from the OIDC provider. + ID String + + // The secret of the OIDC client from the OIDC provider. + Secret String + + // ExtraScopes is an optional set of scopes to request tokens with. + ExtraScopes []String +} + +// The reference of a component that will consume the client configuration. +struct ClientComponent { + + // The name of the component. + Name String + + // The namespace of the component. + Namespace String +} + +// The claims and validation rules used in the configuration of the external authentication. +struct ExternalAuthClaim { + + // Mapping describes rules on how to transform information from an ID token into a cluster identity. + Mappings TokenClaimMappings + + // ValidationRules are rules that are applied to validate token claims to authenticate users. + ValidationRules []TokenClaimValidationRule +} + +// The claim mappings defined for users and groups. +struct TokenClaimMappings { + + // Username is a name of the claim that should be used to construct usernames for the cluster identity. + @json(name = "username") + UserName UsernameClaim + + // Groups is a name of the claim that should be used to construct groups for the cluster identity. + Groups GroupsClaim +} + +// The username claim mapping. +struct UsernameClaim { + + // The claim used in the token. + Claim String + + // A prefix contatenated in the claim (Optional). + Prefix String + + // PrefixPolicy specifies how a prefix should apply. + // + // By default, claims other than `email` will be prefixed with the issuer URL to + // prevent naming clashes with other plugins. + // + // Set to "NoPrefix" to disable prefixing. + PrefixPolicy String +} + +struct GroupsClaim { + // The claim used in the token. + Claim String + + // A prefix contatenated in the claim (Optional). + Prefix String +} + +// The rule that is applied to validate token claims to authenticate users. +struct TokenClaimValidationRule { + + // Claim is a name of a required claim. + Claim String + + // RequiredValue is the required value for the claim. + RequiredValue String +} + diff --git a/model/clusters_mgmt/v2alpha1/external_auths_resource.model b/model/clusters_mgmt/v2alpha1/external_auths_resource.model new file mode 100644 index 00000000..a18e5795 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/external_auths_resource.model @@ -0,0 +1,44 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of external authentication defined for a ROSA HCP cluster. +resource ExternalAuths { + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of external authentications. + out Items []ExternalAuth + } + + // Adds a new authentication to the cluster. + method Add { + // Description of the external authentication. + in out Body ExternalAuth + } + + // Reference to the service that manages a specific external authentication. + locator ExternalAuth { + target ExternalAuth + variable ID + } +} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/external_configuration_resource.model b/model/clusters_mgmt/v2alpha1/external_configuration_resource.model new file mode 100644 index 00000000..9dbb526b --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/external_configuration_resource.model @@ -0,0 +1,41 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific external configuration. +resource ExternalConfiguration { + // Retrieves the details of the external configuration. + method Get { + // Retreived log. + out Body ExternalConfiguration + } + + // Reference to the resource that manages the collection of syncsets. + locator Syncsets { + target Syncsets + } + + // Reference to the resource that manages the collection of manifests. + locator Manifests { + target Manifests + } + + // Reference to the resource that manages the collection of labels. + locator Labels { + target Labels + } + + +} diff --git a/model/clusters_mgmt/v2alpha1/external_configuration_type.model b/model/clusters_mgmt/v2alpha1/external_configuration_type.model new file mode 100644 index 00000000..99a1a573 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/external_configuration_type.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of cluster external configuration. +struct ExternalConfiguration { + // list of syncsets externally configured on the cluster. + link Syncsets []Syncset + + // list of labels externally configured on the clusterdeployment. + link Labels []Label + + // list of manifest externally configured for a hosted cluster. + link Manifests []Manifest +} diff --git a/model/clusters_mgmt/v2alpha1/flavour_nodes_type.model b/model/clusters_mgmt/v2alpha1/flavour_nodes_type.model new file mode 100644 index 00000000..bf5ac650 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/flavour_nodes_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Counts of different classes of nodes inside a flavour. +struct FlavourNodes { + // Number of master nodes of the cluster. + Master Integer +} diff --git a/model/clusters_mgmt/v2alpha1/flavour_resource.model b/model/clusters_mgmt/v2alpha1/flavour_resource.model new file mode 100644 index 00000000..7e55eb3b --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/flavour_resource.model @@ -0,0 +1,34 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific cluster flavour. +resource Flavour { + // Retrieves the details of the cluster flavour. + method Get { + out Body Flavour + } + + // Updates the flavour. + // + // Attributes that can be updated are: + // + // - `aws.infra_volume` + // - `aws.infra_instance_type` + // - `gcp.infra_instance_type` + method Update { + in out Body Flavour + } +} diff --git a/model/clusters_mgmt/v2alpha1/flavour_type.model b/model/clusters_mgmt/v2alpha1/flavour_type.model new file mode 100644 index 00000000..b2115791 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/flavour_type.model @@ -0,0 +1,42 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Set of predefined properties of a cluster. For example, a _huge_ flavour can be a cluster +// with 10 infra nodes and 1000 compute nodes. +class Flavour { + // Default _Amazon Web Services_ settings of the cluster. + AWS AWSFlavour + + // Default _Google Cloud Platform_ settings of the cluster. + GCP GCPFlavour + + // Number of nodes that will be used by default when creating a cluster that uses + // this flavour. + // + // These can be overridden specifying in the cluster itself a different number of nodes. + Nodes FlavourNodes + + // Human friendly identifier of the cluster, for example `4`. + // + // NOTE: Currently for all flavours the `id` and `name` attributes have exactly the + // same values. + Name String + + // Default network settings of the cluster. + // + // These can be overridden specifying in the cluster itself a different set of settings. + Network Network +} diff --git a/model/clusters_mgmt/v2alpha1/flavours_resource.model b/model/clusters_mgmt/v2alpha1/flavours_resource.model new file mode 100644 index 00000000..7e4d99aa --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/flavours_resource.model @@ -0,0 +1,69 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of cluster flavours. +resource Flavours { + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of an + // SQL statement, but using the names of the attributes of the flavour instead of + // the names of the columns of a table. For example, in order to retrieve all the + // flavours with a name starting with `my`the value should be: + // + // ```sql + // name like 'my%' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the flavours + // that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the flavour instead of + // the names of the columns of a table. For example, in order to sort the flavours + // descending by name the value should be: + // + // ```sql + // name desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of flavours. + out Items []Flavour + } + + // Reference to the resource that manages a specific flavour. + locator Flavour { + target Flavour + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/gcp_authentication_type.model b/model/clusters_mgmt/v2alpha1/gcp_authentication_type.model new file mode 100644 index 00000000..5f6e3110 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/gcp_authentication_type.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Google cloud platform authentication method of a cluster. +struct GcpAuthentication { + // Indicates the type of this object + Kind String + + // Unique identifier of the object + Id String + + // Self link + Href String +} diff --git a/model/clusters_mgmt/v2alpha1/gcp_encryption_key_type.model b/model/clusters_mgmt/v2alpha1/gcp_encryption_key_type.model new file mode 100644 index 00000000..b820f25b --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/gcp_encryption_key_type.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// GCP Encryption Key for CCS clusters. +struct GCPEncryptionKey { + // Name of the encryption key + KeyName String + // Name of the key ring the encryption key is located on + KeyRing String + // Location of the encryption key ring + KeyLocation String + // Service account used to access the KMS key + KMSKeyServiceAccount String +} diff --git a/model/clusters_mgmt/v2alpha1/gcp_flavour_type.model b/model/clusters_mgmt/v2alpha1/gcp_flavour_type.model new file mode 100644 index 00000000..6d1f503a --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/gcp_flavour_type.model @@ -0,0 +1,38 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Specification for different classes of nodes inside a flavour. +struct GCPFlavour { + // GCP default instance type for the master volume. + MasterInstanceType String + + // GCP default instance type for the worker volume. + // + // User can be overridden specifying in the cluster itself a type for compute node. + ComputeInstanceType String + + // GCP default instance type for the infra volume. + InfraInstanceType String + + // Master volume specification. + MasterVolume GCPVolume + + // Infra volume specification. + InfraVolume GCPVolume + + // Worker volume specification. + WorkerVolume GCPVolume +} diff --git a/model/clusters_mgmt/v2alpha1/gcp_image_override_type.model b/model/clusters_mgmt/v2alpha1/gcp_image_override_type.model new file mode 100644 index 00000000..4ed936d5 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/gcp_image_override_type.model @@ -0,0 +1,30 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// GcpImageOverride specifies what a GCP VM Image should be used for a particular product and billing model +class GCPImageOverride { + // Link to the product type. + link Product Product + + // Link to the billing model. + link BillingModel BillingModelItem + + // ImageID is the id of the Google Cloud Platform image. + ImageID String + + // ProjectID is the id of the Google Cloud Platform project that hosts the image. + ProjectID String +} diff --git a/model/clusters_mgmt/v2alpha1/gcp_inquiries_resource.model b/model/clusters_mgmt/v2alpha1/gcp_inquiries_resource.model new file mode 100644 index 00000000..fe14112e --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/gcp_inquiries_resource.model @@ -0,0 +1,40 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of gcp inquiries. +resource GCPInquiries { + // Reference to the resource that manages a collection of vpcs. + locator Vpcs { + target VpcsInquiry + } + // Reference to the resource that manages a collection of key rings. + locator KeyRings { + target KeyRingsInquiry + } + // Reference to the resource that manages a collection of encryption keys. + locator EncryptionKeys { + target EncryptionKeysInquiry + } + // Reference to the resource that manages a collection of regions. + locator Regions { + target AvailableRegionsInquiry + } + // Reference to the resource that manages gcp machine types by regions. + locator MachineTypes { + target GCPRegionMachineTypesInquiry + } +} + diff --git a/model/clusters_mgmt/v2alpha1/gcp_network_type.model b/model/clusters_mgmt/v2alpha1/gcp_network_type.model new file mode 100644 index 00000000..3ec49108 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/gcp_network_type.model @@ -0,0 +1,30 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// GCP Network configuration of a cluster. +struct GCPNetwork { + // VPC mame used by the cluster. + VPCName String + + // The name of the host project where the shared VPC exists. + VPCProjectID String + + // Control plane subnet used by the cluster. + ControlPlaneSubnet String + + // Compute subnet used by the cluster. + ComputeSubnet String +} diff --git a/model/clusters_mgmt/v2alpha1/gcp_region_machine_types_resource.model b/model/clusters_mgmt/v2alpha1/gcp_region_machine_types_resource.model new file mode 100644 index 00000000..f4109190 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/gcp_region_machine_types_resource.model @@ -0,0 +1,37 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages machine types in region inquiry. +resource GCPRegionMachineTypesInquiry { + // Retrieves the list of machine types in the provided region. + method Search { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of machine types. + out Items []MachineType + + // Cloud provider data needed for the inquiry + in Body CloudProviderData + } +} diff --git a/model/clusters_mgmt/v2alpha1/gcp_security_type.model b/model/clusters_mgmt/v2alpha1/gcp_security_type.model new file mode 100644 index 00000000..6a69203b --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/gcp_security_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Google cloud platform security settings of a cluster. +struct GcpSecurity { + // Determines if Shielded VM feature "Secure Boot" should be set for the nodes of the cluster. + SecureBoot Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/gcp_type.model b/model/clusters_mgmt/v2alpha1/gcp_type.model new file mode 100644 index 00000000..3616d889 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/gcp_type.model @@ -0,0 +1,43 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Google cloud platform settings of a cluster. +struct GCP { + // GCP project identifier. + ProjectID String + // GCP the type of the service the key belongs to + Type String + // GCP private key identifier + PrivateKeyID String + // GCP private key + PrivateKey String + // GCP client email + ClientEmail String + // GCP client identifier + ClientID String + // GCP authentication uri + AuthURI String + // GCP token uri + TokenURI String + // GCP Authentication provider x509 certificate url + AuthProviderX509CertURL String + // GCP client x509 certificate url + ClientX509CertURL String + // GCP Security Settings + Security GcpSecurity + // GCP Authentication Method + Authentication GcpAuthentication +} diff --git a/model/clusters_mgmt/v2alpha1/gcp_volume_type.model b/model/clusters_mgmt/v2alpha1/gcp_volume_type.model new file mode 100644 index 00000000..69069cff --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/gcp_volume_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Holds settings for an GCP storage volume. +struct GCPVolume { + // Volume size in Gib. + Size Integer +} diff --git a/model/clusters_mgmt/v2alpha1/group_resource.model b/model/clusters_mgmt/v2alpha1/group_resource.model new file mode 100644 index 00000000..e551e14a --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/group_resource.model @@ -0,0 +1,28 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific group. +resource Group { + // Retrieves the details of the group. + method Get { + out Body Group + } + + // Reference to the resource that manages the collection of users. + locator Users { + target Users + } +} diff --git a/model/clusters_mgmt/v2alpha1/group_type.model b/model/clusters_mgmt/v2alpha1/group_type.model new file mode 100644 index 00000000..03da0b7f --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/group_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a group of users. +class Group { + // List of users of the group. + link Users []User +} diff --git a/model/clusters_mgmt/v2alpha1/groups_resource.model b/model/clusters_mgmt/v2alpha1/groups_resource.model new file mode 100644 index 00000000..4d69125f --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/groups_resource.model @@ -0,0 +1,39 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of groups of a cluster. +resource Groups { + // Retrieves the list of groups. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of groups. + out Items []Group + } + + // Reference to the service that manages an specific group. + locator Group { + target Group + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/htpasswd_user_resource.model b/model/clusters_mgmt/v2alpha1/htpasswd_user_resource.model new file mode 100644 index 00000000..08d44fe7 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/htpasswd_user_resource.model @@ -0,0 +1,32 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific _HTPasswd_ user. +resource HTPasswdUser { + // Retrieves the details of the user. + method Get { + out Body HTPasswdUser + } + + // Deletes the user. + method Delete { + } + + // Updates the user's password. The username is not editable + method Update { + in out Body HTPasswdUser + } +} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/htpasswd_user_type.model b/model/clusters_mgmt/v2alpha1/htpasswd_user_type.model new file mode 100644 index 00000000..ee85eb65 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/htpasswd_user_type.model @@ -0,0 +1,31 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +struct HTPasswdUser { + // ID for a secondary user in the _HTPasswd_ data file. + ID String + + // Username for a secondary user in the _HTPasswd_ data file. + Username String + + // Password in plain-text for a user in the _HTPasswd_ data file. + // The value of this field is hashed before setting it in the _HTPasswd_ data file for the HTPasswd IDP + Password String + + // HTPasswd Hashed Password for a user in the _HTPasswd_ data file. + // The value of this field is set as-is in the _HTPasswd_ data file for the HTPasswd IDP + HashedPassword String +} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/htpasswd_users_resource.model b/model/clusters_mgmt/v2alpha1/htpasswd_users_resource.model new file mode 100644 index 00000000..5e2a340f --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/htpasswd_users_resource.model @@ -0,0 +1,63 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of users in an _HTPasswd_ IDP of a cluster. +resource HTPasswdUsers { + // Retrieves the list of _HTPasswd_ IDP users. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of users of the IDP. + out Items []HTPasswdUser + } + + // Adds a new user to the _HTPasswd_ file. + method Add { + // New user to be added + in out Body HTPasswdUser + } + + // Adds multiple new users to the _HTPasswd_ file. + method Import { + // List of users to add to the IDP. + in Items []HTPasswdUser + + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Updated list of users of the IDP. + out Items []HTPasswdUser + } + + // Reference to the service that manages a specific _HTPasswd_ user. + locator HtpasswdUser { + target HTPasswdUser + variable ID + } +} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/hypershift_config_type.model b/model/clusters_mgmt/v2alpha1/hypershift_config_type.model new file mode 100644 index 00000000..c83ecbf4 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/hypershift_config_type.model @@ -0,0 +1,30 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Hypershift configuration. +struct HypershiftConfig { + // Boolean flag indicating if the cluster should be creating using _Hypershift_. + // + // By default this is `false`. + // + // To enable it the cluster needs to be ROSA cluster and the organization of the user needs + // to have the `hypershift` capability enabled. + Enabled Boolean + + // Contains the name of the current management cluster for this Hypershift cluster. + // Empty for non Hypershift clusters. + ManagementCluster String +} diff --git a/model/clusters_mgmt/v2alpha1/hypershift_resource.model b/model/clusters_mgmt/v2alpha1/hypershift_resource.model new file mode 100644 index 00000000..7c369082 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/hypershift_resource.model @@ -0,0 +1,28 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific Hypershift cluster. +resource Hypershift { + // Retrieves the Hypershift details for a single cluster. + method Get { + out Body HypershiftConfig + } + + // Updates the Hypershift details for a single cluster. + method Update { + in out Body HypershiftConfig + } +} diff --git a/model/clusters_mgmt/v2alpha1/hypershift_type.model b/model/clusters_mgmt/v2alpha1/hypershift_type.model new file mode 100644 index 00000000..3ebc9071 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/hypershift_type.model @@ -0,0 +1,26 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Hypershift configuration. +struct Hypershift { + // Boolean flag indicating if the cluster should be creating using _Hypershift_. + // + // By default this is `false`. + // + // To enable it the cluster needs to be ROSA cluster and the organization of the user needs + // to have the `hypershift` capability enabled. + Enabled Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/identity_provider_resource.model b/model/clusters_mgmt/v2alpha1/identity_provider_resource.model new file mode 100644 index 00000000..696865d5 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/identity_provider_resource.model @@ -0,0 +1,37 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific identity provider. +resource IdentityProvider { + // Retrieves the details of the identity provider. + method Get { + out Body IdentityProvider + } + + // Deletes the identity provider. + method Delete { + } + + //Update identity provider in the cluster. + method Update { + in out Body IdentityProvider + } + + // Reference to the resource that manages the collection of _HTPasswd_ IDP users + locator HtpasswdUsers { + target HTPasswdUsers + } +} diff --git a/model/clusters_mgmt/v2alpha1/identity_provider_type.model b/model/clusters_mgmt/v2alpha1/identity_provider_type.model new file mode 100644 index 00000000..2422819c --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/identity_provider_type.model @@ -0,0 +1,227 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an identity provider. +class IdentityProvider { + // Type of identity provider. The rest of the attributes will be populated according to this + // value. For example, if the type is `github` then only the `github` attribute will be + // populated. + Type IdentityProviderType + + // The name of the identity provider. + Name String + + // When `true` unauthenticated token requests from non-web clients (like the CLI) are sent a + // `WWW-Authenticate` challenge header for this provider. + Challenge Boolean + + // When `true` unauthenticated token requests from web clients (like the web console) are + // redirected to the authorize URL to log in. + Login Boolean + + // Controls how mappings are established between this provider's identities and user + // objects. + MappingMethod IdentityProviderMappingMethod + + // Details for `github` identity providers. + Github GithubIdentityProvider + + // Details for `gitlab` identity providers. + Gitlab GitlabIdentityProvider + + // Details for `google` identity providers. + Google GoogleIdentityProvider + + // Details for `htpasswd` identity providers. + Htpasswd HTPasswdIdentityProvider + + // Details for `ldap` identity providers. + LDAP LDAPIdentityProvider + + // Details for `openid` identity providers. + OpenID OpenIDIdentityProvider +} + +// Type of identity provider. +enum IdentityProviderType { + @json(name = "GithubIdentityProvider") + Github + + @json(name = "GitlabIdentityProvider") + Gitlab + + @json(name = "GoogleIdentityProvider") + Google + + @json(name = "HTPasswdIdentityProvider") + Htpasswd + + @json(name = "LDAPIdentityProvider") + LDAP + + @json(name = "OpenIDIdentityProvider") + OpenID +} + +// Controls how mappings are established between provider identities and user objects. +enum IdentityProviderMappingMethod { + Claim + Lookup + Generate + Add +} + +// Details for `github` identity providers. +struct GithubIdentityProvider { + // Optional trusted certificate authority bundle to use when making requests tot he server. + CA String + + // Client identifier of a registered _GitHub_ OAuth application. + ClientID String + + // Client secret of a registered _GitHub_ OAuth application. + ClientSecret String + + // For _GitHub Enterprise_ you must provide the host name of your instance, such as + // `example.com`. This value must match the _GitHub Enterprise_ host name value in the + // `/setup/settings` file and cannot include a port number. + // + // For plain _GitHub_ omit this parameter. + Hostname String + + // Optional list of organizations. Cannot be used in combination with the Teams field. + Organizations []String + + // Optional list of teams. Cannot be used in combination with the Organizations field. + Teams []String +} + +// Details for `gitlab` identity providers. +struct GitlabIdentityProvider { + // Optional trusted certificate authority bundle to use when making requests tot he server. + CA String + + // Client identifier of a registered _GitLab_ OAuth application. + ClientID String + + // Client secret issued by _GitLab_. + ClientSecret String + + // URL of the _GitLab_ instance. + URL String +} + +// Details for `google` identity providers. +struct GoogleIdentityProvider { + // Client identifier of a registered _Google_ project. + ClientID String + + // Client secret issued by _Google_. + ClientSecret String + + // Optional hosted domain to restrict sign-in accounts to. + HostedDomain String +} + +// Details for `htpasswd` identity providers. +struct HTPasswdIdentityProvider { + // Username to be used in the _HTPasswd_ data file. + Username String + + // Password to be used in the _HTPasswd_ data file. + Password String + + // Link to the collection of _HTPasswd_ users. + link Users []HTPasswdUser +} + +// Details for `ldap` identity providers. +struct LDAPIdentityProvider { + // LDAP attributes used to configure the provider. + Attributes LDAPAttributes + + // Optional distinguished name to use to bind during the search phase. + BindDN String + + // Optional password to use to bind during the search phase. + BindPassword String + + // Certificate bundle to use to validate server certificates for the configured URL. + CA String + + // An https://tools.ietf.org/html/rfc2255[RFC 2255] URL which specifies the LDAP host and + // search parameters to use. + URL String + + // When `true` no TLS connection is made to the server. When `false` `ldaps://...` URLs + // connect using TLS and `ldap://...` are upgraded to TLS. + Insecure Boolean +} + +// LDAP attributes used to configure the LDAP identity provider. +struct LDAPAttributes { + // List of attributes to use as the mail address. + Email []String + + // List of attributes to use as the identity. + ID []String + + // List of attributes to use as the display name. + Name []String + + // List of attributes to use as the preferred user name when provisioning a user. + PreferredUsername []String +} + +// Details for `openid` identity providers. +struct OpenIDIdentityProvider { + // Certificate bunde to use to validate server certificates for the configured URL. + CA String + + // Claims used to configure the provider. + Claims OpenIDClaims + + // Identifier of a client registered with the _OpenID_ provider. + ClientID String + + // Client secret. + ClientSecret String + + // Optional map of extra parameters to add to the authorization token request. + ExtraAuthorizeParameters [String]String + + // Optional list of scopes to request, in addition to the `openid` scope, during the + // authorization token request. + ExtraScopes []String + + // The URL that the OpenID Provider asserts as the Issuer Identifier + Issuer String +} + +// _OpenID_ identity provider claims. +struct OpenIDClaims { + // List of claims to use as the mail address. + Email []String + + // List of claims to use as the display name. + Name []String + + // List of claims to use as the preferred user name when provisioning a user. + PreferredUsername []String + + // List of claims to use as the group name. + Groups []String +} diff --git a/model/clusters_mgmt/v2alpha1/identity_providers_resource.model b/model/clusters_mgmt/v2alpha1/identity_providers_resource.model new file mode 100644 index 00000000..4c5b458d --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/identity_providers_resource.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of identity providers of a cluster. +resource IdentityProviders { + // Retrieves the list of identity providers. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of identity providers. + out Items []IdentityProvider + } + + // Adds a new identity provider to the cluster. + method Add { + // Description of the cluster. + in out Body IdentityProvider + } + + // Reference to the service that manages an specific identity provider. + locator IdentityProvider { + target IdentityProvider + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/image_overrides_type.model b/model/clusters_mgmt/v2alpha1/image_overrides_type.model new file mode 100644 index 00000000..97f26ec8 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/image_overrides_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// ImageOverrides holds the lists of available images per cloud provider. +class ImageOverrides { + AWS []AMIOverride + GCP []GCPImageOverride +} diff --git a/model/clusters_mgmt/v2alpha1/inflight_check_resource.model b/model/clusters_mgmt/v2alpha1/inflight_check_resource.model new file mode 100644 index 00000000..5845dc90 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/inflight_check_resource.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific inflight check. +resource InflightCheck { + // Retrieves the details of the inflight check. + method Get { + out Body InflightCheck + } +} diff --git a/model/clusters_mgmt/v2alpha1/inflight_check_state_type.model b/model/clusters_mgmt/v2alpha1/inflight_check_state_type.model new file mode 100644 index 00000000..7d90a5c9 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/inflight_check_state_type.model @@ -0,0 +1,30 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// State of an inflight check. +enum InflightCheckState { + // The inflight check did not start running yet. + Pending + + // The inflight check is currently running. + Running + + // The inflight check passed. + Passed + + // The inflight check failed. + Failed +} diff --git a/model/clusters_mgmt/v2alpha1/inflight_check_type.model b/model/clusters_mgmt/v2alpha1/inflight_check_type.model new file mode 100644 index 00000000..427a4ebc --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/inflight_check_type.model @@ -0,0 +1,37 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of check running before the cluster is provisioned. +class InflightCheck { + // The name of the inflight check. + Name String + + // State of the inflight check. + State InflightCheckState + + // Details regarding the state of the inflight check. + Details Interface + + // The time the check started running. + StartedAt Date + + // The time the check finished running. + EndedAt Date + + // The number of times the inflight check restarted. + Restarts Integer +} + diff --git a/model/clusters_mgmt/v2alpha1/inflight_checks_resource.model b/model/clusters_mgmt/v2alpha1/inflight_checks_resource.model new file mode 100644 index 00000000..2ac79e5c --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/inflight_checks_resource.model @@ -0,0 +1,40 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of inflight checks. +resource InflightChecks { + // Retrieves the list of inflight checks. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of inflight checks. + out Items []InflightCheck + } + + // Returns a reference to the service that manages a specific inflight check. + locator InflightCheck { + target InflightCheck + variable ID + } +} + diff --git a/model/clusters_mgmt/v2alpha1/ingress_resource.model b/model/clusters_mgmt/v2alpha1/ingress_resource.model new file mode 100644 index 00000000..9ce71fb4 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/ingress_resource.model @@ -0,0 +1,32 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific ingress. +resource Ingress { + // Retrieves the details of the ingress. + method Get { + out Body Ingress + } + + // Updates the ingress. + method Update { + in out Body Ingress + } + + // Deletes the ingress. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/ingress_type.model b/model/clusters_mgmt/v2alpha1/ingress_type.model new file mode 100644 index 00000000..98480e44 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/ingress_type.model @@ -0,0 +1,51 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an ingress. +class Ingress { + // Indicates if this is the default ingress. + Default Boolean + + // Listening method of the ingress + Listening ListeningMethod + + // Load Balancer type of the ingress + LoadBalancerType LoadBalancerFlavor + + // DNS Name of the ingress. + DNSName String + + // A set of labels for the ingress. + RouteSelectors [String]String + + // A set of excluded namespaces for the ingress. + ExcludedNamespaces []String + + // Wildcard policy for the ingress. + RouteWildcardPolicy WildcardPolicy + + // Namespace Ownership Policy for the ingress. + RouteNamespaceOwnershipPolicy NamespaceOwnershipPolicy + + // Cluster routes hostname. + ClusterRoutesHostname String + + // Cluster routes TLS Secret reference. + ClusterRoutesTlsSecretRef String + + // Component Routes settings. + ComponentRoutes [ComponentRouteType]ComponentRoute +} diff --git a/model/clusters_mgmt/v2alpha1/ingresses_resource.model b/model/clusters_mgmt/v2alpha1/ingresses_resource.model new file mode 100644 index 00000000..f6e6be8d --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/ingresses_resource.model @@ -0,0 +1,50 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of ingresses of a cluster. +resource Ingresses { + // Retrieves the list of ingresses. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of ingresses. + out Items []Ingress + } + + // Adds a new ingress to the cluster. + method Add { + // Description of the ingress + in out Body Ingress + } + + // Updates all ingresses + method Update { + in out Body []Ingress + } + + // Reference to the service that manages a specific ingress. + locator Ingress { + target Ingress + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/instance_iam_roles.model b/model/clusters_mgmt/v2alpha1/instance_iam_roles.model new file mode 100644 index 00000000..1c21de83 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/instance_iam_roles.model @@ -0,0 +1,26 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Contains the necessary attributes to support role-based authentication on AWS. +struct InstanceIAMRoles { + // The IAM role ARN that will be attached to master instances + MasterRoleARN String + + // The IAM role ARN that will be attached to worker instances + WorkerRoleARN String + + +} diff --git a/model/clusters_mgmt/v2alpha1/key_ring_inquiry_type.model b/model/clusters_mgmt/v2alpha1/key_ring_inquiry_type.model new file mode 100644 index 00000000..81095bf1 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/key_ring_inquiry_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Description of a cloud provider key ring. +class KeyRing { + // Name of the key ring. + Name String +} diff --git a/model/clusters_mgmt/v2alpha1/key_rings_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/key_rings_inquiry_resource.model new file mode 100644 index 00000000..c143ef61 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/key_rings_inquiry_resource.model @@ -0,0 +1,44 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of key rings inquiry. +resource KeyRingsInquiry { + // Retrieves the list of available key rings of the cloud provider. + // IMPORTANT: This collection doesn't currently support paging or searching, so the returned + // `page` will always be 1 and `size` and `total` will always be the total number of available regions + // of the provider. + method Search { + // Index of the returned page, where one corresponds to the first page. As this + // collection doesn't support paging the result will always be `1`. + in out Page Integer = 1 + + // Number of items that will be contained in the returned page. As this collection + // doesn't support paging or searching the result will always be the total number of + // key rings of the provider. + in out Size Integer = 100 + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. As this collection doesn't support paging or + // searching the result will always be the total number of available key rings of the provider. + out Total Integer + + // Retrieved list of key rings. + out Items []KeyRing + + // Cloud provider data needed for the inquiry + in Body CloudProviderData + } +} diff --git a/model/clusters_mgmt/v2alpha1/kubelet_config_resource.model b/model/clusters_mgmt/v2alpha1/kubelet_config_resource.model new file mode 100644 index 00000000..2e9d6ad9 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/kubelet_config_resource.model @@ -0,0 +1,55 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages global KubeletConfig configuration for worker nodes in a cluster. +resource KubeletConfig { + // Retrieves the KubeletConfig for a cluster + method Get { + out Body KubeletConfig + } + + // Creates a new cluster KubeletConfig + method Post { + in out Body KubeletConfig + } + + // Updates the existing cluster KubeletConfig + method Update { + in out Body KubeletConfig + } + + // Deletes the cluster KubeletConfig + method Delete { + } +} + +// Manages KubeletConfig configuration for Hosted Control Plane clusters. This resource does not support POST operations +// in contrast to the KubeletConfig resource for Classic clusters. +resource HcpKubeletConfig { + // Retrieves the KubeletConfig specified by the id. + method Get { + out Body KubeletConfig + } + + // Updates the KubeletConfig specified by the id. + method Update { + in out Body KubeletConfig + } + + // Deletes the KubeletConfig specified by the id. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/kubelet_config_type.model b/model/clusters_mgmt/v2alpha1/kubelet_config_type.model new file mode 100644 index 00000000..20f4e2a0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/kubelet_config_type.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// OCM representation of KubeletConfig, exposing the fields of Kubernetes +// KubeletConfig that can be managed by users +class KubeletConfig { + // Allows the user to specify the podPidsLimit to be applied via KubeletConfig. + // Useful if workloads have greater PIDs limit requirements than the OCP default. + PodPidsLimit Integer + + // Allows the user to specify the name to be used to identify this KubeletConfig. + // Optional. A name will be generated if not provided. + Name String +} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/kubelet_configs_resource.model b/model/clusters_mgmt/v2alpha1/kubelet_configs_resource.model new file mode 100644 index 00000000..dd7d118f --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/kubelet_configs_resource.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of KubeletConfigs for a cluster. +resource KubeletConfigs { + // Retrieves the list of KubeletConfigs for the cluster. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of KubeletConfigs. + out Items []KubeletConfig + } + + // Adds a new KubeletConfig to the cluster. + method Add { + // Description of the KubeletConfig. + in out Body KubeletConfig + } + + // Reference to the service that manages a specific KubeletConfig. + locator KubeletConfig { + target HcpKubeletConfig + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/label_resource.model b/model/clusters_mgmt/v2alpha1/label_resource.model new file mode 100644 index 00000000..55eb36b2 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/label_resource.model @@ -0,0 +1,32 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific label. +resource Label { + // Retrieves the details of the label. + method Get { + out Body Label + } + + // Update the label. + method Update { + in out Body Label + } + + // Deletes the label. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/label_type.model b/model/clusters_mgmt/v2alpha1/label_type.model new file mode 100644 index 00000000..3e0d7a58 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/label_type.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a label in clusterdeployment. +class Label { + // the key of the label + Key String + // the value to set in the label + Value String +} diff --git a/model/clusters_mgmt/v2alpha1/labels_resource.model b/model/clusters_mgmt/v2alpha1/labels_resource.model new file mode 100644 index 00000000..7d0287b0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/labels_resource.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of labels of a cluster. +resource Labels { + // Retrieves the list of labels. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of labels. + out Items []Label + } + + // Adds a new label to the cluster. + method Add { + // Description of the label. + in out Body Label + } + + // Reference to the service that manages an specific label. + locator Label { + target Label + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reason_resource.model b/model/clusters_mgmt/v2alpha1/limited_support_reason_resource.model new file mode 100644 index 00000000..3d441ae0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/limited_support_reason_resource.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific reason. +resource LimitedSupportReason { + // Retrieves the details of the reason. + method Get { + out Body LimitedSupportReason + } + + // Deletes the reason. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reason_template_resource.model b/model/clusters_mgmt/v2alpha1/limited_support_reason_template_resource.model new file mode 100644 index 00000000..fa696fc8 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/limited_support_reason_template_resource.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific limited support reason template. +resource LimitedSupportReasonTemplate { + // Retrieves the details of the template. + method Get { + out Body LimitedSupportReasonTemplate + } +} diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reason_template_type.model b/model/clusters_mgmt/v2alpha1/limited_support_reason_template_type.model new file mode 100644 index 00000000..16cd1cb5 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/limited_support_reason_template_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// A template for cluster limited support reason. +class LimitedSupportReasonTemplate { + // Summary of the reason. + Summary String + + // A detailed description of the reason. + Details String +} diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reason_templates_resource.model b/model/clusters_mgmt/v2alpha1/limited_support_reason_templates_resource.model new file mode 100644 index 00000000..acecb34f --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/limited_support_reason_templates_resource.model @@ -0,0 +1,39 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of limited support reason templates. +resource LimitedSupportReasonTemplates { + // Retrieves the list of templates. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of template. + out Items []LimitedSupportReasonTemplate + } + + // Reference to the service that manages an specific template. + locator LimitedSupportReasonTemplate { + target LimitedSupportReasonTemplate + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reason_type.model b/model/clusters_mgmt/v2alpha1/limited_support_reason_type.model new file mode 100644 index 00000000..d9c9ad34 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/limited_support_reason_type.model @@ -0,0 +1,39 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +enum DetectionType { + Manual + Auto +} + +// A reason that a cluster is in limited support. +class LimitedSupportReason { + // Summary of the reason. + Summary String + + // URL with a link to a detailed description of the reason. + Details String + + // Optional link to a template with summary and details. + link Template LimitedSupportReasonTemplate + + // The time the reason was detected. + CreationTimestamp Date + + // Indicates if the reason was detected automatically or manually. + // When creating a new reason this field should be empty or "manual". + DetectionType DetectionType +} diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reasons_resource.model b/model/clusters_mgmt/v2alpha1/limited_support_reasons_resource.model new file mode 100644 index 00000000..463e7b89 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/limited_support_reasons_resource.model @@ -0,0 +1,46 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of limited support reason on a cluster. +resource LimitedSupportReasons { + // Retrieves the list of reasons. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of template. + out Items []LimitedSupportReason + } + + // Adds a new reason to the cluster. + method Add { + // Description of the reason. + in out Body LimitedSupportReason + } + + + // Reference to the service that manages an specific reason. + locator LimitedSupportReason { + target LimitedSupportReason + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/listening_method_type.model b/model/clusters_mgmt/v2alpha1/listening_method_type.model new file mode 100644 index 00000000..b0a5c573 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/listening_method_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Cluster components listening method. +enum ListeningMethod { + // Uses only internal traffic. + Internal + + // Uses both external and internal traffic. + External +} diff --git a/model/clusters_mgmt/v2alpha1/load_balancer_flavor_type.model b/model/clusters_mgmt/v2alpha1/load_balancer_flavor_type.model new file mode 100644 index 00000000..aaeedc58 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/load_balancer_flavor_type.model @@ -0,0 +1,26 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Type of load balancer for AWS cloud provider parameters. +enum LoadBalancerFlavor { + // Classic Load Balancer. + @json(name = "classic") + Classic + + // Network Load Balancer. + @json(name = "nlb") + Nlb +} diff --git a/model/clusters_mgmt/v2alpha1/load_balancer_quota_values_resource.model b/model/clusters_mgmt/v2alpha1/load_balancer_quota_values_resource.model new file mode 100644 index 00000000..a3554fa0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/load_balancer_quota_values_resource.model @@ -0,0 +1,33 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages load balancer quota values. +resource LoadBalancerQuotaValues { + // Retrieves the list of Load Balancer Quota Values. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of values. + out Items []Integer + } +} diff --git a/model/clusters_mgmt/v2alpha1/log_resource.model b/model/clusters_mgmt/v2alpha1/log_resource.model new file mode 100644 index 00000000..ffe6d85f --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/log_resource.model @@ -0,0 +1,34 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific log. +resource Log { + // Retrieves the details of the log. + method Get { + // Line offset to start logs from. if 0 retreive entire log. + // If offset > #lines return an empty log. + in Offset Integer = 0 + + // Returns the number of tail lines from the end of the log. + // If there are no line breaks or the number of lines < tail + // return the entire log. + // Either 'tail' or 'offset' can be set. Not both. + in Tail Integer = 0 + + // Retreived log. + out Body Log + } +} diff --git a/model/clusters_mgmt/v2alpha1/log_type.model b/model/clusters_mgmt/v2alpha1/log_type.model new file mode 100644 index 00000000..021e41b8 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/log_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Log of the cluster. +class Log { + // Content of the log. + Content String +} diff --git a/model/clusters_mgmt/v2alpha1/logs_resource.model b/model/clusters_mgmt/v2alpha1/logs_resource.model new file mode 100644 index 00000000..be74d616 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/logs_resource.model @@ -0,0 +1,43 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a collection of log links. +resource Logs { + + // Retrieves the list of log links. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of log links. + out Items []Log + } + + locator Install { + target Log + } + + locator Uninstall { + target Log + } + +} diff --git a/model/clusters_mgmt/v2alpha1/machine_pool_autoscaling_type.model b/model/clusters_mgmt/v2alpha1/machine_pool_autoscaling_type.model new file mode 100644 index 00000000..3dab2898 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/machine_pool_autoscaling_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a autoscaling in a machine pool. +class MachinePoolAutoscaling { + // The minimum number of replicas for the machine pool. + MinReplicas Integer + + // The maximum number of replicas for the machine pool. + MaxReplicas Integer +} diff --git a/model/clusters_mgmt/v2alpha1/machine_pool_aws_security_group_filter_type.model b/model/clusters_mgmt/v2alpha1/machine_pool_aws_security_group_filter_type.model new file mode 100644 index 00000000..4ceff70b --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/machine_pool_aws_security_group_filter_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Security Group Filter object, containing name of the filter tag and value of the filter tag +struct MachinePoolSecurityGroupFilter { + Name String + Value String +} diff --git a/model/clusters_mgmt/v2alpha1/machine_pool_resource.model b/model/clusters_mgmt/v2alpha1/machine_pool_resource.model new file mode 100644 index 00000000..36d17199 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/machine_pool_resource.model @@ -0,0 +1,32 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific machine pool. +resource MachinePool { + // Retrieves the details of the machine pool. + method Get { + out Body MachinePool + } + + // Updates the machine pool. + method Update { + in out Body MachinePool + } + + // Deletes the machine pool. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/machine_pool_type.model b/model/clusters_mgmt/v2alpha1/machine_pool_type.model new file mode 100644 index 00000000..aa5a6b45 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/machine_pool_type.model @@ -0,0 +1,50 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a machine pool in a cluster. +class MachinePool { + // The number of Machines (and Nodes) to create. + // Replicas and autoscaling cannot be used together. + Replicas Integer + + // Details for auto-scaling the machine pool. + // Replicas and autoscaling cannot be used together. + Autoscaling MachinePoolAutoscaling + + // The instance type of Nodes to create. + InstanceType String + + // The availability zones upon which the nodes are created. + AvailabilityZones []String + + // The subnets upon which the nodes are created. + Subnets []String + + // The labels set on the Nodes created. + Labels [String]String + + // The taints set on the Nodes created. + Taints []Taint + + // AWS specific parameters (Optional). + AWS AWSMachinePool + + // List of security groups to be applied to MachinePool (Optional) + SecurityGroupFilters []MachinePoolSecurityGroupFilter + + // The machine root volume capabilities. + RootVolume RootVolume +} diff --git a/model/clusters_mgmt/v2alpha1/machine_pools_resource.model b/model/clusters_mgmt/v2alpha1/machine_pools_resource.model new file mode 100644 index 00000000..6e00fea4 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/machine_pools_resource.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of machine pools of a cluster. +resource MachinePools { + // Retrieves the list of machine pools. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of machine pools. + out Items []MachinePool + } + + // Adds a new machine pool to the cluster. + method Add { + // Description of the machine pool + in out Body MachinePool + } + + // Reference to the service that manages a specific machine pool. + locator MachinePool { + target MachinePool + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/machine_type_category_type.model b/model/clusters_mgmt/v2alpha1/machine_type_category_type.model new file mode 100644 index 00000000..66f8b4c5 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/machine_type_category_type.model @@ -0,0 +1,30 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Machine type category. +enum MachineTypeCategory { + // General Purpose machine type. + GeneralPurpose + + // Memory Optimized machine type. + MemoryOptimized + + // Compute Optimized machine type. + ComputeOptimized + + // Accelerated Computing machine type. + AcceleratedComputing +} diff --git a/model/clusters_mgmt/v2alpha1/machine_type_resource.model b/model/clusters_mgmt/v2alpha1/machine_type_resource.model new file mode 100644 index 00000000..e562a06f --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/machine_type_resource.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific machine type. +resource MachineType { + // Retrieves the details of the machine type. + method Get { + out Body MachineType + } +} diff --git a/model/clusters_mgmt/v2alpha1/machine_type_size_type.model b/model/clusters_mgmt/v2alpha1/machine_type_size_type.model new file mode 100644 index 00000000..db5b9b79 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/machine_type_size_type.model @@ -0,0 +1,28 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Machine type size. +enum MachineTypeSize { + // Small machine type (e.g. m5.xlarge, custom-4-16384) + Small + + // Medium machine type (e.g. r5.2xlarge, custom-8-32768) + Medium + + // Large machine type (e.g. c5.4xlarge, custom-16-65536) + Large +} + diff --git a/model/clusters_mgmt/v2alpha1/machine_type_type.model b/model/clusters_mgmt/v2alpha1/machine_type_type.model new file mode 100644 index 00000000..ab0f4591 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/machine_type_type.model @@ -0,0 +1,48 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Machine type. +class MachineType { + // Human friendly identifier of the machine type, for example `r5.xlarge - Memory Optimized`. + Name String + + // The category which the machine type is suitable for. + Category MachineTypeCategory + + // The amount of memory of the machine type. + Memory Value + + // The amount of cpu's of the machine type. + CPU Value + + // The size of the machine type. + Size MachineTypeSize + + // Generic name for quota purposes, for example `highmem-4`. + // Cloud provider agnostic - many values are shared between "similar" + // machine types on different providers. + // Corresponds to `resource_name` values in "compute.node" quota cost data. + GenericName String + + // Link to the cloud provider that the machine type belongs to. + link CloudProvider CloudProvider + + // 'true' if the instance type is supported only for CCS clusters, 'false' otherwise. + CCSOnly Boolean + + // The architecture of the machine type. + Architecture ProcessorType +} diff --git a/model/clusters_mgmt/v2alpha1/machine_types_resource.model b/model/clusters_mgmt/v2alpha1/machine_types_resource.model new file mode 100644 index 00000000..164b1fd2 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/machine_types_resource.model @@ -0,0 +1,70 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages machine types. +resource MachineTypes { + // Retrieves the list of machine types. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of a + // SQL statement, but using the names of the attributes of the machine type + // instead of the names of the columns of a table. For example, in order to retrieve + // all the machine types with a name starting with `A` the value should be: + // + // ```sql + // name like 'A%' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the machine + // types that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the machine type + // instead of the names of the columns of a table. For example, in order to sort the + // machine types descending by name identifier the value should be: + // + // ```sql + // name desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of cloud providers. + out Items []MachineType + } + + // Returns a reference to the service that manages an specific MachineType. + locator MachineType { + target MachineType + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/managedservice_type.model b/model/clusters_mgmt/v2alpha1/managedservice_type.model new file mode 100644 index 00000000..e0f6349e --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/managedservice_type.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Contains the necessary attributes to support role-based authentication on AWS. +struct ManagedService { + // Indicates whether the cluster belongs to a managed service + // This should only be set by the "Managed Service" service. + // clusters with this set can only be modified by the "Managed Service" service. + Enabled Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/manifest_resource.model b/model/clusters_mgmt/v2alpha1/manifest_resource.model new file mode 100644 index 00000000..4acc1870 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/manifest_resource.model @@ -0,0 +1,32 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific Manifest. +resource Manifest { + // Retrieves the details of the manifest. + method Get { + out Body Manifest + } + + // Update the manifest. + method Update { + in out Body Manifest + } + + // Deletes the manifest. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/manifest_type.model b/model/clusters_mgmt/v2alpha1/manifest_type.model new file mode 100644 index 00000000..08448bd7 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/manifest_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a manifestwork. +class Manifest { + // List of k8s objects to deploy on a hosted cluster. + Workloads []Interface +} diff --git a/model/clusters_mgmt/v2alpha1/manifests_resource.model b/model/clusters_mgmt/v2alpha1/manifests_resource.model new file mode 100644 index 00000000..11f16957 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/manifests_resource.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of Manifests of a cluster. +resource Manifests { + // Retrieves the list of manifests. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of Manifests. + out Items []Manifest + } + + // Adds a new manifest to a cluster. + method Add { + // Description of the manifest. + in out Body Manifest + } + + // Reference to the service that manages a specific manifest. + locator Manifest { + target Manifest + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/metric_queries_resource.model b/model/clusters_mgmt/v2alpha1/metric_queries_resource.model new file mode 100644 index 00000000..db5d1798 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/metric_queries_resource.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages telemetry queries for a cluster. +resource MetricQueries { + // Reference to the resource that retrieves the total cpu + // capacity in the cluster by node role and operating system. + locator CPUTotalByNodeRolesOS { + target CPUTotalByNodeRolesOSMetricQuery + } + + // Reference to the resource that retrieves the total socket + // capacity in the cluster by node role and operating system. + locator SocketTotalByNodeRolesOS { + target SocketTotalByNodeRolesOSMetricQuery + } + + // Reference to the resource that retrieves the firing alerts in the cluster. + locator Alerts { + target AlertsMetricQuery + } + + // Reference to the resource that retrieves the cluster operator status metrics. + locator ClusterOperators { + target ClusterOperatorsMetricQuery + } + + // Reference to the resource that retrieves the nodes in the cluster. + locator Nodes { + target NodesMetricQuery + } +} diff --git a/model/clusters_mgmt/v2alpha1/namespace_ownership_policy_type.model b/model/clusters_mgmt/v2alpha1/namespace_ownership_policy_type.model new file mode 100644 index 00000000..c76cf875 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/namespace_ownership_policy_type.model @@ -0,0 +1,26 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Type of Namespace Ownership Policy. +enum NamespaceOwnershipPolicy { + // Strict. + @json(name = "Strict") + Strict + + // InterNamespaceAllowed. + @json(name = "InterNamespaceAllowed") + InterNamespaceAllowed +} diff --git a/model/clusters_mgmt/v2alpha1/network_type.model b/model/clusters_mgmt/v2alpha1/network_type.model new file mode 100644 index 00000000..f0873692 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/network_type.model @@ -0,0 +1,33 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Network configuration of a cluster. +struct Network { + // The main controller responsible for rendering the core networking components. + Type String + + // IP address block from which to assign pod IP addresses, for example `10.128.0.0/14`. + PodCIDR String + + // IP address block from which to assign machine IP addresses, for example `10.0.0.0/16`. + MachineCIDR String + + // IP address block from which to assign service IP addresses, for example `172.30.0.0/16`. + ServiceCIDR String + + // Network host prefix which is defaulted to `23` if not specified. + HostPrefix Integer +} diff --git a/model/clusters_mgmt/v2alpha1/network_verification_resource.model b/model/clusters_mgmt/v2alpha1/network_verification_resource.model new file mode 100644 index 00000000..d7d3efd6 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/network_verification_resource.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a subnet network verification. +resource NetworkVerification { + // Retrieves the details of a subnet network verification. + method Get { + out Body SubnetNetworkVerification + } +} diff --git a/model/clusters_mgmt/v2alpha1/network_verification_type.model b/model/clusters_mgmt/v2alpha1/network_verification_type.model new file mode 100644 index 00000000..11616ee4 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/network_verification_type.model @@ -0,0 +1,32 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +struct NetworkVerification { + // Cloud provider data to execute the network verification. + CloudProviderData CloudProviderData + + // Cluster ID needed to execute the network verification. + ClusterId String + + // Platform needed to execute the network verification. + Platform Platform + + // Amount of network verifier executions started. + Total Integer + + // Details about each subnet network verification. + Items []SubnetNetworkVerification +} diff --git a/model/clusters_mgmt/v2alpha1/network_verifications_resource.model b/model/clusters_mgmt/v2alpha1/network_verifications_resource.model new file mode 100644 index 00000000..e57e6cd1 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/network_verifications_resource.model @@ -0,0 +1,29 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of subnet network verifications. +resource NetworkVerifications { + // Creates an entry for a network verification for each subnet supplied setting then to initial state. + method Add { + in out Body NetworkVerification + } + + // Reference to the service that manages a specific network verification. + locator NetworkVerification { + target NetworkVerification + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/node_info_type.model b/model/clusters_mgmt/v2alpha1/node_info_type.model new file mode 100644 index 00000000..97d09412 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/node_info_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Provides information about a node from specific type in the cluster. +struct NodeInfo { + // The amount of the nodes from this type. + Amount Integer + + // The Node type. + Type NodeType +} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_autoscaling_type.model b/model/clusters_mgmt/v2alpha1/node_pool_autoscaling_type.model new file mode 100644 index 00000000..1fbeccc4 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/node_pool_autoscaling_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a autoscaling in a node pool. +class NodePoolAutoscaling { + // The minimum number of replicas for the node pool. + MinReplica Integer + + // The maximum number of replicas for the node pool. + MaxReplica Integer +} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_management_upgrade_type.model b/model/clusters_mgmt/v2alpha1/node_pool_management_upgrade_type.model new file mode 100644 index 00000000..9a540a3c --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/node_pool_management_upgrade_type.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of node pool management. +class NodePoolManagementUpgrade { + // Type of strategy for handling upgrades. + Type String + + // Maximum number of nodes in the NodePool of a ROSA HCP cluster that can be unavailable during the upgrade. + MaxUnavailable String + + // Maximum number of nodes in the NodePool of a ROSA HCP cluster that can be scheduled above the desired number of nodes during the upgrade. + MaxSurge String +} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_resource.model b/model/clusters_mgmt/v2alpha1/node_pool_resource.model new file mode 100644 index 00000000..0239da29 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/node_pool_resource.model @@ -0,0 +1,37 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific nodepool. +resource NodePool { + // Retrieves the details of the node pool. + method Get { + out Body NodePool + } + + // Updates the node pool. + method Update { + in out Body NodePool + } + + // Deletes the node pool. + method Delete { + } + + // Reference to the state of the upgrade policy. + locator UpgradePolicies { + target NodePoolUpgradePolicies + } +} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_status_type.model b/model/clusters_mgmt/v2alpha1/node_pool_status_type.model new file mode 100644 index 00000000..48f9aa1f --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/node_pool_status_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of the status of a node pool. +class NodePoolStatus { + // The current number of replicas for the node pool. + CurrentReplicas Integer + + // Adds additional information about the NodePool status when the node pool doesn't reach the desired replicas. + Message String +} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_type.model b/model/clusters_mgmt/v2alpha1/node_pool_type.model new file mode 100644 index 00000000..106b9824 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/node_pool_type.model @@ -0,0 +1,65 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a node pool in a cluster. +class NodePool { + // The number of Machines (and Nodes) to create. + // Replicas and autoscaling cannot be used together. + Replicas Integer + + // Details for auto-scaling the machine pool. + // Replicas and autoscaling cannot be used together. + Autoscaling NodePoolAutoscaling + + // Specifies whether health checks should be enabled for machines in the NodePool. + AutoRepair Boolean + + // AWS specific parameters (Optional). + AWSNodePool AWSNodePool + + // Azure specific parameters. + AzureNodePool AzureNodePool + + // The availability zone upon which the node is created. + AvailabilityZone String + + // The subnet upon which the nodes are created. + Subnet String + + // NodePool status. + Status NodePoolStatus + + // Version of the node pool. + Version Version + + // The labels set on the Nodes created. + Labels [String]String + + // The taints set on the Nodes created. + Taints []Taint + + // The names of the tuning configs for this node pool. + TuningConfigs []String + + // The names of the KubeletConfigs for this node pool. + KubeletConfigs []String + + // Time to wait for a NodePool to drain when it is upgraded or replaced before it is forcibly removed. + NodeDrainGracePeriod Value + + // Management parameters (Optional). + ManagementUpgrade NodePoolManagementUpgrade +} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policies_resource.model b/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policies_resource.model new file mode 100644 index 00000000..ffeaf809 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policies_resource.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of upgrade policies for the node pool of a cluster. +resource NodePoolUpgradePolicies { + // Retrieves the list of upgrade policies for the node pool. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of upgrade policy. + out Items []NodePoolUpgradePolicy + } + + // Adds a new upgrade policy to the node pool of the cluster. + method Add { + // Description of the upgrade policy. + in out Body NodePoolUpgradePolicy + } + + // Reference to the service that manages an specific upgrade policy for the node pool. + locator NodePoolUpgradePolicy { + target NodePoolUpgradePolicy + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_resource.model b/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_resource.model new file mode 100644 index 00000000..6254333b --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_resource.model @@ -0,0 +1,32 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific upgrade policy for the node pool. +resource NodePoolUpgradePolicy { + // Retrieves the details of the upgrade policy for the node pool. + method Get { + out Body NodePoolUpgradePolicy + } + + // Update the upgrade policy for the node pool. + method Update { + in out Body NodePoolUpgradePolicy + } + + // Deletes the upgrade policy for the node pool. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_type.model b/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_type.model new file mode 100644 index 00000000..b3c0124a --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_type.model @@ -0,0 +1,51 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an upgrade policy that can be set for a node pool. +class NodePoolUpgradePolicy { + // Cluster ID this upgrade policy for node pool is defined for. + ClusterID String + + // Node Pool ID this upgrade policy is defined for. + NodePoolID String + + // Schedule cron expression that defines automatic upgrade scheduling. + Schedule String + + // Schedule type of the upgrade. + ScheduleType ScheduleType + + // Upgrade type of the node pool. + UpgradeType UpgradeType + + // Version is the desired upgrade version. + Version String + + // Next time the upgrade should run. + NextRun Date + + // Indicates if minor version upgrades are allowed for automatic upgrades (for manual it's always allowed). + EnableMinorVersionUpgrades Boolean + + // Timestamp for creation of resource. + CreationTimestamp Date + + // Timestamp for last update that happened to resource. + LastUpdateTimestamp Date + + // State of the upgrade policy for the node pool. + State UpgradePolicyState +} diff --git a/model/clusters_mgmt/v2alpha1/node_pools_resource.model b/model/clusters_mgmt/v2alpha1/node_pools_resource.model new file mode 100644 index 00000000..44088704 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/node_pools_resource.model @@ -0,0 +1,75 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of node pools of a cluster. +resource NodePools { + // Retrieves the list of node pools. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of a + // SQL statement, but using the names of the attributes of the node pools instead of + // the names of the columns of a table. For example, in order to retrieve all the + // node pools with replicas of two the following is required: + // + // ```sql + // replicas = 2 + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the + // node pools that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the node pools instead of + // the names of the columns of a table. For example, in order to sort the node pools + // descending by identifier the value should be: + // + // ```sql + // id desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of node pools. + out Items []NodePool + } + + // Adds a new node pool to the cluster. + method Add { + // Description of the node pool + in out Body NodePool + } + + // Reference to the service that manages a specific node pool. + locator NodePool { + target NodePool + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/node_type.model b/model/clusters_mgmt/v2alpha1/node_type.model new file mode 100644 index 00000000..d8308df5 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/node_type.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Type of node received via telemetry. +enum NodeType { + // Master. + Master + + // Infra. + Infra + + // Compute. + Compute +} diff --git a/model/clusters_mgmt/v2alpha1/nodes_info_type.model b/model/clusters_mgmt/v2alpha1/nodes_info_type.model new file mode 100644 index 00000000..b8468c2e --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/nodes_info_type.model @@ -0,0 +1,20 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Provides information about the nodes in the cluster. +struct NodesInfo { + Nodes []NodeInfo +} diff --git a/model/clusters_mgmt/v2alpha1/nodes_metric_query_resource.model b/model/clusters_mgmt/v2alpha1/nodes_metric_query_resource.model new file mode 100644 index 00000000..b3515492 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/nodes_metric_query_resource.model @@ -0,0 +1,22 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Provides information about the nodes in the cluster. +resource NodesMetricQuery { + method Get { + out Body NodesInfo + } +} diff --git a/model/clusters_mgmt/v2alpha1/oidc_config_resource.model b/model/clusters_mgmt/v2alpha1/oidc_config_resource.model new file mode 100644 index 00000000..003f3f5f --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/oidc_config_resource.model @@ -0,0 +1,32 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages an Oidc Config configuration. +resource OidcConfig { + // Retrieves the details of an OidcConfig. + method Get { + out Body OidcConfig + } + + // Updates attributes of an OidcConfig. + method Update { + in out Body OidcConfig + } + + // Deletes the OidcConfig. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/oidc_config_type.model b/model/clusters_mgmt/v2alpha1/oidc_config_type.model new file mode 100644 index 00000000..9d24c46c --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/oidc_config_type.model @@ -0,0 +1,51 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Contains the necessary attributes to support oidc configuration hosting under Red Hat or registering a Customer's byo oidc config. +struct OidcConfig { + // ARN of the AWS role to assume when installing the cluster as to reveal the secret, supplied in request. It is only to be used in Unmanaged Oidc Config. + InstallerRoleArn String + + // Secrets Manager ARN for the OIDC private key, supplied in request. It is only to be used in Unmanaged Oidc Config. + SecretArn String + + // ID for the oidc config, filled in response. + ID String + + // HREF for the oidc config, filled in response. + HREF String + + // Organization ID, filled in response respecting token provided. + OrganizationId String + + // Issuer URL, filled in response when Managed and supplied in Unmanaged. + IssuerUrl String + + // Creation timestamp, filled in response. + CreationTimestamp Date + + // Last used timestamp, filled by the latest cluster that used this oidc config. + LastUsedTimestamp Date + + // Last update timestamp, filled when patching a valid attribute of this oidc config. + LastUpdateTimestamp Date + + // Indicates whether it is Managed or Unmanaged (Customer hosted). + Managed boolean + + // Indicates whether the Oidc Config can be reused. + Reusable boolean +} diff --git a/model/clusters_mgmt/v2alpha1/oidc_configs_resource.model b/model/clusters_mgmt/v2alpha1/oidc_configs_resource.model new file mode 100644 index 00000000..41ae3eef --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/oidc_configs_resource.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of oidc configurations. +resource OidcConfigs { + // Retrieves the list of oidc configs. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of identity providers. + out Items []OidcConfig + } + + + // Creates a hosting under Red Hat's S3 bucket for byo oidc configuration. + method Add { + in out Body OidcConfig + } + + // Reference to the service that manages an specific identity provider. + locator OidcConfig { + target OidcConfig + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/operator_iam_role_resource.model b/model/clusters_mgmt/v2alpha1/operator_iam_role_resource.model new file mode 100644 index 00000000..7e9620a8 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/operator_iam_role_resource.model @@ -0,0 +1,22 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a list of operator roles for STS clusters. +resource OperatorIAMRole { + // Deletes the operator role. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/operator_iam_role_type.model b/model/clusters_mgmt/v2alpha1/operator_iam_role_type.model new file mode 100644 index 00000000..f45a4436 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/operator_iam_role_type.model @@ -0,0 +1,33 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Contains the necessary attributes to allow each operator to access the necessary AWS resources +struct OperatorIAMRole { + // Randomly-generated ID to identify the operator role + ID String + + // Name of the credentials secret used to access cloud resources + Name String + + // Namespace where the credentials secret lives in the cluster + Namespace String + + // Role to assume when accessing AWS resources + RoleARN String + + // Service account name to use when authenticating + ServiceAccount String +} diff --git a/model/clusters_mgmt/v2alpha1/operator_iam_roles_resource.model b/model/clusters_mgmt/v2alpha1/operator_iam_roles_resource.model new file mode 100644 index 00000000..fa1f1188 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/operator_iam_roles_resource.model @@ -0,0 +1,46 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of operator roles. +resource OperatorIAMRoles { + // Retrieves the list of operator roles. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of operator roles. + out Items []OperatorIAMRole + } + + // Adds a new operator role to the cluster. + method Add { + // Description of the operator role. + in out Body OperatorIAMRole + } + + // Returns a reference to the service that manages a specific operator role. + locator OperatorIAMRole { + target OperatorIAMRole + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/organization_link_type.model b/model/clusters_mgmt/v2alpha1/organization_link_type.model new file mode 100644 index 00000000..640e8c0b --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/organization_link_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Definition of an organization link. +struct OrganizationLink { + // The organization's ID. + ID String + + // HREF for the Organization, filled in response. + HREF String +} diff --git a/model/clusters_mgmt/v2alpha1/pending_delete_cluster_resource.model b/model/clusters_mgmt/v2alpha1/pending_delete_cluster_resource.model new file mode 100644 index 00000000..417e4bef --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/pending_delete_cluster_resource.model @@ -0,0 +1,28 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific pending delete cluster. +resource PendingDeleteCluster { + // Retrieves the details of the pending delete cluster. + method Get { + out Body PendingDeleteCluster + } + + // Updates the pending delete cluster entry. + method Update { + in out Body PendingDeleteCluster + } +} diff --git a/model/clusters_mgmt/v2alpha1/pending_delete_cluster_type.model b/model/clusters_mgmt/v2alpha1/pending_delete_cluster_type.model new file mode 100644 index 00000000..2d3eeb9d --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/pending_delete_cluster_type.model @@ -0,0 +1,28 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Represents a pending delete entry for a specific cluster. +class PendingDeleteCluster { + // Cluster is the details of the cluster that is pending deletion. + link Cluster Cluster + + // Date and time when the cluster was initially created, using the + // format defined in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt). + CreationTimestamp Date + + // Flag indicating if the cluster deletion should be best-effort mode or not. + BestEffort Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/pending_delete_clusters_resource.model b/model/clusters_mgmt/v2alpha1/pending_delete_clusters_resource.model new file mode 100644 index 00000000..03021c46 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/pending_delete_clusters_resource.model @@ -0,0 +1,70 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of pending delete clusters. +resource PendingDeleteClusters { + // Retrieves the list of pending delete clusters. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of a + // SQL statement, but using the names of the attributes of the pending delete cluster instead of + // the names of the columns of a table. For example, in order to retrieve all the + // pending delete clusters with creation time later than 2023-03-01T00:00:00Z the following is required: + // + // ```sql + // creation_timestamp > '2023-03-01T00:00:00Z' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the + // pending delete clusters that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the pending delete cluster instead of + // the names of the columns of a table. For example, in order to sort the pending delete clusters + // descending by creation timestamp (i.e. their deletion time) the value should be: + // + // ```sql + // creation_timestamp desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of pending delete clusters. + out Items []PendingDeleteCluster + } + + // Returns a reference to the service that manages an specific pending delete cluster. + locator PendingDeleteCluster { + target PendingDeleteCluster + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/platform_type.model b/model/clusters_mgmt/v2alpha1/platform_type.model new file mode 100644 index 00000000..c63a0071 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/platform_type.model @@ -0,0 +1,33 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an platform type field. +enum Platform { + @json(name = "aws") + Aws + + @json(name = "gcp") + Gcp + + @json(name = "hostedcluster") + HostedCluster + + @json(name = "aws-classic") + AwsClassic + + @json(name = "aws-hosted-cp") + AwsHostedCp +} diff --git a/model/clusters_mgmt/v2alpha1/private_link_cluster_configuration_type.model b/model/clusters_mgmt/v2alpha1/private_link_cluster_configuration_type.model new file mode 100644 index 00000000..3fda6b73 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/private_link_cluster_configuration_type.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the configuration for the Private Links. +struct PrivateLinkClusterConfiguration { + // List of additional principals for the Private Link + Principals []PrivateLinkPrincipal +} + + diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_resource.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_resource.model new file mode 100644 index 00000000..e7b8267a --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_resource.model @@ -0,0 +1,28 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a principal for a Private Link. +resource PrivateLinkPrincipal { + // Retrieves the details of the principal. + method Get { + out Body PrivateLinkPrincipal + } + + // Deletes the principal. + method Delete { + } +} + diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_type.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_type.model new file mode 100644 index 00000000..f5283ad6 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_type.model @@ -0,0 +1,20 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +class PrivateLinkPrincipal { + // ARN for a principal that is allowed for this Private Link. + Principal String +} diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_resource.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_resource.model new file mode 100644 index 00000000..787113ab --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_resource.model @@ -0,0 +1,61 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Contains a list of principals for the Private Link. +resource PrivateLinkPrincipals { + + // Retrieves the list of principals. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of principals. + out Items []PrivateLinkPrincipal + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause + // of an SQL statement, but using the names of the attributes of the role binding + // instead of the names of the columns of a table. For example, in order to + // retrieve role bindings with role_id AuthenticatedUser: + // + // ```sql + // role_id = 'AuthenticatedUser' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the + // items that the user has permission to see will be returned. + in Search String + } + + // Adds a new principal for the Private Link. + method Add { + // Properties of the principal. + in out Body PrivateLinkPrincipal + } + + locator Principal { + target PrivateLinkPrincipal + variable ID + } +} + diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_type.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_type.model new file mode 100644 index 00000000..1fba72dc --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Contains a list of principals for the Private Link. +class PrivateLinkPrincipals { + // List of additional principals for the Private Link + Principals []PrivateLinkPrincipal +} diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_resource.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_resource.model new file mode 100644 index 00000000..9f0a3c86 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/private_link_configuration_resource.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the configuration for the Private Links. +resource PrivateLinkConfiguration { + // Retrieves the details of the configuration for the Private Link. + method Get { + out Body PrivateLinkConfiguration + } + + locator Principals { + target PrivateLinkPrincipals + } +} diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_type.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_type.model new file mode 100644 index 00000000..c5b4165c --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/private_link_configuration_type.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the configuration for the Private Links. +struct PrivateLinkConfiguration { + // List of additional principals for the Private Link + link Principals PrivateLinkPrincipals +} + + diff --git a/model/clusters_mgmt/v2alpha1/processor_type_type.model b/model/clusters_mgmt/v2alpha1/processor_type_type.model new file mode 100644 index 00000000..22ed4fd2 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/processor_type_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Processor type category. +enum ProcessorType { + // Amd64 + AMD64 + + // Arm64 + ARM64 +} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/product_minimal_version_resource.model b/model/clusters_mgmt/v2alpha1/product_minimal_version_resource.model new file mode 100644 index 00000000..7f5bd514 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/product_minimal_version_resource.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific product minimal version. +resource ProductMinimalVersion { + // Retrieves the details of the product minimal version. + method Get { + out Body ProductMinimalVersion + } +} diff --git a/model/clusters_mgmt/v2alpha1/product_minimal_version_type.model b/model/clusters_mgmt/v2alpha1/product_minimal_version_type.model new file mode 100644 index 00000000..df26d47d --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/product_minimal_version_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a product minimal version. +class ProductMinimalVersion { + // The start date for this minimal version. + StartDate Date + + // The ROSA CLI minimal version. + RosaCli String +} diff --git a/model/clusters_mgmt/v2alpha1/product_minimal_versions_resource.model b/model/clusters_mgmt/v2alpha1/product_minimal_versions_resource.model new file mode 100644 index 00000000..f161fbda --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/product_minimal_versions_resource.model @@ -0,0 +1,70 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of product minimal versions. +resource ProductMinimalVersions { + // Retrieves the list of product minimal versions. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of an + // SQL statement, but using the names of the attributes of the product instead of + // the names of the columns of a table. For example, in order to retrieve all the + // products with a name starting with `my` the value should be: + // + // ```sql + // name like 'my%' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the products + // that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the product instead of + // the names of the columns of a table. For example, in order to sort the products + // descending by name the value should be: + // + // ```sql + // name desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of product minimal versions. + out Items []ProductMinimalVersion + } + + // Returns a reference to the service that manages a specific product product minimal version. + locator MinimalVersion { + target ProductMinimalVersion + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/product_resource.model b/model/clusters_mgmt/v2alpha1/product_resource.model new file mode 100644 index 00000000..4a97db88 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/product_resource.model @@ -0,0 +1,31 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific product. +resource Product { + // Retrieves the details of the product. + method Get { + out Body Product + } + + locator MinimalVersions { + target ProductMinimalVersions + } + + locator TechnologyPreviews { + target ProductTechnologyPreviews + } +} diff --git a/model/clusters_mgmt/v2alpha1/product_technology_preview_resource.model b/model/clusters_mgmt/v2alpha1/product_technology_preview_resource.model new file mode 100644 index 00000000..f7756354 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/product_technology_preview_resource.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific product technology preview. +resource ProductTechnologyPreview { + // Retrieves the details of the product technology preview. + method Get { + out Body ProductTechnologyPreview + } +} diff --git a/model/clusters_mgmt/v2alpha1/product_technology_preview_type.model b/model/clusters_mgmt/v2alpha1/product_technology_preview_type.model new file mode 100644 index 00000000..993fe060 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/product_technology_preview_type.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a product technology preview. +class ProductTechnologyPreview { + // The start date for this technology preview. + StartDate Date + + // The end date for this technology preview. + EndDate Date + + // Message associated with this technology preview. + AdditionalText String +} diff --git a/model/clusters_mgmt/v2alpha1/product_technology_previews_resource.model b/model/clusters_mgmt/v2alpha1/product_technology_previews_resource.model new file mode 100644 index 00000000..081c1250 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/product_technology_previews_resource.model @@ -0,0 +1,70 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of product technology previews. +resource ProductTechnologyPreviews { + // Retrieves the list of product technology previews. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of an + // SQL statement, but using the names of the attributes of the product instead of + // the names of the columns of a table. For example, in order to retrieve all the + // products with a name starting with `my` the value should be: + // + // ```sql + // name like 'my%' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the products + // that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the product instead of + // the names of the columns of a table. For example, in order to sort the products + // descending by name the value should be: + // + // ```sql + // name desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of product technology previews. + out Items []ProductTechnologyPreview + } + + // Returns a reference to the service that manages a specific product technology preview. + locator TechnologyPreview { + target ProductTechnologyPreview + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/product_type.model b/model/clusters_mgmt/v2alpha1/product_type.model new file mode 100644 index 00000000..81d9fae4 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/product_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an product that can be selected as a cluster type. +class Product { + // Name of the product. + Name String +} diff --git a/model/clusters_mgmt/v2alpha1/products_resource.model b/model/clusters_mgmt/v2alpha1/products_resource.model new file mode 100644 index 00000000..1523bb8e --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/products_resource.model @@ -0,0 +1,70 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of products. +resource Products { + // Retrieves the list of products. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of an + // SQL statement, but using the names of the attributes of the product instead of + // the names of the columns of a table. For example, in order to retrieve all the + // products with a name starting with `my` the value should be: + // + // ```sql + // name like 'my%' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the products + // that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the product instead of + // the names of the columns of a table. For example, in order to sort the products + // descending by name the value should be: + // + // ```sql + // name desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of products. + out Items []Product + } + + // Returns a reference to the service that manages a specific product. + locator Product { + target Product + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/provider_data_inquiry_type.model b/model/clusters_mgmt/v2alpha1/provider_data_inquiry_type.model new file mode 100644 index 00000000..44ba0090 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/provider_data_inquiry_type.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Description of a cloud provider data used for cloud provider inquiries. +struct CloudProviderData { + // Amazon Web Services settings. + AWS AWS + + // Google cloud platform settings. + GCP GCP + + // Region + Region CloudRegion + + // Key location + KeyLocation String + + // Key ring name + KeyRingName String + + // Openshift version + Version Version + + // Availability zone + AvailabilityZones []String + + // Subnets + Subnets []String + + // VPC ids + VpcIds []string +} diff --git a/model/clusters_mgmt/v2alpha1/provision_shard_resource.model b/model/clusters_mgmt/v2alpha1/provision_shard_resource.model new file mode 100644 index 00000000..5f79b76d --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/provision_shard_resource.model @@ -0,0 +1,32 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages provision shard. +resource ProvisionShard { + // Retrieves the details of the provision shard. + method Get { + out Body ProvisionShard + } + + // Updates the details of the provision shard. + method Update { + in out Body ProvisionShard + } + + // Delete the provision shard. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/provision_shard_topology_type.model b/model/clusters_mgmt/v2alpha1/provision_shard_topology_type.model new file mode 100644 index 00000000..38f50192 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/provision_shard_topology_type.model @@ -0,0 +1,22 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +enum ProvisionShardTopology { + + // Provision shard for hosted clusters is configured in a "dedicated" topology. + @json(name = "dedicated") + Dedicated +} diff --git a/model/clusters_mgmt/v2alpha1/provision_shard_type.model b/model/clusters_mgmt/v2alpha1/provision_shard_type.model new file mode 100644 index 00000000..8ed54037 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/provision_shard_type.model @@ -0,0 +1,58 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Contains the properties of the provision shard, including AWS and GCP related configurations +class ProvisionShard { + + // Contains the configuration for Hive. + HiveConfig ServerConfig + + // Contains the configuration for the AWS account operator. + AWSAccountOperatorConfig ServerConfig + + // Contains the configuration for the GCP project operator. + GCPProjectOperator ServerConfig + + // Contains the AWS base domain. + AWSBaseDomain String + + // Contains the GCP base domain. + GCPBaseDomain String + + // Contains the cloud-provider region in which the provisioner spins up the cluster. + link Region CloudRegion + + // Contains the cloud provider name. + link CloudProvider CloudProvider + + // Contains the configuration for Hypershift. + HypershiftConfig ServerConfig + + // Contains the name of the management cluster for Hypershift clusters that are assigned to this shard. + // This field is populated by OCM, and must not be overwritten via API. + ManagementCluster String + + // Status of the provision shard. Possible values: active/maintenance/offline. + Status String + + // Date and time when the provision shard was initially created, using the + // format defined in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt). + CreationTimestamp Date + + // Date and time when the provision shard was last updated, using the + // format defined in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt). + LastUpdateTimestamp Date +} diff --git a/model/clusters_mgmt/v2alpha1/provision_shards_resource.model b/model/clusters_mgmt/v2alpha1/provision_shards_resource.model new file mode 100644 index 00000000..7c7d7eab --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/provision_shards_resource.model @@ -0,0 +1,61 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of provision shards. +resource ProvisionShards { + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of a + // SQL statement, but using the names of the attributes of the cluster instead of + // the names of the columns of a table. For example, in order to retrieve all the + // clusters with a name starting with `my` in the `us-east-1` region the value + // should be: + // + // ```sql + // name like 'my%' and region.id = 'us-east-1' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the + // provision shards that the user has permission to see will be returned. + in Search String + + // Total number of items of the collection. + out Total Integer + + // Retrieved a list of provision shards. + out Items []ProvisionShard + } + + // Adds a provision shard. + method Add { + // Description of the provision shard. + in out Body ProvisionShard + } + + + // Reference to the resource that manages a specific provision shard. + locator ProvisionShard { + target ProvisionShard + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/proxy_type.model b/model/clusters_mgmt/v2alpha1/proxy_type.model new file mode 100644 index 00000000..93435bbd --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/proxy_type.model @@ -0,0 +1,30 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Proxy configuration of a cluster. +struct Proxy { + // HTTPProxy is the URL of the proxy for HTTP requests. + HTTPProxy String + + // HTTPSProxy is the URL of the proxy for HTTPS requests. + HTTPSProxy String + + // NoProxy is a comma-separated list of domains and CIDRs for which + // the proxy should not be used + NoProxy String + + +} diff --git a/model/clusters_mgmt/v2alpha1/release_image_details_type.model b/model/clusters_mgmt/v2alpha1/release_image_details_type.model new file mode 100644 index 00000000..997eafb9 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/release_image_details_type.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +struct ReleaseImageDetails { + // ReleaseImage contains the URI of Openshift release image. + ReleaseImage String + + // AvailableUpgrades is the list of versions this version can be upgraded to. + AvailableUpgrades []String +} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/release_images_type.model b/model/clusters_mgmt/v2alpha1/release_images_type.model new file mode 100644 index 00000000..45b095cf --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/release_images_type.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +struct ReleaseImages { + // Arm64 will contain the reference for the arm64 image which will be used for cluster deployments + ARM64 ReleaseImageDetails + + // Multi will contain the reference for the multi image which will be used for cluster deployments + Multi ReleaseImageDetails +} \ No newline at end of file diff --git a/model/clusters_mgmt/v2alpha1/resource_range_type.model b/model/clusters_mgmt/v2alpha1/resource_range_type.model new file mode 100644 index 00000000..397fdcbd --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/resource_range_type.model @@ -0,0 +1,20 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +struct ResourceRange { + Min Integer + Max Integer +} diff --git a/model/clusters_mgmt/v2alpha1/resource_resource.model b/model/clusters_mgmt/v2alpha1/resource_resource.model new file mode 100644 index 00000000..3b10ec39 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/resource_resource.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages currently available cluster resources +resource ClusterResources { + // Retrieves currently available cluster resources + method Get { + // List of cluster resources + out Body ClusterResources + } +} diff --git a/model/clusters_mgmt/v2alpha1/resource_type.model b/model/clusters_mgmt/v2alpha1/resource_type.model new file mode 100644 index 00000000..376e305e --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/resource_type.model @@ -0,0 +1,25 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Cluster Resource which belongs to a cluster, example Cluster Deployment. +class ClusterResources { + // Cluster ID for the fetched resources + ClusterID String + // Returned map of cluster resources fetched. + Resources [String]String + // Date and time when the resources were fetched. + CreationTimestamp Date +} diff --git a/model/clusters_mgmt/v2alpha1/resources_resource.model b/model/clusters_mgmt/v2alpha1/resources_resource.model new file mode 100644 index 00000000..237dbc35 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/resources_resource.model @@ -0,0 +1,30 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a collection of resources for a cluster +resource Resources { + // Retrieves a list of resources for a cluster in error state + method Get { + // List of cluster resources + out Body ClusterResources + } + + // Retrieves a list of currently available resources for a cluster + locator Live { + // Retrieved list of currently available resources for a cluster + target ClusterResources + } +} diff --git a/model/clusters_mgmt/v2alpha1/role_policy_binding_status_type.model b/model/clusters_mgmt/v2alpha1/role_policy_binding_status_type.model new file mode 100644 index 00000000..684ae3b9 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/role_policy_binding_status_type.model @@ -0,0 +1,20 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +struct RolePolicyBindingStatus { + Value String + Description String +} diff --git a/model/clusters_mgmt/v2alpha1/role_policy_binding_type.model b/model/clusters_mgmt/v2alpha1/role_policy_binding_type.model new file mode 100644 index 00000000..81752364 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/role_policy_binding_type.model @@ -0,0 +1,25 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +struct RolePolicyBinding { + Name String + Arn String + Type String + Status RolePolicyBindingStatus + CreationTimestamp Date + LastUpdateTimestamp Date + Policies []RolePolicy +} diff --git a/model/clusters_mgmt/v2alpha1/role_policy_bindings_resource.model b/model/clusters_mgmt/v2alpha1/role_policy_bindings_resource.model new file mode 100644 index 00000000..55378ff0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/role_policy_bindings_resource.model @@ -0,0 +1,35 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +resource RolePolicyBindings { + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // If true, retrieves role policy binding states from AWS. + @http(name = "fetchCurrent") + in FetchCurrent Boolean + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of role policy bindings. + out Items []RolePolicyBinding + } +} diff --git a/model/clusters_mgmt/v2alpha1/role_policy_type.model b/model/clusters_mgmt/v2alpha1/role_policy_type.model new file mode 100644 index 00000000..bd4086c2 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/role_policy_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +struct RolePolicy { + Name String + Arn String + Type String +} diff --git a/model/clusters_mgmt/v2alpha1/root_resource.model b/model/clusters_mgmt/v2alpha1/root_resource.model new file mode 100644 index 00000000..ab3761d3 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/root_resource.model @@ -0,0 +1,139 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Root of the tree of resources of the clusters management service. +resource Root { + // Reference to the resource that manages the collection of add-ons. + locator Addons { + target AddOns + } + + // Reference to the resource that manages the collection of cloud providers. + locator CloudProviders { + target CloudProviders + } + + // Reference to the resource that manages the collection of clusters. + locator Clusters { + target Clusters + } + + // Reference to the service that manages the collection of flavours. + locator Flavours { + target Flavours + } + + // Reference to the resource that manage the collection of versions. + locator Versions { + target Versions + } + + // Reference to the resource that manage the collection of machine types. + locator MachineTypes { + target MachineTypes + } + + // Reference to the resource that manages the collection of AWS + // infrastructure access roles. + locator AWSInfrastructureAccessRoles { + target AWSInfrastructureAccessRoles + } + + // Reference to the resource that manages the collection of products. + locator Products { + target Products + } + + // Reference to the resource that manages the collection of provision shards. + locator ProvisionShards { + target ProvisionShards + } + + // Reference to the resource that manages the collection of trackable events. + locator Events { + target Events + } + + // Reference to the resource that manages the collection of aws inquiries. + locator AWSInquiries { + target AWSInquiries + } + + // Reference to the resource that manages the collection of gcp inquiries. + locator GCPInquiries { + target GCPInquiries + } + + // Reference to limited support reason templates. + locator LimitedSupportReasonTemplates { + target LimitedSupportReasonTemplates + } + + // Reference to version gates. + locator VersionGates { + target VersionGates + } + + // Reference to the resource that manages the environment. + locator Environment { + target Environment + } + + // Reference to the resource that manages oidc. + locator OidcConfigs { + target OidcConfigs + } + + // Reference to the resource that manages the collection of pending delete clusters. + locator PendingDeleteClusters { + target PendingDeleteClusters + } + + //Reference to the resource that manages dns domains. + locator DNSDomains { + target DNSDomains + } + + // Reference to the resource that manages network verifications. + locator NetworkVerifications { + target NetworkVerifications + } + + // Reference to the resource that manages the collection of trusted ip addresses. + locator TrustedIPAddresses { + target TrustedIps + } + + // Reference to the resource that manages the load balancer quota values. + locator LoadBalancerQuotaValues{ + target LoadBalancerQuotaValues + } + + // Reference to the resource that manages the storage quota values. + locator StorageQuotaValues { + target StorageQuotaValues + } + + // Reference to the resource that manages wif_configs + locator WifConfigs { + target WifConfigs + } + + // Reference to the resource that manages wif_templates + locator WifTemplates { + target WifTemplate + } +} diff --git a/model/clusters_mgmt/v2alpha1/server_config_type.model b/model/clusters_mgmt/v2alpha1/server_config_type.model new file mode 100644 index 00000000..f18800f4 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/server_config_type.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a server config +class ServerConfig { + // The URL of the server. + Server String + + // The kubeconfig of the server. + Kubeconfig String + + // The topology of a provision shard (Optional). + Topology ProvisionShardTopology +} diff --git a/model/clusters_mgmt/v2alpha1/socket_total_by_node_roles_os_metric_query_resource.model b/model/clusters_mgmt/v2alpha1/socket_total_by_node_roles_os_metric_query_resource.model new file mode 100644 index 00000000..d3e74282 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/socket_total_by_node_roles_os_metric_query_resource.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Total socket capacity in the cluster by node role and operating system. +resource SocketTotalByNodeRolesOSMetricQuery { + // Retrieves the metrics. + method Get { + out Body SocketTotalsNodeRoleOSMetricNode + } +} diff --git a/model/clusters_mgmt/v2alpha1/socket_total_node_role_os_metric_node_type.model b/model/clusters_mgmt/v2alpha1/socket_total_node_role_os_metric_node_type.model new file mode 100644 index 00000000..7a6bd588 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/socket_total_node_role_os_metric_node_type.model @@ -0,0 +1,30 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of information from telemetry about a the socket capacity +// by node role and OS. +struct SocketTotalNodeRoleOSMetricNode { + Time Date + + // Representation of the node role for a cluster. + NodeRoles []String + + // The operating system. + OperatingSystem String + + // The total socket capacity of nodes with this set of roles and operating system. + SocketTotal Float +} diff --git a/model/clusters_mgmt/v2alpha1/socket_totals_node_role_os_metric_node_type.model b/model/clusters_mgmt/v2alpha1/socket_totals_node_role_os_metric_node_type.model new file mode 100644 index 00000000..5adade00 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/socket_totals_node_role_os_metric_node_type.model @@ -0,0 +1,22 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + + +// Representation of information from telemetry about the socket capacity by node +// role and OS of a cluster. +struct SocketTotalsNodeRoleOSMetricNode { + SocketTotals []SocketTotalNodeRoleOSMetricNode +} diff --git a/model/clusters_mgmt/v2alpha1/storage_quota_type.model b/model/clusters_mgmt/v2alpha1/storage_quota_type.model new file mode 100644 index 00000000..05b36571 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/storage_quota_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a storage quota +struct StorageQuota { + // Numerical value + Value Float + + // Unit of storage + Unit String +} diff --git a/model/clusters_mgmt/v2alpha1/storage_quota_values_resource.model b/model/clusters_mgmt/v2alpha1/storage_quota_values_resource.model new file mode 100644 index 00000000..1baaf40f --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/storage_quota_values_resource.model @@ -0,0 +1,33 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages storage quota values. +resource StorageQuotaValues { + // Retrieves the list of Storage Quota Values. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of values. + out Items []StorageQuota + } +} diff --git a/model/clusters_mgmt/v2alpha1/sts_credential_request_type.model b/model/clusters_mgmt/v2alpha1/sts_credential_request_type.model new file mode 100644 index 00000000..5bff02e3 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/sts_credential_request_type.model @@ -0,0 +1,26 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an credRequest +struct STSCredentialRequest { + + //Name of CredRequest + Name String + + //Operator Details + link Operator STSOperator + +} diff --git a/model/clusters_mgmt/v2alpha1/sts_credential_requests_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/sts_credential_requests_inquiry_resource.model new file mode 100644 index 00000000..153e83bf --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/sts_credential_requests_inquiry_resource.model @@ -0,0 +1,34 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages STS Credential Request +resource STSCredentialRequestsInquiry { + // Retrieves the list of policies. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of CredRequest. + out Items []STSCredentialRequest + } +} diff --git a/model/clusters_mgmt/v2alpha1/sts_operator_type.model b/model/clusters_mgmt/v2alpha1/sts_operator_type.model new file mode 100644 index 00000000..dcd0fe99 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/sts_operator_type.model @@ -0,0 +1,33 @@ +/* +Copyright (c) 2022 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an sts operator +struct STSOperator { + //Operator Name + Name String + + //Operator Namespace + Namespace String + + //Service Accounts + ServiceAccounts []String + + //Minimum ocp version supported + MinVersion String + + //Maximum ocp version supported + MaxVersion String +} diff --git a/model/clusters_mgmt/v2alpha1/sts_support_jump_role_resource.model b/model/clusters_mgmt/v2alpha1/sts_support_jump_role_resource.model new file mode 100644 index 00000000..4fef7cc8 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/sts_support_jump_role_resource.model @@ -0,0 +1,22 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Provides the role arn to use to assume the support role in the customer's aws account. +resource StsSupportJumpRole { + method Get { + out Body StsSupportJumpRole + } +} diff --git a/model/clusters_mgmt/v2alpha1/sts_support_jump_role_type.model b/model/clusters_mgmt/v2alpha1/sts_support_jump_role_type.model new file mode 100644 index 00000000..3aa8ea05 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/sts_support_jump_role_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Isolated STS support role created per organization. +struct StsSupportJumpRole { + // ARN of the support role created in the SRE jump account. + RoleArn String +} diff --git a/model/clusters_mgmt/v2alpha1/sts_type.model b/model/clusters_mgmt/v2alpha1/sts_type.model new file mode 100644 index 00000000..ceb6a8d1 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/sts_type.model @@ -0,0 +1,55 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Contains the necessary attributes to support role-based authentication on AWS. +struct STS { + + // If STS is enabled or disabled + Enabled Boolean + + // ARN of the AWS role to assume when installing the cluster + RoleARN String + + // Optional unique identifier when assuming role in another account + ExternalID String + + // ARN of the AWS role used by SREs to access the cluster AWS account in order to provide support + SupportRoleARN String + + // URL of the location where OIDC configuration and keys are available + OIDCEndpointURL String + + // List of roles necessary to access the AWS resources of the various operators used during installation + OperatorIAMRoles []OperatorIAMRole + + // Instance IAM roles to use for the instance profiles of the master and worker instances + InstanceIAMRoles InstanceIAMRoles + + // Auto creation mode for cluster - OCM will create the operator roles and OIDC provider. false by default. + AutoMode Boolean + + // Optional user provided prefix for operator roles. + OperatorRolePrefix String + + // Optional user provided permission boundary. + PermissionBoundary String + + // If true, cluster account and operator roles have managed policies attached. + ManagedPolicies Boolean + + // Registered Oidc Config, if available holds information related to the oidc config. + OidcConfig OidcConfig +} diff --git a/model/clusters_mgmt/v2alpha1/subnet_network_verification_type.model b/model/clusters_mgmt/v2alpha1/subnet_network_verification_type.model new file mode 100644 index 00000000..0db677a0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/subnet_network_verification_type.model @@ -0,0 +1,29 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +class SubnetNetworkVerification { + // Slice of failures that happened during a subnet network verification. + Details []String + + // State of the subnet network verification. + State String + + // Tags supplied to the network verifier for this subnet. + Tags [String]String + + // Platform supplied to the network verifier for this subnet. + Platform Platform +} diff --git a/model/clusters_mgmt/v2alpha1/subscription_type.model b/model/clusters_mgmt/v2alpha1/subscription_type.model new file mode 100644 index 00000000..ce081ced --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/subscription_type.model @@ -0,0 +1,19 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Definition of a subscription. +class Subscription { +} diff --git a/model/clusters_mgmt/v2alpha1/syncset_resource.model b/model/clusters_mgmt/v2alpha1/syncset_resource.model new file mode 100644 index 00000000..490d9536 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/syncset_resource.model @@ -0,0 +1,32 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific syncset. +resource Syncset { + // Retrieves the details of the syncset. + method Get { + out Body Syncset + } + + // Update the syncset. + method Update { + in out Body Syncset + } + + // Deletes the syncset. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/syncset_type.model b/model/clusters_mgmt/v2alpha1/syncset_type.model new file mode 100644 index 00000000..c9f50fa0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/syncset_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a syncset. +class Syncset { + // List of k8s objects to configure for the cluster. + Resources []Interface +} diff --git a/model/clusters_mgmt/v2alpha1/syncsets_resource.model b/model/clusters_mgmt/v2alpha1/syncsets_resource.model new file mode 100644 index 00000000..0f8bc153 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/syncsets_resource.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of syncsets of a cluster. +resource Syncsets { + // Retrieves the list of syncsets. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of syncsets. + out Items []Syncset + } + + // Adds a new syncset to the cluster. + method Add { + // Description of the syncset. + in out Body Syncset + } + + // Reference to the service that manages an specific syncset. + locator Syncset { + target Syncset + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/taint_type.model b/model/clusters_mgmt/v2alpha1/taint_type.model new file mode 100644 index 00000000..aec65ce9 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/taint_type.model @@ -0,0 +1,28 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + + +// Representation of a Taint set on a MachinePool in a cluster. +struct Taint { + // The key for the taint + Key String + + // The value for the taint. + Value String + + // The effect on the node for the pods matching the taint, i.e: NoSchedule, NoExecute, PreferNoSchedule. + Effect String +} diff --git a/model/clusters_mgmt/v2alpha1/trusted_ip_resource.model b/model/clusters_mgmt/v2alpha1/trusted_ip_resource.model new file mode 100644 index 00000000..0eb8c227 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/trusted_ip_resource.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific trusted ip address. +resource TrustedIp { + // Retrieves the trusted ip adresses. + method Get { + out Body TrustedIp + } +} diff --git a/model/clusters_mgmt/v2alpha1/trusted_ips_resource.model b/model/clusters_mgmt/v2alpha1/trusted_ips_resource.model new file mode 100644 index 00000000..24571457 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/trusted_ips_resource.model @@ -0,0 +1,33 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of trusted ip addresses of a cluster. +resource TrustedIps { + // Retrieves the list of trusted ip addresses. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of trusted ip addresses. + out Items []TrustedIp + } +} diff --git a/model/clusters_mgmt/v2alpha1/trusted_ips_type.model b/model/clusters_mgmt/v2alpha1/trusted_ips_type.model new file mode 100644 index 00000000..6e8f1405 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/trusted_ips_type.model @@ -0,0 +1,21 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a trusted ip address in clusterdeployment. +class TrustedIp { + // The boolean set to show if the ip is enabled. + Enabled Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/tuning_config_resource.model b/model/clusters_mgmt/v2alpha1/tuning_config_resource.model new file mode 100644 index 00000000..fc2fc75f --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/tuning_config_resource.model @@ -0,0 +1,32 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific tuning config. +resource TuningConfig { + // Retrieves the details of the tuning config. + method Get { + out Body TuningConfig + } + + // Updates the tuning config. + method Update { + in out Body TuningConfig + } + + // Deletes the tuning config. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/tuning_config_type.model b/model/clusters_mgmt/v2alpha1/tuning_config_type.model new file mode 100644 index 00000000..47bcb5d6 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/tuning_config_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a tuning config. +class TuningConfig { + // Name of the tuning config. + Name String + + // Spec of the tuning config. + Spec Interface +} diff --git a/model/clusters_mgmt/v2alpha1/tuning_configs_resource.model b/model/clusters_mgmt/v2alpha1/tuning_configs_resource.model new file mode 100644 index 00000000..6a0d525b --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/tuning_configs_resource.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of tuning configs for a cluster. +resource TuningConfigs { + // Retrieves the list of tuning configs. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of tuning configs. + out Items []TuningConfig + } + + // Adds a new tuning config to the cluster. + method Add { + // Description of the tuning config. + in out Body TuningConfig + } + + // Reference to the service that manages a specific tuning config. + locator TuningConfig { + target TuningConfig + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policies_resource.model b/model/clusters_mgmt/v2alpha1/upgrade_policies_resource.model new file mode 100644 index 00000000..f9cb6ba0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/upgrade_policies_resource.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of upgrade policies of a cluster. +resource UpgradePolicies { + // Retrieves the list of upgrade policies. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of upgrade policy. + out Items []UpgradePolicy + } + + // Adds a new upgrade policy to the cluster. + method Add { + // Description of the upgrade policy. + in out Body UpgradePolicy + } + + // Reference to the service that manages an specific upgrade policy. + locator UpgradePolicy { + target UpgradePolicy + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_resource.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_resource.model new file mode 100644 index 00000000..33e7bd89 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/upgrade_policy_resource.model @@ -0,0 +1,37 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific upgrade policy. +resource UpgradePolicy { + // Retrieves the details of the upgrade policy. + method Get { + out Body UpgradePolicy + } + + // Update the upgrade policy. + method Update { + in out Body UpgradePolicy + } + + // Deletes the upgrade policy. + method Delete { + } + + // Reference to the state of the upgrade policy. + locator State { + target UpgradePolicyState + } +} diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_schedule_type.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_schedule_type.model new file mode 100644 index 00000000..90966b73 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/upgrade_policy_schedule_type.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// ScheduleType defines which type of scheduling should be used for the upgrade policy. +enum ScheduleType { + // Manual schedule type is for upgrades scheduled manually by a user, to a specific version, at a specific time. + Manual + + // Automatic schedule type for automatically upgrade to the latest available version, at the next scheduled time, + // as defined by the 'scheduled' cron expression. Note that by default, automatic upgrade will pick only + // the latest Z stream. To enable minor version upgrades automatically, you will need to set the + // 'enable_minor_version_upgrades' to be 'true'. Major version upgrades are not supported. + Automatic +} diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_state_resource.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_state_resource.model new file mode 100644 index 00000000..1213b408 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/upgrade_policy_state_resource.model @@ -0,0 +1,28 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific upgrade policy state. +resource UpgradePolicyState { + // Retrieves the details of the upgrade policy state. + method Get { + out Body UpgradePolicyState + } + + // Update the upgrade policy state. + method Update { + in out Body UpgradePolicyState + } +} diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_state_type.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_state_type.model new file mode 100644 index 00000000..f25affa2 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/upgrade_policy_state_type.model @@ -0,0 +1,25 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an upgrade policy state that that is set for a cluster. +class UpgradePolicyState { + // State value can be 'pending', 'scheduled', 'cancelled', 'started', 'delayed', + // 'failed' or 'completed'. + Value UpgradePolicyStateValue + + // Description of the state. + Description String +} diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_type.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_type.model new file mode 100644 index 00000000..0a03cf89 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/upgrade_policy_type.model @@ -0,0 +1,39 @@ +/* +Copyright (c) 2020 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an upgrade policy that can be set for a cluster. +class UpgradePolicy { + // Cluster ID this upgrade policy is defined for. + ClusterID String + + // Schedule cron expression that defines automatic upgrade scheduling. + Schedule String + + // Schedule type of the upgrade. + ScheduleType ScheduleType + + // Upgrade type specify the type of the upgrade. + UpgradeType UpgradeType + + // Version is the desired upgrade version. + Version String + + // Next time the upgrade should run. + NextRun Date + + // Indicates if minor version upgrades are allowed for automatic upgrades (for manual it's always allowed). + EnableMinorVersionUpgrades Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_upgrade_type.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_upgrade_type.model new file mode 100644 index 00000000..e0f878d4 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/upgrade_policy_upgrade_type.model @@ -0,0 +1,34 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// UpgradeType defines which type of upgrade should be used. +enum UpgradeType { + // Upgrade of OSD cluster, which will upgrade the cluster's control plane, and all the node pools. + @json(name = "OSD") + OSD + + // Control plane upgrade, relevant only for hosted control plane clusters. + @json(name = "ControlPlane") + ControlPlane + + // Node pool upgrade, relevant only for hosted control plane clusters. + @json(name = "NodePool") + NodePool + + // Upgrade of an AddOn + @json(name = "ADDON") + AddOn +} diff --git a/model/clusters_mgmt/v2alpha1/user_resource.model b/model/clusters_mgmt/v2alpha1/user_resource.model new file mode 100644 index 00000000..50d0352f --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/user_resource.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific user. +resource User { + // Retrieves the details of the user. + method Get { + out Body User + } + + // Deletes the user. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/user_type.model b/model/clusters_mgmt/v2alpha1/user_type.model new file mode 100644 index 00000000..5dac3f3d --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/user_type.model @@ -0,0 +1,19 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of a user. +class User { +} diff --git a/model/clusters_mgmt/v2alpha1/users_resource.model b/model/clusters_mgmt/v2alpha1/users_resource.model new file mode 100644 index 00000000..0f7f076d --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/users_resource.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of users of a group. +resource Users { + // Retrieves the list of users. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of users. + out Items []User + } + + // Adds a new user to the group. + method Add { + // Description of the user. + in out Body User + } + + // Reference to the service that manages an specific user. + locator User { + target User + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/value_type.model b/model/clusters_mgmt/v2alpha1/value_type.model new file mode 100644 index 00000000..ce39de49 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/value_type.model @@ -0,0 +1,41 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Numeric value and the unit used to measure it. +// +// Units are not mandatory, and they're not specified for some resources. For +// resources that use bytes, the accepted units are: +// +// - 1 B = 1 byte +// - 1 KB = 10^3 bytes +// - 1 MB = 10^6 bytes +// - 1 GB = 10^9 bytes +// - 1 TB = 10^12 bytes +// - 1 PB = 10^15 bytes +// +// - 1 B = 1 byte +// - 1 KiB = 2^10 bytes +// - 1 MiB = 2^20 bytes +// - 1 GiB = 2^30 bytes +// - 1 TiB = 2^40 bytes +// - 1 PiB = 2^50 bytes +struct Value { + // Numeric value. + Value Float + + // Name of the unit used to measure the value. + Unit String +} diff --git a/model/clusters_mgmt/v2alpha1/version_gate_agreement_resource.model b/model/clusters_mgmt/v2alpha1/version_gate_agreement_resource.model new file mode 100644 index 00000000..9918d261 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/version_gate_agreement_resource.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific version gate agreement. +resource VersionGateAgreement { + // Retrieves the details of the version gate agreement. + method Get { + out Body VersionGateAgreement + } + + // Deletes the version gate agreement. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/version_gate_agreement_type.model b/model/clusters_mgmt/v2alpha1/version_gate_agreement_type.model new file mode 100644 index 00000000..b082623e --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/version_gate_agreement_type.model @@ -0,0 +1,24 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// VersionGateAgreement represents a version gate that the user agreed to for a specific cluster. +class VersionGateAgreement { + // link to the version gate that the user agreed to + link VersionGate VersionGate + + // The time the user agreed to the version gate + AgreedTimestamp Date +} diff --git a/model/clusters_mgmt/v2alpha1/version_gate_agreements_resource.model b/model/clusters_mgmt/v2alpha1/version_gate_agreements_resource.model new file mode 100644 index 00000000..51ae72a9 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/version_gate_agreements_resource.model @@ -0,0 +1,45 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of version gates agreements for a cluster. +resource VersionGateAgreements { + // Retrieves the list of reasons. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Number of items contained in the returned page. + in out Size Integer = 100 + + // Total number of items of the collection. + out Total Integer + + // Retrieved list of version gate agreement. + out Items []VersionGateAgreement + } + + // Adds a new agreed version gate to the cluster. + method Add { + // Details of the version gate agreement. + in out Body VersionGateAgreement + } + + // Reference to the service that manages a specific version gate agreement. + locator VersionGateAgreement { + target VersionGateAgreement + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/version_gate_resource.model b/model/clusters_mgmt/v2alpha1/version_gate_resource.model new file mode 100644 index 00000000..11fac398 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/version_gate_resource.model @@ -0,0 +1,27 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific version gate. +resource VersionGate { + // Retrieves the details of the version gate. + method Get { + out Body VersionGate + } + + // Deletes the version gate. + method Delete { + } +} diff --git a/model/clusters_mgmt/v2alpha1/version_gate_type.model b/model/clusters_mgmt/v2alpha1/version_gate_type.model new file mode 100644 index 00000000..46b5190d --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/version_gate_type.model @@ -0,0 +1,43 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an _OpenShift_ version gate. +class VersionGate { + // VersionRawIDPrefix represents the versions prefix that the gate applies to. + VersionRawIDPrefix String + + // Label representing the version gate in OpenShift. + Label String + + // Value represents the required value of the label. + Value String + + // WarningMessage is a warning that will be displayed to the user before they acknowledge the gate + WarningMessage String + + // Description of the version gate. + Description String + + // DocumentationURL is the URL for the documentation of the version gate. + DocumentationURL String + + // STSOnly indicates if this version gate is for STS clusters only + STSOnly Boolean + + // CreationTimestamp is the date and time when the version gate was created, + // format defined in https://www.ietf.org/rfc/rfc3339.txt[RC3339]. + CreationTimestamp Date +} diff --git a/model/clusters_mgmt/v2alpha1/version_gates_resource.model b/model/clusters_mgmt/v2alpha1/version_gates_resource.model new file mode 100644 index 00000000..6dd117fb --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/version_gates_resource.model @@ -0,0 +1,73 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of version gates. +resource VersionGates { + // Retrieves a list of version gates. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + // + // Default value is `100`. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of an + // SQL statement, but using the names of the attributes of the version gate instead of + // the names of the columns of a table. + // + // If the parameter isn't provided, or if the value is empty, then all the version gates + // that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // an SQL statement, but using the names of the attributes of the version gate instead of + // the names of the columns of a table. For example, in order to sort the version gates + // descending by identifier the value should be: + // + // ```sql + // id desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of version gates. + out Items []VersionGate + } + + // Adds a new version gate + method Add { + // Details of the version gate + in out Body VersionGate + } + + // Reference to the resource that manages a specific version gate. + locator VersionGate { + target VersionGate + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/version_resource.model b/model/clusters_mgmt/v2alpha1/version_resource.model new file mode 100644 index 00000000..01863c22 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/version_resource.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific version. +resource Version { + // Retrieves the details of the version. + method Get { + out Body Version + } +} diff --git a/model/clusters_mgmt/v2alpha1/version_type.model b/model/clusters_mgmt/v2alpha1/version_type.model new file mode 100644 index 00000000..4b83825d --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/version_type.model @@ -0,0 +1,62 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Representation of an _OpenShift_ version. +class Version { + // RawID is the id of the version - without channel group and prefix. + RawID String + + // Indicates if this version can be used to create clusters. + Enabled Boolean + + // Indicates if this should be selected as the default version when a cluster is created + // without specifying explicitly the version. + Default Boolean + + // ChannelGroup is the name of the group where this image belongs. + // ChannelGroup is a mechanism to partition the images to different groups, + // each image belongs to only a single group. + ChannelGroup String + + // ROSAEnabled indicates whether this version can be used to create ROSA clusters. + ROSAEnabled Boolean + + // HostedControlPlaneEnabled indicates whether this version can be used to create HCP clusters. + HostedControlPlaneEnabled Boolean + + // HostedControlPlaneDefault is a flag that indicates if this should be selected as the default version when a + // HCP cluster is created without specifying explicitly the version. + HostedControlPlaneDefault Boolean + + // AvailableUpgrades is the list of versions this version can be upgraded to. + AvailableUpgrades []String + + // EndOfLifeTimestamp is the date and time when the version will get to End of Life, using the + // format defined in https://www.ietf.org/rfc/rfc3339.txt[RC3339]. + EndOfLifeTimestamp Date + + // ReleaseImage contains the URI of Openshift release image for amd64 architecture. + ReleaseImage String + + // ImageOverrides contains the lists of images per cloud provider. + ImageOverrides ImageOverrides + + // GCPMarketplaceEnabled indicates if this version can be used to create GCP Marketplace clusters. + GCPMarketplaceEnabled Boolean + + // ReleaseImages contains the URI of OpenShift release images for arm64 and multi architectures. + ReleaseImages ReleaseImages +} diff --git a/model/clusters_mgmt/v2alpha1/versions_resource.model b/model/clusters_mgmt/v2alpha1/versions_resource.model new file mode 100644 index 00000000..ba8e9359 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/versions_resource.model @@ -0,0 +1,72 @@ +/* +Copyright (c) 2019 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of versions. +resource Versions { + // Retrieves a list of versions. + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + // + // Default value is `100`. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of a + // SQL statement, but using the names of the attributes of the version instead of + // the names of the columns of a table. For example, in order to retrieve all the + // versions that are enabled: + // + // ```sql + // enabled = 't' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the versions + // that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the version instead of + // the names of the columns of a table. For example, in order to sort the versions + // descending by identifier the value should be: + // + // ```sql + // id desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of versions. + out Items []Version + } + + // Reference to the resource that manages a specific version. + locator Version { + target Version + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/vpc_inquiry_type.model b/model/clusters_mgmt/v2alpha1/vpc_inquiry_type.model new file mode 100644 index 00000000..a0246ff6 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/vpc_inquiry_type.model @@ -0,0 +1,39 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Description of a cloud provider virtual private cloud. +struct CloudVPC { + // Name of virtual private cloud according to its `Name` tag on AWS. + Name String + + // ID of virtual private cloud. + ID String + + // List of subnets used by the virtual private cloud. + Subnets []String + + // List of AWS subnetworks with details. + AWSSubnets []Subnetwork + + // List of AWS security groups with details. + AWSSecurityGroups []SecurityGroup + + // CIDR block of the virtual private cloud. + CIDRBlock String + + // If the resource is RH managed. + RedHatManaged Boolean +} diff --git a/model/clusters_mgmt/v2alpha1/vpcs_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/vpcs_inquiry_resource.model new file mode 100644 index 00000000..4e4f2e08 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/vpcs_inquiry_resource.model @@ -0,0 +1,44 @@ +/* +Copyright (c) 2021 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of vpcs inquiry. +resource VpcsInquiry { + // Retrieves the list of available vpcs of the cloud provider for specific region. + // IMPORTANT: This collection doesn't currently support paging or searching, so the returned + // `page` will always be 1 and `size` and `total` will always be the total number of available vpcs + // of the provider. + method Search { + // Index of the returned page, where one corresponds to the first page. As this + // collection doesn't support paging the result will always be `1`. + in out Page Integer = 1 + + // Number of items that will be contained in the returned page. As this collection + // doesn't support paging or searching the result will always be the total number of + // vpcs of the provider. + in out Size Integer = 100 + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. As this collection doesn't support paging or + // searching the result will always be the total number of available vpcs of the provider. + out Total Integer + + // Retrieved list of cloud VPC. + out Items []CloudVPC + + // Cloud provider data needed for the inquiry + in Body CloudProviderData + } +} diff --git a/model/clusters_mgmt/v2alpha1/wif_config_resource.model b/model/clusters_mgmt/v2alpha1/wif_config_resource.model new file mode 100644 index 00000000..a00712bb --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/wif_config_resource.model @@ -0,0 +1,29 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific wif_config. +resource WifConfig { + // Retrieves the details of the WifConfig. + method Get { + out Body WifConfig + } + + // Deletes the wif_config. + method Delete { + // Dry run flag is used to check if the operation can be completed, but won't delete. + in DryRun Boolean = false + } +} diff --git a/model/clusters_mgmt/v2alpha1/wif_config_type.model b/model/clusters_mgmt/v2alpha1/wif_config_type.model new file mode 100644 index 00000000..08ffd6eb --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/wif_config_type.model @@ -0,0 +1,55 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Definition of an wif_config resource. +class WifConfig { + // The name OCM clients will display for this wif_config. + DisplayName String + // Holds GCP related data. + Gcp WifGcp + // The OCM organization that this wif_config resource belongs to. + Organization OrganizationLink +} + +struct WifGcp { + // This is the service account email that OCM will use to access other SAs. + ImpersonatorEmail String + // This represents the GCP project ID in which the wif resources will be configured. + ProjectId String + // The list of service accounts and their associated roles that will need to be + // configured on the user's GCP project. + ServiceAccounts []WifServiceAccount + // The workload identity configuration data that will be used to create the + // workload identity pool on the user's account. + WorkloadIdentityPool WifPool +} + +struct WifPool { + // Identity provider configuration data that will be created as part of the + // workload identity pool. + IdentityProvider WifIdentityProvider + // The Id of the workload identity pool. + PoolId String + // The display name of the workload identity pool. + PoolName String +} + +struct WifIdentityProvider { + AllowedAudiences []String + IdentityProviderId String + IssuerUrl String + Jwks string +} diff --git a/model/clusters_mgmt/v2alpha1/wif_configs_resources.model b/model/clusters_mgmt/v2alpha1/wif_configs_resources.model new file mode 100644 index 00000000..43db9150 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/wif_configs_resources.model @@ -0,0 +1,77 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of wif_configs. +resource WifConfigs { + // Retrieves the list of wif_configs + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of a + // SQL statement, but using the names of the attributes of the cluster instead of + // the names of the columns of a table. For example, in order to retrieve all the + // clusters with a name starting with `my` in the `us-east-1` region the value + // should be: + // + // ```sql + // name like 'my%' and region.id = 'us-east-1' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the + // wif_configs that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the cluster instead of + // the names of the columns of a table. For example, in order to sort the clusters + // descending by region identifier the value should be: + // + // ```sql + // region.id desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of wif_configs. + out Items []WifConfig + } + + // Provision a new wif_config resource and add it to the collection of wif_configs. + method Add { + // Description of the wif_config. + in out Body WifConfig + } + + // Returns a reference to the service that manages an specific wif_config. + locator WifConfig { + target WifConfig + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/wif_service_account_type.model b/model/clusters_mgmt/v2alpha1/wif_service_account_type.model new file mode 100644 index 00000000..a1c53083 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/wif_service_account_type.model @@ -0,0 +1,44 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +struct WifServiceAccount { + AccessMethod WifAccessMethod + CredentialRequest WifCredentialRequest + ServiceAccountId String + OsdRole String + Roles []WifRole +} + +enum WifAccessMethod { + Impersonate + Wif +} + +struct WifCredentialRequest { + SecretRef WifSecretRef + ServiceAccountNames []String +} + +struct WifSecretRef { + Name String + Namespace String +} + +struct WifRole { + RoleId String + Predefined Boolean + Permissions []String +} diff --git a/model/clusters_mgmt/v2alpha1/wif_template_resource.model b/model/clusters_mgmt/v2alpha1/wif_template_resource.model new file mode 100644 index 00000000..350343d9 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/wif_template_resource.model @@ -0,0 +1,23 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages a specific wif_template. +resource WifTemplate { + // Retrieves the details of the wif_template. + method Get { + out Body WifTemplate + } +} diff --git a/model/clusters_mgmt/v2alpha1/wif_template_type.model b/model/clusters_mgmt/v2alpha1/wif_template_type.model new file mode 100644 index 00000000..33aebe7d --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/wif_template_type.model @@ -0,0 +1,22 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Definition of an wif_template resource. +class WifTemplate { + // The list of service accounts and their associated roles that this template + // would require to be configured on the user's GCP project. + ServiceAccounts []WifServiceAccount +} diff --git a/model/clusters_mgmt/v2alpha1/wif_templates_resource.model b/model/clusters_mgmt/v2alpha1/wif_templates_resource.model new file mode 100644 index 00000000..0a2802f0 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/wif_templates_resource.model @@ -0,0 +1,73 @@ +/* +Copyright (c) 2024 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Manages the collection of wif_templates. +// wif_templates hold the GCP resource requirements for wif deployments. +// wif_config resources are based off of wif_templates during creation. +resource WifTemplates { + // Retrieves the list of wif_templates + method List { + // Index of the requested page, where one corresponds to the first page. + in out Page Integer = 1 + + // Maximum number of items that will be contained in the returned page. + in out Size Integer = 100 + + // Search criteria. + // + // The syntax of this parameter is similar to the syntax of the _where_ clause of a + // SQL statement, but using the names of the attributes of the cluster instead of + // the names of the columns of a table. For example, in order to retrieve all the + // clusters with a name starting with `my` in the `us-east-1` region the value + // should be: + // + // ```sql + // name like 'my%' and region.id = 'us-east-1' + // ``` + // + // If the parameter isn't provided, or if the value is empty, then all the + // wif_templates that the user has permission to see will be returned. + in Search String + + // Order criteria. + // + // The syntax of this parameter is similar to the syntax of the _order by_ clause of + // a SQL statement, but using the names of the attributes of the cluster instead of + // the names of the columns of a table. For example, in order to sort the clusters + // descending by region identifier the value should be: + // + // ```sql + // region.id desc + // ``` + // + // If the parameter isn't provided, or if the value is empty, then the order of the + // results is undefined. + in Order String + + // Total number of items of the collection that match the search criteria, + // regardless of the size of the page. + out Total Integer + + // Retrieved list of wif_templates. + out Items []WifTemplate + } + + // Returns a reference to the service that manages a specific wif_template. + locator WifTemplate { + target WifTemplate + variable ID + } +} diff --git a/model/clusters_mgmt/v2alpha1/wildcard_policy_type.model b/model/clusters_mgmt/v2alpha1/wildcard_policy_type.model new file mode 100644 index 00000000..550ea572 --- /dev/null +++ b/model/clusters_mgmt/v2alpha1/wildcard_policy_type.model @@ -0,0 +1,26 @@ +/* +Copyright (c) 2023 Red Hat, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Type of wildcard policy. +enum WildcardPolicy { + // Wildcards Allowed. + @json(name = "WildcardsAllowed") + WildcardsAllowed + + // Wildcards Disallowed. + @json(name = "WildcardsDisallowed") + WildcardsDisallowed +} From 4b685bcaf5e96387ebd5b006cb235c7a6244c591 Mon Sep 17 00:00:00 2001 From: Elad Tabak Date: Sun, 28 Jul 2024 14:24:42 +0300 Subject: [PATCH 2/4] Change the year of the copyright --- model/clusters_mgmt/v2alpha1/UpgradePolicyStateValue.model | 2 +- model/clusters_mgmt/v2alpha1/add_on_inquiries_resource.model | 2 +- model/clusters_mgmt/v2alpha1/add_on_inquiry_resource.model | 2 +- model/clusters_mgmt/v2alpha1/add_on_parameter_option_type.model | 2 +- .../clusters_mgmt/v2alpha1/add_on_requirement_status_type.model | 2 +- model/clusters_mgmt/v2alpha1/add_on_requirement_type.model | 2 +- model/clusters_mgmt/v2alpha1/add_on_sub_operator_type.model | 2 +- model/clusters_mgmt/v2alpha1/add_on_version_resource.model | 2 +- model/clusters_mgmt/v2alpha1/add_on_version_type.model | 2 +- model/clusters_mgmt/v2alpha1/add_on_versions_resource.model | 2 +- .../v2alpha1/available_regions_inquiry_resource.model | 2 +- model/clusters_mgmt/v2alpha1/aws_machine_pool_type.model | 2 +- model/clusters_mgmt/v2alpha1/aws_spot_market_options_type.model | 2 +- .../v2alpha1/aws_sts_policies_inquiry_resource.model | 2 +- model/clusters_mgmt/v2alpha1/aws_sts_policies_type.model | 2 +- model/clusters_mgmt/v2alpha1/aws_subnetwork_type.model | 2 +- model/clusters_mgmt/v2alpha1/billing_model_type.model | 2 +- .../v2alpha1/cluster_configuration_mode_type.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_deployment_type.model | 2 +- model/clusters_mgmt/v2alpha1/clusterdeployment_resource.model | 2 +- model/clusters_mgmt/v2alpha1/encryption_key_inquiry_type.model | 2 +- .../v2alpha1/encryption_keys_inquiry_resource.model | 2 +- model/clusters_mgmt/v2alpha1/event_type.model | 2 +- model/clusters_mgmt/v2alpha1/events_resource.model | 2 +- model/clusters_mgmt/v2alpha1/gcp_encryption_key_type.model | 2 +- model/clusters_mgmt/v2alpha1/gcp_inquiries_resource.model | 2 +- model/clusters_mgmt/v2alpha1/gcp_network_type.model | 2 +- model/clusters_mgmt/v2alpha1/htpasswd_user_resource.model | 2 +- model/clusters_mgmt/v2alpha1/htpasswd_user_type.model | 2 +- model/clusters_mgmt/v2alpha1/identity_provider_resource.model | 2 +- model/clusters_mgmt/v2alpha1/instance_iam_roles.model | 2 +- model/clusters_mgmt/v2alpha1/key_ring_inquiry_type.model | 2 +- model/clusters_mgmt/v2alpha1/key_rings_inquiry_resource.model | 2 +- .../v2alpha1/limited_support_reason_resource.model | 2 +- .../v2alpha1/limited_support_reason_template_resource.model | 2 +- .../v2alpha1/limited_support_reason_template_type.model | 2 +- .../v2alpha1/limited_support_reason_templates_resource.model | 2 +- model/clusters_mgmt/v2alpha1/limited_support_reason_type.model | 2 +- .../v2alpha1/limited_support_reasons_resource.model | 2 +- model/clusters_mgmt/v2alpha1/operator_iam_role_type.model | 2 +- model/clusters_mgmt/v2alpha1/provider_data_inquiry_type.model | 2 +- model/clusters_mgmt/v2alpha1/proxy_type.model | 2 +- model/clusters_mgmt/v2alpha1/resource_resource.model | 2 +- model/clusters_mgmt/v2alpha1/resource_type.model | 2 +- model/clusters_mgmt/v2alpha1/resources_resource.model | 2 +- model/clusters_mgmt/v2alpha1/sts_type.model | 2 +- .../v2alpha1/version_gate_agreement_resource.model | 2 +- model/clusters_mgmt/v2alpha1/version_gate_agreement_type.model | 2 +- .../v2alpha1/version_gate_agreements_resource.model | 2 +- model/clusters_mgmt/v2alpha1/version_gate_resource.model | 2 +- model/clusters_mgmt/v2alpha1/version_gate_type.model | 2 +- model/clusters_mgmt/v2alpha1/version_gates_resource.model | 2 +- model/clusters_mgmt/v2alpha1/vpc_inquiry_type.model | 2 +- model/clusters_mgmt/v2alpha1/vpcs_inquiry_resource.model | 2 +- 54 files changed, 54 insertions(+), 54 deletions(-) diff --git a/model/clusters_mgmt/v2alpha1/UpgradePolicyStateValue.model b/model/clusters_mgmt/v2alpha1/UpgradePolicyStateValue.model index 9229b131..fd34dbc8 100644 --- a/model/clusters_mgmt/v2alpha1/UpgradePolicyStateValue.model +++ b/model/clusters_mgmt/v2alpha1/UpgradePolicyStateValue.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_inquiries_resource.model b/model/clusters_mgmt/v2alpha1/add_on_inquiries_resource.model index c5242d97..5c7f9746 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_inquiries_resource.model +++ b/model/clusters_mgmt/v2alpha1/add_on_inquiries_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/add_on_inquiry_resource.model index 3cfb460d..6f86ea77 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_inquiry_resource.model +++ b/model/clusters_mgmt/v2alpha1/add_on_inquiry_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_parameter_option_type.model b/model/clusters_mgmt/v2alpha1/add_on_parameter_option_type.model index 7d18b94f..666917b9 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_parameter_option_type.model +++ b/model/clusters_mgmt/v2alpha1/add_on_parameter_option_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_requirement_status_type.model b/model/clusters_mgmt/v2alpha1/add_on_requirement_status_type.model index b4d3ebd0..20aed86a 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_requirement_status_type.model +++ b/model/clusters_mgmt/v2alpha1/add_on_requirement_status_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_requirement_type.model b/model/clusters_mgmt/v2alpha1/add_on_requirement_type.model index 94cdb177..b47a3abf 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_requirement_type.model +++ b/model/clusters_mgmt/v2alpha1/add_on_requirement_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_sub_operator_type.model b/model/clusters_mgmt/v2alpha1/add_on_sub_operator_type.model index d8d516e9..d3710207 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_sub_operator_type.model +++ b/model/clusters_mgmt/v2alpha1/add_on_sub_operator_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_version_resource.model b/model/clusters_mgmt/v2alpha1/add_on_version_resource.model index 2cac7c71..201a1c53 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_version_resource.model +++ b/model/clusters_mgmt/v2alpha1/add_on_version_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_version_type.model b/model/clusters_mgmt/v2alpha1/add_on_version_type.model index de299259..16311fbc 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_version_type.model +++ b/model/clusters_mgmt/v2alpha1/add_on_version_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_versions_resource.model b/model/clusters_mgmt/v2alpha1/add_on_versions_resource.model index b30c9f33..c99882d6 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_versions_resource.model +++ b/model/clusters_mgmt/v2alpha1/add_on_versions_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/available_regions_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/available_regions_inquiry_resource.model index cab8cc7a..4b96c6a7 100644 --- a/model/clusters_mgmt/v2alpha1/available_regions_inquiry_resource.model +++ b/model/clusters_mgmt/v2alpha1/available_regions_inquiry_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_machine_pool_type.model b/model/clusters_mgmt/v2alpha1/aws_machine_pool_type.model index a4d5e0ed..a370b002 100644 --- a/model/clusters_mgmt/v2alpha1/aws_machine_pool_type.model +++ b/model/clusters_mgmt/v2alpha1/aws_machine_pool_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_spot_market_options_type.model b/model/clusters_mgmt/v2alpha1/aws_spot_market_options_type.model index f014bf4d..0c9d7d13 100644 --- a/model/clusters_mgmt/v2alpha1/aws_spot_market_options_type.model +++ b/model/clusters_mgmt/v2alpha1/aws_spot_market_options_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_sts_policies_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/aws_sts_policies_inquiry_resource.model index fe1be5f8..d71f041d 100644 --- a/model/clusters_mgmt/v2alpha1/aws_sts_policies_inquiry_resource.model +++ b/model/clusters_mgmt/v2alpha1/aws_sts_policies_inquiry_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_sts_policies_type.model b/model/clusters_mgmt/v2alpha1/aws_sts_policies_type.model index b4407a62..51da1bf5 100644 --- a/model/clusters_mgmt/v2alpha1/aws_sts_policies_type.model +++ b/model/clusters_mgmt/v2alpha1/aws_sts_policies_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_subnetwork_type.model b/model/clusters_mgmt/v2alpha1/aws_subnetwork_type.model index b49ec2ae..9a6aa69e 100644 --- a/model/clusters_mgmt/v2alpha1/aws_subnetwork_type.model +++ b/model/clusters_mgmt/v2alpha1/aws_subnetwork_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/billing_model_type.model b/model/clusters_mgmt/v2alpha1/billing_model_type.model index 085bcb8d..4e8110e5 100644 --- a/model/clusters_mgmt/v2alpha1/billing_model_type.model +++ b/model/clusters_mgmt/v2alpha1/billing_model_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_configuration_mode_type.model b/model/clusters_mgmt/v2alpha1/cluster_configuration_mode_type.model index 000ac5c2..265e7a5c 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_configuration_mode_type.model +++ b/model/clusters_mgmt/v2alpha1/cluster_configuration_mode_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_deployment_type.model b/model/clusters_mgmt/v2alpha1/cluster_deployment_type.model index 104b23f2..82ff80d1 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_deployment_type.model +++ b/model/clusters_mgmt/v2alpha1/cluster_deployment_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/clusterdeployment_resource.model b/model/clusters_mgmt/v2alpha1/clusterdeployment_resource.model index 8e91ec79..6f9f28b8 100644 --- a/model/clusters_mgmt/v2alpha1/clusterdeployment_resource.model +++ b/model/clusters_mgmt/v2alpha1/clusterdeployment_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/encryption_key_inquiry_type.model b/model/clusters_mgmt/v2alpha1/encryption_key_inquiry_type.model index 78f2b849..19435207 100644 --- a/model/clusters_mgmt/v2alpha1/encryption_key_inquiry_type.model +++ b/model/clusters_mgmt/v2alpha1/encryption_key_inquiry_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/encryption_keys_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/encryption_keys_inquiry_resource.model index 1d03c59f..32666859 100644 --- a/model/clusters_mgmt/v2alpha1/encryption_keys_inquiry_resource.model +++ b/model/clusters_mgmt/v2alpha1/encryption_keys_inquiry_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/event_type.model b/model/clusters_mgmt/v2alpha1/event_type.model index dbfa3467..b0f88a9f 100644 --- a/model/clusters_mgmt/v2alpha1/event_type.model +++ b/model/clusters_mgmt/v2alpha1/event_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/events_resource.model b/model/clusters_mgmt/v2alpha1/events_resource.model index b0d5f2ca..9bb2ab79 100644 --- a/model/clusters_mgmt/v2alpha1/events_resource.model +++ b/model/clusters_mgmt/v2alpha1/events_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/gcp_encryption_key_type.model b/model/clusters_mgmt/v2alpha1/gcp_encryption_key_type.model index b820f25b..c098590c 100644 --- a/model/clusters_mgmt/v2alpha1/gcp_encryption_key_type.model +++ b/model/clusters_mgmt/v2alpha1/gcp_encryption_key_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/gcp_inquiries_resource.model b/model/clusters_mgmt/v2alpha1/gcp_inquiries_resource.model index fe14112e..02011620 100644 --- a/model/clusters_mgmt/v2alpha1/gcp_inquiries_resource.model +++ b/model/clusters_mgmt/v2alpha1/gcp_inquiries_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/gcp_network_type.model b/model/clusters_mgmt/v2alpha1/gcp_network_type.model index 3ec49108..c7f5822c 100644 --- a/model/clusters_mgmt/v2alpha1/gcp_network_type.model +++ b/model/clusters_mgmt/v2alpha1/gcp_network_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/htpasswd_user_resource.model b/model/clusters_mgmt/v2alpha1/htpasswd_user_resource.model index 08d44fe7..d1599cd5 100644 --- a/model/clusters_mgmt/v2alpha1/htpasswd_user_resource.model +++ b/model/clusters_mgmt/v2alpha1/htpasswd_user_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/htpasswd_user_type.model b/model/clusters_mgmt/v2alpha1/htpasswd_user_type.model index ee85eb65..8ebf29a4 100644 --- a/model/clusters_mgmt/v2alpha1/htpasswd_user_type.model +++ b/model/clusters_mgmt/v2alpha1/htpasswd_user_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/identity_provider_resource.model b/model/clusters_mgmt/v2alpha1/identity_provider_resource.model index 696865d5..664a7fd7 100644 --- a/model/clusters_mgmt/v2alpha1/identity_provider_resource.model +++ b/model/clusters_mgmt/v2alpha1/identity_provider_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/instance_iam_roles.model b/model/clusters_mgmt/v2alpha1/instance_iam_roles.model index 1c21de83..634cbbd7 100644 --- a/model/clusters_mgmt/v2alpha1/instance_iam_roles.model +++ b/model/clusters_mgmt/v2alpha1/instance_iam_roles.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/key_ring_inquiry_type.model b/model/clusters_mgmt/v2alpha1/key_ring_inquiry_type.model index 81095bf1..cb568565 100644 --- a/model/clusters_mgmt/v2alpha1/key_ring_inquiry_type.model +++ b/model/clusters_mgmt/v2alpha1/key_ring_inquiry_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/key_rings_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/key_rings_inquiry_resource.model index c143ef61..5debf0e4 100644 --- a/model/clusters_mgmt/v2alpha1/key_rings_inquiry_resource.model +++ b/model/clusters_mgmt/v2alpha1/key_rings_inquiry_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reason_resource.model b/model/clusters_mgmt/v2alpha1/limited_support_reason_resource.model index 3d441ae0..1278167d 100644 --- a/model/clusters_mgmt/v2alpha1/limited_support_reason_resource.model +++ b/model/clusters_mgmt/v2alpha1/limited_support_reason_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reason_template_resource.model b/model/clusters_mgmt/v2alpha1/limited_support_reason_template_resource.model index fa696fc8..3aa683b0 100644 --- a/model/clusters_mgmt/v2alpha1/limited_support_reason_template_resource.model +++ b/model/clusters_mgmt/v2alpha1/limited_support_reason_template_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reason_template_type.model b/model/clusters_mgmt/v2alpha1/limited_support_reason_template_type.model index 16cd1cb5..d4933e5b 100644 --- a/model/clusters_mgmt/v2alpha1/limited_support_reason_template_type.model +++ b/model/clusters_mgmt/v2alpha1/limited_support_reason_template_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reason_templates_resource.model b/model/clusters_mgmt/v2alpha1/limited_support_reason_templates_resource.model index acecb34f..33bd7d28 100644 --- a/model/clusters_mgmt/v2alpha1/limited_support_reason_templates_resource.model +++ b/model/clusters_mgmt/v2alpha1/limited_support_reason_templates_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reason_type.model b/model/clusters_mgmt/v2alpha1/limited_support_reason_type.model index d9c9ad34..61dfe352 100644 --- a/model/clusters_mgmt/v2alpha1/limited_support_reason_type.model +++ b/model/clusters_mgmt/v2alpha1/limited_support_reason_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/limited_support_reasons_resource.model b/model/clusters_mgmt/v2alpha1/limited_support_reasons_resource.model index 463e7b89..a6052445 100644 --- a/model/clusters_mgmt/v2alpha1/limited_support_reasons_resource.model +++ b/model/clusters_mgmt/v2alpha1/limited_support_reasons_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/operator_iam_role_type.model b/model/clusters_mgmt/v2alpha1/operator_iam_role_type.model index f45a4436..23d78809 100644 --- a/model/clusters_mgmt/v2alpha1/operator_iam_role_type.model +++ b/model/clusters_mgmt/v2alpha1/operator_iam_role_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/provider_data_inquiry_type.model b/model/clusters_mgmt/v2alpha1/provider_data_inquiry_type.model index 44ba0090..b430a268 100644 --- a/model/clusters_mgmt/v2alpha1/provider_data_inquiry_type.model +++ b/model/clusters_mgmt/v2alpha1/provider_data_inquiry_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/proxy_type.model b/model/clusters_mgmt/v2alpha1/proxy_type.model index 93435bbd..23cd6dbf 100644 --- a/model/clusters_mgmt/v2alpha1/proxy_type.model +++ b/model/clusters_mgmt/v2alpha1/proxy_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/resource_resource.model b/model/clusters_mgmt/v2alpha1/resource_resource.model index 3b10ec39..01c7fed7 100644 --- a/model/clusters_mgmt/v2alpha1/resource_resource.model +++ b/model/clusters_mgmt/v2alpha1/resource_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/resource_type.model b/model/clusters_mgmt/v2alpha1/resource_type.model index 376e305e..b5ea89d7 100644 --- a/model/clusters_mgmt/v2alpha1/resource_type.model +++ b/model/clusters_mgmt/v2alpha1/resource_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/resources_resource.model b/model/clusters_mgmt/v2alpha1/resources_resource.model index 237dbc35..9fa4f816 100644 --- a/model/clusters_mgmt/v2alpha1/resources_resource.model +++ b/model/clusters_mgmt/v2alpha1/resources_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/sts_type.model b/model/clusters_mgmt/v2alpha1/sts_type.model index ceb6a8d1..6e001190 100644 --- a/model/clusters_mgmt/v2alpha1/sts_type.model +++ b/model/clusters_mgmt/v2alpha1/sts_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/version_gate_agreement_resource.model b/model/clusters_mgmt/v2alpha1/version_gate_agreement_resource.model index 9918d261..77a3c4d8 100644 --- a/model/clusters_mgmt/v2alpha1/version_gate_agreement_resource.model +++ b/model/clusters_mgmt/v2alpha1/version_gate_agreement_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/version_gate_agreement_type.model b/model/clusters_mgmt/v2alpha1/version_gate_agreement_type.model index b082623e..5d96a437 100644 --- a/model/clusters_mgmt/v2alpha1/version_gate_agreement_type.model +++ b/model/clusters_mgmt/v2alpha1/version_gate_agreement_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/version_gate_agreements_resource.model b/model/clusters_mgmt/v2alpha1/version_gate_agreements_resource.model index 51ae72a9..692dd7ff 100644 --- a/model/clusters_mgmt/v2alpha1/version_gate_agreements_resource.model +++ b/model/clusters_mgmt/v2alpha1/version_gate_agreements_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/version_gate_resource.model b/model/clusters_mgmt/v2alpha1/version_gate_resource.model index 11fac398..1ef98a10 100644 --- a/model/clusters_mgmt/v2alpha1/version_gate_resource.model +++ b/model/clusters_mgmt/v2alpha1/version_gate_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/version_gate_type.model b/model/clusters_mgmt/v2alpha1/version_gate_type.model index 46b5190d..67362a7a 100644 --- a/model/clusters_mgmt/v2alpha1/version_gate_type.model +++ b/model/clusters_mgmt/v2alpha1/version_gate_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/version_gates_resource.model b/model/clusters_mgmt/v2alpha1/version_gates_resource.model index 6dd117fb..0af5b713 100644 --- a/model/clusters_mgmt/v2alpha1/version_gates_resource.model +++ b/model/clusters_mgmt/v2alpha1/version_gates_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/vpc_inquiry_type.model b/model/clusters_mgmt/v2alpha1/vpc_inquiry_type.model index a0246ff6..e5d478e7 100644 --- a/model/clusters_mgmt/v2alpha1/vpc_inquiry_type.model +++ b/model/clusters_mgmt/v2alpha1/vpc_inquiry_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/vpcs_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/vpcs_inquiry_resource.model index 4e4f2e08..561b48c5 100644 --- a/model/clusters_mgmt/v2alpha1/vpcs_inquiry_resource.model +++ b/model/clusters_mgmt/v2alpha1/vpcs_inquiry_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2021 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. From 306534653cec1d838efe0442cfa18195e486bb2f Mon Sep 17 00:00:00 2001 From: Elad Tabak Date: Sun, 28 Jul 2024 14:25:37 +0300 Subject: [PATCH 3/4] Change the year of the copyright --- .../v2alpha1/add_on_additional_catalog_sources_type.model | 2 +- model/clusters_mgmt/v2alpha1/add_on_config_type.model | 2 +- .../v2alpha1/add_on_environment_variable_type.model | 2 +- model/clusters_mgmt/v2alpha1/add_on_installation_billing.model | 2 +- .../clusters_mgmt/v2alpha1/add_on_secret_propagation_type.model | 2 +- .../v2alpha1/addon_upgrade_policies_resource.model | 2 +- .../clusters_mgmt/v2alpha1/addon_upgrade_policy_resource.model | 2 +- .../v2alpha1/addon_upgrade_policy_state_resource.model | 2 +- .../v2alpha1/addon_upgrade_policy_state_type.model | 2 +- model/clusters_mgmt/v2alpha1/addon_upgrade_policy_type.model | 2 +- model/clusters_mgmt/v2alpha1/ami_override_type.model | 2 +- model/clusters_mgmt/v2alpha1/audit_log_type.model | 2 +- model/clusters_mgmt/v2alpha1/autoscaler_resource.model | 2 +- .../v2alpha1/autoscaler_resource_limits_gpu_limit_type.model | 2 +- .../v2alpha1/autoscaler_resource_limits_type.model | 2 +- .../v2alpha1/autoscaler_scale_down_config_type.model | 2 +- model/clusters_mgmt/v2alpha1/aws_etcd_enryption_type.model | 2 +- model/clusters_mgmt/v2alpha1/aws_http_token_state_type.model | 2 +- model/clusters_mgmt/v2alpha1/aws_inquiries_resource.model | 2 +- model/clusters_mgmt/v2alpha1/aws_node_pool_type.model | 2 +- .../v2alpha1/aws_region_machine_types_resource.model | 2 +- model/clusters_mgmt/v2alpha1/aws_resource.model | 2 +- model/clusters_mgmt/v2alpha1/aws_security_group_type.model | 2 +- model/clusters_mgmt/v2alpha1/aws_sts_account_role_type.model | 2 +- .../v2alpha1/aws_sts_account_roles_inquiry_resource.model | 2 +- model/clusters_mgmt/v2alpha1/aws_sts_role_type.model | 2 +- model/clusters_mgmt/v2alpha1/billing_model_item_type.model | 2 +- model/clusters_mgmt/v2alpha1/byo_oidc_type.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_autoscaler_type.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_link_type.model | 2 +- .../clusters_mgmt/v2alpha1/cluster_nodes_root_volume_type.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_vpc_resource.model | 2 +- model/clusters_mgmt/v2alpha1/control_plane_resource.model | 2 +- .../v2alpha1/control_plane_upgrade_policies_resource.model | 2 +- .../v2alpha1/control_plane_upgrade_policy_resource.model | 2 +- .../v2alpha1/control_plane_upgrade_policy_type.model | 2 +- model/clusters_mgmt/v2alpha1/credential_request_type.model | 2 +- model/clusters_mgmt/v2alpha1/delete_protection_resource.model | 2 +- model/clusters_mgmt/v2alpha1/delete_protection_type.model | 2 +- model/clusters_mgmt/v2alpha1/dns_domain_resource.model | 2 +- model/clusters_mgmt/v2alpha1/dns_domain_type.model | 2 +- model/clusters_mgmt/v2alpha1/dns_domains_resource.model | 2 +- model/clusters_mgmt/v2alpha1/environment_resource.model | 2 +- model/clusters_mgmt/v2alpha1/environment_type.model | 2 +- model/clusters_mgmt/v2alpha1/gcp_image_override_type.model | 2 +- .../v2alpha1/gcp_region_machine_types_resource.model | 2 +- model/clusters_mgmt/v2alpha1/gcp_security_type.model | 2 +- model/clusters_mgmt/v2alpha1/gcp_volume_type.model | 2 +- model/clusters_mgmt/v2alpha1/hypershift_config_type.model | 2 +- model/clusters_mgmt/v2alpha1/hypershift_resource.model | 2 +- model/clusters_mgmt/v2alpha1/hypershift_type.model | 2 +- model/clusters_mgmt/v2alpha1/image_overrides_type.model | 2 +- model/clusters_mgmt/v2alpha1/inflight_check_resource.model | 2 +- model/clusters_mgmt/v2alpha1/inflight_check_state_type.model | 2 +- model/clusters_mgmt/v2alpha1/inflight_check_type.model | 2 +- model/clusters_mgmt/v2alpha1/inflight_checks_resource.model | 2 +- model/clusters_mgmt/v2alpha1/kubelet_config_resource.model | 2 +- model/clusters_mgmt/v2alpha1/kubelet_config_type.model | 2 +- model/clusters_mgmt/v2alpha1/load_balancer_flavor_type.model | 2 +- .../v2alpha1/machine_pool_aws_security_group_filter_type.model | 2 +- model/clusters_mgmt/v2alpha1/managedservice_type.model | 2 +- .../v2alpha1/namespace_ownership_policy_type.model | 2 +- .../clusters_mgmt/v2alpha1/network_verification_resource.model | 2 +- model/clusters_mgmt/v2alpha1/network_verification_type.model | 2 +- .../clusters_mgmt/v2alpha1/network_verifications_resource.model | 2 +- model/clusters_mgmt/v2alpha1/node_pool_autoscaling_type.model | 2 +- model/clusters_mgmt/v2alpha1/node_pool_resource.model | 2 +- model/clusters_mgmt/v2alpha1/node_pool_status_type.model | 2 +- model/clusters_mgmt/v2alpha1/node_pool_type.model | 2 +- .../v2alpha1/node_pool_upgrade_policies_resource.model | 2 +- .../v2alpha1/node_pool_upgrade_policy_resource.model | 2 +- .../clusters_mgmt/v2alpha1/node_pool_upgrade_policy_type.model | 2 +- model/clusters_mgmt/v2alpha1/node_pools_resource.model | 2 +- model/clusters_mgmt/v2alpha1/oidc_config_resource.model | 2 +- model/clusters_mgmt/v2alpha1/oidc_config_type.model | 2 +- model/clusters_mgmt/v2alpha1/oidc_configs_resource.model | 2 +- model/clusters_mgmt/v2alpha1/operator_iam_role_resource.model | 2 +- model/clusters_mgmt/v2alpha1/operator_iam_roles_resource.model | 2 +- model/clusters_mgmt/v2alpha1/organization_link_type.model | 2 +- .../v2alpha1/pending_delete_cluster_resource.model | 2 +- model/clusters_mgmt/v2alpha1/pending_delete_cluster_type.model | 2 +- .../v2alpha1/pending_delete_clusters_resource.model | 2 +- model/clusters_mgmt/v2alpha1/platform_type.model | 2 +- .../v2alpha1/private_link_cluster_configuration_type.model | 2 +- .../private_link_configuration_principal_resource.model | 2 +- .../v2alpha1/private_link_configuration_principal_type.model | 2 +- .../private_link_configuration_principals_resource.model | 2 +- .../v2alpha1/private_link_configuration_principals_type.model | 2 +- .../v2alpha1/private_link_configuration_resource.model | 2 +- .../v2alpha1/private_link_configuration_type.model | 2 +- .../v2alpha1/product_minimal_version_resource.model | 2 +- model/clusters_mgmt/v2alpha1/product_minimal_version_type.model | 2 +- .../v2alpha1/product_minimal_versions_resource.model | 2 +- .../v2alpha1/product_technology_preview_resource.model | 2 +- .../v2alpha1/product_technology_preview_type.model | 2 +- .../v2alpha1/product_technology_previews_resource.model | 2 +- .../clusters_mgmt/v2alpha1/provision_shard_topology_type.model | 2 +- model/clusters_mgmt/v2alpha1/resource_range_type.model | 2 +- model/clusters_mgmt/v2alpha1/sts_credential_request_type.model | 2 +- .../v2alpha1/sts_credential_requests_inquiry_resource.model | 2 +- model/clusters_mgmt/v2alpha1/sts_operator_type.model | 2 +- .../clusters_mgmt/v2alpha1/sts_support_jump_role_resource.model | 2 +- model/clusters_mgmt/v2alpha1/sts_support_jump_role_type.model | 2 +- .../v2alpha1/subnet_network_verification_type.model | 2 +- model/clusters_mgmt/v2alpha1/trusted_ip_resource.model | 2 +- model/clusters_mgmt/v2alpha1/trusted_ips_resource.model | 2 +- model/clusters_mgmt/v2alpha1/trusted_ips_type.model | 2 +- model/clusters_mgmt/v2alpha1/tuning_config_resource.model | 2 +- model/clusters_mgmt/v2alpha1/tuning_config_type.model | 2 +- model/clusters_mgmt/v2alpha1/tuning_configs_resource.model | 2 +- model/clusters_mgmt/v2alpha1/upgrade_policy_schedule_type.model | 2 +- model/clusters_mgmt/v2alpha1/upgrade_policy_upgrade_type.model | 2 +- model/clusters_mgmt/v2alpha1/wildcard_policy_type.model | 2 +- 113 files changed, 113 insertions(+), 113 deletions(-) diff --git a/model/clusters_mgmt/v2alpha1/add_on_additional_catalog_sources_type.model b/model/clusters_mgmt/v2alpha1/add_on_additional_catalog_sources_type.model index 1df0d133..67b82e95 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_additional_catalog_sources_type.model +++ b/model/clusters_mgmt/v2alpha1/add_on_additional_catalog_sources_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_config_type.model b/model/clusters_mgmt/v2alpha1/add_on_config_type.model index b652e145..a78a8858 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_config_type.model +++ b/model/clusters_mgmt/v2alpha1/add_on_config_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_environment_variable_type.model b/model/clusters_mgmt/v2alpha1/add_on_environment_variable_type.model index d336a347..0bfc2ff4 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_environment_variable_type.model +++ b/model/clusters_mgmt/v2alpha1/add_on_environment_variable_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_installation_billing.model b/model/clusters_mgmt/v2alpha1/add_on_installation_billing.model index 6f8e052e..321f4d33 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_installation_billing.model +++ b/model/clusters_mgmt/v2alpha1/add_on_installation_billing.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_secret_propagation_type.model b/model/clusters_mgmt/v2alpha1/add_on_secret_propagation_type.model index fc46a365..9b1d8ea3 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_secret_propagation_type.model +++ b/model/clusters_mgmt/v2alpha1/add_on_secret_propagation_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/addon_upgrade_policies_resource.model b/model/clusters_mgmt/v2alpha1/addon_upgrade_policies_resource.model index b5b9e711..dbbe4b48 100644 --- a/model/clusters_mgmt/v2alpha1/addon_upgrade_policies_resource.model +++ b/model/clusters_mgmt/v2alpha1/addon_upgrade_policies_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_resource.model b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_resource.model index 56dda586..89476b8e 100644 --- a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_resource.model +++ b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_resource.model b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_resource.model index 6b771ea0..5e729c44 100644 --- a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_resource.model +++ b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_type.model b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_type.model index 55d21886..21eded26 100644 --- a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_type.model +++ b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_state_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_type.model b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_type.model index 96e4432e..f9a83da3 100644 --- a/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_type.model +++ b/model/clusters_mgmt/v2alpha1/addon_upgrade_policy_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/ami_override_type.model b/model/clusters_mgmt/v2alpha1/ami_override_type.model index 4a1f4cbe..432e7ed9 100644 --- a/model/clusters_mgmt/v2alpha1/ami_override_type.model +++ b/model/clusters_mgmt/v2alpha1/ami_override_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/audit_log_type.model b/model/clusters_mgmt/v2alpha1/audit_log_type.model index 0c31e264..47b3c2e4 100644 --- a/model/clusters_mgmt/v2alpha1/audit_log_type.model +++ b/model/clusters_mgmt/v2alpha1/audit_log_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/autoscaler_resource.model b/model/clusters_mgmt/v2alpha1/autoscaler_resource.model index 04fe51db..fb84dfaf 100644 --- a/model/clusters_mgmt/v2alpha1/autoscaler_resource.model +++ b/model/clusters_mgmt/v2alpha1/autoscaler_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_gpu_limit_type.model b/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_gpu_limit_type.model index 8b7ca70a..8a1c4060 100644 --- a/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_gpu_limit_type.model +++ b/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_gpu_limit_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_type.model b/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_type.model index d731f503..60260ecc 100644 --- a/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_type.model +++ b/model/clusters_mgmt/v2alpha1/autoscaler_resource_limits_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/autoscaler_scale_down_config_type.model b/model/clusters_mgmt/v2alpha1/autoscaler_scale_down_config_type.model index c03e16f9..f0bccd28 100644 --- a/model/clusters_mgmt/v2alpha1/autoscaler_scale_down_config_type.model +++ b/model/clusters_mgmt/v2alpha1/autoscaler_scale_down_config_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_etcd_enryption_type.model b/model/clusters_mgmt/v2alpha1/aws_etcd_enryption_type.model index e704709e..5a4af590 100644 --- a/model/clusters_mgmt/v2alpha1/aws_etcd_enryption_type.model +++ b/model/clusters_mgmt/v2alpha1/aws_etcd_enryption_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_http_token_state_type.model b/model/clusters_mgmt/v2alpha1/aws_http_token_state_type.model index f2e85102..acbc0c9e 100644 --- a/model/clusters_mgmt/v2alpha1/aws_http_token_state_type.model +++ b/model/clusters_mgmt/v2alpha1/aws_http_token_state_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_inquiries_resource.model b/model/clusters_mgmt/v2alpha1/aws_inquiries_resource.model index 305bcbf4..857bd43d 100644 --- a/model/clusters_mgmt/v2alpha1/aws_inquiries_resource.model +++ b/model/clusters_mgmt/v2alpha1/aws_inquiries_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_node_pool_type.model b/model/clusters_mgmt/v2alpha1/aws_node_pool_type.model index a88572e7..44a6dad5 100644 --- a/model/clusters_mgmt/v2alpha1/aws_node_pool_type.model +++ b/model/clusters_mgmt/v2alpha1/aws_node_pool_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_region_machine_types_resource.model b/model/clusters_mgmt/v2alpha1/aws_region_machine_types_resource.model index d24f0354..0dc97ba6 100644 --- a/model/clusters_mgmt/v2alpha1/aws_region_machine_types_resource.model +++ b/model/clusters_mgmt/v2alpha1/aws_region_machine_types_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_resource.model b/model/clusters_mgmt/v2alpha1/aws_resource.model index eefc6a1a..c1ba7ead 100644 --- a/model/clusters_mgmt/v2alpha1/aws_resource.model +++ b/model/clusters_mgmt/v2alpha1/aws_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_security_group_type.model b/model/clusters_mgmt/v2alpha1/aws_security_group_type.model index 7bd800fb..f14d31b4 100644 --- a/model/clusters_mgmt/v2alpha1/aws_security_group_type.model +++ b/model/clusters_mgmt/v2alpha1/aws_security_group_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_sts_account_role_type.model b/model/clusters_mgmt/v2alpha1/aws_sts_account_role_type.model index 769f4a36..37f0082f 100644 --- a/model/clusters_mgmt/v2alpha1/aws_sts_account_role_type.model +++ b/model/clusters_mgmt/v2alpha1/aws_sts_account_role_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_sts_account_roles_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/aws_sts_account_roles_inquiry_resource.model index ad64b4b3..47a29e2e 100644 --- a/model/clusters_mgmt/v2alpha1/aws_sts_account_roles_inquiry_resource.model +++ b/model/clusters_mgmt/v2alpha1/aws_sts_account_roles_inquiry_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_sts_role_type.model b/model/clusters_mgmt/v2alpha1/aws_sts_role_type.model index 49bccfd5..cde50efc 100644 --- a/model/clusters_mgmt/v2alpha1/aws_sts_role_type.model +++ b/model/clusters_mgmt/v2alpha1/aws_sts_role_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/billing_model_item_type.model b/model/clusters_mgmt/v2alpha1/billing_model_item_type.model index 04583ef4..d5324901 100644 --- a/model/clusters_mgmt/v2alpha1/billing_model_item_type.model +++ b/model/clusters_mgmt/v2alpha1/billing_model_item_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/byo_oidc_type.model b/model/clusters_mgmt/v2alpha1/byo_oidc_type.model index 19391421..6a085419 100644 --- a/model/clusters_mgmt/v2alpha1/byo_oidc_type.model +++ b/model/clusters_mgmt/v2alpha1/byo_oidc_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_autoscaler_type.model b/model/clusters_mgmt/v2alpha1/cluster_autoscaler_type.model index d84befd5..655e7d0c 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_autoscaler_type.model +++ b/model/clusters_mgmt/v2alpha1/cluster_autoscaler_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_link_type.model b/model/clusters_mgmt/v2alpha1/cluster_link_type.model index 3eeaf6ce..9bb3ec7c 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_link_type.model +++ b/model/clusters_mgmt/v2alpha1/cluster_link_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_nodes_root_volume_type.model b/model/clusters_mgmt/v2alpha1/cluster_nodes_root_volume_type.model index ddbfb06e..29c978c6 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_nodes_root_volume_type.model +++ b/model/clusters_mgmt/v2alpha1/cluster_nodes_root_volume_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_vpc_resource.model b/model/clusters_mgmt/v2alpha1/cluster_vpc_resource.model index edc4b738..18cc0784 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_vpc_resource.model +++ b/model/clusters_mgmt/v2alpha1/cluster_vpc_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/control_plane_resource.model b/model/clusters_mgmt/v2alpha1/control_plane_resource.model index 99727254..3dd19294 100644 --- a/model/clusters_mgmt/v2alpha1/control_plane_resource.model +++ b/model/clusters_mgmt/v2alpha1/control_plane_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policies_resource.model b/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policies_resource.model index 93771790..c04297bd 100644 --- a/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policies_resource.model +++ b/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policies_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_resource.model b/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_resource.model index 46d5c9d1..506e10a2 100644 --- a/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_resource.model +++ b/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_type.model b/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_type.model index 7e5dc6a0..a9aad56e 100644 --- a/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_type.model +++ b/model/clusters_mgmt/v2alpha1/control_plane_upgrade_policy_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/credential_request_type.model b/model/clusters_mgmt/v2alpha1/credential_request_type.model index 91cabc8b..596ca792 100644 --- a/model/clusters_mgmt/v2alpha1/credential_request_type.model +++ b/model/clusters_mgmt/v2alpha1/credential_request_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/delete_protection_resource.model b/model/clusters_mgmt/v2alpha1/delete_protection_resource.model index d5f20950..f0cbe797 100644 --- a/model/clusters_mgmt/v2alpha1/delete_protection_resource.model +++ b/model/clusters_mgmt/v2alpha1/delete_protection_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/delete_protection_type.model b/model/clusters_mgmt/v2alpha1/delete_protection_type.model index d46db361..d8967a2a 100644 --- a/model/clusters_mgmt/v2alpha1/delete_protection_type.model +++ b/model/clusters_mgmt/v2alpha1/delete_protection_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/dns_domain_resource.model b/model/clusters_mgmt/v2alpha1/dns_domain_resource.model index bfb91468..3a211a5b 100644 --- a/model/clusters_mgmt/v2alpha1/dns_domain_resource.model +++ b/model/clusters_mgmt/v2alpha1/dns_domain_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/dns_domain_type.model b/model/clusters_mgmt/v2alpha1/dns_domain_type.model index eef47c65..4b0ba5dd 100644 --- a/model/clusters_mgmt/v2alpha1/dns_domain_type.model +++ b/model/clusters_mgmt/v2alpha1/dns_domain_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/dns_domains_resource.model b/model/clusters_mgmt/v2alpha1/dns_domains_resource.model index 27040ee0..f36b6df4 100644 --- a/model/clusters_mgmt/v2alpha1/dns_domains_resource.model +++ b/model/clusters_mgmt/v2alpha1/dns_domains_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/environment_resource.model b/model/clusters_mgmt/v2alpha1/environment_resource.model index 7871e918..c879137b 100644 --- a/model/clusters_mgmt/v2alpha1/environment_resource.model +++ b/model/clusters_mgmt/v2alpha1/environment_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/environment_type.model b/model/clusters_mgmt/v2alpha1/environment_type.model index ca102ab0..d43a7b78 100644 --- a/model/clusters_mgmt/v2alpha1/environment_type.model +++ b/model/clusters_mgmt/v2alpha1/environment_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/gcp_image_override_type.model b/model/clusters_mgmt/v2alpha1/gcp_image_override_type.model index 4ed936d5..4ed08045 100644 --- a/model/clusters_mgmt/v2alpha1/gcp_image_override_type.model +++ b/model/clusters_mgmt/v2alpha1/gcp_image_override_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/gcp_region_machine_types_resource.model b/model/clusters_mgmt/v2alpha1/gcp_region_machine_types_resource.model index f4109190..21d17cd1 100644 --- a/model/clusters_mgmt/v2alpha1/gcp_region_machine_types_resource.model +++ b/model/clusters_mgmt/v2alpha1/gcp_region_machine_types_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/gcp_security_type.model b/model/clusters_mgmt/v2alpha1/gcp_security_type.model index 6a69203b..efb9134e 100644 --- a/model/clusters_mgmt/v2alpha1/gcp_security_type.model +++ b/model/clusters_mgmt/v2alpha1/gcp_security_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/gcp_volume_type.model b/model/clusters_mgmt/v2alpha1/gcp_volume_type.model index 69069cff..c56debb3 100644 --- a/model/clusters_mgmt/v2alpha1/gcp_volume_type.model +++ b/model/clusters_mgmt/v2alpha1/gcp_volume_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/hypershift_config_type.model b/model/clusters_mgmt/v2alpha1/hypershift_config_type.model index c83ecbf4..4e5890fc 100644 --- a/model/clusters_mgmt/v2alpha1/hypershift_config_type.model +++ b/model/clusters_mgmt/v2alpha1/hypershift_config_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/hypershift_resource.model b/model/clusters_mgmt/v2alpha1/hypershift_resource.model index 7c369082..796b0290 100644 --- a/model/clusters_mgmt/v2alpha1/hypershift_resource.model +++ b/model/clusters_mgmt/v2alpha1/hypershift_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/hypershift_type.model b/model/clusters_mgmt/v2alpha1/hypershift_type.model index 3ebc9071..f92e6b16 100644 --- a/model/clusters_mgmt/v2alpha1/hypershift_type.model +++ b/model/clusters_mgmt/v2alpha1/hypershift_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/image_overrides_type.model b/model/clusters_mgmt/v2alpha1/image_overrides_type.model index 97f26ec8..4770b79f 100644 --- a/model/clusters_mgmt/v2alpha1/image_overrides_type.model +++ b/model/clusters_mgmt/v2alpha1/image_overrides_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/inflight_check_resource.model b/model/clusters_mgmt/v2alpha1/inflight_check_resource.model index 5845dc90..1e9cca05 100644 --- a/model/clusters_mgmt/v2alpha1/inflight_check_resource.model +++ b/model/clusters_mgmt/v2alpha1/inflight_check_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/inflight_check_state_type.model b/model/clusters_mgmt/v2alpha1/inflight_check_state_type.model index 7d90a5c9..c55246f8 100644 --- a/model/clusters_mgmt/v2alpha1/inflight_check_state_type.model +++ b/model/clusters_mgmt/v2alpha1/inflight_check_state_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/inflight_check_type.model b/model/clusters_mgmt/v2alpha1/inflight_check_type.model index 427a4ebc..e6959df6 100644 --- a/model/clusters_mgmt/v2alpha1/inflight_check_type.model +++ b/model/clusters_mgmt/v2alpha1/inflight_check_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/inflight_checks_resource.model b/model/clusters_mgmt/v2alpha1/inflight_checks_resource.model index 2ac79e5c..72a31254 100644 --- a/model/clusters_mgmt/v2alpha1/inflight_checks_resource.model +++ b/model/clusters_mgmt/v2alpha1/inflight_checks_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/kubelet_config_resource.model b/model/clusters_mgmt/v2alpha1/kubelet_config_resource.model index 2e9d6ad9..c00e6e88 100644 --- a/model/clusters_mgmt/v2alpha1/kubelet_config_resource.model +++ b/model/clusters_mgmt/v2alpha1/kubelet_config_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/kubelet_config_type.model b/model/clusters_mgmt/v2alpha1/kubelet_config_type.model index 20f4e2a0..8c0986dd 100644 --- a/model/clusters_mgmt/v2alpha1/kubelet_config_type.model +++ b/model/clusters_mgmt/v2alpha1/kubelet_config_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/load_balancer_flavor_type.model b/model/clusters_mgmt/v2alpha1/load_balancer_flavor_type.model index aaeedc58..835272ea 100644 --- a/model/clusters_mgmt/v2alpha1/load_balancer_flavor_type.model +++ b/model/clusters_mgmt/v2alpha1/load_balancer_flavor_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/machine_pool_aws_security_group_filter_type.model b/model/clusters_mgmt/v2alpha1/machine_pool_aws_security_group_filter_type.model index 4ceff70b..1ad26c5e 100644 --- a/model/clusters_mgmt/v2alpha1/machine_pool_aws_security_group_filter_type.model +++ b/model/clusters_mgmt/v2alpha1/machine_pool_aws_security_group_filter_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/managedservice_type.model b/model/clusters_mgmt/v2alpha1/managedservice_type.model index e0f6349e..a3b0d887 100644 --- a/model/clusters_mgmt/v2alpha1/managedservice_type.model +++ b/model/clusters_mgmt/v2alpha1/managedservice_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/namespace_ownership_policy_type.model b/model/clusters_mgmt/v2alpha1/namespace_ownership_policy_type.model index c76cf875..89f61ed9 100644 --- a/model/clusters_mgmt/v2alpha1/namespace_ownership_policy_type.model +++ b/model/clusters_mgmt/v2alpha1/namespace_ownership_policy_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/network_verification_resource.model b/model/clusters_mgmt/v2alpha1/network_verification_resource.model index d7d3efd6..4030dbe4 100644 --- a/model/clusters_mgmt/v2alpha1/network_verification_resource.model +++ b/model/clusters_mgmt/v2alpha1/network_verification_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/network_verification_type.model b/model/clusters_mgmt/v2alpha1/network_verification_type.model index 11616ee4..3d35b5cf 100644 --- a/model/clusters_mgmt/v2alpha1/network_verification_type.model +++ b/model/clusters_mgmt/v2alpha1/network_verification_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/network_verifications_resource.model b/model/clusters_mgmt/v2alpha1/network_verifications_resource.model index e57e6cd1..8fc50308 100644 --- a/model/clusters_mgmt/v2alpha1/network_verifications_resource.model +++ b/model/clusters_mgmt/v2alpha1/network_verifications_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/node_pool_autoscaling_type.model b/model/clusters_mgmt/v2alpha1/node_pool_autoscaling_type.model index 1fbeccc4..001d01cd 100644 --- a/model/clusters_mgmt/v2alpha1/node_pool_autoscaling_type.model +++ b/model/clusters_mgmt/v2alpha1/node_pool_autoscaling_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/node_pool_resource.model b/model/clusters_mgmt/v2alpha1/node_pool_resource.model index 0239da29..b47a0fd0 100644 --- a/model/clusters_mgmt/v2alpha1/node_pool_resource.model +++ b/model/clusters_mgmt/v2alpha1/node_pool_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/node_pool_status_type.model b/model/clusters_mgmt/v2alpha1/node_pool_status_type.model index 48f9aa1f..d1f9d583 100644 --- a/model/clusters_mgmt/v2alpha1/node_pool_status_type.model +++ b/model/clusters_mgmt/v2alpha1/node_pool_status_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/node_pool_type.model b/model/clusters_mgmt/v2alpha1/node_pool_type.model index 106b9824..582d2308 100644 --- a/model/clusters_mgmt/v2alpha1/node_pool_type.model +++ b/model/clusters_mgmt/v2alpha1/node_pool_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policies_resource.model b/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policies_resource.model index ffeaf809..260ac45f 100644 --- a/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policies_resource.model +++ b/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policies_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_resource.model b/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_resource.model index 6254333b..61aeaea2 100644 --- a/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_resource.model +++ b/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_type.model b/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_type.model index b3c0124a..0ac420e5 100644 --- a/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_type.model +++ b/model/clusters_mgmt/v2alpha1/node_pool_upgrade_policy_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/node_pools_resource.model b/model/clusters_mgmt/v2alpha1/node_pools_resource.model index 44088704..aa232a28 100644 --- a/model/clusters_mgmt/v2alpha1/node_pools_resource.model +++ b/model/clusters_mgmt/v2alpha1/node_pools_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/oidc_config_resource.model b/model/clusters_mgmt/v2alpha1/oidc_config_resource.model index 003f3f5f..924dcffd 100644 --- a/model/clusters_mgmt/v2alpha1/oidc_config_resource.model +++ b/model/clusters_mgmt/v2alpha1/oidc_config_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/oidc_config_type.model b/model/clusters_mgmt/v2alpha1/oidc_config_type.model index 9d24c46c..de8773ba 100644 --- a/model/clusters_mgmt/v2alpha1/oidc_config_type.model +++ b/model/clusters_mgmt/v2alpha1/oidc_config_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/oidc_configs_resource.model b/model/clusters_mgmt/v2alpha1/oidc_configs_resource.model index 41ae3eef..7b6d9853 100644 --- a/model/clusters_mgmt/v2alpha1/oidc_configs_resource.model +++ b/model/clusters_mgmt/v2alpha1/oidc_configs_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/operator_iam_role_resource.model b/model/clusters_mgmt/v2alpha1/operator_iam_role_resource.model index 7e9620a8..6c030084 100644 --- a/model/clusters_mgmt/v2alpha1/operator_iam_role_resource.model +++ b/model/clusters_mgmt/v2alpha1/operator_iam_role_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/operator_iam_roles_resource.model b/model/clusters_mgmt/v2alpha1/operator_iam_roles_resource.model index fa1f1188..36a5f1f8 100644 --- a/model/clusters_mgmt/v2alpha1/operator_iam_roles_resource.model +++ b/model/clusters_mgmt/v2alpha1/operator_iam_roles_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/organization_link_type.model b/model/clusters_mgmt/v2alpha1/organization_link_type.model index 640e8c0b..f33fa91d 100644 --- a/model/clusters_mgmt/v2alpha1/organization_link_type.model +++ b/model/clusters_mgmt/v2alpha1/organization_link_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/pending_delete_cluster_resource.model b/model/clusters_mgmt/v2alpha1/pending_delete_cluster_resource.model index 417e4bef..6d7b9864 100644 --- a/model/clusters_mgmt/v2alpha1/pending_delete_cluster_resource.model +++ b/model/clusters_mgmt/v2alpha1/pending_delete_cluster_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/pending_delete_cluster_type.model b/model/clusters_mgmt/v2alpha1/pending_delete_cluster_type.model index 2d3eeb9d..94827fec 100644 --- a/model/clusters_mgmt/v2alpha1/pending_delete_cluster_type.model +++ b/model/clusters_mgmt/v2alpha1/pending_delete_cluster_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/pending_delete_clusters_resource.model b/model/clusters_mgmt/v2alpha1/pending_delete_clusters_resource.model index 03021c46..c924c3b8 100644 --- a/model/clusters_mgmt/v2alpha1/pending_delete_clusters_resource.model +++ b/model/clusters_mgmt/v2alpha1/pending_delete_clusters_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/platform_type.model b/model/clusters_mgmt/v2alpha1/platform_type.model index c63a0071..4855ba38 100644 --- a/model/clusters_mgmt/v2alpha1/platform_type.model +++ b/model/clusters_mgmt/v2alpha1/platform_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/private_link_cluster_configuration_type.model b/model/clusters_mgmt/v2alpha1/private_link_cluster_configuration_type.model index 3fda6b73..02c38430 100644 --- a/model/clusters_mgmt/v2alpha1/private_link_cluster_configuration_type.model +++ b/model/clusters_mgmt/v2alpha1/private_link_cluster_configuration_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_resource.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_resource.model index e7b8267a..5ca2d38b 100644 --- a/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_resource.model +++ b/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_type.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_type.model index f5283ad6..6662fc07 100644 --- a/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_type.model +++ b/model/clusters_mgmt/v2alpha1/private_link_configuration_principal_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_resource.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_resource.model index 787113ab..6c9d679f 100644 --- a/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_resource.model +++ b/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_type.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_type.model index 1fba72dc..1ae6a1dd 100644 --- a/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_type.model +++ b/model/clusters_mgmt/v2alpha1/private_link_configuration_principals_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_resource.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_resource.model index 9f0a3c86..2d1c6c12 100644 --- a/model/clusters_mgmt/v2alpha1/private_link_configuration_resource.model +++ b/model/clusters_mgmt/v2alpha1/private_link_configuration_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/private_link_configuration_type.model b/model/clusters_mgmt/v2alpha1/private_link_configuration_type.model index c5b4165c..39295b40 100644 --- a/model/clusters_mgmt/v2alpha1/private_link_configuration_type.model +++ b/model/clusters_mgmt/v2alpha1/private_link_configuration_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/product_minimal_version_resource.model b/model/clusters_mgmt/v2alpha1/product_minimal_version_resource.model index 7f5bd514..5692e343 100644 --- a/model/clusters_mgmt/v2alpha1/product_minimal_version_resource.model +++ b/model/clusters_mgmt/v2alpha1/product_minimal_version_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/product_minimal_version_type.model b/model/clusters_mgmt/v2alpha1/product_minimal_version_type.model index df26d47d..8504a2dd 100644 --- a/model/clusters_mgmt/v2alpha1/product_minimal_version_type.model +++ b/model/clusters_mgmt/v2alpha1/product_minimal_version_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/product_minimal_versions_resource.model b/model/clusters_mgmt/v2alpha1/product_minimal_versions_resource.model index f161fbda..3d7fc30c 100644 --- a/model/clusters_mgmt/v2alpha1/product_minimal_versions_resource.model +++ b/model/clusters_mgmt/v2alpha1/product_minimal_versions_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/product_technology_preview_resource.model b/model/clusters_mgmt/v2alpha1/product_technology_preview_resource.model index f7756354..9c9e92c2 100644 --- a/model/clusters_mgmt/v2alpha1/product_technology_preview_resource.model +++ b/model/clusters_mgmt/v2alpha1/product_technology_preview_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/product_technology_preview_type.model b/model/clusters_mgmt/v2alpha1/product_technology_preview_type.model index 993fe060..9ef9341e 100644 --- a/model/clusters_mgmt/v2alpha1/product_technology_preview_type.model +++ b/model/clusters_mgmt/v2alpha1/product_technology_preview_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/product_technology_previews_resource.model b/model/clusters_mgmt/v2alpha1/product_technology_previews_resource.model index 081c1250..3d3b2566 100644 --- a/model/clusters_mgmt/v2alpha1/product_technology_previews_resource.model +++ b/model/clusters_mgmt/v2alpha1/product_technology_previews_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/provision_shard_topology_type.model b/model/clusters_mgmt/v2alpha1/provision_shard_topology_type.model index 38f50192..00161b3c 100644 --- a/model/clusters_mgmt/v2alpha1/provision_shard_topology_type.model +++ b/model/clusters_mgmt/v2alpha1/provision_shard_topology_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/resource_range_type.model b/model/clusters_mgmt/v2alpha1/resource_range_type.model index 397fdcbd..fa64aaba 100644 --- a/model/clusters_mgmt/v2alpha1/resource_range_type.model +++ b/model/clusters_mgmt/v2alpha1/resource_range_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/sts_credential_request_type.model b/model/clusters_mgmt/v2alpha1/sts_credential_request_type.model index 5bff02e3..c8c8d61e 100644 --- a/model/clusters_mgmt/v2alpha1/sts_credential_request_type.model +++ b/model/clusters_mgmt/v2alpha1/sts_credential_request_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/sts_credential_requests_inquiry_resource.model b/model/clusters_mgmt/v2alpha1/sts_credential_requests_inquiry_resource.model index 153e83bf..739ccde8 100644 --- a/model/clusters_mgmt/v2alpha1/sts_credential_requests_inquiry_resource.model +++ b/model/clusters_mgmt/v2alpha1/sts_credential_requests_inquiry_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/sts_operator_type.model b/model/clusters_mgmt/v2alpha1/sts_operator_type.model index dcd0fe99..22751889 100644 --- a/model/clusters_mgmt/v2alpha1/sts_operator_type.model +++ b/model/clusters_mgmt/v2alpha1/sts_operator_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2022 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/sts_support_jump_role_resource.model b/model/clusters_mgmt/v2alpha1/sts_support_jump_role_resource.model index 4fef7cc8..08defcaa 100644 --- a/model/clusters_mgmt/v2alpha1/sts_support_jump_role_resource.model +++ b/model/clusters_mgmt/v2alpha1/sts_support_jump_role_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/sts_support_jump_role_type.model b/model/clusters_mgmt/v2alpha1/sts_support_jump_role_type.model index 3aa8ea05..d3a926f5 100644 --- a/model/clusters_mgmt/v2alpha1/sts_support_jump_role_type.model +++ b/model/clusters_mgmt/v2alpha1/sts_support_jump_role_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/subnet_network_verification_type.model b/model/clusters_mgmt/v2alpha1/subnet_network_verification_type.model index 0db677a0..a342d424 100644 --- a/model/clusters_mgmt/v2alpha1/subnet_network_verification_type.model +++ b/model/clusters_mgmt/v2alpha1/subnet_network_verification_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/trusted_ip_resource.model b/model/clusters_mgmt/v2alpha1/trusted_ip_resource.model index 0eb8c227..17ab36db 100644 --- a/model/clusters_mgmt/v2alpha1/trusted_ip_resource.model +++ b/model/clusters_mgmt/v2alpha1/trusted_ip_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/trusted_ips_resource.model b/model/clusters_mgmt/v2alpha1/trusted_ips_resource.model index 24571457..d2035a8d 100644 --- a/model/clusters_mgmt/v2alpha1/trusted_ips_resource.model +++ b/model/clusters_mgmt/v2alpha1/trusted_ips_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/trusted_ips_type.model b/model/clusters_mgmt/v2alpha1/trusted_ips_type.model index 6e8f1405..7e3e97a8 100644 --- a/model/clusters_mgmt/v2alpha1/trusted_ips_type.model +++ b/model/clusters_mgmt/v2alpha1/trusted_ips_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/tuning_config_resource.model b/model/clusters_mgmt/v2alpha1/tuning_config_resource.model index fc2fc75f..bf6ee56a 100644 --- a/model/clusters_mgmt/v2alpha1/tuning_config_resource.model +++ b/model/clusters_mgmt/v2alpha1/tuning_config_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/tuning_config_type.model b/model/clusters_mgmt/v2alpha1/tuning_config_type.model index 47bcb5d6..0ba63fe5 100644 --- a/model/clusters_mgmt/v2alpha1/tuning_config_type.model +++ b/model/clusters_mgmt/v2alpha1/tuning_config_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/tuning_configs_resource.model b/model/clusters_mgmt/v2alpha1/tuning_configs_resource.model index 6a0d525b..98013cdc 100644 --- a/model/clusters_mgmt/v2alpha1/tuning_configs_resource.model +++ b/model/clusters_mgmt/v2alpha1/tuning_configs_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_schedule_type.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_schedule_type.model index 90966b73..8537bd88 100644 --- a/model/clusters_mgmt/v2alpha1/upgrade_policy_schedule_type.model +++ b/model/clusters_mgmt/v2alpha1/upgrade_policy_schedule_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_upgrade_type.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_upgrade_type.model index e0f878d4..5e41742c 100644 --- a/model/clusters_mgmt/v2alpha1/upgrade_policy_upgrade_type.model +++ b/model/clusters_mgmt/v2alpha1/upgrade_policy_upgrade_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/wildcard_policy_type.model b/model/clusters_mgmt/v2alpha1/wildcard_policy_type.model index 550ea572..c4b53695 100644 --- a/model/clusters_mgmt/v2alpha1/wildcard_policy_type.model +++ b/model/clusters_mgmt/v2alpha1/wildcard_policy_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2023 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. From bd487e21a7656f849183893c28890ece3aa3de7a Mon Sep 17 00:00:00 2001 From: Elad Tabak Date: Sun, 28 Jul 2024 14:26:37 +0300 Subject: [PATCH 4/4] Change the year of the copyright --- model/clusters_mgmt/v2alpha1/add_on_install_mode_type.model | 2 +- .../v2alpha1/add_on_installation_parameter_type.model | 2 +- model/clusters_mgmt/v2alpha1/add_on_installation_resource.model | 2 +- .../clusters_mgmt/v2alpha1/add_on_installation_state_type.model | 2 +- model/clusters_mgmt/v2alpha1/add_on_installation_type.model | 2 +- .../clusters_mgmt/v2alpha1/add_on_installations_resource.model | 2 +- model/clusters_mgmt/v2alpha1/add_on_namespace_type.model | 2 +- model/clusters_mgmt/v2alpha1/add_on_parameter_type.model | 2 +- model/clusters_mgmt/v2alpha1/add_on_resource.model | 2 +- model/clusters_mgmt/v2alpha1/add_on_type.model | 2 +- model/clusters_mgmt/v2alpha1/add_ons_resource.model | 2 +- model/clusters_mgmt/v2alpha1/admin_credentials_type.model | 2 +- model/clusters_mgmt/v2alpha1/alert_info_type.model | 2 +- model/clusters_mgmt/v2alpha1/alert_severity_type.model | 2 +- model/clusters_mgmt/v2alpha1/alerts_info_type.model | 2 +- model/clusters_mgmt/v2alpha1/alerts_metric_query_resource.model | 2 +- model/clusters_mgmt/v2alpha1/aws_flavour_type.model | 2 +- .../aws_infrastructure_access_role_grant_resource.model | 2 +- .../aws_infrastructure_access_role_grant_state_type.model | 2 +- .../v2alpha1/aws_infrastructure_access_role_grant_type.model | 2 +- .../aws_infrastructure_access_role_grants_resource.model | 2 +- .../v2alpha1/aws_infrastructure_access_role_resource.model | 2 +- .../v2alpha1/aws_infrastructure_access_role_state_type.model | 2 +- .../v2alpha1/aws_infrastructure_access_role_type.model | 2 +- .../v2alpha1/aws_infrastructure_access_roles_resource.model | 2 +- model/clusters_mgmt/v2alpha1/aws_type.model | 2 +- model/clusters_mgmt/v2alpha1/aws_volume_type.model | 2 +- model/clusters_mgmt/v2alpha1/ccs_type.model | 2 +- .../v2alpha1/cloud_available_regions_resource.model | 2 +- model/clusters_mgmt/v2alpha1/cloud_provider_resource.model | 2 +- model/clusters_mgmt/v2alpha1/cloud_provider_type.model | 2 +- model/clusters_mgmt/v2alpha1/cloud_providers_resource.model | 2 +- model/clusters_mgmt/v2alpha1/cloud_region_resource.model | 2 +- model/clusters_mgmt/v2alpha1/cloud_region_type.model | 2 +- model/clusters_mgmt/v2alpha1/cloud_regions_resource.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_api_type.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_console_type.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_credentials_type.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_health_state_type.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_nodes_type.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_operator_info_type.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_operators_info_type.model | 2 +- .../v2alpha1/cluster_operators_metric_query_resource.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_operators_state_type.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_registration_type.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_resource.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_state_type.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_status_resource.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_status_type.model | 2 +- model/clusters_mgmt/v2alpha1/cluster_type.model | 2 +- model/clusters_mgmt/v2alpha1/clusters_resource.model | 2 +- .../cpu_total_by_node_roles_os_metric_query_resource.model | 2 +- .../v2alpha1/cpu_total_node_role_os_metric_node_type.model | 2 +- .../v2alpha1/cpu_totals_node_role_os_metric_node_type.model | 2 +- model/clusters_mgmt/v2alpha1/credentials_resource.model | 2 +- model/clusters_mgmt/v2alpha1/dns_type.model | 2 +- model/clusters_mgmt/v2alpha1/errors.model | 2 +- .../v2alpha1/external_configuration_resource.model | 2 +- model/clusters_mgmt/v2alpha1/external_configuration_type.model | 2 +- model/clusters_mgmt/v2alpha1/flavour_nodes_type.model | 2 +- model/clusters_mgmt/v2alpha1/flavour_resource.model | 2 +- model/clusters_mgmt/v2alpha1/flavour_type.model | 2 +- model/clusters_mgmt/v2alpha1/flavours_resource.model | 2 +- model/clusters_mgmt/v2alpha1/gcp_flavour_type.model | 2 +- model/clusters_mgmt/v2alpha1/gcp_type.model | 2 +- model/clusters_mgmt/v2alpha1/group_resource.model | 2 +- model/clusters_mgmt/v2alpha1/group_type.model | 2 +- model/clusters_mgmt/v2alpha1/groups_resource.model | 2 +- model/clusters_mgmt/v2alpha1/htpasswd_users_resource.model | 2 +- model/clusters_mgmt/v2alpha1/identity_provider_type.model | 2 +- model/clusters_mgmt/v2alpha1/identity_providers_resource.model | 2 +- model/clusters_mgmt/v2alpha1/ingress_resource.model | 2 +- model/clusters_mgmt/v2alpha1/ingress_type.model | 2 +- model/clusters_mgmt/v2alpha1/ingresses_resource.model | 2 +- model/clusters_mgmt/v2alpha1/label_resource.model | 2 +- model/clusters_mgmt/v2alpha1/label_type.model | 2 +- model/clusters_mgmt/v2alpha1/labels_resource.model | 2 +- model/clusters_mgmt/v2alpha1/listening_method_type.model | 2 +- model/clusters_mgmt/v2alpha1/log_resource.model | 2 +- model/clusters_mgmt/v2alpha1/log_type.model | 2 +- model/clusters_mgmt/v2alpha1/logs_resource.model | 2 +- .../clusters_mgmt/v2alpha1/machine_pool_autoscaling_type.model | 2 +- model/clusters_mgmt/v2alpha1/machine_pool_resource.model | 2 +- model/clusters_mgmt/v2alpha1/machine_pool_type.model | 2 +- model/clusters_mgmt/v2alpha1/machine_pools_resource.model | 2 +- model/clusters_mgmt/v2alpha1/machine_type_category_type.model | 2 +- model/clusters_mgmt/v2alpha1/machine_type_resource.model | 2 +- model/clusters_mgmt/v2alpha1/machine_type_size_type.model | 2 +- model/clusters_mgmt/v2alpha1/machine_type_type.model | 2 +- model/clusters_mgmt/v2alpha1/machine_types_resource.model | 2 +- model/clusters_mgmt/v2alpha1/manifest_resource.model | 2 +- model/clusters_mgmt/v2alpha1/manifest_type.model | 2 +- model/clusters_mgmt/v2alpha1/manifests_resource.model | 2 +- model/clusters_mgmt/v2alpha1/metric_queries_resource.model | 2 +- model/clusters_mgmt/v2alpha1/network_type.model | 2 +- model/clusters_mgmt/v2alpha1/node_info_type.model | 2 +- model/clusters_mgmt/v2alpha1/node_type.model | 2 +- model/clusters_mgmt/v2alpha1/nodes_info_type.model | 2 +- model/clusters_mgmt/v2alpha1/nodes_metric_query_resource.model | 2 +- model/clusters_mgmt/v2alpha1/product_resource.model | 2 +- model/clusters_mgmt/v2alpha1/product_type.model | 2 +- model/clusters_mgmt/v2alpha1/products_resource.model | 2 +- model/clusters_mgmt/v2alpha1/provision_shard_resource.model | 2 +- model/clusters_mgmt/v2alpha1/provision_shard_type.model | 2 +- model/clusters_mgmt/v2alpha1/provision_shards_resource.model | 2 +- model/clusters_mgmt/v2alpha1/root_resource.model | 2 +- model/clusters_mgmt/v2alpha1/server_config_type.model | 2 +- .../socket_total_by_node_roles_os_metric_query_resource.model | 2 +- .../v2alpha1/socket_total_node_role_os_metric_node_type.model | 2 +- .../v2alpha1/socket_totals_node_role_os_metric_node_type.model | 2 +- model/clusters_mgmt/v2alpha1/subscription_type.model | 2 +- model/clusters_mgmt/v2alpha1/syncset_resource.model | 2 +- model/clusters_mgmt/v2alpha1/syncset_type.model | 2 +- model/clusters_mgmt/v2alpha1/syncsets_resource.model | 2 +- model/clusters_mgmt/v2alpha1/taint_type.model | 2 +- model/clusters_mgmt/v2alpha1/upgrade_policies_resource.model | 2 +- model/clusters_mgmt/v2alpha1/upgrade_policy_resource.model | 2 +- .../clusters_mgmt/v2alpha1/upgrade_policy_state_resource.model | 2 +- model/clusters_mgmt/v2alpha1/upgrade_policy_state_type.model | 2 +- model/clusters_mgmt/v2alpha1/upgrade_policy_type.model | 2 +- model/clusters_mgmt/v2alpha1/user_resource.model | 2 +- model/clusters_mgmt/v2alpha1/user_type.model | 2 +- model/clusters_mgmt/v2alpha1/users_resource.model | 2 +- model/clusters_mgmt/v2alpha1/value_type.model | 2 +- model/clusters_mgmt/v2alpha1/version_resource.model | 2 +- model/clusters_mgmt/v2alpha1/version_type.model | 2 +- model/clusters_mgmt/v2alpha1/versions_resource.model | 2 +- 127 files changed, 127 insertions(+), 127 deletions(-) diff --git a/model/clusters_mgmt/v2alpha1/add_on_install_mode_type.model b/model/clusters_mgmt/v2alpha1/add_on_install_mode_type.model index 05bb66b0..b87b16a9 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_install_mode_type.model +++ b/model/clusters_mgmt/v2alpha1/add_on_install_mode_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_installation_parameter_type.model b/model/clusters_mgmt/v2alpha1/add_on_installation_parameter_type.model index a812581b..b8ed0bf2 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_installation_parameter_type.model +++ b/model/clusters_mgmt/v2alpha1/add_on_installation_parameter_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_installation_resource.model b/model/clusters_mgmt/v2alpha1/add_on_installation_resource.model index c9c79563..c99a468e 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_installation_resource.model +++ b/model/clusters_mgmt/v2alpha1/add_on_installation_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_installation_state_type.model b/model/clusters_mgmt/v2alpha1/add_on_installation_state_type.model index 1c2f2e4c..d428cd39 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_installation_state_type.model +++ b/model/clusters_mgmt/v2alpha1/add_on_installation_state_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_installation_type.model b/model/clusters_mgmt/v2alpha1/add_on_installation_type.model index 09e82ba4..9c4036b5 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_installation_type.model +++ b/model/clusters_mgmt/v2alpha1/add_on_installation_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_installations_resource.model b/model/clusters_mgmt/v2alpha1/add_on_installations_resource.model index dab05826..2d159776 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_installations_resource.model +++ b/model/clusters_mgmt/v2alpha1/add_on_installations_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_namespace_type.model b/model/clusters_mgmt/v2alpha1/add_on_namespace_type.model index dd2b9809..2276478a 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_namespace_type.model +++ b/model/clusters_mgmt/v2alpha1/add_on_namespace_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_parameter_type.model b/model/clusters_mgmt/v2alpha1/add_on_parameter_type.model index 985bc659..6ef38eb5 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_parameter_type.model +++ b/model/clusters_mgmt/v2alpha1/add_on_parameter_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_resource.model b/model/clusters_mgmt/v2alpha1/add_on_resource.model index aeb88a70..15f921a1 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_resource.model +++ b/model/clusters_mgmt/v2alpha1/add_on_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_on_type.model b/model/clusters_mgmt/v2alpha1/add_on_type.model index 2ab004d0..829900f8 100644 --- a/model/clusters_mgmt/v2alpha1/add_on_type.model +++ b/model/clusters_mgmt/v2alpha1/add_on_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/add_ons_resource.model b/model/clusters_mgmt/v2alpha1/add_ons_resource.model index 42f3f950..b85d192f 100644 --- a/model/clusters_mgmt/v2alpha1/add_ons_resource.model +++ b/model/clusters_mgmt/v2alpha1/add_ons_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/admin_credentials_type.model b/model/clusters_mgmt/v2alpha1/admin_credentials_type.model index 13d67ef2..20a7fdff 100644 --- a/model/clusters_mgmt/v2alpha1/admin_credentials_type.model +++ b/model/clusters_mgmt/v2alpha1/admin_credentials_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/alert_info_type.model b/model/clusters_mgmt/v2alpha1/alert_info_type.model index 6253ae05..a36d700a 100644 --- a/model/clusters_mgmt/v2alpha1/alert_info_type.model +++ b/model/clusters_mgmt/v2alpha1/alert_info_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/alert_severity_type.model b/model/clusters_mgmt/v2alpha1/alert_severity_type.model index 4741c869..8fe446af 100644 --- a/model/clusters_mgmt/v2alpha1/alert_severity_type.model +++ b/model/clusters_mgmt/v2alpha1/alert_severity_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/alerts_info_type.model b/model/clusters_mgmt/v2alpha1/alerts_info_type.model index 8e663600..92d30f6d 100644 --- a/model/clusters_mgmt/v2alpha1/alerts_info_type.model +++ b/model/clusters_mgmt/v2alpha1/alerts_info_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/alerts_metric_query_resource.model b/model/clusters_mgmt/v2alpha1/alerts_metric_query_resource.model index 116239bf..1bb0879a 100644 --- a/model/clusters_mgmt/v2alpha1/alerts_metric_query_resource.model +++ b/model/clusters_mgmt/v2alpha1/alerts_metric_query_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_flavour_type.model b/model/clusters_mgmt/v2alpha1/aws_flavour_type.model index 6cc8eb41..52c099c4 100644 --- a/model/clusters_mgmt/v2alpha1/aws_flavour_type.model +++ b/model/clusters_mgmt/v2alpha1/aws_flavour_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_resource.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_resource.model index c691dc5d..e56ad1f7 100644 --- a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_resource.model +++ b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_state_type.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_state_type.model index c72dc527..f642b17f 100644 --- a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_state_type.model +++ b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_state_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_type.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_type.model index 851888cc..4b3ad10b 100644 --- a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_type.model +++ b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grant_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grants_resource.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grants_resource.model index 4baeaf16..72aca424 100644 --- a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grants_resource.model +++ b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_grants_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_resource.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_resource.model index 1ba682bf..738ded83 100644 --- a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_resource.model +++ b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_state_type.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_state_type.model index c17f5056..e36342db 100644 --- a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_state_type.model +++ b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_state_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_type.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_type.model index 019835ba..e1e12ae2 100644 --- a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_type.model +++ b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_role_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_roles_resource.model b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_roles_resource.model index ed4d313e..eb16a1a1 100644 --- a/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_roles_resource.model +++ b/model/clusters_mgmt/v2alpha1/aws_infrastructure_access_roles_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_type.model b/model/clusters_mgmt/v2alpha1/aws_type.model index 7e3f694d..6b80ca13 100644 --- a/model/clusters_mgmt/v2alpha1/aws_type.model +++ b/model/clusters_mgmt/v2alpha1/aws_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/aws_volume_type.model b/model/clusters_mgmt/v2alpha1/aws_volume_type.model index a7eaa5fa..afe8063d 100644 --- a/model/clusters_mgmt/v2alpha1/aws_volume_type.model +++ b/model/clusters_mgmt/v2alpha1/aws_volume_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/ccs_type.model b/model/clusters_mgmt/v2alpha1/ccs_type.model index b02da033..7da8a7f9 100644 --- a/model/clusters_mgmt/v2alpha1/ccs_type.model +++ b/model/clusters_mgmt/v2alpha1/ccs_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cloud_available_regions_resource.model b/model/clusters_mgmt/v2alpha1/cloud_available_regions_resource.model index d8d2c0ac..673d2d71 100644 --- a/model/clusters_mgmt/v2alpha1/cloud_available_regions_resource.model +++ b/model/clusters_mgmt/v2alpha1/cloud_available_regions_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cloud_provider_resource.model b/model/clusters_mgmt/v2alpha1/cloud_provider_resource.model index d2c8c2e4..515ab107 100644 --- a/model/clusters_mgmt/v2alpha1/cloud_provider_resource.model +++ b/model/clusters_mgmt/v2alpha1/cloud_provider_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cloud_provider_type.model b/model/clusters_mgmt/v2alpha1/cloud_provider_type.model index 1b6391a6..e6c91058 100644 --- a/model/clusters_mgmt/v2alpha1/cloud_provider_type.model +++ b/model/clusters_mgmt/v2alpha1/cloud_provider_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cloud_providers_resource.model b/model/clusters_mgmt/v2alpha1/cloud_providers_resource.model index cb59bc22..d6622cdd 100644 --- a/model/clusters_mgmt/v2alpha1/cloud_providers_resource.model +++ b/model/clusters_mgmt/v2alpha1/cloud_providers_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cloud_region_resource.model b/model/clusters_mgmt/v2alpha1/cloud_region_resource.model index 675d8a45..682d98f2 100644 --- a/model/clusters_mgmt/v2alpha1/cloud_region_resource.model +++ b/model/clusters_mgmt/v2alpha1/cloud_region_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cloud_region_type.model b/model/clusters_mgmt/v2alpha1/cloud_region_type.model index 452f26f8..aee1ab67 100644 --- a/model/clusters_mgmt/v2alpha1/cloud_region_type.model +++ b/model/clusters_mgmt/v2alpha1/cloud_region_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cloud_regions_resource.model b/model/clusters_mgmt/v2alpha1/cloud_regions_resource.model index 1c0972f4..909fcedb 100644 --- a/model/clusters_mgmt/v2alpha1/cloud_regions_resource.model +++ b/model/clusters_mgmt/v2alpha1/cloud_regions_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_api_type.model b/model/clusters_mgmt/v2alpha1/cluster_api_type.model index 47a50db6..f68acfe4 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_api_type.model +++ b/model/clusters_mgmt/v2alpha1/cluster_api_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_console_type.model b/model/clusters_mgmt/v2alpha1/cluster_console_type.model index c064dee5..21045e20 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_console_type.model +++ b/model/clusters_mgmt/v2alpha1/cluster_console_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_credentials_type.model b/model/clusters_mgmt/v2alpha1/cluster_credentials_type.model index c96f3dd2..a6d29230 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_credentials_type.model +++ b/model/clusters_mgmt/v2alpha1/cluster_credentials_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_health_state_type.model b/model/clusters_mgmt/v2alpha1/cluster_health_state_type.model index 5b5dad24..99439115 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_health_state_type.model +++ b/model/clusters_mgmt/v2alpha1/cluster_health_state_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_nodes_type.model b/model/clusters_mgmt/v2alpha1/cluster_nodes_type.model index a8d69fcf..1e955e03 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_nodes_type.model +++ b/model/clusters_mgmt/v2alpha1/cluster_nodes_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_operator_info_type.model b/model/clusters_mgmt/v2alpha1/cluster_operator_info_type.model index f46a9356..0363f49a 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_operator_info_type.model +++ b/model/clusters_mgmt/v2alpha1/cluster_operator_info_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_operators_info_type.model b/model/clusters_mgmt/v2alpha1/cluster_operators_info_type.model index ff7656e0..7cdb9c01 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_operators_info_type.model +++ b/model/clusters_mgmt/v2alpha1/cluster_operators_info_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_operators_metric_query_resource.model b/model/clusters_mgmt/v2alpha1/cluster_operators_metric_query_resource.model index 39c86fb0..b49e1ba7 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_operators_metric_query_resource.model +++ b/model/clusters_mgmt/v2alpha1/cluster_operators_metric_query_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_operators_state_type.model b/model/clusters_mgmt/v2alpha1/cluster_operators_state_type.model index fb219f23..df7f2bb2 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_operators_state_type.model +++ b/model/clusters_mgmt/v2alpha1/cluster_operators_state_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_registration_type.model b/model/clusters_mgmt/v2alpha1/cluster_registration_type.model index 08d5d9f2..f0cf2140 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_registration_type.model +++ b/model/clusters_mgmt/v2alpha1/cluster_registration_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_resource.model b/model/clusters_mgmt/v2alpha1/cluster_resource.model index eb8e6f18..e304264c 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_resource.model +++ b/model/clusters_mgmt/v2alpha1/cluster_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_state_type.model b/model/clusters_mgmt/v2alpha1/cluster_state_type.model index 9a7b3f2c..314b9135 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_state_type.model +++ b/model/clusters_mgmt/v2alpha1/cluster_state_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_status_resource.model b/model/clusters_mgmt/v2alpha1/cluster_status_resource.model index 7c06d6e7..e9e3c7c5 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_status_resource.model +++ b/model/clusters_mgmt/v2alpha1/cluster_status_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_status_type.model b/model/clusters_mgmt/v2alpha1/cluster_status_type.model index 6b3e50da..67f93f8e 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_status_type.model +++ b/model/clusters_mgmt/v2alpha1/cluster_status_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cluster_type.model b/model/clusters_mgmt/v2alpha1/cluster_type.model index 0e4fcb96..507c33bb 100644 --- a/model/clusters_mgmt/v2alpha1/cluster_type.model +++ b/model/clusters_mgmt/v2alpha1/cluster_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/clusters_resource.model b/model/clusters_mgmt/v2alpha1/clusters_resource.model index e0e9d6d9..82a30de5 100644 --- a/model/clusters_mgmt/v2alpha1/clusters_resource.model +++ b/model/clusters_mgmt/v2alpha1/clusters_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cpu_total_by_node_roles_os_metric_query_resource.model b/model/clusters_mgmt/v2alpha1/cpu_total_by_node_roles_os_metric_query_resource.model index 6477c790..b6bd73f4 100644 --- a/model/clusters_mgmt/v2alpha1/cpu_total_by_node_roles_os_metric_query_resource.model +++ b/model/clusters_mgmt/v2alpha1/cpu_total_by_node_roles_os_metric_query_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cpu_total_node_role_os_metric_node_type.model b/model/clusters_mgmt/v2alpha1/cpu_total_node_role_os_metric_node_type.model index be48b2a5..2a04ca04 100644 --- a/model/clusters_mgmt/v2alpha1/cpu_total_node_role_os_metric_node_type.model +++ b/model/clusters_mgmt/v2alpha1/cpu_total_node_role_os_metric_node_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/cpu_totals_node_role_os_metric_node_type.model b/model/clusters_mgmt/v2alpha1/cpu_totals_node_role_os_metric_node_type.model index f44809b3..9aab9e56 100644 --- a/model/clusters_mgmt/v2alpha1/cpu_totals_node_role_os_metric_node_type.model +++ b/model/clusters_mgmt/v2alpha1/cpu_totals_node_role_os_metric_node_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/credentials_resource.model b/model/clusters_mgmt/v2alpha1/credentials_resource.model index 54e2861c..563912f6 100644 --- a/model/clusters_mgmt/v2alpha1/credentials_resource.model +++ b/model/clusters_mgmt/v2alpha1/credentials_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/dns_type.model b/model/clusters_mgmt/v2alpha1/dns_type.model index 82ab9fd5..991b1b2a 100644 --- a/model/clusters_mgmt/v2alpha1/dns_type.model +++ b/model/clusters_mgmt/v2alpha1/dns_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/errors.model b/model/clusters_mgmt/v2alpha1/errors.model index 8230d725..c8f1fd89 100644 --- a/model/clusters_mgmt/v2alpha1/errors.model +++ b/model/clusters_mgmt/v2alpha1/errors.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/external_configuration_resource.model b/model/clusters_mgmt/v2alpha1/external_configuration_resource.model index 9dbb526b..79c3d2af 100644 --- a/model/clusters_mgmt/v2alpha1/external_configuration_resource.model +++ b/model/clusters_mgmt/v2alpha1/external_configuration_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/external_configuration_type.model b/model/clusters_mgmt/v2alpha1/external_configuration_type.model index 99a1a573..78f31d95 100644 --- a/model/clusters_mgmt/v2alpha1/external_configuration_type.model +++ b/model/clusters_mgmt/v2alpha1/external_configuration_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/flavour_nodes_type.model b/model/clusters_mgmt/v2alpha1/flavour_nodes_type.model index bf5ac650..4edfdbd4 100644 --- a/model/clusters_mgmt/v2alpha1/flavour_nodes_type.model +++ b/model/clusters_mgmt/v2alpha1/flavour_nodes_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/flavour_resource.model b/model/clusters_mgmt/v2alpha1/flavour_resource.model index 7e55eb3b..e02a48e0 100644 --- a/model/clusters_mgmt/v2alpha1/flavour_resource.model +++ b/model/clusters_mgmt/v2alpha1/flavour_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/flavour_type.model b/model/clusters_mgmt/v2alpha1/flavour_type.model index b2115791..e1d8d246 100644 --- a/model/clusters_mgmt/v2alpha1/flavour_type.model +++ b/model/clusters_mgmt/v2alpha1/flavour_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/flavours_resource.model b/model/clusters_mgmt/v2alpha1/flavours_resource.model index 7e4d99aa..b0675cc6 100644 --- a/model/clusters_mgmt/v2alpha1/flavours_resource.model +++ b/model/clusters_mgmt/v2alpha1/flavours_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/gcp_flavour_type.model b/model/clusters_mgmt/v2alpha1/gcp_flavour_type.model index 6d1f503a..96bb9cff 100644 --- a/model/clusters_mgmt/v2alpha1/gcp_flavour_type.model +++ b/model/clusters_mgmt/v2alpha1/gcp_flavour_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/gcp_type.model b/model/clusters_mgmt/v2alpha1/gcp_type.model index 3616d889..f7aede94 100644 --- a/model/clusters_mgmt/v2alpha1/gcp_type.model +++ b/model/clusters_mgmt/v2alpha1/gcp_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/group_resource.model b/model/clusters_mgmt/v2alpha1/group_resource.model index e551e14a..88b3d623 100644 --- a/model/clusters_mgmt/v2alpha1/group_resource.model +++ b/model/clusters_mgmt/v2alpha1/group_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/group_type.model b/model/clusters_mgmt/v2alpha1/group_type.model index 03da0b7f..e201e1fc 100644 --- a/model/clusters_mgmt/v2alpha1/group_type.model +++ b/model/clusters_mgmt/v2alpha1/group_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/groups_resource.model b/model/clusters_mgmt/v2alpha1/groups_resource.model index 4d69125f..1b198754 100644 --- a/model/clusters_mgmt/v2alpha1/groups_resource.model +++ b/model/clusters_mgmt/v2alpha1/groups_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/htpasswd_users_resource.model b/model/clusters_mgmt/v2alpha1/htpasswd_users_resource.model index 5e2a340f..dc28e48c 100644 --- a/model/clusters_mgmt/v2alpha1/htpasswd_users_resource.model +++ b/model/clusters_mgmt/v2alpha1/htpasswd_users_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/identity_provider_type.model b/model/clusters_mgmt/v2alpha1/identity_provider_type.model index 2422819c..9e190ad7 100644 --- a/model/clusters_mgmt/v2alpha1/identity_provider_type.model +++ b/model/clusters_mgmt/v2alpha1/identity_provider_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/identity_providers_resource.model b/model/clusters_mgmt/v2alpha1/identity_providers_resource.model index 4c5b458d..20132aaf 100644 --- a/model/clusters_mgmt/v2alpha1/identity_providers_resource.model +++ b/model/clusters_mgmt/v2alpha1/identity_providers_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/ingress_resource.model b/model/clusters_mgmt/v2alpha1/ingress_resource.model index 9ce71fb4..eabdcd59 100644 --- a/model/clusters_mgmt/v2alpha1/ingress_resource.model +++ b/model/clusters_mgmt/v2alpha1/ingress_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/ingress_type.model b/model/clusters_mgmt/v2alpha1/ingress_type.model index 98480e44..41559bcb 100644 --- a/model/clusters_mgmt/v2alpha1/ingress_type.model +++ b/model/clusters_mgmt/v2alpha1/ingress_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/ingresses_resource.model b/model/clusters_mgmt/v2alpha1/ingresses_resource.model index f6e6be8d..9f7bd0ba 100644 --- a/model/clusters_mgmt/v2alpha1/ingresses_resource.model +++ b/model/clusters_mgmt/v2alpha1/ingresses_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/label_resource.model b/model/clusters_mgmt/v2alpha1/label_resource.model index 55eb36b2..d0f2c6f8 100644 --- a/model/clusters_mgmt/v2alpha1/label_resource.model +++ b/model/clusters_mgmt/v2alpha1/label_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/label_type.model b/model/clusters_mgmt/v2alpha1/label_type.model index 3e0d7a58..5eebde31 100644 --- a/model/clusters_mgmt/v2alpha1/label_type.model +++ b/model/clusters_mgmt/v2alpha1/label_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/labels_resource.model b/model/clusters_mgmt/v2alpha1/labels_resource.model index 7d0287b0..df3b89fd 100644 --- a/model/clusters_mgmt/v2alpha1/labels_resource.model +++ b/model/clusters_mgmt/v2alpha1/labels_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/listening_method_type.model b/model/clusters_mgmt/v2alpha1/listening_method_type.model index b0a5c573..44b21b22 100644 --- a/model/clusters_mgmt/v2alpha1/listening_method_type.model +++ b/model/clusters_mgmt/v2alpha1/listening_method_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/log_resource.model b/model/clusters_mgmt/v2alpha1/log_resource.model index ffe6d85f..2b8f2c11 100644 --- a/model/clusters_mgmt/v2alpha1/log_resource.model +++ b/model/clusters_mgmt/v2alpha1/log_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/log_type.model b/model/clusters_mgmt/v2alpha1/log_type.model index 021e41b8..5cfc17d3 100644 --- a/model/clusters_mgmt/v2alpha1/log_type.model +++ b/model/clusters_mgmt/v2alpha1/log_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/logs_resource.model b/model/clusters_mgmt/v2alpha1/logs_resource.model index be74d616..4241cbdd 100644 --- a/model/clusters_mgmt/v2alpha1/logs_resource.model +++ b/model/clusters_mgmt/v2alpha1/logs_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/machine_pool_autoscaling_type.model b/model/clusters_mgmt/v2alpha1/machine_pool_autoscaling_type.model index 3dab2898..397f490f 100644 --- a/model/clusters_mgmt/v2alpha1/machine_pool_autoscaling_type.model +++ b/model/clusters_mgmt/v2alpha1/machine_pool_autoscaling_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/machine_pool_resource.model b/model/clusters_mgmt/v2alpha1/machine_pool_resource.model index 36d17199..2ccdf420 100644 --- a/model/clusters_mgmt/v2alpha1/machine_pool_resource.model +++ b/model/clusters_mgmt/v2alpha1/machine_pool_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/machine_pool_type.model b/model/clusters_mgmt/v2alpha1/machine_pool_type.model index aa5a6b45..26fadff4 100644 --- a/model/clusters_mgmt/v2alpha1/machine_pool_type.model +++ b/model/clusters_mgmt/v2alpha1/machine_pool_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/machine_pools_resource.model b/model/clusters_mgmt/v2alpha1/machine_pools_resource.model index 6e00fea4..c09a271b 100644 --- a/model/clusters_mgmt/v2alpha1/machine_pools_resource.model +++ b/model/clusters_mgmt/v2alpha1/machine_pools_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/machine_type_category_type.model b/model/clusters_mgmt/v2alpha1/machine_type_category_type.model index 66f8b4c5..99f20278 100644 --- a/model/clusters_mgmt/v2alpha1/machine_type_category_type.model +++ b/model/clusters_mgmt/v2alpha1/machine_type_category_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/machine_type_resource.model b/model/clusters_mgmt/v2alpha1/machine_type_resource.model index e562a06f..238916dc 100644 --- a/model/clusters_mgmt/v2alpha1/machine_type_resource.model +++ b/model/clusters_mgmt/v2alpha1/machine_type_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/machine_type_size_type.model b/model/clusters_mgmt/v2alpha1/machine_type_size_type.model index db5b9b79..6bfb7e92 100644 --- a/model/clusters_mgmt/v2alpha1/machine_type_size_type.model +++ b/model/clusters_mgmt/v2alpha1/machine_type_size_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/machine_type_type.model b/model/clusters_mgmt/v2alpha1/machine_type_type.model index ab0f4591..2d230fff 100644 --- a/model/clusters_mgmt/v2alpha1/machine_type_type.model +++ b/model/clusters_mgmt/v2alpha1/machine_type_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/machine_types_resource.model b/model/clusters_mgmt/v2alpha1/machine_types_resource.model index 164b1fd2..965d84f9 100644 --- a/model/clusters_mgmt/v2alpha1/machine_types_resource.model +++ b/model/clusters_mgmt/v2alpha1/machine_types_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/manifest_resource.model b/model/clusters_mgmt/v2alpha1/manifest_resource.model index 4acc1870..22bde4c5 100644 --- a/model/clusters_mgmt/v2alpha1/manifest_resource.model +++ b/model/clusters_mgmt/v2alpha1/manifest_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/manifest_type.model b/model/clusters_mgmt/v2alpha1/manifest_type.model index 08448bd7..73ff046f 100644 --- a/model/clusters_mgmt/v2alpha1/manifest_type.model +++ b/model/clusters_mgmt/v2alpha1/manifest_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/manifests_resource.model b/model/clusters_mgmt/v2alpha1/manifests_resource.model index 11f16957..29c6d665 100644 --- a/model/clusters_mgmt/v2alpha1/manifests_resource.model +++ b/model/clusters_mgmt/v2alpha1/manifests_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/metric_queries_resource.model b/model/clusters_mgmt/v2alpha1/metric_queries_resource.model index db5d1798..c7431f05 100644 --- a/model/clusters_mgmt/v2alpha1/metric_queries_resource.model +++ b/model/clusters_mgmt/v2alpha1/metric_queries_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/network_type.model b/model/clusters_mgmt/v2alpha1/network_type.model index f0873692..81f22e07 100644 --- a/model/clusters_mgmt/v2alpha1/network_type.model +++ b/model/clusters_mgmt/v2alpha1/network_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/node_info_type.model b/model/clusters_mgmt/v2alpha1/node_info_type.model index 97d09412..fbfe154a 100644 --- a/model/clusters_mgmt/v2alpha1/node_info_type.model +++ b/model/clusters_mgmt/v2alpha1/node_info_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/node_type.model b/model/clusters_mgmt/v2alpha1/node_type.model index d8308df5..41dec79c 100644 --- a/model/clusters_mgmt/v2alpha1/node_type.model +++ b/model/clusters_mgmt/v2alpha1/node_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/nodes_info_type.model b/model/clusters_mgmt/v2alpha1/nodes_info_type.model index b8468c2e..bbb9a803 100644 --- a/model/clusters_mgmt/v2alpha1/nodes_info_type.model +++ b/model/clusters_mgmt/v2alpha1/nodes_info_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/nodes_metric_query_resource.model b/model/clusters_mgmt/v2alpha1/nodes_metric_query_resource.model index b3515492..9e5559b0 100644 --- a/model/clusters_mgmt/v2alpha1/nodes_metric_query_resource.model +++ b/model/clusters_mgmt/v2alpha1/nodes_metric_query_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/product_resource.model b/model/clusters_mgmt/v2alpha1/product_resource.model index 4a97db88..799e9444 100644 --- a/model/clusters_mgmt/v2alpha1/product_resource.model +++ b/model/clusters_mgmt/v2alpha1/product_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/product_type.model b/model/clusters_mgmt/v2alpha1/product_type.model index 81d9fae4..9eb111e2 100644 --- a/model/clusters_mgmt/v2alpha1/product_type.model +++ b/model/clusters_mgmt/v2alpha1/product_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/products_resource.model b/model/clusters_mgmt/v2alpha1/products_resource.model index 1523bb8e..6ffcb5b6 100644 --- a/model/clusters_mgmt/v2alpha1/products_resource.model +++ b/model/clusters_mgmt/v2alpha1/products_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/provision_shard_resource.model b/model/clusters_mgmt/v2alpha1/provision_shard_resource.model index 5f79b76d..273cba58 100644 --- a/model/clusters_mgmt/v2alpha1/provision_shard_resource.model +++ b/model/clusters_mgmt/v2alpha1/provision_shard_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/provision_shard_type.model b/model/clusters_mgmt/v2alpha1/provision_shard_type.model index 8ed54037..adee330f 100644 --- a/model/clusters_mgmt/v2alpha1/provision_shard_type.model +++ b/model/clusters_mgmt/v2alpha1/provision_shard_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/provision_shards_resource.model b/model/clusters_mgmt/v2alpha1/provision_shards_resource.model index 7c7d7eab..d8fe21ef 100644 --- a/model/clusters_mgmt/v2alpha1/provision_shards_resource.model +++ b/model/clusters_mgmt/v2alpha1/provision_shards_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/root_resource.model b/model/clusters_mgmt/v2alpha1/root_resource.model index ab3761d3..c358e41c 100644 --- a/model/clusters_mgmt/v2alpha1/root_resource.model +++ b/model/clusters_mgmt/v2alpha1/root_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/server_config_type.model b/model/clusters_mgmt/v2alpha1/server_config_type.model index f18800f4..3264360b 100644 --- a/model/clusters_mgmt/v2alpha1/server_config_type.model +++ b/model/clusters_mgmt/v2alpha1/server_config_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/socket_total_by_node_roles_os_metric_query_resource.model b/model/clusters_mgmt/v2alpha1/socket_total_by_node_roles_os_metric_query_resource.model index d3e74282..6872f6e2 100644 --- a/model/clusters_mgmt/v2alpha1/socket_total_by_node_roles_os_metric_query_resource.model +++ b/model/clusters_mgmt/v2alpha1/socket_total_by_node_roles_os_metric_query_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/socket_total_node_role_os_metric_node_type.model b/model/clusters_mgmt/v2alpha1/socket_total_node_role_os_metric_node_type.model index 7a6bd588..5a2d3d2b 100644 --- a/model/clusters_mgmt/v2alpha1/socket_total_node_role_os_metric_node_type.model +++ b/model/clusters_mgmt/v2alpha1/socket_total_node_role_os_metric_node_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/socket_totals_node_role_os_metric_node_type.model b/model/clusters_mgmt/v2alpha1/socket_totals_node_role_os_metric_node_type.model index 5adade00..655d81ab 100644 --- a/model/clusters_mgmt/v2alpha1/socket_totals_node_role_os_metric_node_type.model +++ b/model/clusters_mgmt/v2alpha1/socket_totals_node_role_os_metric_node_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/subscription_type.model b/model/clusters_mgmt/v2alpha1/subscription_type.model index ce081ced..db685902 100644 --- a/model/clusters_mgmt/v2alpha1/subscription_type.model +++ b/model/clusters_mgmt/v2alpha1/subscription_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/syncset_resource.model b/model/clusters_mgmt/v2alpha1/syncset_resource.model index 490d9536..7a98be7b 100644 --- a/model/clusters_mgmt/v2alpha1/syncset_resource.model +++ b/model/clusters_mgmt/v2alpha1/syncset_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/syncset_type.model b/model/clusters_mgmt/v2alpha1/syncset_type.model index c9f50fa0..f1472953 100644 --- a/model/clusters_mgmt/v2alpha1/syncset_type.model +++ b/model/clusters_mgmt/v2alpha1/syncset_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/syncsets_resource.model b/model/clusters_mgmt/v2alpha1/syncsets_resource.model index 0f8bc153..dcf9114e 100644 --- a/model/clusters_mgmt/v2alpha1/syncsets_resource.model +++ b/model/clusters_mgmt/v2alpha1/syncsets_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/taint_type.model b/model/clusters_mgmt/v2alpha1/taint_type.model index aec65ce9..9335e035 100644 --- a/model/clusters_mgmt/v2alpha1/taint_type.model +++ b/model/clusters_mgmt/v2alpha1/taint_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policies_resource.model b/model/clusters_mgmt/v2alpha1/upgrade_policies_resource.model index f9cb6ba0..52e64797 100644 --- a/model/clusters_mgmt/v2alpha1/upgrade_policies_resource.model +++ b/model/clusters_mgmt/v2alpha1/upgrade_policies_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_resource.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_resource.model index 33e7bd89..b34a5471 100644 --- a/model/clusters_mgmt/v2alpha1/upgrade_policy_resource.model +++ b/model/clusters_mgmt/v2alpha1/upgrade_policy_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_state_resource.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_state_resource.model index 1213b408..2687a0a6 100644 --- a/model/clusters_mgmt/v2alpha1/upgrade_policy_state_resource.model +++ b/model/clusters_mgmt/v2alpha1/upgrade_policy_state_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_state_type.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_state_type.model index f25affa2..a6d7adbf 100644 --- a/model/clusters_mgmt/v2alpha1/upgrade_policy_state_type.model +++ b/model/clusters_mgmt/v2alpha1/upgrade_policy_state_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/upgrade_policy_type.model b/model/clusters_mgmt/v2alpha1/upgrade_policy_type.model index 0a03cf89..77b8cb5a 100644 --- a/model/clusters_mgmt/v2alpha1/upgrade_policy_type.model +++ b/model/clusters_mgmt/v2alpha1/upgrade_policy_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2020 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/user_resource.model b/model/clusters_mgmt/v2alpha1/user_resource.model index 50d0352f..d2780642 100644 --- a/model/clusters_mgmt/v2alpha1/user_resource.model +++ b/model/clusters_mgmt/v2alpha1/user_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/user_type.model b/model/clusters_mgmt/v2alpha1/user_type.model index 5dac3f3d..5c5772c9 100644 --- a/model/clusters_mgmt/v2alpha1/user_type.model +++ b/model/clusters_mgmt/v2alpha1/user_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/users_resource.model b/model/clusters_mgmt/v2alpha1/users_resource.model index 0f7f076d..52b49cf9 100644 --- a/model/clusters_mgmt/v2alpha1/users_resource.model +++ b/model/clusters_mgmt/v2alpha1/users_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/value_type.model b/model/clusters_mgmt/v2alpha1/value_type.model index ce39de49..1b3cbad4 100644 --- a/model/clusters_mgmt/v2alpha1/value_type.model +++ b/model/clusters_mgmt/v2alpha1/value_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/version_resource.model b/model/clusters_mgmt/v2alpha1/version_resource.model index 01863c22..4f47b48b 100644 --- a/model/clusters_mgmt/v2alpha1/version_resource.model +++ b/model/clusters_mgmt/v2alpha1/version_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/version_type.model b/model/clusters_mgmt/v2alpha1/version_type.model index 4b83825d..77d30c60 100644 --- a/model/clusters_mgmt/v2alpha1/version_type.model +++ b/model/clusters_mgmt/v2alpha1/version_type.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/model/clusters_mgmt/v2alpha1/versions_resource.model b/model/clusters_mgmt/v2alpha1/versions_resource.model index ba8e9359..371be799 100644 --- a/model/clusters_mgmt/v2alpha1/versions_resource.model +++ b/model/clusters_mgmt/v2alpha1/versions_resource.model @@ -1,5 +1,5 @@ /* -Copyright (c) 2019 Red Hat, Inc. +Copyright (c) 2024 Red Hat, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.