diff --git a/client_mock.go b/client_mock.go index 62d3ce1..5d8d39a 100644 --- a/client_mock.go +++ b/client_mock.go @@ -18180,23 +18180,23 @@ func (_c *MockClient_ServiceKafkaAclAdd_Call) RunAndReturn(run func(ctx context. } // ServiceKafkaAclDelete provides a mock function for the type MockClient -func (_mock *MockClient) ServiceKafkaAclDelete(ctx context.Context, project1 string, serviceName string, kafkaAclId string) ([]kafka.AclOut, error) { +func (_mock *MockClient) ServiceKafkaAclDelete(ctx context.Context, project1 string, serviceName string, kafkaAclId string) ([]kafka.ServiceKafkaAclDeleteOut, error) { ret := _mock.Called(ctx, project1, serviceName, kafkaAclId) if len(ret) == 0 { panic("no return value specified for ServiceKafkaAclDelete") } - var r0 []kafka.AclOut + var r0 []kafka.ServiceKafkaAclDeleteOut var r1 error - if returnFunc, ok := ret.Get(0).(func(context.Context, string, string, string) ([]kafka.AclOut, error)); ok { + if returnFunc, ok := ret.Get(0).(func(context.Context, string, string, string) ([]kafka.ServiceKafkaAclDeleteOut, error)); ok { return returnFunc(ctx, project1, serviceName, kafkaAclId) } - if returnFunc, ok := ret.Get(0).(func(context.Context, string, string, string) []kafka.AclOut); ok { + if returnFunc, ok := ret.Get(0).(func(context.Context, string, string, string) []kafka.ServiceKafkaAclDeleteOut); ok { r0 = returnFunc(ctx, project1, serviceName, kafkaAclId) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]kafka.AclOut) + r0 = ret.Get(0).([]kafka.ServiceKafkaAclDeleteOut) } } if returnFunc, ok := ret.Get(1).(func(context.Context, string, string, string) error); ok { @@ -18249,34 +18249,34 @@ func (_c *MockClient_ServiceKafkaAclDelete_Call) Run(run func(ctx context.Contex return _c } -func (_c *MockClient_ServiceKafkaAclDelete_Call) Return(aclOuts []kafka.AclOut, err error) *MockClient_ServiceKafkaAclDelete_Call { - _c.Call.Return(aclOuts, err) +func (_c *MockClient_ServiceKafkaAclDelete_Call) Return(serviceKafkaAclDeleteOuts []kafka.ServiceKafkaAclDeleteOut, err error) *MockClient_ServiceKafkaAclDelete_Call { + _c.Call.Return(serviceKafkaAclDeleteOuts, err) return _c } -func (_c *MockClient_ServiceKafkaAclDelete_Call) RunAndReturn(run func(ctx context.Context, project1 string, serviceName string, kafkaAclId string) ([]kafka.AclOut, error)) *MockClient_ServiceKafkaAclDelete_Call { +func (_c *MockClient_ServiceKafkaAclDelete_Call) RunAndReturn(run func(ctx context.Context, project1 string, serviceName string, kafkaAclId string) ([]kafka.ServiceKafkaAclDeleteOut, error)) *MockClient_ServiceKafkaAclDelete_Call { _c.Call.Return(run) return _c } // ServiceKafkaAclList provides a mock function for the type MockClient -func (_mock *MockClient) ServiceKafkaAclList(ctx context.Context, project1 string, serviceName string) ([]kafka.AclOut, error) { +func (_mock *MockClient) ServiceKafkaAclList(ctx context.Context, project1 string, serviceName string) ([]kafka.ServiceKafkaAclListOut, error) { ret := _mock.Called(ctx, project1, serviceName) if len(ret) == 0 { panic("no return value specified for ServiceKafkaAclList") } - var r0 []kafka.AclOut + var r0 []kafka.ServiceKafkaAclListOut var r1 error - if returnFunc, ok := ret.Get(0).(func(context.Context, string, string) ([]kafka.AclOut, error)); ok { + if returnFunc, ok := ret.Get(0).(func(context.Context, string, string) ([]kafka.ServiceKafkaAclListOut, error)); ok { return returnFunc(ctx, project1, serviceName) } - if returnFunc, ok := ret.Get(0).(func(context.Context, string, string) []kafka.AclOut); ok { + if returnFunc, ok := ret.Get(0).(func(context.Context, string, string) []kafka.ServiceKafkaAclListOut); ok { r0 = returnFunc(ctx, project1, serviceName) } else { if ret.Get(0) != nil { - r0 = ret.Get(0).([]kafka.AclOut) + r0 = ret.Get(0).([]kafka.ServiceKafkaAclListOut) } } if returnFunc, ok := ret.Get(1).(func(context.Context, string, string) error); ok { @@ -18323,12 +18323,12 @@ func (_c *MockClient_ServiceKafkaAclList_Call) Run(run func(ctx context.Context, return _c } -func (_c *MockClient_ServiceKafkaAclList_Call) Return(aclOuts []kafka.AclOut, err error) *MockClient_ServiceKafkaAclList_Call { - _c.Call.Return(aclOuts, err) +func (_c *MockClient_ServiceKafkaAclList_Call) Return(serviceKafkaAclListOuts []kafka.ServiceKafkaAclListOut, err error) *MockClient_ServiceKafkaAclList_Call { + _c.Call.Return(serviceKafkaAclListOuts, err) return _c } -func (_c *MockClient_ServiceKafkaAclList_Call) RunAndReturn(run func(ctx context.Context, project1 string, serviceName string) ([]kafka.AclOut, error)) *MockClient_ServiceKafkaAclList_Call { +func (_c *MockClient_ServiceKafkaAclList_Call) RunAndReturn(run func(ctx context.Context, project1 string, serviceName string) ([]kafka.ServiceKafkaAclListOut, error)) *MockClient_ServiceKafkaAclList_Call { _c.Call.Return(run) return _c } diff --git a/handler/billinggroup/billinggroup.go b/handler/billinggroup/billinggroup.go index 580cc06..e7a8761 100644 --- a/handler/billinggroup/billinggroup.go +++ b/handler/billinggroup/billinggroup.go @@ -632,6 +632,7 @@ type ProjectOut struct { type ServiceType string const ( + ServiceTypeAlertTriage ServiceType = "alert_triage" ServiceTypeAlertmanager ServiceType = "alertmanager" ServiceTypeApplication ServiceType = "application" ServiceTypeClickhouse ServiceType = "clickhouse" @@ -663,7 +664,7 @@ const ( ) func ServiceTypeChoices() []string { - return []string{"alertmanager", "application", "clickhouse", "datahub", "dragonfly", "elasticsearch", "flink", "grafana", "kafka", "kafka_connect", "kafka_mirrormaker", "mysql", "nomadclient", "opensearch", "pg", "sparkpool", "stresstester", "sw", "thanos", "thanoscompactor", "thanosparquet", "thanosquery", "thanosreceiver", "thanosruler", "thanosstore", "valkey", "vector", "vmalert"} + return []string{"alert_triage", "alertmanager", "application", "clickhouse", "datahub", "dragonfly", "elasticsearch", "flink", "grafana", "kafka", "kafka_connect", "kafka_mirrormaker", "mysql", "nomadclient", "opensearch", "pg", "sparkpool", "stresstester", "sw", "thanos", "thanoscompactor", "thanosparquet", "thanosquery", "thanosreceiver", "thanosruler", "thanosstore", "valkey", "vector", "vmalert"} } // billingGroupCreateOut BillingGroupCreateResponse diff --git a/handler/byoc/byoc.go b/handler/byoc/byoc.go index 5931758..2ab9444 100644 --- a/handler/byoc/byoc.go +++ b/handler/byoc/byoc.go @@ -190,6 +190,7 @@ type CustomCloudEnvironmentCreateOut struct { AivenAWSAssumeRoleExternalId *string `json:"aiven_aws_assume_role_external_id,omitempty"` // External ID for assuming the IAM role for controlling the BYOC account AivenAWSObjectStorageCredentialsCreatorArn *string `json:"aiven_aws_object_storage_credentials_creator_arn,omitempty"` // Amazon Resource Name AivenAWSObjectStorageUserArn *string `json:"aiven_aws_object_storage_user_arn,omitempty"` // Amazon Resource Name + AivenAzureCceClientId *string `json:"aiven_azure_cce_client_id,omitempty"` // Application (client) ID of the Aiven multi-tenant Azure CCE service principal. AivenGoogleAccountPrincipal *string `json:"aiven_google_account_principal,omitempty"` // Google account identifier AivenManagementCidrBlocks []string `json:"aiven_management_cidr_blocks,omitempty"` // IP address ranges for incoming connections to the bastion host from the Aiven management plane AivenObjectStorageCredentialsCreatorUser *string `json:"aiven_object_storage_credentials_creator_user,omitempty"` // Google account identifier @@ -228,6 +229,7 @@ type CustomCloudEnvironmentGetOut struct { AivenAWSAssumeRoleExternalId *string `json:"aiven_aws_assume_role_external_id,omitempty"` // External ID for assuming the IAM role for controlling the BYOC account AivenAWSObjectStorageCredentialsCreatorArn *string `json:"aiven_aws_object_storage_credentials_creator_arn,omitempty"` // Amazon Resource Name AivenAWSObjectStorageUserArn *string `json:"aiven_aws_object_storage_user_arn,omitempty"` // Amazon Resource Name + AivenAzureCceClientId *string `json:"aiven_azure_cce_client_id,omitempty"` // Application (client) ID of the Aiven multi-tenant Azure CCE service principal. AivenGoogleAccountPrincipal *string `json:"aiven_google_account_principal,omitempty"` // Google account identifier AivenManagementCidrBlocks []string `json:"aiven_management_cidr_blocks,omitempty"` // IP address ranges for incoming connections to the bastion host from the Aiven management plane AivenObjectStorageCredentialsCreatorUser *string `json:"aiven_object_storage_credentials_creator_user,omitempty"` // Google account identifier @@ -287,6 +289,7 @@ type CustomCloudEnvironmentProvisionOut struct { AivenAWSAssumeRoleExternalId *string `json:"aiven_aws_assume_role_external_id,omitempty"` // External ID for assuming the IAM role for controlling the BYOC account AivenAWSObjectStorageCredentialsCreatorArn *string `json:"aiven_aws_object_storage_credentials_creator_arn,omitempty"` // Amazon Resource Name AivenAWSObjectStorageUserArn *string `json:"aiven_aws_object_storage_user_arn,omitempty"` // Amazon Resource Name + AivenAzureCceClientId *string `json:"aiven_azure_cce_client_id,omitempty"` // Application (client) ID of the Aiven multi-tenant Azure CCE service principal. AivenGoogleAccountPrincipal *string `json:"aiven_google_account_principal,omitempty"` // Google account identifier AivenManagementCidrBlocks []string `json:"aiven_management_cidr_blocks,omitempty"` // IP address ranges for incoming connections to the bastion host from the Aiven management plane AivenObjectStorageCredentialsCreatorUser *string `json:"aiven_object_storage_credentials_creator_user,omitempty"` // Google account identifier @@ -359,6 +362,7 @@ type CustomCloudEnvironmentUpdateOut struct { AivenAWSAssumeRoleExternalId *string `json:"aiven_aws_assume_role_external_id,omitempty"` // External ID for assuming the IAM role for controlling the BYOC account AivenAWSObjectStorageCredentialsCreatorArn *string `json:"aiven_aws_object_storage_credentials_creator_arn,omitempty"` // Amazon Resource Name AivenAWSObjectStorageUserArn *string `json:"aiven_aws_object_storage_user_arn,omitempty"` // Amazon Resource Name + AivenAzureCceClientId *string `json:"aiven_azure_cce_client_id,omitempty"` // Application (client) ID of the Aiven multi-tenant Azure CCE service principal. AivenGoogleAccountPrincipal *string `json:"aiven_google_account_principal,omitempty"` // Google account identifier AivenManagementCidrBlocks []string `json:"aiven_management_cidr_blocks,omitempty"` // IP address ranges for incoming connections to the bastion host from the Aiven management plane AivenObjectStorageCredentialsCreatorUser *string `json:"aiven_object_storage_credentials_creator_user,omitempty"` // Google account identifier diff --git a/handler/kafka/kafka.go b/handler/kafka/kafka.go index 699fe5c..9e11821 100644 --- a/handler/kafka/kafka.go +++ b/handler/kafka/kafka.go @@ -20,13 +20,13 @@ type Handler interface { // DELETE /v1/project/{project}/service/{service_name}/acl/{kafka_acl_id} // https://api.aiven.io/doc/#tag/Service:_Kafka/operation/ServiceKafkaAclDelete // Required roles or permissions: service:data:write - ServiceKafkaAclDelete(ctx context.Context, project string, serviceName string, kafkaAclId string) ([]AclOut, error) + ServiceKafkaAclDelete(ctx context.Context, project string, serviceName string, kafkaAclId string) ([]ServiceKafkaAclDeleteOut, error) // ServiceKafkaAclList list Aiven ACL entries for Kafka service // GET /v1/project/{project}/service/{service_name}/acl // https://api.aiven.io/doc/#tag/Service:_Kafka/operation/ServiceKafkaAclList // Required roles or permissions: service:data:write - ServiceKafkaAclList(ctx context.Context, project string, serviceName string) ([]AclOut, error) + ServiceKafkaAclList(ctx context.Context, project string, serviceName string) ([]ServiceKafkaAclListOut, error) // ServiceKafkaNativeAclAdd add a Kafka-native ACL entry // POST /v1/project/{project}/service/{service_name}/kafka/acl @@ -121,7 +121,7 @@ func (h *KafkaHandler) ServiceKafkaAclAdd(ctx context.Context, project string, s } return out.Acl, nil } -func (h *KafkaHandler) ServiceKafkaAclDelete(ctx context.Context, project string, serviceName string, kafkaAclId string) ([]AclOut, error) { +func (h *KafkaHandler) ServiceKafkaAclDelete(ctx context.Context, project string, serviceName string, kafkaAclId string) ([]ServiceKafkaAclDeleteOut, error) { path := fmt.Sprintf("/v1/project/%s/service/%s/acl/%s", url.PathEscape(project), url.PathEscape(serviceName), url.PathEscape(kafkaAclId)) b, err := h.doer.Do(ctx, "ServiceKafkaAclDelete", "DELETE", path, nil) if err != nil { @@ -134,7 +134,7 @@ func (h *KafkaHandler) ServiceKafkaAclDelete(ctx context.Context, project string } return out.Acl, nil } -func (h *KafkaHandler) ServiceKafkaAclList(ctx context.Context, project string, serviceName string) ([]AclOut, error) { +func (h *KafkaHandler) ServiceKafkaAclList(ctx context.Context, project string, serviceName string) ([]ServiceKafkaAclListOut, error) { path := fmt.Sprintf("/v1/project/%s/service/%s/acl", url.PathEscape(project), url.PathEscape(serviceName)) b, err := h.doer.Do(ctx, "ServiceKafkaAclList", "GET", path, nil) if err != nil { @@ -288,9 +288,9 @@ func (h *KafkaHandler) ServiceKafkaTieredStorageSummary(ctx context.Context, pro } type AclOut struct { - Id *string `json:"id,omitempty"` // ID - Permission PermissionType `json:"permission"` // Kafka permission - Topic string `json:"topic"` // Topic name pattern + Id string `json:"id"` // ID + Permission PermissionType `json:"permission"` // Permission of an Aiven Kafka ACL entry, as opposed to a Kafka-native one. + Topic string `json:"topic"` // Topic name pattern Username string `json:"username"` } type HourlyOut struct { @@ -389,32 +389,44 @@ func ResourceTypeChoices() []string { // ServiceKafkaAclAddIn ServiceKafkaAclAddRequestBody type ServiceKafkaAclAddIn struct { - Permission PermissionType `json:"permission"` // Kafka permission + Permission PermissionType `json:"permission"` // Permission of an Aiven Kafka ACL entry, as opposed to a Kafka-native one. Topic string `json:"topic"` // Topic name pattern Username string `json:"username"` } +type ServiceKafkaAclDeleteOut struct { + Id *string `json:"id,omitempty"` // ID + Permission PermissionType `json:"permission"` // Kafka permission + Topic string `json:"topic"` // Topic name pattern + Username string `json:"username"` +} +type ServiceKafkaAclListOut struct { + Id *string `json:"id,omitempty"` // ID + Permission PermissionType `json:"permission"` // Kafka permission + Topic string `json:"topic"` // Topic name pattern + Username string `json:"username"` +} // ServiceKafkaNativeAclAddIn ServiceKafkaNativeAclAddRequestBody type ServiceKafkaNativeAclAddIn struct { Host *string `json:"host,omitempty"` // the host or * for all hosts - Operation OperationType `json:"operation"` // Kafka ACL operation represents an operation which an ACL grants or denies permission to perform - PatternType PatternType `json:"pattern_type"` // Kafka ACL pattern type of resource name - PermissionType ServiceKafkaNativeAclPermissionType `json:"permission_type"` // Kafka ACL permission type + Operation OperationType `json:"operation"` // Operation a Kafka-native ACL grants or denies permission to perform. + PatternType PatternType `json:"pattern_type"` // How a Kafka-native ACL matches its resource name. + PermissionType ServiceKafkaNativeAclPermissionType `json:"permission_type"` // Whether a Kafka-native ACL allows or denies its operation. Principal string `json:"principal"` // principal is in 'PrincipalType:name' format ResourceName string `json:"resource_name"` // Resource pattern used to match specified resources - ResourceType ResourceType `json:"resource_type"` // Kafka ACL resource type represents a type of resource which an ACL can be applied to + ResourceType ResourceType `json:"resource_type"` // Type of resource a Kafka-native ACL can be applied to. } -// ServiceKafkaNativeAclAddOut Kafka-native ACL entry for Kafka service +// ServiceKafkaNativeAclAddOut Kafka-native ACL entry for Kafka service. type ServiceKafkaNativeAclAddOut struct { Host string `json:"host"` // the host or * for all hosts Id string `json:"id"` // ID - Operation OperationType `json:"operation"` // Kafka ACL operation represents an operation which an ACL grants or denies permission to perform - PatternType PatternType `json:"pattern_type"` // Kafka ACL pattern type of resource name - PermissionType ServiceKafkaNativeAclPermissionType `json:"permission_type"` // Kafka ACL permission type + Operation OperationType `json:"operation"` // Operation a Kafka-native ACL grants or denies permission to perform. + PatternType PatternType `json:"pattern_type"` // How a Kafka-native ACL matches its resource name. + PermissionType ServiceKafkaNativeAclPermissionType `json:"permission_type"` // Whether a Kafka-native ACL allows or denies its operation. Principal string `json:"principal"` // principal is in 'principalType:name' format ResourceName string `json:"resource_name"` // Resource pattern used to match specified resources - ResourceType ResourceType `json:"resource_type"` // Kafka ACL resource type represents a type of resource which an ACL can be applied to + ResourceType ResourceType `json:"resource_type"` // Type of resource a Kafka-native ACL can be applied to. } // ServiceKafkaNativeAclGetOut Kafka-native ACL entry for Kafka service @@ -428,11 +440,17 @@ type ServiceKafkaNativeAclGetOut struct { ResourceName string `json:"resource_name"` // Resource pattern used to match specified resources ResourceType ResourceType `json:"resource_type"` // Kafka ACL resource type represents a type of resource which an ACL can be applied to } +type ServiceKafkaNativeAclListAclOut struct { + Id *string `json:"id,omitempty"` // ID + Permission PermissionType `json:"permission"` // Kafka permission + Topic string `json:"topic"` // Topic name pattern + Username string `json:"username"` +} // ServiceKafkaNativeAclListOut ServiceKafkaNativeAclListResponse type ServiceKafkaNativeAclListOut struct { - Acl []AclOut `json:"acl"` // List of Aiven ACL entries for Kafka service - KafkaAcl []KafkaAclOut `json:"kafka_acl"` // List of Kafka-native ACL entries + Acl []ServiceKafkaNativeAclListAclOut `json:"acl"` // List of Aiven ACL entries for Kafka service + KafkaAcl []KafkaAclOut `json:"kafka_acl"` // List of Kafka-native ACL entries } type ServiceKafkaNativeAclPermissionType string @@ -484,17 +502,17 @@ type serviceKafkaAclAddOut struct { // serviceKafkaAclDeleteOut ServiceKafkaAclDeleteResponse type serviceKafkaAclDeleteOut struct { - Acl []AclOut `json:"acl"` // List of Aiven ACL entries for Kafka service + Acl []ServiceKafkaAclDeleteOut `json:"acl"` // List of Aiven ACL entries for Kafka service } // serviceKafkaAclListOut ServiceKafkaAclListResponse type serviceKafkaAclListOut struct { - Acl []AclOut `json:"acl"` // List of Aiven ACL entries for Kafka service + Acl []ServiceKafkaAclListOut `json:"acl"` // List of Aiven ACL entries for Kafka service } // serviceKafkaNativeAclAddOut ServiceKafkaNativeAclAddResponse type serviceKafkaNativeAclAddOut struct { - Acl ServiceKafkaNativeAclAddOut `json:"acl"` // Kafka-native ACL entry for Kafka service + Acl ServiceKafkaNativeAclAddOut `json:"acl"` // Kafka-native ACL entry for Kafka service. } // serviceKafkaNativeAclGetOut ServiceKafkaNativeAclGetResponse diff --git a/handler/privatelink/privatelink.go b/handler/privatelink/privatelink.go index 4c72383..e918365 100644 --- a/handler/privatelink/privatelink.go +++ b/handler/privatelink/privatelink.go @@ -409,26 +409,29 @@ type ServicePrivatelinkAWSCreateIn struct { // ServicePrivatelinkAWSCreateOut ServicePrivatelinkAWSCreateResponse type ServicePrivatelinkAWSCreateOut struct { - AWSServiceId *string `json:"aws_service_id,omitempty"` // AWS VPC endpoint service ID - AWSServiceName *string `json:"aws_service_name,omitempty"` // AWS VPC endpoint service name - Principals []string `json:"principals"` // ARNs of principals allowed connecting to the service - State ServicePrivatelinkAWSStateType `json:"state"` // Privatelink resource state + AWSServiceId *string `json:"aws_service_id,omitempty"` // AWS VPC endpoint service ID + AWSServiceName *string `json:"aws_service_name,omitempty"` // AWS VPC endpoint service name + Principals []string `json:"principals"` // ARNs of principals allowed connecting to the service + State ServicePrivatelinkAWSStateType `json:"state"` // Privatelink resource state + SupportedRegions []string `json:"supported_regions,omitempty"` // Allow new connections to the endpoint from these regions, in addition to the region the endpoint is in } // ServicePrivatelinkAWSDeleteOut ServicePrivatelinkAWSDeleteResponse type ServicePrivatelinkAWSDeleteOut struct { - AWSServiceId *string `json:"aws_service_id,omitempty"` // AWS VPC endpoint service ID - AWSServiceName *string `json:"aws_service_name,omitempty"` // AWS VPC endpoint service name - Principals []string `json:"principals"` // ARNs of principals allowed connecting to the service - State ServicePrivatelinkAWSStateType `json:"state"` // Privatelink resource state + AWSServiceId *string `json:"aws_service_id,omitempty"` // AWS VPC endpoint service ID + AWSServiceName *string `json:"aws_service_name,omitempty"` // AWS VPC endpoint service name + Principals []string `json:"principals"` // ARNs of principals allowed connecting to the service + State ServicePrivatelinkAWSStateType `json:"state"` // Privatelink resource state + SupportedRegions []string `json:"supported_regions,omitempty"` // Allow new connections to the endpoint from these regions, in addition to the region the endpoint is in } // ServicePrivatelinkAWSGetOut ServicePrivatelinkAWSGetResponse type ServicePrivatelinkAWSGetOut struct { - AWSServiceId *string `json:"aws_service_id,omitempty"` // AWS VPC endpoint service ID - AWSServiceName *string `json:"aws_service_name,omitempty"` // AWS VPC endpoint service name - Principals []string `json:"principals"` // ARNs of principals allowed connecting to the service - State ServicePrivatelinkAWSStateType `json:"state"` // Privatelink resource state + AWSServiceId *string `json:"aws_service_id,omitempty"` // AWS VPC endpoint service ID + AWSServiceName *string `json:"aws_service_name,omitempty"` // AWS VPC endpoint service name + Principals []string `json:"principals"` // ARNs of principals allowed connecting to the service + State ServicePrivatelinkAWSStateType `json:"state"` // Privatelink resource state + SupportedRegions []string `json:"supported_regions,omitempty"` // Allow new connections to the endpoint from these regions, in addition to the region the endpoint is in } type ServicePrivatelinkAWSStateType string @@ -450,10 +453,11 @@ type ServicePrivatelinkAWSUpdateIn struct { // ServicePrivatelinkAWSUpdateOut ServicePrivatelinkAWSUpdateResponse type ServicePrivatelinkAWSUpdateOut struct { - AWSServiceId *string `json:"aws_service_id,omitempty"` // AWS VPC endpoint service ID - AWSServiceName *string `json:"aws_service_name,omitempty"` // AWS VPC endpoint service name - Principals []string `json:"principals"` // ARNs of principals allowed connecting to the service - State ServicePrivatelinkAWSStateType `json:"state"` // Privatelink resource state + AWSServiceId *string `json:"aws_service_id,omitempty"` // AWS VPC endpoint service ID + AWSServiceName *string `json:"aws_service_name,omitempty"` // AWS VPC endpoint service name + Principals []string `json:"principals"` // ARNs of principals allowed connecting to the service + State ServicePrivatelinkAWSStateType `json:"state"` // Privatelink resource state + SupportedRegions []string `json:"supported_regions,omitempty"` // Allow new connections to the endpoint from these regions, in addition to the region the endpoint is in } // ServicePrivatelinkAzureConnectionApprovalOut ServicePrivatelinkAzureConnectionApprovalResponse