discovery.d.ts (21829B)
1 import {Request} from '../lib/request'; 2 import {Response} from '../lib/response'; 3 import {AWSError} from '../lib/error'; 4 import {Service} from '../lib/service'; 5 import {ServiceConfigurationOptions} from '../lib/service'; 6 import {ConfigBase as Config} from '../lib/config'; 7 interface Blob {} 8 declare class Discovery extends Service { 9 /** 10 * Constructs a service object. This object has one method for each API operation. 11 */ 12 constructor(options?: Discovery.Types.ClientConfiguration) 13 config: Config & Discovery.Types.ClientConfiguration; 14 /** 15 * Creates one or more tags for configuration items. Tags are metadata that help you categorize IT assets. This API accepts a list of multiple configuration items. 16 */ 17 createTags(params: Discovery.Types.CreateTagsRequest, callback?: (err: AWSError, data: Discovery.Types.CreateTagsResponse) => void): Request<Discovery.Types.CreateTagsResponse, AWSError>; 18 /** 19 * Creates one or more tags for configuration items. Tags are metadata that help you categorize IT assets. This API accepts a list of multiple configuration items. 20 */ 21 createTags(callback?: (err: AWSError, data: Discovery.Types.CreateTagsResponse) => void): Request<Discovery.Types.CreateTagsResponse, AWSError>; 22 /** 23 * Deletes the association between configuration items and one or more tags. This API accepts a list of multiple configuration items. 24 */ 25 deleteTags(params: Discovery.Types.DeleteTagsRequest, callback?: (err: AWSError, data: Discovery.Types.DeleteTagsResponse) => void): Request<Discovery.Types.DeleteTagsResponse, AWSError>; 26 /** 27 * Deletes the association between configuration items and one or more tags. This API accepts a list of multiple configuration items. 28 */ 29 deleteTags(callback?: (err: AWSError, data: Discovery.Types.DeleteTagsResponse) => void): Request<Discovery.Types.DeleteTagsResponse, AWSError>; 30 /** 31 * Lists AWS agents by ID or lists all agents associated with your user account if you did not specify an agent ID. 32 */ 33 describeAgents(params: Discovery.Types.DescribeAgentsRequest, callback?: (err: AWSError, data: Discovery.Types.DescribeAgentsResponse) => void): Request<Discovery.Types.DescribeAgentsResponse, AWSError>; 34 /** 35 * Lists AWS agents by ID or lists all agents associated with your user account if you did not specify an agent ID. 36 */ 37 describeAgents(callback?: (err: AWSError, data: Discovery.Types.DescribeAgentsResponse) => void): Request<Discovery.Types.DescribeAgentsResponse, AWSError>; 38 /** 39 * Retrieves a list of attributes for a specific configuration ID. For example, the output for a server configuration item includes a list of attributes about the server, including host name, operating system, number of network cards, etc. 40 */ 41 describeConfigurations(params: Discovery.Types.DescribeConfigurationsRequest, callback?: (err: AWSError, data: Discovery.Types.DescribeConfigurationsResponse) => void): Request<Discovery.Types.DescribeConfigurationsResponse, AWSError>; 42 /** 43 * Retrieves a list of attributes for a specific configuration ID. For example, the output for a server configuration item includes a list of attributes about the server, including host name, operating system, number of network cards, etc. 44 */ 45 describeConfigurations(callback?: (err: AWSError, data: Discovery.Types.DescribeConfigurationsResponse) => void): Request<Discovery.Types.DescribeConfigurationsResponse, AWSError>; 46 /** 47 * Retrieves the status of a given export process. You can retrieve status from a maximum of 100 processes. 48 */ 49 describeExportConfigurations(params: Discovery.Types.DescribeExportConfigurationsRequest, callback?: (err: AWSError, data: Discovery.Types.DescribeExportConfigurationsResponse) => void): Request<Discovery.Types.DescribeExportConfigurationsResponse, AWSError>; 50 /** 51 * Retrieves the status of a given export process. You can retrieve status from a maximum of 100 processes. 52 */ 53 describeExportConfigurations(callback?: (err: AWSError, data: Discovery.Types.DescribeExportConfigurationsResponse) => void): Request<Discovery.Types.DescribeExportConfigurationsResponse, AWSError>; 54 /** 55 * Retrieves a list of configuration items that are tagged with a specific tag. Or retrieves a list of all tags assigned to a specific configuration item. 56 */ 57 describeTags(params: Discovery.Types.DescribeTagsRequest, callback?: (err: AWSError, data: Discovery.Types.DescribeTagsResponse) => void): Request<Discovery.Types.DescribeTagsResponse, AWSError>; 58 /** 59 * Retrieves a list of configuration items that are tagged with a specific tag. Or retrieves a list of all tags assigned to a specific configuration item. 60 */ 61 describeTags(callback?: (err: AWSError, data: Discovery.Types.DescribeTagsResponse) => void): Request<Discovery.Types.DescribeTagsResponse, AWSError>; 62 /** 63 * Exports all discovered configuration data to an Amazon S3 bucket or an application that enables you to view and evaluate the data. Data includes tags and tag associations, processes, connections, servers, and system performance. This API returns an export ID which you can query using the GetExportStatus API. The system imposes a limit of two configuration exports in six hours. 64 */ 65 exportConfigurations(callback?: (err: AWSError, data: Discovery.Types.ExportConfigurationsResponse) => void): Request<Discovery.Types.ExportConfigurationsResponse, AWSError>; 66 /** 67 * Retrieves a list of configurations items according to the criteria you specify in a filter. The filter criteria identify relationship requirements. 68 */ 69 listConfigurations(params: Discovery.Types.ListConfigurationsRequest, callback?: (err: AWSError, data: Discovery.Types.ListConfigurationsResponse) => void): Request<Discovery.Types.ListConfigurationsResponse, AWSError>; 70 /** 71 * Retrieves a list of configurations items according to the criteria you specify in a filter. The filter criteria identify relationship requirements. 72 */ 73 listConfigurations(callback?: (err: AWSError, data: Discovery.Types.ListConfigurationsResponse) => void): Request<Discovery.Types.ListConfigurationsResponse, AWSError>; 74 /** 75 * Instructs the specified agents to start collecting data. Agents can reside on host servers or virtual machines in your data center. 76 */ 77 startDataCollectionByAgentIds(params: Discovery.Types.StartDataCollectionByAgentIdsRequest, callback?: (err: AWSError, data: Discovery.Types.StartDataCollectionByAgentIdsResponse) => void): Request<Discovery.Types.StartDataCollectionByAgentIdsResponse, AWSError>; 78 /** 79 * Instructs the specified agents to start collecting data. Agents can reside on host servers or virtual machines in your data center. 80 */ 81 startDataCollectionByAgentIds(callback?: (err: AWSError, data: Discovery.Types.StartDataCollectionByAgentIdsResponse) => void): Request<Discovery.Types.StartDataCollectionByAgentIdsResponse, AWSError>; 82 /** 83 * Instructs the specified agents to stop collecting data. 84 */ 85 stopDataCollectionByAgentIds(params: Discovery.Types.StopDataCollectionByAgentIdsRequest, callback?: (err: AWSError, data: Discovery.Types.StopDataCollectionByAgentIdsResponse) => void): Request<Discovery.Types.StopDataCollectionByAgentIdsResponse, AWSError>; 86 /** 87 * Instructs the specified agents to stop collecting data. 88 */ 89 stopDataCollectionByAgentIds(callback?: (err: AWSError, data: Discovery.Types.StopDataCollectionByAgentIdsResponse) => void): Request<Discovery.Types.StopDataCollectionByAgentIdsResponse, AWSError>; 90 } 91 declare namespace Discovery.Types { 92 export interface AgentConfigurationStatus { 93 /** 94 * The agent ID. 95 */ 96 agentId?: String; 97 /** 98 * Information about the status of the StartDataCollection and StopDataCollection operations. The system has recorded the data collection operation. The agent receives this command the next time it polls for a new command. 99 */ 100 operationSucceeded?: Boolean; 101 /** 102 * A description of the operation performed. 103 */ 104 description?: String; 105 } 106 export type AgentConfigurationStatusList = AgentConfigurationStatus[]; 107 export type AgentId = string; 108 export type AgentIds = AgentId[]; 109 export interface AgentInfo { 110 /** 111 * The agent ID. 112 */ 113 agentId?: AgentId; 114 /** 115 * The name of the host where the agent resides. The host can be a server or virtual machine. 116 */ 117 hostName?: String; 118 /** 119 * Network details about the host where the agent resides. 120 */ 121 agentNetworkInfoList?: AgentNetworkInfoList; 122 /** 123 * This data type is currently not valid. 124 */ 125 connectorId?: String; 126 /** 127 * The agent version. 128 */ 129 version?: String; 130 /** 131 * The health of the agent. 132 */ 133 health?: AgentStatus; 134 } 135 export interface AgentNetworkInfo { 136 /** 137 * The IP address for the host where the agent resides. 138 */ 139 ipAddress?: String; 140 /** 141 * The MAC address for the host where the agent resides. 142 */ 143 macAddress?: String; 144 } 145 export type AgentNetworkInfoList = AgentNetworkInfo[]; 146 export type AgentStatus = "HEALTHY"|"UNHEALTHY"|"RUNNING"|"UNKNOWN"|"BLACKLISTED"|"SHUTDOWN"|string; 147 export type AgentsInfo = AgentInfo[]; 148 export type Boolean = boolean; 149 export type Condition = string; 150 export type Configuration = {[key: string]: String}; 151 export type ConfigurationId = string; 152 export type ConfigurationIdList = ConfigurationId[]; 153 export type ConfigurationItemType = "SERVER"|"PROCESS"|"CONNECTION"|string; 154 export interface ConfigurationTag { 155 /** 156 * A type of IT asset that you want to tag. 157 */ 158 configurationType?: ConfigurationItemType; 159 /** 160 * The configuration ID for the item you want to tag. You can specify a list of keys and values. 161 */ 162 configurationId?: ConfigurationId; 163 /** 164 * A type of tag to filter on. For example, serverType. 165 */ 166 key?: TagKey; 167 /** 168 * A value to filter on. For example key = serverType and value = web server. 169 */ 170 value?: TagValue; 171 /** 172 * The time the configuration tag was created in Coordinated Universal Time (UTC). 173 */ 174 timeOfCreation?: TimeStamp; 175 } 176 export type ConfigurationTagSet = ConfigurationTag[]; 177 export type Configurations = Configuration[]; 178 export type ConfigurationsDownloadUrl = string; 179 export type ConfigurationsExportId = string; 180 export interface CreateTagsRequest { 181 /** 182 * A list of configuration items that you want to tag. 183 */ 184 configurationIds: ConfigurationIdList; 185 /** 186 * Tags that you want to associate with one or more configuration items. Specify the tags that you want to create in a key-value format. For example: {"key": "serverType", "value": "webServer"} 187 */ 188 tags: TagSet; 189 } 190 export interface CreateTagsResponse { 191 } 192 export interface DeleteTagsRequest { 193 /** 194 * A list of configuration items with tags that you want to delete. 195 */ 196 configurationIds: ConfigurationIdList; 197 /** 198 * Tags that you want to delete from one or more configuration items. Specify the tags that you want to delete in a key-value format. For example: {"key": "serverType", "value": "webServer"} 199 */ 200 tags?: TagSet; 201 } 202 export interface DeleteTagsResponse { 203 } 204 export interface DescribeAgentsRequest { 205 /** 206 * The agent IDs for which you want information. If you specify no IDs, the system returns information about all agents associated with your AWS user account. 207 */ 208 agentIds?: AgentIds; 209 /** 210 * The total number of agents to return. The maximum value is 100. 211 */ 212 maxResults?: Integer; 213 /** 214 * A token to start the list. Use this token to get the next set of results. 215 */ 216 nextToken?: NextToken; 217 } 218 export interface DescribeAgentsResponse { 219 /** 220 * Lists AWS agents by ID or lists all agents associated with your user account if you did not specify an agent ID. The output includes agent IDs, IP addresses, media access control (MAC) addresses, agent health, host name where the agent resides, and the version number of each agent. 221 */ 222 agentsInfo?: AgentsInfo; 223 /** 224 * The call returns a token. Use this token to get the next set of results. 225 */ 226 nextToken?: NextToken; 227 } 228 export type DescribeConfigurationsAttribute = {[key: string]: String}; 229 export type DescribeConfigurationsAttributes = DescribeConfigurationsAttribute[]; 230 export interface DescribeConfigurationsRequest { 231 /** 232 * One or more configuration IDs. 233 */ 234 configurationIds: ConfigurationIdList; 235 } 236 export interface DescribeConfigurationsResponse { 237 /** 238 * A key in the response map. The value is an array of data. 239 */ 240 configurations?: DescribeConfigurationsAttributes; 241 } 242 export interface DescribeExportConfigurationsRequest { 243 /** 244 * A unique identifier that you can use to query the export status. 245 */ 246 exportIds?: ExportIds; 247 /** 248 * The maximum number of results that you want to display as a part of the query. 249 */ 250 maxResults?: Integer; 251 /** 252 * A token to get the next set of results. For example, if you specified 100 IDs for DescribeConfigurationsRequest$configurationIds but set DescribeExportConfigurationsRequest$maxResults to 10, you will get results in a set of 10. Use the token in the query to get the next set of 10. 253 */ 254 nextToken?: NextToken; 255 } 256 export interface DescribeExportConfigurationsResponse { 257 /** 258 * Returns export details. When the status is complete, the response includes a URL for an Amazon S3 bucket where you can view the data in a CSV file. 259 */ 260 exportsInfo?: ExportsInfo; 261 /** 262 * A token to get the next set of results. For example, if you specified 100 IDs for DescribeConfigurationsRequest$configurationIds but set DescribeExportConfigurationsRequest$maxResults to 10, you will get results in a set of 10. Use the token in the query to get the next set of 10. 263 */ 264 nextToken?: NextToken; 265 } 266 export interface DescribeTagsRequest { 267 /** 268 * You can filter the list using a key-value format. You can separate these items by using logical operators. Allowed filters include tagKey, tagValue, and configurationId. 269 */ 270 filters?: TagFilters; 271 /** 272 * The total number of items to return. The maximum value is 100. 273 */ 274 maxResults?: Integer; 275 /** 276 * A token to start the list. Use this token to get the next set of results. 277 */ 278 nextToken?: NextToken; 279 } 280 export interface DescribeTagsResponse { 281 /** 282 * Depending on the input, this is a list of configuration items tagged with a specific tag, or a list of tags for a specific configuration item. 283 */ 284 tags?: ConfigurationTagSet; 285 /** 286 * The call returns a token. Use this token to get the next set of results. 287 */ 288 nextToken?: NextToken; 289 } 290 export interface ExportConfigurationsResponse { 291 /** 292 * A unique identifier that you can use to query the export status. 293 */ 294 exportId?: ConfigurationsExportId; 295 } 296 export type ExportIds = ConfigurationsExportId[]; 297 export interface ExportInfo { 298 /** 299 * A unique identifier that you can use to query the export. 300 */ 301 exportId: ConfigurationsExportId; 302 /** 303 * The status of the configuration data export. The status can succeed, fail, or be in-progress. 304 */ 305 exportStatus: ExportStatus; 306 /** 307 * Helpful status messages for API callers. For example: Too many exports in the last 6 hours. Export in progress. Export was successful. 308 */ 309 statusMessage: ExportStatusMessage; 310 /** 311 * A URL for an Amazon S3 bucket where you can review the configuration data. The URL is displayed only if the export succeeded. 312 */ 313 configurationsDownloadUrl?: ConfigurationsDownloadUrl; 314 /** 315 * The time the configuration data export was initiated. 316 */ 317 exportRequestTime: ExportRequestTime; 318 } 319 export type ExportRequestTime = Date; 320 export type ExportStatus = "FAILED"|"SUCCEEDED"|"IN_PROGRESS"|string; 321 export type ExportStatusMessage = string; 322 export type ExportsInfo = ExportInfo[]; 323 export interface Filter { 324 /** 325 * The name of the filter. The following filter names are allowed for SERVER configuration items. Server server.hostName server.osName server.osVersion server.configurationid server.agentid The name of the filter. The following filter names are allowed for PROCESS configuration items. Process process.configurationid process.name process.commandLine server.configurationid server.hostName server.osName server.osVersion server.agentId The name of the filter. The following filter names are allowed for CONNECTION configuration items. Connection connection.sourceIp connection.destinationIp connection.destinationPort sourceProcess.configurationId sourceProcess.name sourceProcess.commandLine destinationProcess.configurationId destinationProcess.name destinationProcess.commandLine sourceServer.configurationId sourceServer.hostName sourceServer.osName sourceServer.osVersion sourceServer.agentId destinationServer.configurationId destinationServer.hostName destinationServer.osName destinationServer.osVersion destinationServer.agentId 326 */ 327 name: String; 328 /** 329 * A string value that you want to filter on. For example, if you choose the destinationServer.osVersion filter name, you could specify Ubuntu for the value. 330 */ 331 values: FilterValues; 332 /** 333 * A conditional operator. The following operators are valid: EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS. If you specify multiple filters, the system utilizes all filters as though concatenated by AND. If you specify multiple values for a particular filter, the system differentiates the values using OR. Calling either DescribeConfigurations or ListConfigurations returns attributes of matching configuration items. 334 */ 335 condition: Condition; 336 } 337 export type FilterName = string; 338 export type FilterValue = string; 339 export type FilterValues = FilterValue[]; 340 export type Filters = Filter[]; 341 export type Integer = number; 342 export interface ListConfigurationsRequest { 343 /** 344 * A valid configuration identified by the Discovery Service. 345 */ 346 configurationType: ConfigurationItemType; 347 /** 348 * You can filter the list using a key-value format. For example: {"key": "serverType", "value": "webServer"} You can separate these items by using logical operators. 349 */ 350 filters?: Filters; 351 /** 352 * The total number of items to return. The maximum value is 100. 353 */ 354 maxResults?: Integer; 355 /** 356 * A token to start the list. Use this token to get the next set of results. 357 */ 358 nextToken?: NextToken; 359 } 360 export interface ListConfigurationsResponse { 361 /** 362 * Returns configuration details, including the configuration ID, attribute names, and attribute values. 363 */ 364 configurations?: Configurations; 365 /** 366 * The call returns a token. Use this token to get the next set of results. 367 */ 368 nextToken?: NextToken; 369 } 370 export type Message = string; 371 export type NextToken = string; 372 export interface StartDataCollectionByAgentIdsRequest { 373 /** 374 * The IDs of the agents that you want to start collecting data. If you send a request to an AWS agent ID that you do not have permission to contact, according to your AWS account, the service does not throw an exception. Instead, it returns the error in the Description field. If you send a request to multiple agents and you do not have permission to contact some of those agents, the system does not throw an exception. Instead, the system shows Failed in the Description field. 375 */ 376 agentIds: AgentIds; 377 } 378 export interface StartDataCollectionByAgentIdsResponse { 379 /** 380 * Information about agents that were instructed to start collecting data. Information includes the agent ID, a description of the operation performed, and whether or not the agent configuration was updated. 381 */ 382 agentsConfigurationStatus?: AgentConfigurationStatusList; 383 } 384 export interface StopDataCollectionByAgentIdsRequest { 385 /** 386 * The IDs of the agents that you want to stop collecting data. 387 */ 388 agentIds: AgentIds; 389 } 390 export interface StopDataCollectionByAgentIdsResponse { 391 /** 392 * Information about agents that were instructed to stop collecting data. Information includes the agent ID, a description of the operation performed, and whether or not the agent configuration was updated. 393 */ 394 agentsConfigurationStatus?: AgentConfigurationStatusList; 395 } 396 export type String = string; 397 export interface Tag { 398 /** 399 * A type of tag to filter on. 400 */ 401 key: TagKey; 402 /** 403 * A value for a tag key to filter on. 404 */ 405 value: TagValue; 406 } 407 export interface TagFilter { 408 /** 409 * A name of a tag filter. 410 */ 411 name: FilterName; 412 /** 413 * Values of a tag filter. 414 */ 415 values: FilterValues; 416 } 417 export type TagFilters = TagFilter[]; 418 export type TagKey = string; 419 export type TagSet = Tag[]; 420 export type TagValue = string; 421 export type TimeStamp = Date; 422 /** 423 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version. 424 */ 425 export type apiVersion = "2015-11-01"|"latest"|string; 426 export interface ClientApiVersions { 427 /** 428 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version. 429 */ 430 apiVersion?: apiVersion; 431 } 432 export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions; 433 } 434 export = Discovery;