UNPKG

26.6 kBTypeScriptView Raw
1import {Request} from '../lib/request';
2import {Response} from '../lib/response';
3import {AWSError} from '../lib/error';
4import {Service} from '../lib/service';
5import {ServiceConfigurationOptions} from '../lib/service';
6import {ConfigBase as Config} from '../lib/config';
7interface Blob {}
8declare class FMS extends Service {
9 /**
10 * Constructs a service object. This object has one method for each API operation.
11 */
12 constructor(options?: FMS.Types.ClientConfiguration)
13 config: Config & FMS.Types.ClientConfiguration;
14 /**
15 * Sets the AWS Firewall Manager administrator account. AWS Firewall Manager must be associated with the master account your AWS organization or associated with a member account that has the appropriate permissions. If the account ID that you submit is not an AWS Organizations master account, AWS Firewall Manager will set the appropriate permissions for the given member account. The account that you associate with AWS Firewall Manager is called the AWS Firewall Manager administrator account.
16 */
17 associateAdminAccount(params: FMS.Types.AssociateAdminAccountRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
18 /**
19 * Sets the AWS Firewall Manager administrator account. AWS Firewall Manager must be associated with the master account your AWS organization or associated with a member account that has the appropriate permissions. If the account ID that you submit is not an AWS Organizations master account, AWS Firewall Manager will set the appropriate permissions for the given member account. The account that you associate with AWS Firewall Manager is called the AWS Firewall Manager administrator account.
20 */
21 associateAdminAccount(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
22 /**
23 * Deletes an AWS Firewall Manager association with the IAM role and the Amazon Simple Notification Service (SNS) topic that is used to record AWS Firewall Manager SNS logs.
24 */
25 deleteNotificationChannel(params: FMS.Types.DeleteNotificationChannelRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
26 /**
27 * Deletes an AWS Firewall Manager association with the IAM role and the Amazon Simple Notification Service (SNS) topic that is used to record AWS Firewall Manager SNS logs.
28 */
29 deleteNotificationChannel(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
30 /**
31 * Permanently deletes an AWS Firewall Manager policy.
32 */
33 deletePolicy(params: FMS.Types.DeletePolicyRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
34 /**
35 * Permanently deletes an AWS Firewall Manager policy.
36 */
37 deletePolicy(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
38 /**
39 * Disassociates the account that has been set as the AWS Firewall Manager administrator account. To set a different account as the administrator account, you must submit an AssociateAdminAccount request .
40 */
41 disassociateAdminAccount(params: FMS.Types.DisassociateAdminAccountRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
42 /**
43 * Disassociates the account that has been set as the AWS Firewall Manager administrator account. To set a different account as the administrator account, you must submit an AssociateAdminAccount request .
44 */
45 disassociateAdminAccount(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
46 /**
47 * Returns the AWS Organizations master account that is associated with AWS Firewall Manager as the AWS Firewall Manager administrator.
48 */
49 getAdminAccount(params: FMS.Types.GetAdminAccountRequest, callback?: (err: AWSError, data: FMS.Types.GetAdminAccountResponse) => void): Request<FMS.Types.GetAdminAccountResponse, AWSError>;
50 /**
51 * Returns the AWS Organizations master account that is associated with AWS Firewall Manager as the AWS Firewall Manager administrator.
52 */
53 getAdminAccount(callback?: (err: AWSError, data: FMS.Types.GetAdminAccountResponse) => void): Request<FMS.Types.GetAdminAccountResponse, AWSError>;
54 /**
55 * Returns detailed compliance information about the specified member account. Details include resources that are in and out of compliance with the specified policy. Resources are considered non-compliant if the specified policy has not been applied to them.
56 */
57 getComplianceDetail(params: FMS.Types.GetComplianceDetailRequest, callback?: (err: AWSError, data: FMS.Types.GetComplianceDetailResponse) => void): Request<FMS.Types.GetComplianceDetailResponse, AWSError>;
58 /**
59 * Returns detailed compliance information about the specified member account. Details include resources that are in and out of compliance with the specified policy. Resources are considered non-compliant if the specified policy has not been applied to them.
60 */
61 getComplianceDetail(callback?: (err: AWSError, data: FMS.Types.GetComplianceDetailResponse) => void): Request<FMS.Types.GetComplianceDetailResponse, AWSError>;
62 /**
63 * Returns information about the Amazon Simple Notification Service (SNS) topic that is used to record AWS Firewall Manager SNS logs.
64 */
65 getNotificationChannel(params: FMS.Types.GetNotificationChannelRequest, callback?: (err: AWSError, data: FMS.Types.GetNotificationChannelResponse) => void): Request<FMS.Types.GetNotificationChannelResponse, AWSError>;
66 /**
67 * Returns information about the Amazon Simple Notification Service (SNS) topic that is used to record AWS Firewall Manager SNS logs.
68 */
69 getNotificationChannel(callback?: (err: AWSError, data: FMS.Types.GetNotificationChannelResponse) => void): Request<FMS.Types.GetNotificationChannelResponse, AWSError>;
70 /**
71 * Returns information about the specified AWS Firewall Manager policy.
72 */
73 getPolicy(params: FMS.Types.GetPolicyRequest, callback?: (err: AWSError, data: FMS.Types.GetPolicyResponse) => void): Request<FMS.Types.GetPolicyResponse, AWSError>;
74 /**
75 * Returns information about the specified AWS Firewall Manager policy.
76 */
77 getPolicy(callback?: (err: AWSError, data: FMS.Types.GetPolicyResponse) => void): Request<FMS.Types.GetPolicyResponse, AWSError>;
78 /**
79 * Returns an array of PolicyComplianceStatus objects in the response. Use PolicyComplianceStatus to get a summary of which member accounts are protected by the specified policy.
80 */
81 listComplianceStatus(params: FMS.Types.ListComplianceStatusRequest, callback?: (err: AWSError, data: FMS.Types.ListComplianceStatusResponse) => void): Request<FMS.Types.ListComplianceStatusResponse, AWSError>;
82 /**
83 * Returns an array of PolicyComplianceStatus objects in the response. Use PolicyComplianceStatus to get a summary of which member accounts are protected by the specified policy.
84 */
85 listComplianceStatus(callback?: (err: AWSError, data: FMS.Types.ListComplianceStatusResponse) => void): Request<FMS.Types.ListComplianceStatusResponse, AWSError>;
86 /**
87 * Returns a MemberAccounts object that lists the member accounts in the administrator's AWS organization. The ListMemberAccounts must be submitted by the account that is set as the AWS Firewall Manager administrator.
88 */
89 listMemberAccounts(params: FMS.Types.ListMemberAccountsRequest, callback?: (err: AWSError, data: FMS.Types.ListMemberAccountsResponse) => void): Request<FMS.Types.ListMemberAccountsResponse, AWSError>;
90 /**
91 * Returns a MemberAccounts object that lists the member accounts in the administrator's AWS organization. The ListMemberAccounts must be submitted by the account that is set as the AWS Firewall Manager administrator.
92 */
93 listMemberAccounts(callback?: (err: AWSError, data: FMS.Types.ListMemberAccountsResponse) => void): Request<FMS.Types.ListMemberAccountsResponse, AWSError>;
94 /**
95 * Returns an array of PolicySummary objects in the response.
96 */
97 listPolicies(params: FMS.Types.ListPoliciesRequest, callback?: (err: AWSError, data: FMS.Types.ListPoliciesResponse) => void): Request<FMS.Types.ListPoliciesResponse, AWSError>;
98 /**
99 * Returns an array of PolicySummary objects in the response.
100 */
101 listPolicies(callback?: (err: AWSError, data: FMS.Types.ListPoliciesResponse) => void): Request<FMS.Types.ListPoliciesResponse, AWSError>;
102 /**
103 * Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs.
104 */
105 putNotificationChannel(params: FMS.Types.PutNotificationChannelRequest, callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
106 /**
107 * Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs.
108 */
109 putNotificationChannel(callback?: (err: AWSError, data: {}) => void): Request<{}, AWSError>;
110 /**
111 * Creates an AWS Firewall Manager policy.
112 */
113 putPolicy(params: FMS.Types.PutPolicyRequest, callback?: (err: AWSError, data: FMS.Types.PutPolicyResponse) => void): Request<FMS.Types.PutPolicyResponse, AWSError>;
114 /**
115 * Creates an AWS Firewall Manager policy.
116 */
117 putPolicy(callback?: (err: AWSError, data: FMS.Types.PutPolicyResponse) => void): Request<FMS.Types.PutPolicyResponse, AWSError>;
118}
119declare namespace FMS {
120 export type AWSAccountId = string;
121 export type AccountRoleStatus = "READY"|"CREATING"|"PENDING_DELETION"|"DELETING"|"DELETED"|string;
122 export interface AssociateAdminAccountRequest {
123 /**
124 * The AWS account ID to associate with AWS Firewall Manager as the AWS Firewall Manager administrator account. This can be an AWS Organizations master account or a member account. For more information about AWS Organizations and master accounts, see Managing the AWS Accounts in Your Organization.
125 */
126 AdminAccount: AWSAccountId;
127 }
128 export type Boolean = boolean;
129 export interface ComplianceViolator {
130 /**
131 * The resource ID.
132 */
133 ResourceId?: ResourceId;
134 /**
135 * The reason that the resource is not protected by the policy.
136 */
137 ViolationReason?: ViolationReason;
138 /**
139 * The resource type. This is in the format shown in AWS Resource Types Reference. Valid values are AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution.
140 */
141 ResourceType?: ResourceType;
142 }
143 export type ComplianceViolators = ComplianceViolator[];
144 export type CustomerPolicyScopeId = string;
145 export type CustomerPolicyScopeIdList = CustomerPolicyScopeId[];
146 export type CustomerPolicyScopeIdType = "ACCOUNT"|string;
147 export type CustomerPolicyScopeMap = {[key: string]: CustomerPolicyScopeIdList};
148 export interface DeleteNotificationChannelRequest {
149 }
150 export interface DeletePolicyRequest {
151 /**
152 * The ID of the policy that you want to delete. PolicyId is returned by PutPolicy and by ListPolicies.
153 */
154 PolicyId: PolicyId;
155 /**
156 * If True, the request will also delete all web ACLs in this policy. Associated resources will no longer be protected by web ACLs in this policy.
157 */
158 DeleteAllPolicyResources?: Boolean;
159 }
160 export type DependentServiceName = "AWSCONFIG"|"AWSWAF"|string;
161 export type DetailedInfo = string;
162 export interface DisassociateAdminAccountRequest {
163 }
164 export interface EvaluationResult {
165 /**
166 * Describes an AWS account's compliance with the AWS Firewall Manager policy.
167 */
168 ComplianceStatus?: PolicyComplianceStatusType;
169 /**
170 * Number of resources that are non-compliant with the specified policy. A resource is considered non-compliant if it is not associated with the specified policy.
171 */
172 ViolatorCount?: ResourceCount;
173 /**
174 * Indicates that over 100 resources are non-compliant with the AWS Firewall Manager policy.
175 */
176 EvaluationLimitExceeded?: Boolean;
177 }
178 export type EvaluationResults = EvaluationResult[];
179 export interface GetAdminAccountRequest {
180 }
181 export interface GetAdminAccountResponse {
182 /**
183 * The AWS account that is set as the AWS Firewall Manager administrator.
184 */
185 AdminAccount?: AWSAccountId;
186 /**
187 * The status of the AWS account that you set as the AWS Firewall Manager administrator.
188 */
189 RoleStatus?: AccountRoleStatus;
190 }
191 export interface GetComplianceDetailRequest {
192 /**
193 * The ID of the policy that you want to get the details for. PolicyId is returned by PutPolicy and by ListPolicies.
194 */
195 PolicyId: PolicyId;
196 /**
197 * The AWS account that owns the resources that you want to get the details for.
198 */
199 MemberAccount: AWSAccountId;
200 }
201 export interface GetComplianceDetailResponse {
202 /**
203 * Information about the resources and the policy that you specified in the GetComplianceDetail request.
204 */
205 PolicyComplianceDetail?: PolicyComplianceDetail;
206 }
207 export interface GetNotificationChannelRequest {
208 }
209 export interface GetNotificationChannelResponse {
210 /**
211 * The SNS topic that records AWS Firewall Manager activity.
212 */
213 SnsTopicArn?: ResourceArn;
214 /**
215 * The IAM role that is used by AWS Firewall Manager to record activity to SNS.
216 */
217 SnsRoleName?: ResourceArn;
218 }
219 export interface GetPolicyRequest {
220 /**
221 * The ID of the AWS Firewall Manager policy that you want the details for.
222 */
223 PolicyId: PolicyId;
224 }
225 export interface GetPolicyResponse {
226 /**
227 * Information about the specified AWS Firewall Manager policy.
228 */
229 Policy?: Policy;
230 /**
231 * The Amazon Resource Name (ARN) of the specified policy.
232 */
233 PolicyArn?: ResourceArn;
234 }
235 export type IssueInfoMap = {[key: string]: DetailedInfo};
236 export interface ListComplianceStatusRequest {
237 /**
238 * The ID of the AWS Firewall Manager policy that you want the details for.
239 */
240 PolicyId: PolicyId;
241 /**
242 * If you specify a value for MaxResults and you have more PolicyComplianceStatus objects than the number that you specify for MaxResults, AWS Firewall Manager returns a NextToken value in the response that allows you to list another group of PolicyComplianceStatus objects. For the second and subsequent ListComplianceStatus requests, specify the value of NextToken from the previous response to get information about another batch of PolicyComplianceStatus objects.
243 */
244 NextToken?: PaginationToken;
245 /**
246 * Specifies the number of PolicyComplianceStatus objects that you want AWS Firewall Manager to return for this request. If you have more PolicyComplianceStatus objects than the number that you specify for MaxResults, the response includes a NextToken value that you can use to get another batch of PolicyComplianceStatus objects.
247 */
248 MaxResults?: PaginationMaxResults;
249 }
250 export interface ListComplianceStatusResponse {
251 /**
252 * An array of PolicyComplianceStatus objects.
253 */
254 PolicyComplianceStatusList?: PolicyComplianceStatusList;
255 /**
256 * If you have more PolicyComplianceStatus objects than the number that you specified for MaxResults in the request, the response includes a NextToken value. To list more PolicyComplianceStatus objects, submit another ListComplianceStatus request, and specify the NextToken value from the response in the NextToken value in the next request.
257 */
258 NextToken?: PaginationToken;
259 }
260 export interface ListMemberAccountsRequest {
261 /**
262 * If you specify a value for MaxResults and you have more account IDs than the number that you specify for MaxResults, AWS Firewall Manager returns a NextToken value in the response that allows you to list another group of IDs. For the second and subsequent ListMemberAccountsRequest requests, specify the value of NextToken from the previous response to get information about another batch of member account IDs.
263 */
264 NextToken?: PaginationToken;
265 /**
266 * Specifies the number of member account IDs that you want AWS Firewall Manager to return for this request. If you have more IDs than the number that you specify for MaxResults, the response includes a NextToken value that you can use to get another batch of member account IDs.
267 */
268 MaxResults?: PaginationMaxResults;
269 }
270 export interface ListMemberAccountsResponse {
271 /**
272 * An array of account IDs.
273 */
274 MemberAccounts?: MemberAccounts;
275 /**
276 * If you have more member account IDs than the number that you specified for MaxResults in the request, the response includes a NextToken value. To list more IDs, submit another ListMemberAccounts request, and specify the NextToken value from the response in the NextToken value in the next request.
277 */
278 NextToken?: PaginationToken;
279 }
280 export interface ListPoliciesRequest {
281 /**
282 * If you specify a value for MaxResults and you have more PolicySummary objects than the number that you specify for MaxResults, AWS Firewall Manager returns a NextToken value in the response that allows you to list another group of PolicySummary objects. For the second and subsequent ListPolicies requests, specify the value of NextToken from the previous response to get information about another batch of PolicySummary objects.
283 */
284 NextToken?: PaginationToken;
285 /**
286 * Specifies the number of PolicySummary objects that you want AWS Firewall Manager to return for this request. If you have more PolicySummary objects than the number that you specify for MaxResults, the response includes a NextToken value that you can use to get another batch of PolicySummary objects.
287 */
288 MaxResults?: PaginationMaxResults;
289 }
290 export interface ListPoliciesResponse {
291 /**
292 * An array of PolicySummary objects.
293 */
294 PolicyList?: PolicySummaryList;
295 /**
296 * If you have more PolicySummary objects than the number that you specified for MaxResults in the request, the response includes a NextToken value. To list more PolicySummary objects, submit another ListPolicies request, and specify the NextToken value from the response in the NextToken value in the next request.
297 */
298 NextToken?: PaginationToken;
299 }
300 export type ManagedServiceData = string;
301 export type MemberAccounts = AWSAccountId[];
302 export type PaginationMaxResults = number;
303 export type PaginationToken = string;
304 export interface Policy {
305 /**
306 * The ID of the AWS Firewall Manager policy.
307 */
308 PolicyId?: PolicyId;
309 /**
310 * The friendly name of the AWS Firewall Manager policy.
311 */
312 PolicyName: ResourceName;
313 /**
314 * A unique identifier for each update to the policy. When issuing a PutPolicy request, the PolicyUpdateToken in the request must match the PolicyUpdateToken of the current policy version. To get the PolicyUpdateToken of the current policy version, use a GetPolicy request.
315 */
316 PolicyUpdateToken?: PolicyUpdateToken;
317 /**
318 * Details about the security service that is being used to protect the resources.
319 */
320 SecurityServicePolicyData: SecurityServicePolicyData;
321 /**
322 * The type of resource to protect with the policy, either an Application Load Balancer or a CloudFront distribution. This is in the format shown in AWS Resource Types Reference. Valid values are AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution.
323 */
324 ResourceType: ResourceType;
325 /**
326 * An array of ResourceTag objects.
327 */
328 ResourceTags?: ResourceTags;
329 /**
330 * If set to True, resources with the tags that are specified in the ResourceTag array are not protected by the policy. If set to False, and the ResourceTag array is not null, only resources with the specified tags are associated with the policy.
331 */
332 ExcludeResourceTags: Boolean;
333 /**
334 * Indicates if the policy should be automatically applied to new resources.
335 */
336 RemediationEnabled: Boolean;
337 /**
338 * Specifies the AWS account IDs to include in the policy. If IncludeMap is null, all accounts in the organization in AWS Organizations are included in the policy. If IncludeMap is not null, only values listed in IncludeMap are included in the policy. The key to the map is ACCOUNT. For example, a valid IncludeMap would be {“ACCOUNT” : [“accountID1”, “accountID2”]}.
339 */
340 IncludeMap?: CustomerPolicyScopeMap;
341 /**
342 * Specifies the AWS account IDs to exclude from the policy. The IncludeMap values are evaluated first, with all the appropriate account IDs added to the policy. Then the accounts listed in ExcludeMap are removed, resulting in the final list of accounts to add to the policy. The key to the map is ACCOUNT. For example, a valid ExcludeMap would be {“ACCOUNT” : [“accountID1”, “accountID2”]}.
343 */
344 ExcludeMap?: CustomerPolicyScopeMap;
345 }
346 export interface PolicyComplianceDetail {
347 /**
348 * The AWS account that created the AWS Firewall Manager policy.
349 */
350 PolicyOwner?: AWSAccountId;
351 /**
352 * The ID of the AWS Firewall Manager policy.
353 */
354 PolicyId?: PolicyId;
355 /**
356 * The AWS account ID.
357 */
358 MemberAccount?: AWSAccountId;
359 /**
360 * An array of resources that are not protected by the policy.
361 */
362 Violators?: ComplianceViolators;
363 /**
364 * Indicates if over 100 resources are non-compliant with the AWS Firewall Manager policy.
365 */
366 EvaluationLimitExceeded?: Boolean;
367 /**
368 * A time stamp that indicates when the returned information should be considered out-of-date.
369 */
370 ExpiredAt?: TimeStamp;
371 /**
372 * Details about problems with dependent services, such as AWS WAF or AWS Config, that are causing a resource to be non-compliant. The details include the name of the dependent service and the error message received that indicates the problem with the service.
373 */
374 IssueInfoMap?: IssueInfoMap;
375 }
376 export interface PolicyComplianceStatus {
377 /**
378 * The AWS account that created the AWS Firewall Manager policy.
379 */
380 PolicyOwner?: AWSAccountId;
381 /**
382 * The ID of the AWS Firewall Manager policy.
383 */
384 PolicyId?: PolicyId;
385 /**
386 * The friendly name of the AWS Firewall Manager policy.
387 */
388 PolicyName?: ResourceName;
389 /**
390 * The member account ID.
391 */
392 MemberAccount?: AWSAccountId;
393 /**
394 * An array of EvaluationResult objects.
395 */
396 EvaluationResults?: EvaluationResults;
397 /**
398 * Time stamp of the last update to the EvaluationResult objects.
399 */
400 LastUpdated?: TimeStamp;
401 /**
402 * Details about problems with dependent services, such as AWS WAF or AWS Config, that are causing a resource to be non-compliant. The details include the name of the dependent service and the error message received that indicates the problem with the service.
403 */
404 IssueInfoMap?: IssueInfoMap;
405 }
406 export type PolicyComplianceStatusList = PolicyComplianceStatus[];
407 export type PolicyComplianceStatusType = "COMPLIANT"|"NON_COMPLIANT"|string;
408 export type PolicyId = string;
409 export interface PolicySummary {
410 /**
411 * The Amazon Resource Name (ARN) of the specified policy.
412 */
413 PolicyArn?: ResourceArn;
414 /**
415 * The ID of the specified policy.
416 */
417 PolicyId?: PolicyId;
418 /**
419 * The friendly name of the specified policy.
420 */
421 PolicyName?: ResourceName;
422 /**
423 * The type of resource to protect with the policy, either an Application Load Balancer or a CloudFront distribution. This is in the format shown in AWS Resource Types Reference. Valid values are AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution.
424 */
425 ResourceType?: ResourceType;
426 /**
427 * The service that the policy is using to protect the resources. This value is WAF.
428 */
429 SecurityServiceType?: SecurityServiceType;
430 /**
431 * Indicates if the policy should be automatically applied to new resources.
432 */
433 RemediationEnabled?: Boolean;
434 }
435 export type PolicySummaryList = PolicySummary[];
436 export type PolicyUpdateToken = string;
437 export interface PutNotificationChannelRequest {
438 /**
439 * The Amazon Resource Name (ARN) of the SNS topic that collects notifications from AWS Firewall Manager.
440 */
441 SnsTopicArn: ResourceArn;
442 /**
443 * The Amazon Resource Name (ARN) of the IAM role that allows Amazon SNS to record AWS Firewall Manager activity.
444 */
445 SnsRoleName: ResourceArn;
446 }
447 export interface PutPolicyRequest {
448 /**
449 * The details of the AWS Firewall Manager policy to be created.
450 */
451 Policy: Policy;
452 }
453 export interface PutPolicyResponse {
454 /**
455 * The details of the AWS Firewall Manager policy that was created.
456 */
457 Policy?: Policy;
458 /**
459 * The Amazon Resource Name (ARN) of the policy that was created.
460 */
461 PolicyArn?: ResourceArn;
462 }
463 export type ResourceArn = string;
464 export type ResourceCount = number;
465 export type ResourceId = string;
466 export type ResourceName = string;
467 export interface ResourceTag {
468 /**
469 * The resource tag key.
470 */
471 Key: TagKey;
472 /**
473 * The resource tag value.
474 */
475 Value?: TagValue;
476 }
477 export type ResourceTags = ResourceTag[];
478 export type ResourceType = string;
479 export interface SecurityServicePolicyData {
480 /**
481 * The service that the policy is using to protect the resources. This value is WAF.
482 */
483 Type: SecurityServiceType;
484 /**
485 * Details about the service. This contains WAF data in JSON format, as shown in the following example: ManagedServiceData": "{\"type\": \"WAF\", \"ruleGroups\": [{\"id\": \"12345678-1bcd-9012-efga-0987654321ab\", \"overrideAction\" : {\"type\": \"COUNT\"}}], \"defaultAction\": {\"type\": \"BLOCK\"}}
486 */
487 ManagedServiceData?: ManagedServiceData;
488 }
489 export type SecurityServiceType = "WAF"|string;
490 export type TagKey = string;
491 export type TagValue = string;
492 export type TimeStamp = Date;
493 export type ViolationReason = "WEB_ACL_MISSING_RULE_GROUP"|"RESOURCE_MISSING_WEB_ACL"|"RESOURCE_INCORRECT_WEB_ACL"|string;
494 /**
495 * 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.
496 */
497 export type apiVersion = "2018-01-01"|"latest"|string;
498 export interface ClientApiVersions {
499 /**
500 * 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.
501 */
502 apiVersion?: apiVersion;
503 }
504 export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
505 /**
506 * Contains interfaces for use with the FMS client.
507 */
508 export import Types = FMS;
509}
510export = FMS;