From d684db77da46c28af3b8823d727eae3fb9d673e5 Mon Sep 17 00:00:00 2001 From: Guilherme Branco Date: Fri, 22 Sep 2023 08:10:21 -0300 Subject: [PATCH] OCM-3745 | feat: add security group attribute to AWS, AWS MP, VPC --- .../v1/aws_machine_pool_type.model | 3 +++ .../v1/aws_security_group_type.model | 24 +++++++++++++++++++ model/clusters_mgmt/v1/aws_type.model | 3 +++ model/clusters_mgmt/v1/sts_type.model | 2 +- model/clusters_mgmt/v1/vpc_inquiry_type.model | 3 +++ 5 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 model/clusters_mgmt/v1/aws_security_group_type.model diff --git a/model/clusters_mgmt/v1/aws_machine_pool_type.model b/model/clusters_mgmt/v1/aws_machine_pool_type.model index 77778688..fd903558 100644 --- a/model/clusters_mgmt/v1/aws_machine_pool_type.model +++ b/model/clusters_mgmt/v1/aws_machine_pool_type.model @@ -18,4 +18,7 @@ limitations under the License. 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 } diff --git a/model/clusters_mgmt/v1/aws_security_group_type.model b/model/clusters_mgmt/v1/aws_security_group_type.model new file mode 100644 index 00000000..4bc347e4 --- /dev/null +++ b/model/clusters_mgmt/v1/aws_security_group_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. +*/ + +// 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 +} diff --git a/model/clusters_mgmt/v1/aws_type.model b/model/clusters_mgmt/v1/aws_type.model index 8bab3b2e..91643c0f 100644 --- a/model/clusters_mgmt/v1/aws_type.model +++ b/model/clusters_mgmt/v1/aws_type.model @@ -61,4 +61,7 @@ struct AWS { // Role ARN for private hosted zone. PrivateHostedZoneRoleARN String + + // Additional AWS Security Groups to be added to default worker (compute) machine pool. + AdditionalComputeSecurityGroupIds []String } diff --git a/model/clusters_mgmt/v1/sts_type.model b/model/clusters_mgmt/v1/sts_type.model index c41fad04..ceb6a8d1 100644 --- a/model/clusters_mgmt/v1/sts_type.model +++ b/model/clusters_mgmt/v1/sts_type.model @@ -50,6 +50,6 @@ struct STS { // 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 + // Registered Oidc Config, if available holds information related to the oidc config. OidcConfig OidcConfig } diff --git a/model/clusters_mgmt/v1/vpc_inquiry_type.model b/model/clusters_mgmt/v1/vpc_inquiry_type.model index 503db7e3..95777a36 100644 --- a/model/clusters_mgmt/v1/vpc_inquiry_type.model +++ b/model/clusters_mgmt/v1/vpc_inquiry_type.model @@ -28,6 +28,9 @@ struct CloudVPC { // 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 }