1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package types 4 5import ( 6 "time" 7) 8 9// Specifies the EBS volume upgrade information. The broker identifier must be set 10// to the keyword ALL. This means the changes apply to all the brokers in the 11// cluster. 12type BrokerEBSVolumeInfo struct { 13 14 // The ID of the broker to update. 15 // 16 // This member is required. 17 KafkaBrokerNodeId *string 18 19 // Size of the EBS volume to update. 20 // 21 // This member is required. 22 VolumeSizeGB int32 23} 24 25type BrokerLogs struct { 26 CloudWatchLogs *CloudWatchLogs 27 28 Firehose *Firehose 29 30 S3 *S3 31} 32 33// Describes the setup to be used for Kafka broker nodes in the cluster. 34type BrokerNodeGroupInfo struct { 35 36 // The list of subnets to connect to in the client virtual private cloud (VPC). AWS 37 // creates elastic network interfaces inside these subnets. Client applications use 38 // elastic network interfaces to produce and consume data. Client subnets can't be 39 // in Availability Zone us-east-1e. 40 // 41 // This member is required. 42 ClientSubnets []string 43 44 // The type of Amazon EC2 instances to use for Kafka brokers. The following 45 // instance types are allowed: kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge, 46 // kafka.m5.4xlarge, kafka.m5.12xlarge, and kafka.m5.24xlarge. 47 // 48 // This member is required. 49 InstanceType *string 50 51 // The distribution of broker nodes across Availability Zones. This is an optional 52 // parameter. If you don't specify it, Amazon MSK gives it the value DEFAULT. You 53 // can also explicitly set this parameter to the value DEFAULT. No other values are 54 // currently allowed. Amazon MSK distributes the broker nodes evenly across the 55 // Availability Zones that correspond to the subnets you provide when you create 56 // the cluster. 57 BrokerAZDistribution BrokerAZDistribution 58 59 // The AWS security groups to associate with the elastic network interfaces in 60 // order to specify who can connect to and communicate with the Amazon MSK cluster. 61 // If you don't specify a security group, Amazon MSK uses the default security 62 // group associated with the VPC. 63 SecurityGroups []string 64 65 // Contains information about storage volumes attached to MSK broker nodes. 66 StorageInfo *StorageInfo 67} 68 69// BrokerNodeInfo 70type BrokerNodeInfo struct { 71 72 // The attached elastic network interface of the broker. 73 AttachedENIId *string 74 75 // The ID of the broker. 76 BrokerId float64 77 78 // The client subnet to which this broker node belongs. 79 ClientSubnet *string 80 81 // The virtual private cloud (VPC) of the client. 82 ClientVpcIpAddress *string 83 84 // Information about the version of software currently deployed on the Kafka 85 // brokers in the cluster. 86 CurrentBrokerSoftwareInfo *BrokerSoftwareInfo 87 88 // Endpoints for accessing the broker. 89 Endpoints []string 90} 91 92// Information about the current software installed on the cluster. 93type BrokerSoftwareInfo struct { 94 95 // The Amazon Resource Name (ARN) of the configuration used for the cluster. This 96 // field isn't visible in this preview release. 97 ConfigurationArn *string 98 99 // The revision of the configuration to use. This field isn't visible in this 100 // preview release. 101 ConfigurationRevision int64 102 103 // The version of Apache Kafka. 104 KafkaVersion *string 105} 106 107// Includes all client authentication information. 108type ClientAuthentication struct { 109 110 // Details for ClientAuthentication using SASL. 111 Sasl *Sasl 112 113 // Details for ClientAuthentication using TLS. 114 Tls *Tls 115} 116 117type CloudWatchLogs struct { 118 119 // This member is required. 120 Enabled bool 121 122 LogGroup *string 123} 124 125// Returns information about a cluster. 126type ClusterInfo struct { 127 128 // Arn of active cluster operation. 129 ActiveOperationArn *string 130 131 // Information about the broker nodes. 132 BrokerNodeGroupInfo *BrokerNodeGroupInfo 133 134 // Includes all client authentication information. 135 ClientAuthentication *ClientAuthentication 136 137 // The Amazon Resource Name (ARN) that uniquely identifies the cluster. 138 ClusterArn *string 139 140 // The name of the cluster. 141 ClusterName *string 142 143 // The time when the cluster was created. 144 CreationTime *time.Time 145 146 // Information about the version of software currently deployed on the Kafka 147 // brokers in the cluster. 148 CurrentBrokerSoftwareInfo *BrokerSoftwareInfo 149 150 // The current version of the MSK cluster. 151 CurrentVersion *string 152 153 // Includes all encryption-related information. 154 EncryptionInfo *EncryptionInfo 155 156 // Specifies which metrics are gathered for the MSK cluster. This property has the 157 // following possible values: DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and 158 // PER_TOPIC_PER_PARTITION. For a list of the metrics associated with each of these 159 // levels of monitoring, see Monitoring 160 // (https://docs.aws.amazon.com/msk/latest/developerguide/monitoring.html). 161 EnhancedMonitoring EnhancedMonitoring 162 163 LoggingInfo *LoggingInfo 164 165 // The number of broker nodes in the cluster. 166 NumberOfBrokerNodes int32 167 168 // Settings for open monitoring using Prometheus. 169 OpenMonitoring *OpenMonitoring 170 171 // The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, 172 // FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING. 173 State ClusterState 174 175 StateInfo *StateInfo 176 177 // Tags attached to the cluster. 178 Tags map[string]string 179 180 // The connection string to use to connect to the Apache ZooKeeper cluster. 181 ZookeeperConnectString *string 182 183 // The connection string to use to connect to zookeeper cluster on Tls port. 184 ZookeeperConnectStringTls *string 185} 186 187// Returns information about a cluster operation. 188type ClusterOperationInfo struct { 189 190 // The ID of the API request that triggered this operation. 191 ClientRequestId *string 192 193 // ARN of the cluster. 194 ClusterArn *string 195 196 // The time that the operation was created. 197 CreationTime *time.Time 198 199 // The time at which the operation finished. 200 EndTime *time.Time 201 202 // Describes the error if the operation fails. 203 ErrorInfo *ErrorInfo 204 205 // ARN of the cluster operation. 206 OperationArn *string 207 208 // State of the cluster operation. 209 OperationState *string 210 211 // Steps completed during the operation. 212 OperationSteps []ClusterOperationStep 213 214 // Type of the cluster operation. 215 OperationType *string 216 217 // Information about cluster attributes before a cluster is updated. 218 SourceClusterInfo *MutableClusterInfo 219 220 // Information about cluster attributes after a cluster is updated. 221 TargetClusterInfo *MutableClusterInfo 222} 223 224// Step taken during a cluster operation. 225type ClusterOperationStep struct { 226 227 // Information about the step and its status. 228 StepInfo *ClusterOperationStepInfo 229 230 // The name of the step. 231 StepName *string 232} 233 234// State information about the operation step. 235type ClusterOperationStepInfo struct { 236 237 // The steps current status. 238 StepStatus *string 239} 240 241// Contains source Kafka versions and compatible target Kafka versions. 242type CompatibleKafkaVersion struct { 243 244 // A Kafka version. 245 SourceVersion *string 246 247 // A list of Kafka versions. 248 TargetVersions []string 249} 250 251// Represents an MSK Configuration. 252type Configuration struct { 253 254 // The Amazon Resource Name (ARN) of the configuration. 255 // 256 // This member is required. 257 Arn *string 258 259 // The time when the configuration was created. 260 // 261 // This member is required. 262 CreationTime *time.Time 263 264 // The description of the configuration. 265 // 266 // This member is required. 267 Description *string 268 269 // An array of the versions of Apache Kafka with which you can use this MSK 270 // configuration. You can use this configuration for an MSK cluster only if the 271 // Apache Kafka version specified for the cluster appears in this array. 272 // 273 // This member is required. 274 KafkaVersions []string 275 276 // Latest revision of the configuration. 277 // 278 // This member is required. 279 LatestRevision *ConfigurationRevision 280 281 // The name of the configuration. 282 // 283 // This member is required. 284 Name *string 285 286 // The state of the configuration. The possible states are ACTIVE, DELETING, and 287 // DELETE_FAILED. 288 // 289 // This member is required. 290 State ConfigurationState 291} 292 293// Specifies the configuration to use for the brokers. 294type ConfigurationInfo struct { 295 296 // ARN of the configuration to use. 297 // 298 // This member is required. 299 Arn *string 300 301 // The revision of the configuration to use. 302 // 303 // This member is required. 304 Revision int64 305} 306 307// Describes a configuration revision. 308type ConfigurationRevision struct { 309 310 // The time when the configuration revision was created. 311 // 312 // This member is required. 313 CreationTime *time.Time 314 315 // The revision number. 316 // 317 // This member is required. 318 Revision int64 319 320 // The description of the configuration revision. 321 Description *string 322} 323 324// Contains information about the EBS storage volumes attached to Kafka broker 325// nodes. 326type EBSStorageInfo struct { 327 328 // The size in GiB of the EBS volume for the data drive on each broker node. 329 VolumeSize int32 330} 331 332// The data-volume encryption details. 333type EncryptionAtRest struct { 334 335 // The ARN of the AWS KMS key for encrypting data at rest. If you don't specify a 336 // KMS key, MSK creates one for you and uses it. 337 // 338 // This member is required. 339 DataVolumeKMSKeyId *string 340} 341 342// Includes encryption-related information, such as the AWS KMS key used for 343// encrypting data at rest and whether you want MSK to encrypt your data in 344// transit. 345type EncryptionInfo struct { 346 347 // The data-volume encryption details. 348 EncryptionAtRest *EncryptionAtRest 349 350 // The details for encryption in transit. 351 EncryptionInTransit *EncryptionInTransit 352} 353 354// The settings for encrypting data in transit. 355type EncryptionInTransit struct { 356 357 // Indicates the encryption setting for data in transit between clients and 358 // brokers. The following are the possible values. TLS means that client-broker 359 // communication is enabled with TLS only. TLS_PLAINTEXT means that client-broker 360 // communication is enabled for both TLS-encrypted, as well as plaintext data. 361 // PLAINTEXT means that client-broker communication is enabled in plaintext only. 362 // The default value is TLS_PLAINTEXT. 363 ClientBroker ClientBroker 364 365 // When set to true, it indicates that data communication among the broker nodes of 366 // the cluster is encrypted. When set to false, the communication happens in 367 // plaintext. The default value is true. 368 InCluster bool 369} 370 371// Returns information about an error state of the cluster. 372type ErrorInfo struct { 373 374 // A number describing the error programmatically. 375 ErrorCode *string 376 377 // An optional field to provide more details about the error. 378 ErrorString *string 379} 380 381type Firehose struct { 382 383 // This member is required. 384 Enabled bool 385 386 DeliveryStream *string 387} 388 389// Indicates whether you want to enable or disable the JMX Exporter. 390type JmxExporter struct { 391 392 // Indicates whether you want to enable or disable the JMX Exporter. 393 // 394 // This member is required. 395 EnabledInBroker bool 396} 397 398// Indicates whether you want to enable or disable the JMX Exporter. 399type JmxExporterInfo struct { 400 401 // Indicates whether you want to enable or disable the JMX Exporter. 402 // 403 // This member is required. 404 EnabledInBroker bool 405} 406 407type KafkaVersion struct { 408 Status KafkaVersionStatus 409 410 Version *string 411} 412 413type LoggingInfo struct { 414 415 // This member is required. 416 BrokerLogs *BrokerLogs 417} 418 419// Information about cluster attributes that can be updated via update APIs. 420type MutableClusterInfo struct { 421 422 // Specifies the size of the EBS volume and the ID of the associated broker. 423 BrokerEBSVolumeInfo []BrokerEBSVolumeInfo 424 425 // Information about the changes in the configuration of the brokers. 426 ConfigurationInfo *ConfigurationInfo 427 428 // Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon 429 // CloudWatch for this cluster. 430 EnhancedMonitoring EnhancedMonitoring 431 432 // Information about the Amazon MSK broker type. 433 InstanceType *string 434 435 // The Kafka version. 436 KafkaVersion *string 437 438 LoggingInfo *LoggingInfo 439 440 // The number of broker nodes in the cluster. 441 NumberOfBrokerNodes int32 442 443 // The settings for open monitoring. 444 OpenMonitoring *OpenMonitoring 445} 446 447// Indicates whether you want to enable or disable the Node Exporter. 448type NodeExporter struct { 449 450 // Indicates whether you want to enable or disable the Node Exporter. 451 // 452 // This member is required. 453 EnabledInBroker bool 454} 455 456// Indicates whether you want to enable or disable the Node Exporter. 457type NodeExporterInfo struct { 458 459 // Indicates whether you want to enable or disable the Node Exporter. 460 // 461 // This member is required. 462 EnabledInBroker bool 463} 464 465// The node information object. 466type NodeInfo struct { 467 468 // The start time. 469 AddedToClusterTime *string 470 471 // The broker node info. 472 BrokerNodeInfo *BrokerNodeInfo 473 474 // The instance type. 475 InstanceType *string 476 477 // The Amazon Resource Name (ARN) of the node. 478 NodeARN *string 479 480 // The node type. 481 NodeType NodeType 482 483 // The ZookeeperNodeInfo. 484 ZookeeperNodeInfo *ZookeeperNodeInfo 485} 486 487// JMX and Node monitoring for the MSK cluster. 488type OpenMonitoring struct { 489 490 // Prometheus settings. 491 // 492 // This member is required. 493 Prometheus *Prometheus 494} 495 496// JMX and Node monitoring for the MSK cluster. 497type OpenMonitoringInfo struct { 498 499 // Prometheus settings. 500 // 501 // This member is required. 502 Prometheus *PrometheusInfo 503} 504 505// Prometheus settings. 506type Prometheus struct { 507 508 // Indicates whether you want to enable or disable the JMX Exporter. 509 JmxExporter *JmxExporter 510 511 // Indicates whether you want to enable or disable the Node Exporter. 512 NodeExporter *NodeExporter 513} 514 515// Prometheus settings. 516type PrometheusInfo struct { 517 518 // Indicates whether you want to enable or disable the JMX Exporter. 519 JmxExporter *JmxExporterInfo 520 521 // Indicates whether you want to enable or disable the Node Exporter. 522 NodeExporter *NodeExporterInfo 523} 524 525type S3 struct { 526 527 // This member is required. 528 Enabled bool 529 530 Bucket *string 531 532 Prefix *string 533} 534 535// Details for client authentication using SASL. 536type Sasl struct { 537 538 // Details for SASL/SCRAM client authentication. 539 Scram *Scram 540} 541 542// Details for SASL/SCRAM client authentication. 543type Scram struct { 544 545 // SASL/SCRAM authentication is enabled or not. 546 Enabled bool 547} 548 549type StateInfo struct { 550 Code *string 551 552 Message *string 553} 554 555// Contains information about storage volumes attached to MSK broker nodes. 556type StorageInfo struct { 557 558 // EBS volume information. 559 EbsStorageInfo *EBSStorageInfo 560} 561 562// Details for client authentication using TLS. 563type Tls struct { 564 565 // List of ACM Certificate Authority ARNs. 566 CertificateAuthorityArnList []string 567} 568 569// Error info for scram secret associate/disassociate failure. 570type UnprocessedScramSecret struct { 571 572 // Error code for associate/disassociate failure. 573 ErrorCode *string 574 575 // Error message for associate/disassociate failure. 576 ErrorMessage *string 577 578 // AWS Secrets Manager secret ARN. 579 SecretArn *string 580} 581 582// Zookeeper node information. 583type ZookeeperNodeInfo struct { 584 585 // The attached elastic network interface of the broker. 586 AttachedENIId *string 587 588 // The virtual private cloud (VPC) IP address of the client. 589 ClientVpcIpAddress *string 590 591 // Endpoints for accessing the ZooKeeper. 592 Endpoints []string 593 594 // The role-specific ID for Zookeeper. 595 ZookeeperId float64 596 597 // The version of Zookeeper. 598 ZookeeperVersion *string 599} 600