github.com/aavshr/aws-sdk-go@v1.41.3/service/acmpca/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package acmpca 4 5 import ( 6 "fmt" 7 "time" 8 9 "github.com/aavshr/aws-sdk-go/aws" 10 "github.com/aavshr/aws-sdk-go/aws/awsutil" 11 "github.com/aavshr/aws-sdk-go/aws/request" 12 "github.com/aavshr/aws-sdk-go/private/protocol" 13 "github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc" 14 ) 15 16 const opCreateCertificateAuthority = "CreateCertificateAuthority" 17 18 // CreateCertificateAuthorityRequest generates a "aws/request.Request" representing the 19 // client's request for the CreateCertificateAuthority operation. The "output" return 20 // value will be populated with the request's response once the request completes 21 // successfully. 22 // 23 // Use "Send" method on the returned Request to send the API call to the service. 24 // the "output" return value is not valid until after Send returns without error. 25 // 26 // See CreateCertificateAuthority for more information on using the CreateCertificateAuthority 27 // API call, and error handling. 28 // 29 // This method is useful when you want to inject custom logic or configuration 30 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 31 // 32 // 33 // // Example sending a request using the CreateCertificateAuthorityRequest method. 34 // req, resp := client.CreateCertificateAuthorityRequest(params) 35 // 36 // err := req.Send() 37 // if err == nil { // resp is now filled 38 // fmt.Println(resp) 39 // } 40 // 41 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/CreateCertificateAuthority 42 func (c *ACMPCA) CreateCertificateAuthorityRequest(input *CreateCertificateAuthorityInput) (req *request.Request, output *CreateCertificateAuthorityOutput) { 43 op := &request.Operation{ 44 Name: opCreateCertificateAuthority, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &CreateCertificateAuthorityInput{} 51 } 52 53 output = &CreateCertificateAuthorityOutput{} 54 req = c.newRequest(op, input, output) 55 return 56 } 57 58 // CreateCertificateAuthority API operation for AWS Certificate Manager Private Certificate Authority. 59 // 60 // Creates a root or subordinate private certificate authority (CA). You must 61 // specify the CA configuration, an optional configuration for Online Certificate 62 // Status Protocol (OCSP) and/or a certificate revocation list (CRL), the CA 63 // type, and an optional idempotency token to avoid accidental creation of multiple 64 // CAs. The CA configuration specifies the name of the algorithm and key size 65 // to be used to create the CA private key, the type of signing algorithm that 66 // the CA uses, and X.500 subject information. The OCSP configuration can optionally 67 // specify a custom URL for the OCSP responder. The CRL configuration specifies 68 // the CRL expiration period in days (the validity period of the CRL), the Amazon 69 // S3 bucket that will contain the CRL, and a CNAME alias for the S3 bucket 70 // that is included in certificates issued by the CA. If successful, this action 71 // returns the Amazon Resource Name (ARN) of the CA. 72 // 73 // ACM Private CA assets that are stored in Amazon S3 can be protected with 74 // encryption. For more information, see Encrypting Your CRLs (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaCreateCa.html#crl-encryption). 75 // 76 // Both PCA and the IAM principal must have permission to write to the S3 bucket 77 // that you specify. If the IAM principal making the call does not have permission 78 // to write to the bucket, then an exception is thrown. For more information, 79 // see Configure Access to ACM Private CA (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaAuthAccess.html). 80 // 81 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 82 // with awserr.Error's Code and Message methods to get detailed information about 83 // the error. 84 // 85 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 86 // API operation CreateCertificateAuthority for usage and error information. 87 // 88 // Returned Error Types: 89 // * InvalidArgsException 90 // One or more of the specified arguments was not valid. 91 // 92 // * InvalidPolicyException 93 // The resource policy is invalid or is missing a required statement. For general 94 // information about IAM policy and statement structure, see Overview of JSON 95 // Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json). 96 // 97 // * InvalidTagException 98 // The tag associated with the CA is not valid. The invalid argument is contained 99 // in the message field. 100 // 101 // * LimitExceededException 102 // An ACM Private CA quota has been exceeded. See the exception message returned 103 // to determine the quota that was exceeded. 104 // 105 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/CreateCertificateAuthority 106 func (c *ACMPCA) CreateCertificateAuthority(input *CreateCertificateAuthorityInput) (*CreateCertificateAuthorityOutput, error) { 107 req, out := c.CreateCertificateAuthorityRequest(input) 108 return out, req.Send() 109 } 110 111 // CreateCertificateAuthorityWithContext is the same as CreateCertificateAuthority with the addition of 112 // the ability to pass a context and additional request options. 113 // 114 // See CreateCertificateAuthority for details on how to use this API operation. 115 // 116 // The context must be non-nil and will be used for request cancellation. If 117 // the context is nil a panic will occur. In the future the SDK may create 118 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 119 // for more information on using Contexts. 120 func (c *ACMPCA) CreateCertificateAuthorityWithContext(ctx aws.Context, input *CreateCertificateAuthorityInput, opts ...request.Option) (*CreateCertificateAuthorityOutput, error) { 121 req, out := c.CreateCertificateAuthorityRequest(input) 122 req.SetContext(ctx) 123 req.ApplyOptions(opts...) 124 return out, req.Send() 125 } 126 127 const opCreateCertificateAuthorityAuditReport = "CreateCertificateAuthorityAuditReport" 128 129 // CreateCertificateAuthorityAuditReportRequest generates a "aws/request.Request" representing the 130 // client's request for the CreateCertificateAuthorityAuditReport operation. The "output" return 131 // value will be populated with the request's response once the request completes 132 // successfully. 133 // 134 // Use "Send" method on the returned Request to send the API call to the service. 135 // the "output" return value is not valid until after Send returns without error. 136 // 137 // See CreateCertificateAuthorityAuditReport for more information on using the CreateCertificateAuthorityAuditReport 138 // API call, and error handling. 139 // 140 // This method is useful when you want to inject custom logic or configuration 141 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 142 // 143 // 144 // // Example sending a request using the CreateCertificateAuthorityAuditReportRequest method. 145 // req, resp := client.CreateCertificateAuthorityAuditReportRequest(params) 146 // 147 // err := req.Send() 148 // if err == nil { // resp is now filled 149 // fmt.Println(resp) 150 // } 151 // 152 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/CreateCertificateAuthorityAuditReport 153 func (c *ACMPCA) CreateCertificateAuthorityAuditReportRequest(input *CreateCertificateAuthorityAuditReportInput) (req *request.Request, output *CreateCertificateAuthorityAuditReportOutput) { 154 op := &request.Operation{ 155 Name: opCreateCertificateAuthorityAuditReport, 156 HTTPMethod: "POST", 157 HTTPPath: "/", 158 } 159 160 if input == nil { 161 input = &CreateCertificateAuthorityAuditReportInput{} 162 } 163 164 output = &CreateCertificateAuthorityAuditReportOutput{} 165 req = c.newRequest(op, input, output) 166 return 167 } 168 169 // CreateCertificateAuthorityAuditReport API operation for AWS Certificate Manager Private Certificate Authority. 170 // 171 // Creates an audit report that lists every time that your CA private key is 172 // used. The report is saved in the Amazon S3 bucket that you specify on input. 173 // The IssueCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_IssueCertificate.html) 174 // and RevokeCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_RevokeCertificate.html) 175 // actions use the private key. 176 // 177 // Both PCA and the IAM principal must have permission to write to the S3 bucket 178 // that you specify. If the IAM principal making the call does not have permission 179 // to write to the bucket, then an exception is thrown. For more information, 180 // see Configure Access to ACM Private CA (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaAuthAccess.html). 181 // 182 // ACM Private CA assets that are stored in Amazon S3 can be protected with 183 // encryption. For more information, see Encrypting Your Audit Reports (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaAuditReport.html#audit-report-encryption). 184 // 185 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 186 // with awserr.Error's Code and Message methods to get detailed information about 187 // the error. 188 // 189 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 190 // API operation CreateCertificateAuthorityAuditReport for usage and error information. 191 // 192 // Returned Error Types: 193 // * RequestInProgressException 194 // Your request is already in progress. 195 // 196 // * RequestFailedException 197 // The request has failed for an unspecified reason. 198 // 199 // * ResourceNotFoundException 200 // A resource such as a private CA, S3 bucket, certificate, audit report, or 201 // policy cannot be found. 202 // 203 // * InvalidArnException 204 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 205 // 206 // * InvalidArgsException 207 // One or more of the specified arguments was not valid. 208 // 209 // * InvalidStateException 210 // The state of the private CA does not allow this action to occur. 211 // 212 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/CreateCertificateAuthorityAuditReport 213 func (c *ACMPCA) CreateCertificateAuthorityAuditReport(input *CreateCertificateAuthorityAuditReportInput) (*CreateCertificateAuthorityAuditReportOutput, error) { 214 req, out := c.CreateCertificateAuthorityAuditReportRequest(input) 215 return out, req.Send() 216 } 217 218 // CreateCertificateAuthorityAuditReportWithContext is the same as CreateCertificateAuthorityAuditReport with the addition of 219 // the ability to pass a context and additional request options. 220 // 221 // See CreateCertificateAuthorityAuditReport for details on how to use this API operation. 222 // 223 // The context must be non-nil and will be used for request cancellation. If 224 // the context is nil a panic will occur. In the future the SDK may create 225 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 226 // for more information on using Contexts. 227 func (c *ACMPCA) CreateCertificateAuthorityAuditReportWithContext(ctx aws.Context, input *CreateCertificateAuthorityAuditReportInput, opts ...request.Option) (*CreateCertificateAuthorityAuditReportOutput, error) { 228 req, out := c.CreateCertificateAuthorityAuditReportRequest(input) 229 req.SetContext(ctx) 230 req.ApplyOptions(opts...) 231 return out, req.Send() 232 } 233 234 const opCreatePermission = "CreatePermission" 235 236 // CreatePermissionRequest generates a "aws/request.Request" representing the 237 // client's request for the CreatePermission operation. The "output" return 238 // value will be populated with the request's response once the request completes 239 // successfully. 240 // 241 // Use "Send" method on the returned Request to send the API call to the service. 242 // the "output" return value is not valid until after Send returns without error. 243 // 244 // See CreatePermission for more information on using the CreatePermission 245 // API call, and error handling. 246 // 247 // This method is useful when you want to inject custom logic or configuration 248 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 249 // 250 // 251 // // Example sending a request using the CreatePermissionRequest method. 252 // req, resp := client.CreatePermissionRequest(params) 253 // 254 // err := req.Send() 255 // if err == nil { // resp is now filled 256 // fmt.Println(resp) 257 // } 258 // 259 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/CreatePermission 260 func (c *ACMPCA) CreatePermissionRequest(input *CreatePermissionInput) (req *request.Request, output *CreatePermissionOutput) { 261 op := &request.Operation{ 262 Name: opCreatePermission, 263 HTTPMethod: "POST", 264 HTTPPath: "/", 265 } 266 267 if input == nil { 268 input = &CreatePermissionInput{} 269 } 270 271 output = &CreatePermissionOutput{} 272 req = c.newRequest(op, input, output) 273 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 274 return 275 } 276 277 // CreatePermission API operation for AWS Certificate Manager Private Certificate Authority. 278 // 279 // Grants one or more permissions on a private CA to the AWS Certificate Manager 280 // (ACM) service principal (acm.amazonaws.com). These permissions allow ACM 281 // to issue and renew ACM certificates that reside in the same AWS account as 282 // the CA. 283 // 284 // You can list current permissions with the ListPermissions (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListPermissions.html) 285 // action and revoke them with the DeletePermission (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DeletePermission.html) 286 // action. 287 // 288 // About Permissions 289 // 290 // * If the private CA and the certificates it issues reside in the same 291 // account, you can use CreatePermission to grant permissions for ACM to 292 // carry out automatic certificate renewals. 293 // 294 // * For automatic certificate renewal to succeed, the ACM service principal 295 // needs permissions to create, retrieve, and list certificates. 296 // 297 // * If the private CA and the ACM certificates reside in different accounts, 298 // then permissions cannot be used to enable automatic renewals. Instead, 299 // the ACM certificate owner must set up a resource-based policy to enable 300 // cross-account issuance and renewals. For more information, see Using a 301 // Resource Based Policy with ACM Private CA (https://docs.aws.amazon.com/acm-pca/latest/userguide/pca-rbp.html). 302 // 303 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 304 // with awserr.Error's Code and Message methods to get detailed information about 305 // the error. 306 // 307 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 308 // API operation CreatePermission for usage and error information. 309 // 310 // Returned Error Types: 311 // * ResourceNotFoundException 312 // A resource such as a private CA, S3 bucket, certificate, audit report, or 313 // policy cannot be found. 314 // 315 // * InvalidArnException 316 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 317 // 318 // * PermissionAlreadyExistsException 319 // The designated permission has already been given to the user. 320 // 321 // * LimitExceededException 322 // An ACM Private CA quota has been exceeded. See the exception message returned 323 // to determine the quota that was exceeded. 324 // 325 // * InvalidStateException 326 // The state of the private CA does not allow this action to occur. 327 // 328 // * RequestFailedException 329 // The request has failed for an unspecified reason. 330 // 331 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/CreatePermission 332 func (c *ACMPCA) CreatePermission(input *CreatePermissionInput) (*CreatePermissionOutput, error) { 333 req, out := c.CreatePermissionRequest(input) 334 return out, req.Send() 335 } 336 337 // CreatePermissionWithContext is the same as CreatePermission with the addition of 338 // the ability to pass a context and additional request options. 339 // 340 // See CreatePermission for details on how to use this API operation. 341 // 342 // The context must be non-nil and will be used for request cancellation. If 343 // the context is nil a panic will occur. In the future the SDK may create 344 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 345 // for more information on using Contexts. 346 func (c *ACMPCA) CreatePermissionWithContext(ctx aws.Context, input *CreatePermissionInput, opts ...request.Option) (*CreatePermissionOutput, error) { 347 req, out := c.CreatePermissionRequest(input) 348 req.SetContext(ctx) 349 req.ApplyOptions(opts...) 350 return out, req.Send() 351 } 352 353 const opDeleteCertificateAuthority = "DeleteCertificateAuthority" 354 355 // DeleteCertificateAuthorityRequest generates a "aws/request.Request" representing the 356 // client's request for the DeleteCertificateAuthority operation. The "output" return 357 // value will be populated with the request's response once the request completes 358 // successfully. 359 // 360 // Use "Send" method on the returned Request to send the API call to the service. 361 // the "output" return value is not valid until after Send returns without error. 362 // 363 // See DeleteCertificateAuthority for more information on using the DeleteCertificateAuthority 364 // API call, and error handling. 365 // 366 // This method is useful when you want to inject custom logic or configuration 367 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 368 // 369 // 370 // // Example sending a request using the DeleteCertificateAuthorityRequest method. 371 // req, resp := client.DeleteCertificateAuthorityRequest(params) 372 // 373 // err := req.Send() 374 // if err == nil { // resp is now filled 375 // fmt.Println(resp) 376 // } 377 // 378 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DeleteCertificateAuthority 379 func (c *ACMPCA) DeleteCertificateAuthorityRequest(input *DeleteCertificateAuthorityInput) (req *request.Request, output *DeleteCertificateAuthorityOutput) { 380 op := &request.Operation{ 381 Name: opDeleteCertificateAuthority, 382 HTTPMethod: "POST", 383 HTTPPath: "/", 384 } 385 386 if input == nil { 387 input = &DeleteCertificateAuthorityInput{} 388 } 389 390 output = &DeleteCertificateAuthorityOutput{} 391 req = c.newRequest(op, input, output) 392 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 393 return 394 } 395 396 // DeleteCertificateAuthority API operation for AWS Certificate Manager Private Certificate Authority. 397 // 398 // Deletes a private certificate authority (CA). You must provide the Amazon 399 // Resource Name (ARN) of the private CA that you want to delete. You can find 400 // the ARN by calling the ListCertificateAuthorities (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html) 401 // action. 402 // 403 // Deleting a CA will invalidate other CAs and certificates below it in your 404 // CA hierarchy. 405 // 406 // Before you can delete a CA that you have created and activated, you must 407 // disable it. To do this, call the UpdateCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UpdateCertificateAuthority.html) 408 // action and set the CertificateAuthorityStatus parameter to DISABLED. 409 // 410 // Additionally, you can delete a CA if you are waiting for it to be created 411 // (that is, the status of the CA is CREATING). You can also delete it if the 412 // CA has been created but you haven't yet imported the signed certificate into 413 // ACM Private CA (that is, the status of the CA is PENDING_CERTIFICATE). 414 // 415 // When you successfully call DeleteCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DeleteCertificateAuthority.html), 416 // the CA's status changes to DELETED. However, the CA won't be permanently 417 // deleted until the restoration period has passed. By default, if you do not 418 // set the PermanentDeletionTimeInDays parameter, the CA remains restorable 419 // for 30 days. You can set the parameter from 7 to 30 days. The DescribeCertificateAuthority 420 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DescribeCertificateAuthority.html) 421 // action returns the time remaining in the restoration window of a private 422 // CA in the DELETED state. To restore an eligible CA, call the RestoreCertificateAuthority 423 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_RestoreCertificateAuthority.html) 424 // action. 425 // 426 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 427 // with awserr.Error's Code and Message methods to get detailed information about 428 // the error. 429 // 430 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 431 // API operation DeleteCertificateAuthority for usage and error information. 432 // 433 // Returned Error Types: 434 // * ConcurrentModificationException 435 // A previous update to your private CA is still ongoing. 436 // 437 // * ResourceNotFoundException 438 // A resource such as a private CA, S3 bucket, certificate, audit report, or 439 // policy cannot be found. 440 // 441 // * InvalidArnException 442 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 443 // 444 // * InvalidStateException 445 // The state of the private CA does not allow this action to occur. 446 // 447 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DeleteCertificateAuthority 448 func (c *ACMPCA) DeleteCertificateAuthority(input *DeleteCertificateAuthorityInput) (*DeleteCertificateAuthorityOutput, error) { 449 req, out := c.DeleteCertificateAuthorityRequest(input) 450 return out, req.Send() 451 } 452 453 // DeleteCertificateAuthorityWithContext is the same as DeleteCertificateAuthority with the addition of 454 // the ability to pass a context and additional request options. 455 // 456 // See DeleteCertificateAuthority for details on how to use this API operation. 457 // 458 // The context must be non-nil and will be used for request cancellation. If 459 // the context is nil a panic will occur. In the future the SDK may create 460 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 461 // for more information on using Contexts. 462 func (c *ACMPCA) DeleteCertificateAuthorityWithContext(ctx aws.Context, input *DeleteCertificateAuthorityInput, opts ...request.Option) (*DeleteCertificateAuthorityOutput, error) { 463 req, out := c.DeleteCertificateAuthorityRequest(input) 464 req.SetContext(ctx) 465 req.ApplyOptions(opts...) 466 return out, req.Send() 467 } 468 469 const opDeletePermission = "DeletePermission" 470 471 // DeletePermissionRequest generates a "aws/request.Request" representing the 472 // client's request for the DeletePermission operation. The "output" return 473 // value will be populated with the request's response once the request completes 474 // successfully. 475 // 476 // Use "Send" method on the returned Request to send the API call to the service. 477 // the "output" return value is not valid until after Send returns without error. 478 // 479 // See DeletePermission for more information on using the DeletePermission 480 // API call, and error handling. 481 // 482 // This method is useful when you want to inject custom logic or configuration 483 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 484 // 485 // 486 // // Example sending a request using the DeletePermissionRequest method. 487 // req, resp := client.DeletePermissionRequest(params) 488 // 489 // err := req.Send() 490 // if err == nil { // resp is now filled 491 // fmt.Println(resp) 492 // } 493 // 494 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DeletePermission 495 func (c *ACMPCA) DeletePermissionRequest(input *DeletePermissionInput) (req *request.Request, output *DeletePermissionOutput) { 496 op := &request.Operation{ 497 Name: opDeletePermission, 498 HTTPMethod: "POST", 499 HTTPPath: "/", 500 } 501 502 if input == nil { 503 input = &DeletePermissionInput{} 504 } 505 506 output = &DeletePermissionOutput{} 507 req = c.newRequest(op, input, output) 508 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 509 return 510 } 511 512 // DeletePermission API operation for AWS Certificate Manager Private Certificate Authority. 513 // 514 // Revokes permissions on a private CA granted to the AWS Certificate Manager 515 // (ACM) service principal (acm.amazonaws.com). 516 // 517 // These permissions allow ACM to issue and renew ACM certificates that reside 518 // in the same AWS account as the CA. If you revoke these permissions, ACM will 519 // no longer renew the affected certificates automatically. 520 // 521 // Permissions can be granted with the CreatePermission (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreatePermission.html) 522 // action and listed with the ListPermissions (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListPermissions.html) 523 // action. 524 // 525 // About Permissions 526 // 527 // * If the private CA and the certificates it issues reside in the same 528 // account, you can use CreatePermission to grant permissions for ACM to 529 // carry out automatic certificate renewals. 530 // 531 // * For automatic certificate renewal to succeed, the ACM service principal 532 // needs permissions to create, retrieve, and list certificates. 533 // 534 // * If the private CA and the ACM certificates reside in different accounts, 535 // then permissions cannot be used to enable automatic renewals. Instead, 536 // the ACM certificate owner must set up a resource-based policy to enable 537 // cross-account issuance and renewals. For more information, see Using a 538 // Resource Based Policy with ACM Private CA (https://docs.aws.amazon.com/acm-pca/latest/userguide/pca-rbp.html). 539 // 540 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 541 // with awserr.Error's Code and Message methods to get detailed information about 542 // the error. 543 // 544 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 545 // API operation DeletePermission for usage and error information. 546 // 547 // Returned Error Types: 548 // * ResourceNotFoundException 549 // A resource such as a private CA, S3 bucket, certificate, audit report, or 550 // policy cannot be found. 551 // 552 // * InvalidArnException 553 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 554 // 555 // * InvalidStateException 556 // The state of the private CA does not allow this action to occur. 557 // 558 // * RequestFailedException 559 // The request has failed for an unspecified reason. 560 // 561 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DeletePermission 562 func (c *ACMPCA) DeletePermission(input *DeletePermissionInput) (*DeletePermissionOutput, error) { 563 req, out := c.DeletePermissionRequest(input) 564 return out, req.Send() 565 } 566 567 // DeletePermissionWithContext is the same as DeletePermission with the addition of 568 // the ability to pass a context and additional request options. 569 // 570 // See DeletePermission for details on how to use this API operation. 571 // 572 // The context must be non-nil and will be used for request cancellation. If 573 // the context is nil a panic will occur. In the future the SDK may create 574 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 575 // for more information on using Contexts. 576 func (c *ACMPCA) DeletePermissionWithContext(ctx aws.Context, input *DeletePermissionInput, opts ...request.Option) (*DeletePermissionOutput, error) { 577 req, out := c.DeletePermissionRequest(input) 578 req.SetContext(ctx) 579 req.ApplyOptions(opts...) 580 return out, req.Send() 581 } 582 583 const opDeletePolicy = "DeletePolicy" 584 585 // DeletePolicyRequest generates a "aws/request.Request" representing the 586 // client's request for the DeletePolicy operation. The "output" return 587 // value will be populated with the request's response once the request completes 588 // successfully. 589 // 590 // Use "Send" method on the returned Request to send the API call to the service. 591 // the "output" return value is not valid until after Send returns without error. 592 // 593 // See DeletePolicy for more information on using the DeletePolicy 594 // API call, and error handling. 595 // 596 // This method is useful when you want to inject custom logic or configuration 597 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 598 // 599 // 600 // // Example sending a request using the DeletePolicyRequest method. 601 // req, resp := client.DeletePolicyRequest(params) 602 // 603 // err := req.Send() 604 // if err == nil { // resp is now filled 605 // fmt.Println(resp) 606 // } 607 // 608 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DeletePolicy 609 func (c *ACMPCA) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Request, output *DeletePolicyOutput) { 610 op := &request.Operation{ 611 Name: opDeletePolicy, 612 HTTPMethod: "POST", 613 HTTPPath: "/", 614 } 615 616 if input == nil { 617 input = &DeletePolicyInput{} 618 } 619 620 output = &DeletePolicyOutput{} 621 req = c.newRequest(op, input, output) 622 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 623 return 624 } 625 626 // DeletePolicy API operation for AWS Certificate Manager Private Certificate Authority. 627 // 628 // Deletes the resource-based policy attached to a private CA. Deletion will 629 // remove any access that the policy has granted. If there is no policy attached 630 // to the private CA, this action will return successful. 631 // 632 // If you delete a policy that was applied through AWS Resource Access Manager 633 // (RAM), the CA will be removed from all shares in which it was included. 634 // 635 // The AWS Certificate Manager Service Linked Role that the policy supports 636 // is not affected when you delete the policy. 637 // 638 // The current policy can be shown with GetPolicy (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_GetPolicy.html) 639 // and updated with PutPolicy (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_PutPolicy.html). 640 // 641 // About Policies 642 // 643 // * A policy grants access on a private CA to an AWS customer account, to 644 // AWS Organizations, or to an AWS Organizations unit. Policies are under 645 // the control of a CA administrator. For more information, see Using a Resource 646 // Based Policy with ACM Private CA (https://docs.aws.amazon.com/acm-pca/latest/userguide/pca-rbp.html). 647 // 648 // * A policy permits a user of AWS Certificate Manager (ACM) to issue ACM 649 // certificates signed by a CA in another account. 650 // 651 // * For ACM to manage automatic renewal of these certificates, the ACM user 652 // must configure a Service Linked Role (SLR). The SLR allows the ACM service 653 // to assume the identity of the user, subject to confirmation against the 654 // ACM Private CA policy. For more information, see Using a Service Linked 655 // Role with ACM (https://docs.aws.amazon.com/acm/latest/userguide/acm-slr.html). 656 // 657 // * Updates made in AWS Resource Manager (RAM) are reflected in policies. 658 // For more information, see Attach a Policy for Cross-Account Access (https://docs.aws.amazon.com/acm-pca/latest/userguide/pca-ram.html). 659 // 660 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 661 // with awserr.Error's Code and Message methods to get detailed information about 662 // the error. 663 // 664 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 665 // API operation DeletePolicy for usage and error information. 666 // 667 // Returned Error Types: 668 // * ConcurrentModificationException 669 // A previous update to your private CA is still ongoing. 670 // 671 // * InvalidArnException 672 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 673 // 674 // * InvalidStateException 675 // The state of the private CA does not allow this action to occur. 676 // 677 // * LockoutPreventedException 678 // The current action was prevented because it would lock the caller out from 679 // performing subsequent actions. Verify that the specified parameters would 680 // not result in the caller being denied access to the resource. 681 // 682 // * RequestFailedException 683 // The request has failed for an unspecified reason. 684 // 685 // * ResourceNotFoundException 686 // A resource such as a private CA, S3 bucket, certificate, audit report, or 687 // policy cannot be found. 688 // 689 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DeletePolicy 690 func (c *ACMPCA) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutput, error) { 691 req, out := c.DeletePolicyRequest(input) 692 return out, req.Send() 693 } 694 695 // DeletePolicyWithContext is the same as DeletePolicy with the addition of 696 // the ability to pass a context and additional request options. 697 // 698 // See DeletePolicy for details on how to use this API operation. 699 // 700 // The context must be non-nil and will be used for request cancellation. If 701 // the context is nil a panic will occur. In the future the SDK may create 702 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 703 // for more information on using Contexts. 704 func (c *ACMPCA) DeletePolicyWithContext(ctx aws.Context, input *DeletePolicyInput, opts ...request.Option) (*DeletePolicyOutput, error) { 705 req, out := c.DeletePolicyRequest(input) 706 req.SetContext(ctx) 707 req.ApplyOptions(opts...) 708 return out, req.Send() 709 } 710 711 const opDescribeCertificateAuthority = "DescribeCertificateAuthority" 712 713 // DescribeCertificateAuthorityRequest generates a "aws/request.Request" representing the 714 // client's request for the DescribeCertificateAuthority operation. The "output" return 715 // value will be populated with the request's response once the request completes 716 // successfully. 717 // 718 // Use "Send" method on the returned Request to send the API call to the service. 719 // the "output" return value is not valid until after Send returns without error. 720 // 721 // See DescribeCertificateAuthority for more information on using the DescribeCertificateAuthority 722 // API call, and error handling. 723 // 724 // This method is useful when you want to inject custom logic or configuration 725 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 726 // 727 // 728 // // Example sending a request using the DescribeCertificateAuthorityRequest method. 729 // req, resp := client.DescribeCertificateAuthorityRequest(params) 730 // 731 // err := req.Send() 732 // if err == nil { // resp is now filled 733 // fmt.Println(resp) 734 // } 735 // 736 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DescribeCertificateAuthority 737 func (c *ACMPCA) DescribeCertificateAuthorityRequest(input *DescribeCertificateAuthorityInput) (req *request.Request, output *DescribeCertificateAuthorityOutput) { 738 op := &request.Operation{ 739 Name: opDescribeCertificateAuthority, 740 HTTPMethod: "POST", 741 HTTPPath: "/", 742 } 743 744 if input == nil { 745 input = &DescribeCertificateAuthorityInput{} 746 } 747 748 output = &DescribeCertificateAuthorityOutput{} 749 req = c.newRequest(op, input, output) 750 return 751 } 752 753 // DescribeCertificateAuthority API operation for AWS Certificate Manager Private Certificate Authority. 754 // 755 // Lists information about your private certificate authority (CA) or one that 756 // has been shared with you. You specify the private CA on input by its ARN 757 // (Amazon Resource Name). The output contains the status of your CA. This can 758 // be any of the following: 759 // 760 // * CREATING - ACM Private CA is creating your private certificate authority. 761 // 762 // * PENDING_CERTIFICATE - The certificate is pending. You must use your 763 // ACM Private CA-hosted or on-premises root or subordinate CA to sign your 764 // private CA CSR and then import it into PCA. 765 // 766 // * ACTIVE - Your private CA is active. 767 // 768 // * DISABLED - Your private CA has been disabled. 769 // 770 // * EXPIRED - Your private CA certificate has expired. 771 // 772 // * FAILED - Your private CA has failed. Your CA can fail because of problems 773 // such a network outage or back-end AWS failure or other errors. A failed 774 // CA can never return to the pending state. You must create a new CA. 775 // 776 // * DELETED - Your private CA is within the restoration period, after which 777 // it is permanently deleted. The length of time remaining in the CA's restoration 778 // period is also included in this action's output. 779 // 780 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 781 // with awserr.Error's Code and Message methods to get detailed information about 782 // the error. 783 // 784 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 785 // API operation DescribeCertificateAuthority for usage and error information. 786 // 787 // Returned Error Types: 788 // * ResourceNotFoundException 789 // A resource such as a private CA, S3 bucket, certificate, audit report, or 790 // policy cannot be found. 791 // 792 // * InvalidArnException 793 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 794 // 795 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DescribeCertificateAuthority 796 func (c *ACMPCA) DescribeCertificateAuthority(input *DescribeCertificateAuthorityInput) (*DescribeCertificateAuthorityOutput, error) { 797 req, out := c.DescribeCertificateAuthorityRequest(input) 798 return out, req.Send() 799 } 800 801 // DescribeCertificateAuthorityWithContext is the same as DescribeCertificateAuthority with the addition of 802 // the ability to pass a context and additional request options. 803 // 804 // See DescribeCertificateAuthority for details on how to use this API operation. 805 // 806 // The context must be non-nil and will be used for request cancellation. If 807 // the context is nil a panic will occur. In the future the SDK may create 808 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 809 // for more information on using Contexts. 810 func (c *ACMPCA) DescribeCertificateAuthorityWithContext(ctx aws.Context, input *DescribeCertificateAuthorityInput, opts ...request.Option) (*DescribeCertificateAuthorityOutput, error) { 811 req, out := c.DescribeCertificateAuthorityRequest(input) 812 req.SetContext(ctx) 813 req.ApplyOptions(opts...) 814 return out, req.Send() 815 } 816 817 const opDescribeCertificateAuthorityAuditReport = "DescribeCertificateAuthorityAuditReport" 818 819 // DescribeCertificateAuthorityAuditReportRequest generates a "aws/request.Request" representing the 820 // client's request for the DescribeCertificateAuthorityAuditReport operation. The "output" return 821 // value will be populated with the request's response once the request completes 822 // successfully. 823 // 824 // Use "Send" method on the returned Request to send the API call to the service. 825 // the "output" return value is not valid until after Send returns without error. 826 // 827 // See DescribeCertificateAuthorityAuditReport for more information on using the DescribeCertificateAuthorityAuditReport 828 // API call, and error handling. 829 // 830 // This method is useful when you want to inject custom logic or configuration 831 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 832 // 833 // 834 // // Example sending a request using the DescribeCertificateAuthorityAuditReportRequest method. 835 // req, resp := client.DescribeCertificateAuthorityAuditReportRequest(params) 836 // 837 // err := req.Send() 838 // if err == nil { // resp is now filled 839 // fmt.Println(resp) 840 // } 841 // 842 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DescribeCertificateAuthorityAuditReport 843 func (c *ACMPCA) DescribeCertificateAuthorityAuditReportRequest(input *DescribeCertificateAuthorityAuditReportInput) (req *request.Request, output *DescribeCertificateAuthorityAuditReportOutput) { 844 op := &request.Operation{ 845 Name: opDescribeCertificateAuthorityAuditReport, 846 HTTPMethod: "POST", 847 HTTPPath: "/", 848 } 849 850 if input == nil { 851 input = &DescribeCertificateAuthorityAuditReportInput{} 852 } 853 854 output = &DescribeCertificateAuthorityAuditReportOutput{} 855 req = c.newRequest(op, input, output) 856 return 857 } 858 859 // DescribeCertificateAuthorityAuditReport API operation for AWS Certificate Manager Private Certificate Authority. 860 // 861 // Lists information about a specific audit report created by calling the CreateCertificateAuthorityAuditReport 862 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthorityAuditReport.html) 863 // action. Audit information is created every time the certificate authority 864 // (CA) private key is used. The private key is used when you call the IssueCertificate 865 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_IssueCertificate.html) 866 // action or the RevokeCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_RevokeCertificate.html) 867 // action. 868 // 869 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 870 // with awserr.Error's Code and Message methods to get detailed information about 871 // the error. 872 // 873 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 874 // API operation DescribeCertificateAuthorityAuditReport for usage and error information. 875 // 876 // Returned Error Types: 877 // * ResourceNotFoundException 878 // A resource such as a private CA, S3 bucket, certificate, audit report, or 879 // policy cannot be found. 880 // 881 // * InvalidArnException 882 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 883 // 884 // * InvalidArgsException 885 // One or more of the specified arguments was not valid. 886 // 887 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DescribeCertificateAuthorityAuditReport 888 func (c *ACMPCA) DescribeCertificateAuthorityAuditReport(input *DescribeCertificateAuthorityAuditReportInput) (*DescribeCertificateAuthorityAuditReportOutput, error) { 889 req, out := c.DescribeCertificateAuthorityAuditReportRequest(input) 890 return out, req.Send() 891 } 892 893 // DescribeCertificateAuthorityAuditReportWithContext is the same as DescribeCertificateAuthorityAuditReport with the addition of 894 // the ability to pass a context and additional request options. 895 // 896 // See DescribeCertificateAuthorityAuditReport for details on how to use this API operation. 897 // 898 // The context must be non-nil and will be used for request cancellation. If 899 // the context is nil a panic will occur. In the future the SDK may create 900 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 901 // for more information on using Contexts. 902 func (c *ACMPCA) DescribeCertificateAuthorityAuditReportWithContext(ctx aws.Context, input *DescribeCertificateAuthorityAuditReportInput, opts ...request.Option) (*DescribeCertificateAuthorityAuditReportOutput, error) { 903 req, out := c.DescribeCertificateAuthorityAuditReportRequest(input) 904 req.SetContext(ctx) 905 req.ApplyOptions(opts...) 906 return out, req.Send() 907 } 908 909 const opGetCertificate = "GetCertificate" 910 911 // GetCertificateRequest generates a "aws/request.Request" representing the 912 // client's request for the GetCertificate operation. The "output" return 913 // value will be populated with the request's response once the request completes 914 // successfully. 915 // 916 // Use "Send" method on the returned Request to send the API call to the service. 917 // the "output" return value is not valid until after Send returns without error. 918 // 919 // See GetCertificate for more information on using the GetCertificate 920 // API call, and error handling. 921 // 922 // This method is useful when you want to inject custom logic or configuration 923 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 924 // 925 // 926 // // Example sending a request using the GetCertificateRequest method. 927 // req, resp := client.GetCertificateRequest(params) 928 // 929 // err := req.Send() 930 // if err == nil { // resp is now filled 931 // fmt.Println(resp) 932 // } 933 // 934 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/GetCertificate 935 func (c *ACMPCA) GetCertificateRequest(input *GetCertificateInput) (req *request.Request, output *GetCertificateOutput) { 936 op := &request.Operation{ 937 Name: opGetCertificate, 938 HTTPMethod: "POST", 939 HTTPPath: "/", 940 } 941 942 if input == nil { 943 input = &GetCertificateInput{} 944 } 945 946 output = &GetCertificateOutput{} 947 req = c.newRequest(op, input, output) 948 return 949 } 950 951 // GetCertificate API operation for AWS Certificate Manager Private Certificate Authority. 952 // 953 // Retrieves a certificate from your private CA or one that has been shared 954 // with you. The ARN of the certificate is returned when you call the IssueCertificate 955 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_IssueCertificate.html) 956 // action. You must specify both the ARN of your private CA and the ARN of the 957 // issued certificate when calling the GetCertificate action. You can retrieve 958 // the certificate if it is in the ISSUED state. You can call the CreateCertificateAuthorityAuditReport 959 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthorityAuditReport.html) 960 // action to create a report that contains information about all of the certificates 961 // issued and revoked by your private CA. 962 // 963 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 964 // with awserr.Error's Code and Message methods to get detailed information about 965 // the error. 966 // 967 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 968 // API operation GetCertificate for usage and error information. 969 // 970 // Returned Error Types: 971 // * RequestInProgressException 972 // Your request is already in progress. 973 // 974 // * RequestFailedException 975 // The request has failed for an unspecified reason. 976 // 977 // * ResourceNotFoundException 978 // A resource such as a private CA, S3 bucket, certificate, audit report, or 979 // policy cannot be found. 980 // 981 // * InvalidArnException 982 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 983 // 984 // * InvalidStateException 985 // The state of the private CA does not allow this action to occur. 986 // 987 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/GetCertificate 988 func (c *ACMPCA) GetCertificate(input *GetCertificateInput) (*GetCertificateOutput, error) { 989 req, out := c.GetCertificateRequest(input) 990 return out, req.Send() 991 } 992 993 // GetCertificateWithContext is the same as GetCertificate with the addition of 994 // the ability to pass a context and additional request options. 995 // 996 // See GetCertificate for details on how to use this API operation. 997 // 998 // The context must be non-nil and will be used for request cancellation. If 999 // the context is nil a panic will occur. In the future the SDK may create 1000 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1001 // for more information on using Contexts. 1002 func (c *ACMPCA) GetCertificateWithContext(ctx aws.Context, input *GetCertificateInput, opts ...request.Option) (*GetCertificateOutput, error) { 1003 req, out := c.GetCertificateRequest(input) 1004 req.SetContext(ctx) 1005 req.ApplyOptions(opts...) 1006 return out, req.Send() 1007 } 1008 1009 const opGetCertificateAuthorityCertificate = "GetCertificateAuthorityCertificate" 1010 1011 // GetCertificateAuthorityCertificateRequest generates a "aws/request.Request" representing the 1012 // client's request for the GetCertificateAuthorityCertificate operation. The "output" return 1013 // value will be populated with the request's response once the request completes 1014 // successfully. 1015 // 1016 // Use "Send" method on the returned Request to send the API call to the service. 1017 // the "output" return value is not valid until after Send returns without error. 1018 // 1019 // See GetCertificateAuthorityCertificate for more information on using the GetCertificateAuthorityCertificate 1020 // API call, and error handling. 1021 // 1022 // This method is useful when you want to inject custom logic or configuration 1023 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1024 // 1025 // 1026 // // Example sending a request using the GetCertificateAuthorityCertificateRequest method. 1027 // req, resp := client.GetCertificateAuthorityCertificateRequest(params) 1028 // 1029 // err := req.Send() 1030 // if err == nil { // resp is now filled 1031 // fmt.Println(resp) 1032 // } 1033 // 1034 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/GetCertificateAuthorityCertificate 1035 func (c *ACMPCA) GetCertificateAuthorityCertificateRequest(input *GetCertificateAuthorityCertificateInput) (req *request.Request, output *GetCertificateAuthorityCertificateOutput) { 1036 op := &request.Operation{ 1037 Name: opGetCertificateAuthorityCertificate, 1038 HTTPMethod: "POST", 1039 HTTPPath: "/", 1040 } 1041 1042 if input == nil { 1043 input = &GetCertificateAuthorityCertificateInput{} 1044 } 1045 1046 output = &GetCertificateAuthorityCertificateOutput{} 1047 req = c.newRequest(op, input, output) 1048 return 1049 } 1050 1051 // GetCertificateAuthorityCertificate API operation for AWS Certificate Manager Private Certificate Authority. 1052 // 1053 // Retrieves the certificate and certificate chain for your private certificate 1054 // authority (CA) or one that has been shared with you. Both the certificate 1055 // and the chain are base64 PEM-encoded. The chain does not include the CA certificate. 1056 // Each certificate in the chain signs the one before it. 1057 // 1058 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1059 // with awserr.Error's Code and Message methods to get detailed information about 1060 // the error. 1061 // 1062 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 1063 // API operation GetCertificateAuthorityCertificate for usage and error information. 1064 // 1065 // Returned Error Types: 1066 // * ResourceNotFoundException 1067 // A resource such as a private CA, S3 bucket, certificate, audit report, or 1068 // policy cannot be found. 1069 // 1070 // * InvalidStateException 1071 // The state of the private CA does not allow this action to occur. 1072 // 1073 // * InvalidArnException 1074 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 1075 // 1076 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/GetCertificateAuthorityCertificate 1077 func (c *ACMPCA) GetCertificateAuthorityCertificate(input *GetCertificateAuthorityCertificateInput) (*GetCertificateAuthorityCertificateOutput, error) { 1078 req, out := c.GetCertificateAuthorityCertificateRequest(input) 1079 return out, req.Send() 1080 } 1081 1082 // GetCertificateAuthorityCertificateWithContext is the same as GetCertificateAuthorityCertificate with the addition of 1083 // the ability to pass a context and additional request options. 1084 // 1085 // See GetCertificateAuthorityCertificate for details on how to use this API operation. 1086 // 1087 // The context must be non-nil and will be used for request cancellation. If 1088 // the context is nil a panic will occur. In the future the SDK may create 1089 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1090 // for more information on using Contexts. 1091 func (c *ACMPCA) GetCertificateAuthorityCertificateWithContext(ctx aws.Context, input *GetCertificateAuthorityCertificateInput, opts ...request.Option) (*GetCertificateAuthorityCertificateOutput, error) { 1092 req, out := c.GetCertificateAuthorityCertificateRequest(input) 1093 req.SetContext(ctx) 1094 req.ApplyOptions(opts...) 1095 return out, req.Send() 1096 } 1097 1098 const opGetCertificateAuthorityCsr = "GetCertificateAuthorityCsr" 1099 1100 // GetCertificateAuthorityCsrRequest generates a "aws/request.Request" representing the 1101 // client's request for the GetCertificateAuthorityCsr operation. The "output" return 1102 // value will be populated with the request's response once the request completes 1103 // successfully. 1104 // 1105 // Use "Send" method on the returned Request to send the API call to the service. 1106 // the "output" return value is not valid until after Send returns without error. 1107 // 1108 // See GetCertificateAuthorityCsr for more information on using the GetCertificateAuthorityCsr 1109 // API call, and error handling. 1110 // 1111 // This method is useful when you want to inject custom logic or configuration 1112 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1113 // 1114 // 1115 // // Example sending a request using the GetCertificateAuthorityCsrRequest method. 1116 // req, resp := client.GetCertificateAuthorityCsrRequest(params) 1117 // 1118 // err := req.Send() 1119 // if err == nil { // resp is now filled 1120 // fmt.Println(resp) 1121 // } 1122 // 1123 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/GetCertificateAuthorityCsr 1124 func (c *ACMPCA) GetCertificateAuthorityCsrRequest(input *GetCertificateAuthorityCsrInput) (req *request.Request, output *GetCertificateAuthorityCsrOutput) { 1125 op := &request.Operation{ 1126 Name: opGetCertificateAuthorityCsr, 1127 HTTPMethod: "POST", 1128 HTTPPath: "/", 1129 } 1130 1131 if input == nil { 1132 input = &GetCertificateAuthorityCsrInput{} 1133 } 1134 1135 output = &GetCertificateAuthorityCsrOutput{} 1136 req = c.newRequest(op, input, output) 1137 return 1138 } 1139 1140 // GetCertificateAuthorityCsr API operation for AWS Certificate Manager Private Certificate Authority. 1141 // 1142 // Retrieves the certificate signing request (CSR) for your private certificate 1143 // authority (CA). The CSR is created when you call the CreateCertificateAuthority 1144 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) 1145 // action. Sign the CSR with your ACM Private CA-hosted or on-premises root 1146 // or subordinate CA. Then import the signed certificate back into ACM Private 1147 // CA by calling the ImportCertificateAuthorityCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ImportCertificateAuthorityCertificate.html) 1148 // action. The CSR is returned as a base64 PEM-encoded string. 1149 // 1150 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1151 // with awserr.Error's Code and Message methods to get detailed information about 1152 // the error. 1153 // 1154 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 1155 // API operation GetCertificateAuthorityCsr for usage and error information. 1156 // 1157 // Returned Error Types: 1158 // * RequestInProgressException 1159 // Your request is already in progress. 1160 // 1161 // * RequestFailedException 1162 // The request has failed for an unspecified reason. 1163 // 1164 // * ResourceNotFoundException 1165 // A resource such as a private CA, S3 bucket, certificate, audit report, or 1166 // policy cannot be found. 1167 // 1168 // * InvalidArnException 1169 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 1170 // 1171 // * InvalidStateException 1172 // The state of the private CA does not allow this action to occur. 1173 // 1174 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/GetCertificateAuthorityCsr 1175 func (c *ACMPCA) GetCertificateAuthorityCsr(input *GetCertificateAuthorityCsrInput) (*GetCertificateAuthorityCsrOutput, error) { 1176 req, out := c.GetCertificateAuthorityCsrRequest(input) 1177 return out, req.Send() 1178 } 1179 1180 // GetCertificateAuthorityCsrWithContext is the same as GetCertificateAuthorityCsr with the addition of 1181 // the ability to pass a context and additional request options. 1182 // 1183 // See GetCertificateAuthorityCsr for details on how to use this API operation. 1184 // 1185 // The context must be non-nil and will be used for request cancellation. If 1186 // the context is nil a panic will occur. In the future the SDK may create 1187 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1188 // for more information on using Contexts. 1189 func (c *ACMPCA) GetCertificateAuthorityCsrWithContext(ctx aws.Context, input *GetCertificateAuthorityCsrInput, opts ...request.Option) (*GetCertificateAuthorityCsrOutput, error) { 1190 req, out := c.GetCertificateAuthorityCsrRequest(input) 1191 req.SetContext(ctx) 1192 req.ApplyOptions(opts...) 1193 return out, req.Send() 1194 } 1195 1196 const opGetPolicy = "GetPolicy" 1197 1198 // GetPolicyRequest generates a "aws/request.Request" representing the 1199 // client's request for the GetPolicy operation. The "output" return 1200 // value will be populated with the request's response once the request completes 1201 // successfully. 1202 // 1203 // Use "Send" method on the returned Request to send the API call to the service. 1204 // the "output" return value is not valid until after Send returns without error. 1205 // 1206 // See GetPolicy for more information on using the GetPolicy 1207 // API call, and error handling. 1208 // 1209 // This method is useful when you want to inject custom logic or configuration 1210 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1211 // 1212 // 1213 // // Example sending a request using the GetPolicyRequest method. 1214 // req, resp := client.GetPolicyRequest(params) 1215 // 1216 // err := req.Send() 1217 // if err == nil { // resp is now filled 1218 // fmt.Println(resp) 1219 // } 1220 // 1221 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/GetPolicy 1222 func (c *ACMPCA) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, output *GetPolicyOutput) { 1223 op := &request.Operation{ 1224 Name: opGetPolicy, 1225 HTTPMethod: "POST", 1226 HTTPPath: "/", 1227 } 1228 1229 if input == nil { 1230 input = &GetPolicyInput{} 1231 } 1232 1233 output = &GetPolicyOutput{} 1234 req = c.newRequest(op, input, output) 1235 return 1236 } 1237 1238 // GetPolicy API operation for AWS Certificate Manager Private Certificate Authority. 1239 // 1240 // Retrieves the resource-based policy attached to a private CA. If either the 1241 // private CA resource or the policy cannot be found, this action returns a 1242 // ResourceNotFoundException. 1243 // 1244 // The policy can be attached or updated with PutPolicy (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_PutPolicy.html) 1245 // and removed with DeletePolicy (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DeletePolicy.html). 1246 // 1247 // About Policies 1248 // 1249 // * A policy grants access on a private CA to an AWS customer account, to 1250 // AWS Organizations, or to an AWS Organizations unit. Policies are under 1251 // the control of a CA administrator. For more information, see Using a Resource 1252 // Based Policy with ACM Private CA (https://docs.aws.amazon.com/acm-pca/latest/userguide/pca-rbp.html). 1253 // 1254 // * A policy permits a user of AWS Certificate Manager (ACM) to issue ACM 1255 // certificates signed by a CA in another account. 1256 // 1257 // * For ACM to manage automatic renewal of these certificates, the ACM user 1258 // must configure a Service Linked Role (SLR). The SLR allows the ACM service 1259 // to assume the identity of the user, subject to confirmation against the 1260 // ACM Private CA policy. For more information, see Using a Service Linked 1261 // Role with ACM (https://docs.aws.amazon.com/acm/latest/userguide/acm-slr.html). 1262 // 1263 // * Updates made in AWS Resource Manager (RAM) are reflected in policies. 1264 // For more information, see Attach a Policy for Cross-Account Access (https://docs.aws.amazon.com/acm-pca/latest/userguide/pca-ram.html). 1265 // 1266 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1267 // with awserr.Error's Code and Message methods to get detailed information about 1268 // the error. 1269 // 1270 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 1271 // API operation GetPolicy for usage and error information. 1272 // 1273 // Returned Error Types: 1274 // * InvalidArnException 1275 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 1276 // 1277 // * InvalidStateException 1278 // The state of the private CA does not allow this action to occur. 1279 // 1280 // * RequestFailedException 1281 // The request has failed for an unspecified reason. 1282 // 1283 // * ResourceNotFoundException 1284 // A resource such as a private CA, S3 bucket, certificate, audit report, or 1285 // policy cannot be found. 1286 // 1287 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/GetPolicy 1288 func (c *ACMPCA) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) { 1289 req, out := c.GetPolicyRequest(input) 1290 return out, req.Send() 1291 } 1292 1293 // GetPolicyWithContext is the same as GetPolicy with the addition of 1294 // the ability to pass a context and additional request options. 1295 // 1296 // See GetPolicy for details on how to use this API operation. 1297 // 1298 // The context must be non-nil and will be used for request cancellation. If 1299 // the context is nil a panic will occur. In the future the SDK may create 1300 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1301 // for more information on using Contexts. 1302 func (c *ACMPCA) GetPolicyWithContext(ctx aws.Context, input *GetPolicyInput, opts ...request.Option) (*GetPolicyOutput, error) { 1303 req, out := c.GetPolicyRequest(input) 1304 req.SetContext(ctx) 1305 req.ApplyOptions(opts...) 1306 return out, req.Send() 1307 } 1308 1309 const opImportCertificateAuthorityCertificate = "ImportCertificateAuthorityCertificate" 1310 1311 // ImportCertificateAuthorityCertificateRequest generates a "aws/request.Request" representing the 1312 // client's request for the ImportCertificateAuthorityCertificate operation. The "output" return 1313 // value will be populated with the request's response once the request completes 1314 // successfully. 1315 // 1316 // Use "Send" method on the returned Request to send the API call to the service. 1317 // the "output" return value is not valid until after Send returns without error. 1318 // 1319 // See ImportCertificateAuthorityCertificate for more information on using the ImportCertificateAuthorityCertificate 1320 // API call, and error handling. 1321 // 1322 // This method is useful when you want to inject custom logic or configuration 1323 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1324 // 1325 // 1326 // // Example sending a request using the ImportCertificateAuthorityCertificateRequest method. 1327 // req, resp := client.ImportCertificateAuthorityCertificateRequest(params) 1328 // 1329 // err := req.Send() 1330 // if err == nil { // resp is now filled 1331 // fmt.Println(resp) 1332 // } 1333 // 1334 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ImportCertificateAuthorityCertificate 1335 func (c *ACMPCA) ImportCertificateAuthorityCertificateRequest(input *ImportCertificateAuthorityCertificateInput) (req *request.Request, output *ImportCertificateAuthorityCertificateOutput) { 1336 op := &request.Operation{ 1337 Name: opImportCertificateAuthorityCertificate, 1338 HTTPMethod: "POST", 1339 HTTPPath: "/", 1340 } 1341 1342 if input == nil { 1343 input = &ImportCertificateAuthorityCertificateInput{} 1344 } 1345 1346 output = &ImportCertificateAuthorityCertificateOutput{} 1347 req = c.newRequest(op, input, output) 1348 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1349 return 1350 } 1351 1352 // ImportCertificateAuthorityCertificate API operation for AWS Certificate Manager Private Certificate Authority. 1353 // 1354 // Imports a signed private CA certificate into ACM Private CA. This action 1355 // is used when you are using a chain of trust whose root is located outside 1356 // ACM Private CA. Before you can call this action, the following preparations 1357 // must in place: 1358 // 1359 // In ACM Private CA, call the CreateCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) 1360 // action to create the private CA that you plan to back with the imported certificate. 1361 // 1362 // Call the GetCertificateAuthorityCsr (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_GetCertificateAuthorityCsr.html) 1363 // action to generate a certificate signing request (CSR). 1364 // 1365 // Sign the CSR using a root or intermediate CA hosted by either an on-premises 1366 // PKI hierarchy or by a commercial CA. 1367 // 1368 // Create a certificate chain and copy the signed certificate and the certificate 1369 // chain to your working directory. 1370 // 1371 // ACM Private CA supports three scenarios for installing a CA certificate: 1372 // 1373 // * Installing a certificate for a root CA hosted by ACM Private CA. 1374 // 1375 // * Installing a subordinate CA certificate whose parent authority is hosted 1376 // by ACM Private CA. 1377 // 1378 // * Installing a subordinate CA certificate whose parent authority is externally 1379 // hosted. 1380 // 1381 // The following additional requirements apply when you import a CA certificate. 1382 // 1383 // * Only a self-signed certificate can be imported as a root CA. 1384 // 1385 // * A self-signed certificate cannot be imported as a subordinate CA. 1386 // 1387 // * Your certificate chain must not include the private CA certificate that 1388 // you are importing. 1389 // 1390 // * Your root CA must be the last certificate in your chain. The subordinate 1391 // certificate, if any, that your root CA signed must be next to last. The 1392 // subordinate certificate signed by the preceding subordinate CA must come 1393 // next, and so on until your chain is built. 1394 // 1395 // * The chain must be PEM-encoded. 1396 // 1397 // * The maximum allowed size of a certificate is 32 KB. 1398 // 1399 // * The maximum allowed size of a certificate chain is 2 MB. 1400 // 1401 // Enforcement of Critical Constraints 1402 // 1403 // ACM Private CA allows the following extensions to be marked critical in the 1404 // imported CA certificate or chain. 1405 // 1406 // * Basic constraints (must be marked critical) 1407 // 1408 // * Subject alternative names 1409 // 1410 // * Key usage 1411 // 1412 // * Extended key usage 1413 // 1414 // * Authority key identifier 1415 // 1416 // * Subject key identifier 1417 // 1418 // * Issuer alternative name 1419 // 1420 // * Subject directory attributes 1421 // 1422 // * Subject information access 1423 // 1424 // * Certificate policies 1425 // 1426 // * Policy mappings 1427 // 1428 // * Inhibit anyPolicy 1429 // 1430 // ACM Private CA rejects the following extensions when they are marked critical 1431 // in an imported CA certificate or chain. 1432 // 1433 // * Name constraints 1434 // 1435 // * Policy constraints 1436 // 1437 // * CRL distribution points 1438 // 1439 // * Authority information access 1440 // 1441 // * Freshest CRL 1442 // 1443 // * Any other extension 1444 // 1445 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1446 // with awserr.Error's Code and Message methods to get detailed information about 1447 // the error. 1448 // 1449 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 1450 // API operation ImportCertificateAuthorityCertificate for usage and error information. 1451 // 1452 // Returned Error Types: 1453 // * ConcurrentModificationException 1454 // A previous update to your private CA is still ongoing. 1455 // 1456 // * RequestInProgressException 1457 // Your request is already in progress. 1458 // 1459 // * RequestFailedException 1460 // The request has failed for an unspecified reason. 1461 // 1462 // * ResourceNotFoundException 1463 // A resource such as a private CA, S3 bucket, certificate, audit report, or 1464 // policy cannot be found. 1465 // 1466 // * InvalidArnException 1467 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 1468 // 1469 // * InvalidRequestException 1470 // The request action cannot be performed or is prohibited. 1471 // 1472 // * InvalidStateException 1473 // The state of the private CA does not allow this action to occur. 1474 // 1475 // * MalformedCertificateException 1476 // One or more fields in the certificate are invalid. 1477 // 1478 // * CertificateMismatchException 1479 // The certificate authority certificate you are importing does not comply with 1480 // conditions specified in the certificate that signed it. 1481 // 1482 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ImportCertificateAuthorityCertificate 1483 func (c *ACMPCA) ImportCertificateAuthorityCertificate(input *ImportCertificateAuthorityCertificateInput) (*ImportCertificateAuthorityCertificateOutput, error) { 1484 req, out := c.ImportCertificateAuthorityCertificateRequest(input) 1485 return out, req.Send() 1486 } 1487 1488 // ImportCertificateAuthorityCertificateWithContext is the same as ImportCertificateAuthorityCertificate with the addition of 1489 // the ability to pass a context and additional request options. 1490 // 1491 // See ImportCertificateAuthorityCertificate for details on how to use this API operation. 1492 // 1493 // The context must be non-nil and will be used for request cancellation. If 1494 // the context is nil a panic will occur. In the future the SDK may create 1495 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1496 // for more information on using Contexts. 1497 func (c *ACMPCA) ImportCertificateAuthorityCertificateWithContext(ctx aws.Context, input *ImportCertificateAuthorityCertificateInput, opts ...request.Option) (*ImportCertificateAuthorityCertificateOutput, error) { 1498 req, out := c.ImportCertificateAuthorityCertificateRequest(input) 1499 req.SetContext(ctx) 1500 req.ApplyOptions(opts...) 1501 return out, req.Send() 1502 } 1503 1504 const opIssueCertificate = "IssueCertificate" 1505 1506 // IssueCertificateRequest generates a "aws/request.Request" representing the 1507 // client's request for the IssueCertificate operation. The "output" return 1508 // value will be populated with the request's response once the request completes 1509 // successfully. 1510 // 1511 // Use "Send" method on the returned Request to send the API call to the service. 1512 // the "output" return value is not valid until after Send returns without error. 1513 // 1514 // See IssueCertificate for more information on using the IssueCertificate 1515 // API call, and error handling. 1516 // 1517 // This method is useful when you want to inject custom logic or configuration 1518 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1519 // 1520 // 1521 // // Example sending a request using the IssueCertificateRequest method. 1522 // req, resp := client.IssueCertificateRequest(params) 1523 // 1524 // err := req.Send() 1525 // if err == nil { // resp is now filled 1526 // fmt.Println(resp) 1527 // } 1528 // 1529 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/IssueCertificate 1530 func (c *ACMPCA) IssueCertificateRequest(input *IssueCertificateInput) (req *request.Request, output *IssueCertificateOutput) { 1531 op := &request.Operation{ 1532 Name: opIssueCertificate, 1533 HTTPMethod: "POST", 1534 HTTPPath: "/", 1535 } 1536 1537 if input == nil { 1538 input = &IssueCertificateInput{} 1539 } 1540 1541 output = &IssueCertificateOutput{} 1542 req = c.newRequest(op, input, output) 1543 return 1544 } 1545 1546 // IssueCertificate API operation for AWS Certificate Manager Private Certificate Authority. 1547 // 1548 // Uses your private certificate authority (CA), or one that has been shared 1549 // with you, to issue a client certificate. This action returns the Amazon Resource 1550 // Name (ARN) of the certificate. You can retrieve the certificate by calling 1551 // the GetCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_GetCertificate.html) 1552 // action and specifying the ARN. 1553 // 1554 // You cannot use the ACM ListCertificateAuthorities action to retrieve the 1555 // ARNs of the certificates that you issue by using ACM Private CA. 1556 // 1557 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1558 // with awserr.Error's Code and Message methods to get detailed information about 1559 // the error. 1560 // 1561 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 1562 // API operation IssueCertificate for usage and error information. 1563 // 1564 // Returned Error Types: 1565 // * LimitExceededException 1566 // An ACM Private CA quota has been exceeded. See the exception message returned 1567 // to determine the quota that was exceeded. 1568 // 1569 // * ResourceNotFoundException 1570 // A resource such as a private CA, S3 bucket, certificate, audit report, or 1571 // policy cannot be found. 1572 // 1573 // * InvalidStateException 1574 // The state of the private CA does not allow this action to occur. 1575 // 1576 // * InvalidArnException 1577 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 1578 // 1579 // * InvalidArgsException 1580 // One or more of the specified arguments was not valid. 1581 // 1582 // * MalformedCSRException 1583 // The certificate signing request is invalid. 1584 // 1585 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/IssueCertificate 1586 func (c *ACMPCA) IssueCertificate(input *IssueCertificateInput) (*IssueCertificateOutput, error) { 1587 req, out := c.IssueCertificateRequest(input) 1588 return out, req.Send() 1589 } 1590 1591 // IssueCertificateWithContext is the same as IssueCertificate with the addition of 1592 // the ability to pass a context and additional request options. 1593 // 1594 // See IssueCertificate for details on how to use this API operation. 1595 // 1596 // The context must be non-nil and will be used for request cancellation. If 1597 // the context is nil a panic will occur. In the future the SDK may create 1598 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1599 // for more information on using Contexts. 1600 func (c *ACMPCA) IssueCertificateWithContext(ctx aws.Context, input *IssueCertificateInput, opts ...request.Option) (*IssueCertificateOutput, error) { 1601 req, out := c.IssueCertificateRequest(input) 1602 req.SetContext(ctx) 1603 req.ApplyOptions(opts...) 1604 return out, req.Send() 1605 } 1606 1607 const opListCertificateAuthorities = "ListCertificateAuthorities" 1608 1609 // ListCertificateAuthoritiesRequest generates a "aws/request.Request" representing the 1610 // client's request for the ListCertificateAuthorities operation. The "output" return 1611 // value will be populated with the request's response once the request completes 1612 // successfully. 1613 // 1614 // Use "Send" method on the returned Request to send the API call to the service. 1615 // the "output" return value is not valid until after Send returns without error. 1616 // 1617 // See ListCertificateAuthorities for more information on using the ListCertificateAuthorities 1618 // API call, and error handling. 1619 // 1620 // This method is useful when you want to inject custom logic or configuration 1621 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1622 // 1623 // 1624 // // Example sending a request using the ListCertificateAuthoritiesRequest method. 1625 // req, resp := client.ListCertificateAuthoritiesRequest(params) 1626 // 1627 // err := req.Send() 1628 // if err == nil { // resp is now filled 1629 // fmt.Println(resp) 1630 // } 1631 // 1632 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ListCertificateAuthorities 1633 func (c *ACMPCA) ListCertificateAuthoritiesRequest(input *ListCertificateAuthoritiesInput) (req *request.Request, output *ListCertificateAuthoritiesOutput) { 1634 op := &request.Operation{ 1635 Name: opListCertificateAuthorities, 1636 HTTPMethod: "POST", 1637 HTTPPath: "/", 1638 Paginator: &request.Paginator{ 1639 InputTokens: []string{"NextToken"}, 1640 OutputTokens: []string{"NextToken"}, 1641 LimitToken: "MaxResults", 1642 TruncationToken: "", 1643 }, 1644 } 1645 1646 if input == nil { 1647 input = &ListCertificateAuthoritiesInput{} 1648 } 1649 1650 output = &ListCertificateAuthoritiesOutput{} 1651 req = c.newRequest(op, input, output) 1652 return 1653 } 1654 1655 // ListCertificateAuthorities API operation for AWS Certificate Manager Private Certificate Authority. 1656 // 1657 // Lists the private certificate authorities that you created by using the CreateCertificateAuthority 1658 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) 1659 // action. 1660 // 1661 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1662 // with awserr.Error's Code and Message methods to get detailed information about 1663 // the error. 1664 // 1665 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 1666 // API operation ListCertificateAuthorities for usage and error information. 1667 // 1668 // Returned Error Types: 1669 // * InvalidNextTokenException 1670 // The token specified in the NextToken argument is not valid. Use the token 1671 // returned from your previous call to ListCertificateAuthorities (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html). 1672 // 1673 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ListCertificateAuthorities 1674 func (c *ACMPCA) ListCertificateAuthorities(input *ListCertificateAuthoritiesInput) (*ListCertificateAuthoritiesOutput, error) { 1675 req, out := c.ListCertificateAuthoritiesRequest(input) 1676 return out, req.Send() 1677 } 1678 1679 // ListCertificateAuthoritiesWithContext is the same as ListCertificateAuthorities with the addition of 1680 // the ability to pass a context and additional request options. 1681 // 1682 // See ListCertificateAuthorities for details on how to use this API operation. 1683 // 1684 // The context must be non-nil and will be used for request cancellation. If 1685 // the context is nil a panic will occur. In the future the SDK may create 1686 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1687 // for more information on using Contexts. 1688 func (c *ACMPCA) ListCertificateAuthoritiesWithContext(ctx aws.Context, input *ListCertificateAuthoritiesInput, opts ...request.Option) (*ListCertificateAuthoritiesOutput, error) { 1689 req, out := c.ListCertificateAuthoritiesRequest(input) 1690 req.SetContext(ctx) 1691 req.ApplyOptions(opts...) 1692 return out, req.Send() 1693 } 1694 1695 // ListCertificateAuthoritiesPages iterates over the pages of a ListCertificateAuthorities operation, 1696 // calling the "fn" function with the response data for each page. To stop 1697 // iterating, return false from the fn function. 1698 // 1699 // See ListCertificateAuthorities method for more information on how to use this operation. 1700 // 1701 // Note: This operation can generate multiple requests to a service. 1702 // 1703 // // Example iterating over at most 3 pages of a ListCertificateAuthorities operation. 1704 // pageNum := 0 1705 // err := client.ListCertificateAuthoritiesPages(params, 1706 // func(page *acmpca.ListCertificateAuthoritiesOutput, lastPage bool) bool { 1707 // pageNum++ 1708 // fmt.Println(page) 1709 // return pageNum <= 3 1710 // }) 1711 // 1712 func (c *ACMPCA) ListCertificateAuthoritiesPages(input *ListCertificateAuthoritiesInput, fn func(*ListCertificateAuthoritiesOutput, bool) bool) error { 1713 return c.ListCertificateAuthoritiesPagesWithContext(aws.BackgroundContext(), input, fn) 1714 } 1715 1716 // ListCertificateAuthoritiesPagesWithContext same as ListCertificateAuthoritiesPages except 1717 // it takes a Context and allows setting request options on the pages. 1718 // 1719 // The context must be non-nil and will be used for request cancellation. If 1720 // the context is nil a panic will occur. In the future the SDK may create 1721 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1722 // for more information on using Contexts. 1723 func (c *ACMPCA) ListCertificateAuthoritiesPagesWithContext(ctx aws.Context, input *ListCertificateAuthoritiesInput, fn func(*ListCertificateAuthoritiesOutput, bool) bool, opts ...request.Option) error { 1724 p := request.Pagination{ 1725 NewRequest: func() (*request.Request, error) { 1726 var inCpy *ListCertificateAuthoritiesInput 1727 if input != nil { 1728 tmp := *input 1729 inCpy = &tmp 1730 } 1731 req, _ := c.ListCertificateAuthoritiesRequest(inCpy) 1732 req.SetContext(ctx) 1733 req.ApplyOptions(opts...) 1734 return req, nil 1735 }, 1736 } 1737 1738 for p.Next() { 1739 if !fn(p.Page().(*ListCertificateAuthoritiesOutput), !p.HasNextPage()) { 1740 break 1741 } 1742 } 1743 1744 return p.Err() 1745 } 1746 1747 const opListPermissions = "ListPermissions" 1748 1749 // ListPermissionsRequest generates a "aws/request.Request" representing the 1750 // client's request for the ListPermissions operation. The "output" return 1751 // value will be populated with the request's response once the request completes 1752 // successfully. 1753 // 1754 // Use "Send" method on the returned Request to send the API call to the service. 1755 // the "output" return value is not valid until after Send returns without error. 1756 // 1757 // See ListPermissions for more information on using the ListPermissions 1758 // API call, and error handling. 1759 // 1760 // This method is useful when you want to inject custom logic or configuration 1761 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1762 // 1763 // 1764 // // Example sending a request using the ListPermissionsRequest method. 1765 // req, resp := client.ListPermissionsRequest(params) 1766 // 1767 // err := req.Send() 1768 // if err == nil { // resp is now filled 1769 // fmt.Println(resp) 1770 // } 1771 // 1772 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ListPermissions 1773 func (c *ACMPCA) ListPermissionsRequest(input *ListPermissionsInput) (req *request.Request, output *ListPermissionsOutput) { 1774 op := &request.Operation{ 1775 Name: opListPermissions, 1776 HTTPMethod: "POST", 1777 HTTPPath: "/", 1778 Paginator: &request.Paginator{ 1779 InputTokens: []string{"NextToken"}, 1780 OutputTokens: []string{"NextToken"}, 1781 LimitToken: "MaxResults", 1782 TruncationToken: "", 1783 }, 1784 } 1785 1786 if input == nil { 1787 input = &ListPermissionsInput{} 1788 } 1789 1790 output = &ListPermissionsOutput{} 1791 req = c.newRequest(op, input, output) 1792 return 1793 } 1794 1795 // ListPermissions API operation for AWS Certificate Manager Private Certificate Authority. 1796 // 1797 // List all permissions on a private CA, if any, granted to the AWS Certificate 1798 // Manager (ACM) service principal (acm.amazonaws.com). 1799 // 1800 // These permissions allow ACM to issue and renew ACM certificates that reside 1801 // in the same AWS account as the CA. 1802 // 1803 // Permissions can be granted with the CreatePermission (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreatePermission.html) 1804 // action and revoked with the DeletePermission (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DeletePermission.html) 1805 // action. 1806 // 1807 // About Permissions 1808 // 1809 // * If the private CA and the certificates it issues reside in the same 1810 // account, you can use CreatePermission to grant permissions for ACM to 1811 // carry out automatic certificate renewals. 1812 // 1813 // * For automatic certificate renewal to succeed, the ACM service principal 1814 // needs permissions to create, retrieve, and list certificates. 1815 // 1816 // * If the private CA and the ACM certificates reside in different accounts, 1817 // then permissions cannot be used to enable automatic renewals. Instead, 1818 // the ACM certificate owner must set up a resource-based policy to enable 1819 // cross-account issuance and renewals. For more information, see Using a 1820 // Resource Based Policy with ACM Private CA (https://docs.aws.amazon.com/acm-pca/latest/userguide/pca-rbp.html). 1821 // 1822 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1823 // with awserr.Error's Code and Message methods to get detailed information about 1824 // the error. 1825 // 1826 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 1827 // API operation ListPermissions for usage and error information. 1828 // 1829 // Returned Error Types: 1830 // * ResourceNotFoundException 1831 // A resource such as a private CA, S3 bucket, certificate, audit report, or 1832 // policy cannot be found. 1833 // 1834 // * InvalidArnException 1835 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 1836 // 1837 // * InvalidNextTokenException 1838 // The token specified in the NextToken argument is not valid. Use the token 1839 // returned from your previous call to ListCertificateAuthorities (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html). 1840 // 1841 // * InvalidStateException 1842 // The state of the private CA does not allow this action to occur. 1843 // 1844 // * RequestFailedException 1845 // The request has failed for an unspecified reason. 1846 // 1847 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ListPermissions 1848 func (c *ACMPCA) ListPermissions(input *ListPermissionsInput) (*ListPermissionsOutput, error) { 1849 req, out := c.ListPermissionsRequest(input) 1850 return out, req.Send() 1851 } 1852 1853 // ListPermissionsWithContext is the same as ListPermissions with the addition of 1854 // the ability to pass a context and additional request options. 1855 // 1856 // See ListPermissions for details on how to use this API operation. 1857 // 1858 // The context must be non-nil and will be used for request cancellation. If 1859 // the context is nil a panic will occur. In the future the SDK may create 1860 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1861 // for more information on using Contexts. 1862 func (c *ACMPCA) ListPermissionsWithContext(ctx aws.Context, input *ListPermissionsInput, opts ...request.Option) (*ListPermissionsOutput, error) { 1863 req, out := c.ListPermissionsRequest(input) 1864 req.SetContext(ctx) 1865 req.ApplyOptions(opts...) 1866 return out, req.Send() 1867 } 1868 1869 // ListPermissionsPages iterates over the pages of a ListPermissions operation, 1870 // calling the "fn" function with the response data for each page. To stop 1871 // iterating, return false from the fn function. 1872 // 1873 // See ListPermissions method for more information on how to use this operation. 1874 // 1875 // Note: This operation can generate multiple requests to a service. 1876 // 1877 // // Example iterating over at most 3 pages of a ListPermissions operation. 1878 // pageNum := 0 1879 // err := client.ListPermissionsPages(params, 1880 // func(page *acmpca.ListPermissionsOutput, lastPage bool) bool { 1881 // pageNum++ 1882 // fmt.Println(page) 1883 // return pageNum <= 3 1884 // }) 1885 // 1886 func (c *ACMPCA) ListPermissionsPages(input *ListPermissionsInput, fn func(*ListPermissionsOutput, bool) bool) error { 1887 return c.ListPermissionsPagesWithContext(aws.BackgroundContext(), input, fn) 1888 } 1889 1890 // ListPermissionsPagesWithContext same as ListPermissionsPages except 1891 // it takes a Context and allows setting request options on the pages. 1892 // 1893 // The context must be non-nil and will be used for request cancellation. If 1894 // the context is nil a panic will occur. In the future the SDK may create 1895 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1896 // for more information on using Contexts. 1897 func (c *ACMPCA) ListPermissionsPagesWithContext(ctx aws.Context, input *ListPermissionsInput, fn func(*ListPermissionsOutput, bool) bool, opts ...request.Option) error { 1898 p := request.Pagination{ 1899 NewRequest: func() (*request.Request, error) { 1900 var inCpy *ListPermissionsInput 1901 if input != nil { 1902 tmp := *input 1903 inCpy = &tmp 1904 } 1905 req, _ := c.ListPermissionsRequest(inCpy) 1906 req.SetContext(ctx) 1907 req.ApplyOptions(opts...) 1908 return req, nil 1909 }, 1910 } 1911 1912 for p.Next() { 1913 if !fn(p.Page().(*ListPermissionsOutput), !p.HasNextPage()) { 1914 break 1915 } 1916 } 1917 1918 return p.Err() 1919 } 1920 1921 const opListTags = "ListTags" 1922 1923 // ListTagsRequest generates a "aws/request.Request" representing the 1924 // client's request for the ListTags operation. The "output" return 1925 // value will be populated with the request's response once the request completes 1926 // successfully. 1927 // 1928 // Use "Send" method on the returned Request to send the API call to the service. 1929 // the "output" return value is not valid until after Send returns without error. 1930 // 1931 // See ListTags for more information on using the ListTags 1932 // API call, and error handling. 1933 // 1934 // This method is useful when you want to inject custom logic or configuration 1935 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1936 // 1937 // 1938 // // Example sending a request using the ListTagsRequest method. 1939 // req, resp := client.ListTagsRequest(params) 1940 // 1941 // err := req.Send() 1942 // if err == nil { // resp is now filled 1943 // fmt.Println(resp) 1944 // } 1945 // 1946 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ListTags 1947 func (c *ACMPCA) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) { 1948 op := &request.Operation{ 1949 Name: opListTags, 1950 HTTPMethod: "POST", 1951 HTTPPath: "/", 1952 Paginator: &request.Paginator{ 1953 InputTokens: []string{"NextToken"}, 1954 OutputTokens: []string{"NextToken"}, 1955 LimitToken: "MaxResults", 1956 TruncationToken: "", 1957 }, 1958 } 1959 1960 if input == nil { 1961 input = &ListTagsInput{} 1962 } 1963 1964 output = &ListTagsOutput{} 1965 req = c.newRequest(op, input, output) 1966 return 1967 } 1968 1969 // ListTags API operation for AWS Certificate Manager Private Certificate Authority. 1970 // 1971 // Lists the tags, if any, that are associated with your private CA or one that 1972 // has been shared with you. Tags are labels that you can use to identify and 1973 // organize your CAs. Each tag consists of a key and an optional value. Call 1974 // the TagCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_TagCertificateAuthority.html) 1975 // action to add one or more tags to your CA. Call the UntagCertificateAuthority 1976 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UntagCertificateAuthority.html) 1977 // action to remove tags. 1978 // 1979 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1980 // with awserr.Error's Code and Message methods to get detailed information about 1981 // the error. 1982 // 1983 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 1984 // API operation ListTags for usage and error information. 1985 // 1986 // Returned Error Types: 1987 // * ResourceNotFoundException 1988 // A resource such as a private CA, S3 bucket, certificate, audit report, or 1989 // policy cannot be found. 1990 // 1991 // * InvalidArnException 1992 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 1993 // 1994 // * InvalidStateException 1995 // The state of the private CA does not allow this action to occur. 1996 // 1997 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ListTags 1998 func (c *ACMPCA) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { 1999 req, out := c.ListTagsRequest(input) 2000 return out, req.Send() 2001 } 2002 2003 // ListTagsWithContext is the same as ListTags with the addition of 2004 // the ability to pass a context and additional request options. 2005 // 2006 // See ListTags for details on how to use this API operation. 2007 // 2008 // The context must be non-nil and will be used for request cancellation. If 2009 // the context is nil a panic will occur. In the future the SDK may create 2010 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2011 // for more information on using Contexts. 2012 func (c *ACMPCA) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) { 2013 req, out := c.ListTagsRequest(input) 2014 req.SetContext(ctx) 2015 req.ApplyOptions(opts...) 2016 return out, req.Send() 2017 } 2018 2019 // ListTagsPages iterates over the pages of a ListTags operation, 2020 // calling the "fn" function with the response data for each page. To stop 2021 // iterating, return false from the fn function. 2022 // 2023 // See ListTags method for more information on how to use this operation. 2024 // 2025 // Note: This operation can generate multiple requests to a service. 2026 // 2027 // // Example iterating over at most 3 pages of a ListTags operation. 2028 // pageNum := 0 2029 // err := client.ListTagsPages(params, 2030 // func(page *acmpca.ListTagsOutput, lastPage bool) bool { 2031 // pageNum++ 2032 // fmt.Println(page) 2033 // return pageNum <= 3 2034 // }) 2035 // 2036 func (c *ACMPCA) ListTagsPages(input *ListTagsInput, fn func(*ListTagsOutput, bool) bool) error { 2037 return c.ListTagsPagesWithContext(aws.BackgroundContext(), input, fn) 2038 } 2039 2040 // ListTagsPagesWithContext same as ListTagsPages except 2041 // it takes a Context and allows setting request options on the pages. 2042 // 2043 // The context must be non-nil and will be used for request cancellation. If 2044 // the context is nil a panic will occur. In the future the SDK may create 2045 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2046 // for more information on using Contexts. 2047 func (c *ACMPCA) ListTagsPagesWithContext(ctx aws.Context, input *ListTagsInput, fn func(*ListTagsOutput, bool) bool, opts ...request.Option) error { 2048 p := request.Pagination{ 2049 NewRequest: func() (*request.Request, error) { 2050 var inCpy *ListTagsInput 2051 if input != nil { 2052 tmp := *input 2053 inCpy = &tmp 2054 } 2055 req, _ := c.ListTagsRequest(inCpy) 2056 req.SetContext(ctx) 2057 req.ApplyOptions(opts...) 2058 return req, nil 2059 }, 2060 } 2061 2062 for p.Next() { 2063 if !fn(p.Page().(*ListTagsOutput), !p.HasNextPage()) { 2064 break 2065 } 2066 } 2067 2068 return p.Err() 2069 } 2070 2071 const opPutPolicy = "PutPolicy" 2072 2073 // PutPolicyRequest generates a "aws/request.Request" representing the 2074 // client's request for the PutPolicy operation. The "output" return 2075 // value will be populated with the request's response once the request completes 2076 // successfully. 2077 // 2078 // Use "Send" method on the returned Request to send the API call to the service. 2079 // the "output" return value is not valid until after Send returns without error. 2080 // 2081 // See PutPolicy for more information on using the PutPolicy 2082 // API call, and error handling. 2083 // 2084 // This method is useful when you want to inject custom logic or configuration 2085 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2086 // 2087 // 2088 // // Example sending a request using the PutPolicyRequest method. 2089 // req, resp := client.PutPolicyRequest(params) 2090 // 2091 // err := req.Send() 2092 // if err == nil { // resp is now filled 2093 // fmt.Println(resp) 2094 // } 2095 // 2096 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/PutPolicy 2097 func (c *ACMPCA) PutPolicyRequest(input *PutPolicyInput) (req *request.Request, output *PutPolicyOutput) { 2098 op := &request.Operation{ 2099 Name: opPutPolicy, 2100 HTTPMethod: "POST", 2101 HTTPPath: "/", 2102 } 2103 2104 if input == nil { 2105 input = &PutPolicyInput{} 2106 } 2107 2108 output = &PutPolicyOutput{} 2109 req = c.newRequest(op, input, output) 2110 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2111 return 2112 } 2113 2114 // PutPolicy API operation for AWS Certificate Manager Private Certificate Authority. 2115 // 2116 // Attaches a resource-based policy to a private CA. 2117 // 2118 // A policy can also be applied by sharing a private CA through AWS Resource 2119 // Access Manager (RAM). For more information, see Attach a Policy for Cross-Account 2120 // Access (https://docs.aws.amazon.com/acm-pca/latest/userguide/pca-ram.html). 2121 // 2122 // The policy can be displayed with GetPolicy (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_GetPolicy.html) 2123 // and removed with DeletePolicy (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DeletePolicy.html). 2124 // 2125 // About Policies 2126 // 2127 // * A policy grants access on a private CA to an AWS customer account, to 2128 // AWS Organizations, or to an AWS Organizations unit. Policies are under 2129 // the control of a CA administrator. For more information, see Using a Resource 2130 // Based Policy with ACM Private CA (https://docs.aws.amazon.com/acm-pca/latest/userguide/pca-rbp.html). 2131 // 2132 // * A policy permits a user of AWS Certificate Manager (ACM) to issue ACM 2133 // certificates signed by a CA in another account. 2134 // 2135 // * For ACM to manage automatic renewal of these certificates, the ACM user 2136 // must configure a Service Linked Role (SLR). The SLR allows the ACM service 2137 // to assume the identity of the user, subject to confirmation against the 2138 // ACM Private CA policy. For more information, see Using a Service Linked 2139 // Role with ACM (https://docs.aws.amazon.com/acm/latest/userguide/acm-slr.html). 2140 // 2141 // * Updates made in AWS Resource Manager (RAM) are reflected in policies. 2142 // For more information, see Attach a Policy for Cross-Account Access (https://docs.aws.amazon.com/acm-pca/latest/userguide/pca-ram.html). 2143 // 2144 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2145 // with awserr.Error's Code and Message methods to get detailed information about 2146 // the error. 2147 // 2148 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 2149 // API operation PutPolicy for usage and error information. 2150 // 2151 // Returned Error Types: 2152 // * ConcurrentModificationException 2153 // A previous update to your private CA is still ongoing. 2154 // 2155 // * InvalidArnException 2156 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 2157 // 2158 // * InvalidStateException 2159 // The state of the private CA does not allow this action to occur. 2160 // 2161 // * InvalidPolicyException 2162 // The resource policy is invalid or is missing a required statement. For general 2163 // information about IAM policy and statement structure, see Overview of JSON 2164 // Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json). 2165 // 2166 // * LockoutPreventedException 2167 // The current action was prevented because it would lock the caller out from 2168 // performing subsequent actions. Verify that the specified parameters would 2169 // not result in the caller being denied access to the resource. 2170 // 2171 // * RequestFailedException 2172 // The request has failed for an unspecified reason. 2173 // 2174 // * ResourceNotFoundException 2175 // A resource such as a private CA, S3 bucket, certificate, audit report, or 2176 // policy cannot be found. 2177 // 2178 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/PutPolicy 2179 func (c *ACMPCA) PutPolicy(input *PutPolicyInput) (*PutPolicyOutput, error) { 2180 req, out := c.PutPolicyRequest(input) 2181 return out, req.Send() 2182 } 2183 2184 // PutPolicyWithContext is the same as PutPolicy with the addition of 2185 // the ability to pass a context and additional request options. 2186 // 2187 // See PutPolicy for details on how to use this API operation. 2188 // 2189 // The context must be non-nil and will be used for request cancellation. If 2190 // the context is nil a panic will occur. In the future the SDK may create 2191 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2192 // for more information on using Contexts. 2193 func (c *ACMPCA) PutPolicyWithContext(ctx aws.Context, input *PutPolicyInput, opts ...request.Option) (*PutPolicyOutput, error) { 2194 req, out := c.PutPolicyRequest(input) 2195 req.SetContext(ctx) 2196 req.ApplyOptions(opts...) 2197 return out, req.Send() 2198 } 2199 2200 const opRestoreCertificateAuthority = "RestoreCertificateAuthority" 2201 2202 // RestoreCertificateAuthorityRequest generates a "aws/request.Request" representing the 2203 // client's request for the RestoreCertificateAuthority operation. The "output" return 2204 // value will be populated with the request's response once the request completes 2205 // successfully. 2206 // 2207 // Use "Send" method on the returned Request to send the API call to the service. 2208 // the "output" return value is not valid until after Send returns without error. 2209 // 2210 // See RestoreCertificateAuthority for more information on using the RestoreCertificateAuthority 2211 // API call, and error handling. 2212 // 2213 // This method is useful when you want to inject custom logic or configuration 2214 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2215 // 2216 // 2217 // // Example sending a request using the RestoreCertificateAuthorityRequest method. 2218 // req, resp := client.RestoreCertificateAuthorityRequest(params) 2219 // 2220 // err := req.Send() 2221 // if err == nil { // resp is now filled 2222 // fmt.Println(resp) 2223 // } 2224 // 2225 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/RestoreCertificateAuthority 2226 func (c *ACMPCA) RestoreCertificateAuthorityRequest(input *RestoreCertificateAuthorityInput) (req *request.Request, output *RestoreCertificateAuthorityOutput) { 2227 op := &request.Operation{ 2228 Name: opRestoreCertificateAuthority, 2229 HTTPMethod: "POST", 2230 HTTPPath: "/", 2231 } 2232 2233 if input == nil { 2234 input = &RestoreCertificateAuthorityInput{} 2235 } 2236 2237 output = &RestoreCertificateAuthorityOutput{} 2238 req = c.newRequest(op, input, output) 2239 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2240 return 2241 } 2242 2243 // RestoreCertificateAuthority API operation for AWS Certificate Manager Private Certificate Authority. 2244 // 2245 // Restores a certificate authority (CA) that is in the DELETED state. You can 2246 // restore a CA during the period that you defined in the PermanentDeletionTimeInDays 2247 // parameter of the DeleteCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DeleteCertificateAuthority.html) 2248 // action. Currently, you can specify 7 to 30 days. If you did not specify a 2249 // PermanentDeletionTimeInDays value, by default you can restore the CA at any 2250 // time in a 30 day period. You can check the time remaining in the restoration 2251 // period of a private CA in the DELETED state by calling the DescribeCertificateAuthority 2252 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DescribeCertificateAuthority.html) 2253 // or ListCertificateAuthorities (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html) 2254 // actions. The status of a restored CA is set to its pre-deletion status when 2255 // the RestoreCertificateAuthority action returns. To change its status to ACTIVE, 2256 // call the UpdateCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UpdateCertificateAuthority.html) 2257 // action. If the private CA was in the PENDING_CERTIFICATE state at deletion, 2258 // you must use the ImportCertificateAuthorityCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ImportCertificateAuthorityCertificate.html) 2259 // action to import a certificate authority into the private CA before it can 2260 // be activated. You cannot restore a CA after the restoration period has ended. 2261 // 2262 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2263 // with awserr.Error's Code and Message methods to get detailed information about 2264 // the error. 2265 // 2266 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 2267 // API operation RestoreCertificateAuthority for usage and error information. 2268 // 2269 // Returned Error Types: 2270 // * ResourceNotFoundException 2271 // A resource such as a private CA, S3 bucket, certificate, audit report, or 2272 // policy cannot be found. 2273 // 2274 // * InvalidStateException 2275 // The state of the private CA does not allow this action to occur. 2276 // 2277 // * InvalidArnException 2278 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 2279 // 2280 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/RestoreCertificateAuthority 2281 func (c *ACMPCA) RestoreCertificateAuthority(input *RestoreCertificateAuthorityInput) (*RestoreCertificateAuthorityOutput, error) { 2282 req, out := c.RestoreCertificateAuthorityRequest(input) 2283 return out, req.Send() 2284 } 2285 2286 // RestoreCertificateAuthorityWithContext is the same as RestoreCertificateAuthority with the addition of 2287 // the ability to pass a context and additional request options. 2288 // 2289 // See RestoreCertificateAuthority for details on how to use this API operation. 2290 // 2291 // The context must be non-nil and will be used for request cancellation. If 2292 // the context is nil a panic will occur. In the future the SDK may create 2293 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2294 // for more information on using Contexts. 2295 func (c *ACMPCA) RestoreCertificateAuthorityWithContext(ctx aws.Context, input *RestoreCertificateAuthorityInput, opts ...request.Option) (*RestoreCertificateAuthorityOutput, error) { 2296 req, out := c.RestoreCertificateAuthorityRequest(input) 2297 req.SetContext(ctx) 2298 req.ApplyOptions(opts...) 2299 return out, req.Send() 2300 } 2301 2302 const opRevokeCertificate = "RevokeCertificate" 2303 2304 // RevokeCertificateRequest generates a "aws/request.Request" representing the 2305 // client's request for the RevokeCertificate operation. The "output" return 2306 // value will be populated with the request's response once the request completes 2307 // successfully. 2308 // 2309 // Use "Send" method on the returned Request to send the API call to the service. 2310 // the "output" return value is not valid until after Send returns without error. 2311 // 2312 // See RevokeCertificate for more information on using the RevokeCertificate 2313 // API call, and error handling. 2314 // 2315 // This method is useful when you want to inject custom logic or configuration 2316 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2317 // 2318 // 2319 // // Example sending a request using the RevokeCertificateRequest method. 2320 // req, resp := client.RevokeCertificateRequest(params) 2321 // 2322 // err := req.Send() 2323 // if err == nil { // resp is now filled 2324 // fmt.Println(resp) 2325 // } 2326 // 2327 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/RevokeCertificate 2328 func (c *ACMPCA) RevokeCertificateRequest(input *RevokeCertificateInput) (req *request.Request, output *RevokeCertificateOutput) { 2329 op := &request.Operation{ 2330 Name: opRevokeCertificate, 2331 HTTPMethod: "POST", 2332 HTTPPath: "/", 2333 } 2334 2335 if input == nil { 2336 input = &RevokeCertificateInput{} 2337 } 2338 2339 output = &RevokeCertificateOutput{} 2340 req = c.newRequest(op, input, output) 2341 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2342 return 2343 } 2344 2345 // RevokeCertificate API operation for AWS Certificate Manager Private Certificate Authority. 2346 // 2347 // Revokes a certificate that was issued inside ACM Private CA. If you enable 2348 // a certificate revocation list (CRL) when you create or update your private 2349 // CA, information about the revoked certificates will be included in the CRL. 2350 // ACM Private CA writes the CRL to an S3 bucket that you specify. A CRL is 2351 // typically updated approximately 30 minutes after a certificate is revoked. 2352 // If for any reason the CRL update fails, ACM Private CA attempts makes further 2353 // attempts every 15 minutes. With Amazon CloudWatch, you can create alarms 2354 // for the metrics CRLGenerated and MisconfiguredCRLBucket. For more information, 2355 // see Supported CloudWatch Metrics (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaCloudWatch.html). 2356 // 2357 // Both PCA and the IAM principal must have permission to write to the S3 bucket 2358 // that you specify. If the IAM principal making the call does not have permission 2359 // to write to the bucket, then an exception is thrown. For more information, 2360 // see Configure Access to ACM Private CA (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaAuthAccess.html). 2361 // 2362 // ACM Private CA also writes revocation information to the audit report. For 2363 // more information, see CreateCertificateAuthorityAuditReport (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthorityAuditReport.html). 2364 // 2365 // You cannot revoke a root CA self-signed certificate. 2366 // 2367 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2368 // with awserr.Error's Code and Message methods to get detailed information about 2369 // the error. 2370 // 2371 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 2372 // API operation RevokeCertificate for usage and error information. 2373 // 2374 // Returned Error Types: 2375 // * ConcurrentModificationException 2376 // A previous update to your private CA is still ongoing. 2377 // 2378 // * InvalidArnException 2379 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 2380 // 2381 // * InvalidRequestException 2382 // The request action cannot be performed or is prohibited. 2383 // 2384 // * InvalidStateException 2385 // The state of the private CA does not allow this action to occur. 2386 // 2387 // * LimitExceededException 2388 // An ACM Private CA quota has been exceeded. See the exception message returned 2389 // to determine the quota that was exceeded. 2390 // 2391 // * ResourceNotFoundException 2392 // A resource such as a private CA, S3 bucket, certificate, audit report, or 2393 // policy cannot be found. 2394 // 2395 // * RequestAlreadyProcessedException 2396 // Your request has already been completed. 2397 // 2398 // * RequestInProgressException 2399 // Your request is already in progress. 2400 // 2401 // * RequestFailedException 2402 // The request has failed for an unspecified reason. 2403 // 2404 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/RevokeCertificate 2405 func (c *ACMPCA) RevokeCertificate(input *RevokeCertificateInput) (*RevokeCertificateOutput, error) { 2406 req, out := c.RevokeCertificateRequest(input) 2407 return out, req.Send() 2408 } 2409 2410 // RevokeCertificateWithContext is the same as RevokeCertificate with the addition of 2411 // the ability to pass a context and additional request options. 2412 // 2413 // See RevokeCertificate for details on how to use this API operation. 2414 // 2415 // The context must be non-nil and will be used for request cancellation. If 2416 // the context is nil a panic will occur. In the future the SDK may create 2417 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2418 // for more information on using Contexts. 2419 func (c *ACMPCA) RevokeCertificateWithContext(ctx aws.Context, input *RevokeCertificateInput, opts ...request.Option) (*RevokeCertificateOutput, error) { 2420 req, out := c.RevokeCertificateRequest(input) 2421 req.SetContext(ctx) 2422 req.ApplyOptions(opts...) 2423 return out, req.Send() 2424 } 2425 2426 const opTagCertificateAuthority = "TagCertificateAuthority" 2427 2428 // TagCertificateAuthorityRequest generates a "aws/request.Request" representing the 2429 // client's request for the TagCertificateAuthority operation. The "output" return 2430 // value will be populated with the request's response once the request completes 2431 // successfully. 2432 // 2433 // Use "Send" method on the returned Request to send the API call to the service. 2434 // the "output" return value is not valid until after Send returns without error. 2435 // 2436 // See TagCertificateAuthority for more information on using the TagCertificateAuthority 2437 // API call, and error handling. 2438 // 2439 // This method is useful when you want to inject custom logic or configuration 2440 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2441 // 2442 // 2443 // // Example sending a request using the TagCertificateAuthorityRequest method. 2444 // req, resp := client.TagCertificateAuthorityRequest(params) 2445 // 2446 // err := req.Send() 2447 // if err == nil { // resp is now filled 2448 // fmt.Println(resp) 2449 // } 2450 // 2451 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/TagCertificateAuthority 2452 func (c *ACMPCA) TagCertificateAuthorityRequest(input *TagCertificateAuthorityInput) (req *request.Request, output *TagCertificateAuthorityOutput) { 2453 op := &request.Operation{ 2454 Name: opTagCertificateAuthority, 2455 HTTPMethod: "POST", 2456 HTTPPath: "/", 2457 } 2458 2459 if input == nil { 2460 input = &TagCertificateAuthorityInput{} 2461 } 2462 2463 output = &TagCertificateAuthorityOutput{} 2464 req = c.newRequest(op, input, output) 2465 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2466 return 2467 } 2468 2469 // TagCertificateAuthority API operation for AWS Certificate Manager Private Certificate Authority. 2470 // 2471 // Adds one or more tags to your private CA. Tags are labels that you can use 2472 // to identify and organize your AWS resources. Each tag consists of a key and 2473 // an optional value. You specify the private CA on input by its Amazon Resource 2474 // Name (ARN). You specify the tag by using a key-value pair. You can apply 2475 // a tag to just one private CA if you want to identify a specific characteristic 2476 // of that CA, or you can apply the same tag to multiple private CAs if you 2477 // want to filter for a common relationship among those CAs. To remove one or 2478 // more tags, use the UntagCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UntagCertificateAuthority.html) 2479 // action. Call the ListTags (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListTags.html) 2480 // action to see what tags are associated with your CA. 2481 // 2482 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2483 // with awserr.Error's Code and Message methods to get detailed information about 2484 // the error. 2485 // 2486 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 2487 // API operation TagCertificateAuthority for usage and error information. 2488 // 2489 // Returned Error Types: 2490 // * ResourceNotFoundException 2491 // A resource such as a private CA, S3 bucket, certificate, audit report, or 2492 // policy cannot be found. 2493 // 2494 // * InvalidArnException 2495 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 2496 // 2497 // * InvalidStateException 2498 // The state of the private CA does not allow this action to occur. 2499 // 2500 // * InvalidTagException 2501 // The tag associated with the CA is not valid. The invalid argument is contained 2502 // in the message field. 2503 // 2504 // * TooManyTagsException 2505 // You can associate up to 50 tags with a private CA. Exception information 2506 // is contained in the exception message field. 2507 // 2508 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/TagCertificateAuthority 2509 func (c *ACMPCA) TagCertificateAuthority(input *TagCertificateAuthorityInput) (*TagCertificateAuthorityOutput, error) { 2510 req, out := c.TagCertificateAuthorityRequest(input) 2511 return out, req.Send() 2512 } 2513 2514 // TagCertificateAuthorityWithContext is the same as TagCertificateAuthority with the addition of 2515 // the ability to pass a context and additional request options. 2516 // 2517 // See TagCertificateAuthority for details on how to use this API operation. 2518 // 2519 // The context must be non-nil and will be used for request cancellation. If 2520 // the context is nil a panic will occur. In the future the SDK may create 2521 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2522 // for more information on using Contexts. 2523 func (c *ACMPCA) TagCertificateAuthorityWithContext(ctx aws.Context, input *TagCertificateAuthorityInput, opts ...request.Option) (*TagCertificateAuthorityOutput, error) { 2524 req, out := c.TagCertificateAuthorityRequest(input) 2525 req.SetContext(ctx) 2526 req.ApplyOptions(opts...) 2527 return out, req.Send() 2528 } 2529 2530 const opUntagCertificateAuthority = "UntagCertificateAuthority" 2531 2532 // UntagCertificateAuthorityRequest generates a "aws/request.Request" representing the 2533 // client's request for the UntagCertificateAuthority operation. The "output" return 2534 // value will be populated with the request's response once the request completes 2535 // successfully. 2536 // 2537 // Use "Send" method on the returned Request to send the API call to the service. 2538 // the "output" return value is not valid until after Send returns without error. 2539 // 2540 // See UntagCertificateAuthority for more information on using the UntagCertificateAuthority 2541 // API call, and error handling. 2542 // 2543 // This method is useful when you want to inject custom logic or configuration 2544 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2545 // 2546 // 2547 // // Example sending a request using the UntagCertificateAuthorityRequest method. 2548 // req, resp := client.UntagCertificateAuthorityRequest(params) 2549 // 2550 // err := req.Send() 2551 // if err == nil { // resp is now filled 2552 // fmt.Println(resp) 2553 // } 2554 // 2555 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/UntagCertificateAuthority 2556 func (c *ACMPCA) UntagCertificateAuthorityRequest(input *UntagCertificateAuthorityInput) (req *request.Request, output *UntagCertificateAuthorityOutput) { 2557 op := &request.Operation{ 2558 Name: opUntagCertificateAuthority, 2559 HTTPMethod: "POST", 2560 HTTPPath: "/", 2561 } 2562 2563 if input == nil { 2564 input = &UntagCertificateAuthorityInput{} 2565 } 2566 2567 output = &UntagCertificateAuthorityOutput{} 2568 req = c.newRequest(op, input, output) 2569 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2570 return 2571 } 2572 2573 // UntagCertificateAuthority API operation for AWS Certificate Manager Private Certificate Authority. 2574 // 2575 // Remove one or more tags from your private CA. A tag consists of a key-value 2576 // pair. If you do not specify the value portion of the tag when calling this 2577 // action, the tag will be removed regardless of value. If you specify a value, 2578 // the tag is removed only if it is associated with the specified value. To 2579 // add tags to a private CA, use the TagCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_TagCertificateAuthority.html). 2580 // Call the ListTags (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListTags.html) 2581 // action to see what tags are associated with your CA. 2582 // 2583 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2584 // with awserr.Error's Code and Message methods to get detailed information about 2585 // the error. 2586 // 2587 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 2588 // API operation UntagCertificateAuthority for usage and error information. 2589 // 2590 // Returned Error Types: 2591 // * ResourceNotFoundException 2592 // A resource such as a private CA, S3 bucket, certificate, audit report, or 2593 // policy cannot be found. 2594 // 2595 // * InvalidArnException 2596 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 2597 // 2598 // * InvalidStateException 2599 // The state of the private CA does not allow this action to occur. 2600 // 2601 // * InvalidTagException 2602 // The tag associated with the CA is not valid. The invalid argument is contained 2603 // in the message field. 2604 // 2605 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/UntagCertificateAuthority 2606 func (c *ACMPCA) UntagCertificateAuthority(input *UntagCertificateAuthorityInput) (*UntagCertificateAuthorityOutput, error) { 2607 req, out := c.UntagCertificateAuthorityRequest(input) 2608 return out, req.Send() 2609 } 2610 2611 // UntagCertificateAuthorityWithContext is the same as UntagCertificateAuthority with the addition of 2612 // the ability to pass a context and additional request options. 2613 // 2614 // See UntagCertificateAuthority for details on how to use this API operation. 2615 // 2616 // The context must be non-nil and will be used for request cancellation. If 2617 // the context is nil a panic will occur. In the future the SDK may create 2618 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2619 // for more information on using Contexts. 2620 func (c *ACMPCA) UntagCertificateAuthorityWithContext(ctx aws.Context, input *UntagCertificateAuthorityInput, opts ...request.Option) (*UntagCertificateAuthorityOutput, error) { 2621 req, out := c.UntagCertificateAuthorityRequest(input) 2622 req.SetContext(ctx) 2623 req.ApplyOptions(opts...) 2624 return out, req.Send() 2625 } 2626 2627 const opUpdateCertificateAuthority = "UpdateCertificateAuthority" 2628 2629 // UpdateCertificateAuthorityRequest generates a "aws/request.Request" representing the 2630 // client's request for the UpdateCertificateAuthority operation. The "output" return 2631 // value will be populated with the request's response once the request completes 2632 // successfully. 2633 // 2634 // Use "Send" method on the returned Request to send the API call to the service. 2635 // the "output" return value is not valid until after Send returns without error. 2636 // 2637 // See UpdateCertificateAuthority for more information on using the UpdateCertificateAuthority 2638 // API call, and error handling. 2639 // 2640 // This method is useful when you want to inject custom logic or configuration 2641 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2642 // 2643 // 2644 // // Example sending a request using the UpdateCertificateAuthorityRequest method. 2645 // req, resp := client.UpdateCertificateAuthorityRequest(params) 2646 // 2647 // err := req.Send() 2648 // if err == nil { // resp is now filled 2649 // fmt.Println(resp) 2650 // } 2651 // 2652 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/UpdateCertificateAuthority 2653 func (c *ACMPCA) UpdateCertificateAuthorityRequest(input *UpdateCertificateAuthorityInput) (req *request.Request, output *UpdateCertificateAuthorityOutput) { 2654 op := &request.Operation{ 2655 Name: opUpdateCertificateAuthority, 2656 HTTPMethod: "POST", 2657 HTTPPath: "/", 2658 } 2659 2660 if input == nil { 2661 input = &UpdateCertificateAuthorityInput{} 2662 } 2663 2664 output = &UpdateCertificateAuthorityOutput{} 2665 req = c.newRequest(op, input, output) 2666 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2667 return 2668 } 2669 2670 // UpdateCertificateAuthority API operation for AWS Certificate Manager Private Certificate Authority. 2671 // 2672 // Updates the status or configuration of a private certificate authority (CA). 2673 // Your private CA must be in the ACTIVE or DISABLED state before you can update 2674 // it. You can disable a private CA that is in the ACTIVE state or make a CA 2675 // that is in the DISABLED state active again. 2676 // 2677 // Both PCA and the IAM principal must have permission to write to the S3 bucket 2678 // that you specify. If the IAM principal making the call does not have permission 2679 // to write to the bucket, then an exception is thrown. For more information, 2680 // see Configure Access to ACM Private CA (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaAuthAccess.html). 2681 // 2682 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2683 // with awserr.Error's Code and Message methods to get detailed information about 2684 // the error. 2685 // 2686 // See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's 2687 // API operation UpdateCertificateAuthority for usage and error information. 2688 // 2689 // Returned Error Types: 2690 // * ConcurrentModificationException 2691 // A previous update to your private CA is still ongoing. 2692 // 2693 // * ResourceNotFoundException 2694 // A resource such as a private CA, S3 bucket, certificate, audit report, or 2695 // policy cannot be found. 2696 // 2697 // * InvalidArgsException 2698 // One or more of the specified arguments was not valid. 2699 // 2700 // * InvalidArnException 2701 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 2702 // 2703 // * InvalidStateException 2704 // The state of the private CA does not allow this action to occur. 2705 // 2706 // * InvalidPolicyException 2707 // The resource policy is invalid or is missing a required statement. For general 2708 // information about IAM policy and statement structure, see Overview of JSON 2709 // Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json). 2710 // 2711 // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/UpdateCertificateAuthority 2712 func (c *ACMPCA) UpdateCertificateAuthority(input *UpdateCertificateAuthorityInput) (*UpdateCertificateAuthorityOutput, error) { 2713 req, out := c.UpdateCertificateAuthorityRequest(input) 2714 return out, req.Send() 2715 } 2716 2717 // UpdateCertificateAuthorityWithContext is the same as UpdateCertificateAuthority with the addition of 2718 // the ability to pass a context and additional request options. 2719 // 2720 // See UpdateCertificateAuthority for details on how to use this API operation. 2721 // 2722 // The context must be non-nil and will be used for request cancellation. If 2723 // the context is nil a panic will occur. In the future the SDK may create 2724 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2725 // for more information on using Contexts. 2726 func (c *ACMPCA) UpdateCertificateAuthorityWithContext(ctx aws.Context, input *UpdateCertificateAuthorityInput, opts ...request.Option) (*UpdateCertificateAuthorityOutput, error) { 2727 req, out := c.UpdateCertificateAuthorityRequest(input) 2728 req.SetContext(ctx) 2729 req.ApplyOptions(opts...) 2730 return out, req.Send() 2731 } 2732 2733 // Contains information about the certificate subject. The Subject field in 2734 // the certificate identifies the entity that owns or controls the public key 2735 // in the certificate. The entity can be a user, computer, device, or service. 2736 // The Subject must contain an X.500 distinguished name (DN). A DN is a sequence 2737 // of relative distinguished names (RDNs). The RDNs are separated by commas 2738 // in the certificate. 2739 type ASN1Subject struct { 2740 _ struct{} `type:"structure"` 2741 2742 // For CA and end-entity certificates in a private PKI, the common name (CN) 2743 // can be any string within the length limit. 2744 // 2745 // Note: In publicly trusted certificates, the common name must be a fully qualified 2746 // domain name (FQDN) associated with the certificate subject. 2747 CommonName *string `type:"string"` 2748 2749 // Two-digit code that specifies the country in which the certificate subject 2750 // located. 2751 Country *string `min:"2" type:"string"` 2752 2753 // Disambiguating information for the certificate subject. 2754 DistinguishedNameQualifier *string `type:"string"` 2755 2756 // Typically a qualifier appended to the name of an individual. Examples include 2757 // Jr. for junior, Sr. for senior, and III for third. 2758 GenerationQualifier *string `type:"string"` 2759 2760 // First name. 2761 GivenName *string `type:"string"` 2762 2763 // Concatenation that typically contains the first letter of the GivenName, 2764 // the first letter of the middle name if one exists, and the first letter of 2765 // the Surname. 2766 Initials *string `type:"string"` 2767 2768 // The locality (such as a city or town) in which the certificate subject is 2769 // located. 2770 Locality *string `type:"string"` 2771 2772 // Legal name of the organization with which the certificate subject is affiliated. 2773 Organization *string `type:"string"` 2774 2775 // A subdivision or unit of the organization (such as sales or finance) with 2776 // which the certificate subject is affiliated. 2777 OrganizationalUnit *string `type:"string"` 2778 2779 // Typically a shortened version of a longer GivenName. For example, Jonathan 2780 // is often shortened to John. Elizabeth is often shortened to Beth, Liz, or 2781 // Eliza. 2782 Pseudonym *string `type:"string"` 2783 2784 // The certificate serial number. 2785 SerialNumber *string `type:"string"` 2786 2787 // State in which the subject of the certificate is located. 2788 State *string `type:"string"` 2789 2790 // Family name. In the US and the UK, for example, the surname of an individual 2791 // is ordered last. In Asian cultures the surname is typically ordered first. 2792 Surname *string `type:"string"` 2793 2794 // A title such as Mr. or Ms., which is pre-pended to the name to refer formally 2795 // to the certificate subject. 2796 Title *string `type:"string"` 2797 } 2798 2799 // String returns the string representation. 2800 // 2801 // API parameter values that are decorated as "sensitive" in the API will not 2802 // be included in the string output. The member name will be present, but the 2803 // value will be replaced with "sensitive". 2804 func (s ASN1Subject) String() string { 2805 return awsutil.Prettify(s) 2806 } 2807 2808 // GoString returns the string representation. 2809 // 2810 // API parameter values that are decorated as "sensitive" in the API will not 2811 // be included in the string output. The member name will be present, but the 2812 // value will be replaced with "sensitive". 2813 func (s ASN1Subject) GoString() string { 2814 return s.String() 2815 } 2816 2817 // Validate inspects the fields of the type to determine if they are valid. 2818 func (s *ASN1Subject) Validate() error { 2819 invalidParams := request.ErrInvalidParams{Context: "ASN1Subject"} 2820 if s.Country != nil && len(*s.Country) < 2 { 2821 invalidParams.Add(request.NewErrParamMinLen("Country", 2)) 2822 } 2823 2824 if invalidParams.Len() > 0 { 2825 return invalidParams 2826 } 2827 return nil 2828 } 2829 2830 // SetCommonName sets the CommonName field's value. 2831 func (s *ASN1Subject) SetCommonName(v string) *ASN1Subject { 2832 s.CommonName = &v 2833 return s 2834 } 2835 2836 // SetCountry sets the Country field's value. 2837 func (s *ASN1Subject) SetCountry(v string) *ASN1Subject { 2838 s.Country = &v 2839 return s 2840 } 2841 2842 // SetDistinguishedNameQualifier sets the DistinguishedNameQualifier field's value. 2843 func (s *ASN1Subject) SetDistinguishedNameQualifier(v string) *ASN1Subject { 2844 s.DistinguishedNameQualifier = &v 2845 return s 2846 } 2847 2848 // SetGenerationQualifier sets the GenerationQualifier field's value. 2849 func (s *ASN1Subject) SetGenerationQualifier(v string) *ASN1Subject { 2850 s.GenerationQualifier = &v 2851 return s 2852 } 2853 2854 // SetGivenName sets the GivenName field's value. 2855 func (s *ASN1Subject) SetGivenName(v string) *ASN1Subject { 2856 s.GivenName = &v 2857 return s 2858 } 2859 2860 // SetInitials sets the Initials field's value. 2861 func (s *ASN1Subject) SetInitials(v string) *ASN1Subject { 2862 s.Initials = &v 2863 return s 2864 } 2865 2866 // SetLocality sets the Locality field's value. 2867 func (s *ASN1Subject) SetLocality(v string) *ASN1Subject { 2868 s.Locality = &v 2869 return s 2870 } 2871 2872 // SetOrganization sets the Organization field's value. 2873 func (s *ASN1Subject) SetOrganization(v string) *ASN1Subject { 2874 s.Organization = &v 2875 return s 2876 } 2877 2878 // SetOrganizationalUnit sets the OrganizationalUnit field's value. 2879 func (s *ASN1Subject) SetOrganizationalUnit(v string) *ASN1Subject { 2880 s.OrganizationalUnit = &v 2881 return s 2882 } 2883 2884 // SetPseudonym sets the Pseudonym field's value. 2885 func (s *ASN1Subject) SetPseudonym(v string) *ASN1Subject { 2886 s.Pseudonym = &v 2887 return s 2888 } 2889 2890 // SetSerialNumber sets the SerialNumber field's value. 2891 func (s *ASN1Subject) SetSerialNumber(v string) *ASN1Subject { 2892 s.SerialNumber = &v 2893 return s 2894 } 2895 2896 // SetState sets the State field's value. 2897 func (s *ASN1Subject) SetState(v string) *ASN1Subject { 2898 s.State = &v 2899 return s 2900 } 2901 2902 // SetSurname sets the Surname field's value. 2903 func (s *ASN1Subject) SetSurname(v string) *ASN1Subject { 2904 s.Surname = &v 2905 return s 2906 } 2907 2908 // SetTitle sets the Title field's value. 2909 func (s *ASN1Subject) SetTitle(v string) *ASN1Subject { 2910 s.Title = &v 2911 return s 2912 } 2913 2914 // Provides access information used by the authorityInfoAccess and subjectInfoAccess 2915 // extensions described in RFC 5280 (https://tools.ietf.org/html/rfc5280). 2916 type AccessDescription struct { 2917 _ struct{} `type:"structure"` 2918 2919 // The location of AccessDescription information. 2920 // 2921 // AccessLocation is a required field 2922 AccessLocation *GeneralName `type:"structure" required:"true"` 2923 2924 // The type and format of AccessDescription information. 2925 // 2926 // AccessMethod is a required field 2927 AccessMethod *AccessMethod `type:"structure" required:"true"` 2928 } 2929 2930 // String returns the string representation. 2931 // 2932 // API parameter values that are decorated as "sensitive" in the API will not 2933 // be included in the string output. The member name will be present, but the 2934 // value will be replaced with "sensitive". 2935 func (s AccessDescription) String() string { 2936 return awsutil.Prettify(s) 2937 } 2938 2939 // GoString returns the string representation. 2940 // 2941 // API parameter values that are decorated as "sensitive" in the API will not 2942 // be included in the string output. The member name will be present, but the 2943 // value will be replaced with "sensitive". 2944 func (s AccessDescription) GoString() string { 2945 return s.String() 2946 } 2947 2948 // Validate inspects the fields of the type to determine if they are valid. 2949 func (s *AccessDescription) Validate() error { 2950 invalidParams := request.ErrInvalidParams{Context: "AccessDescription"} 2951 if s.AccessLocation == nil { 2952 invalidParams.Add(request.NewErrParamRequired("AccessLocation")) 2953 } 2954 if s.AccessMethod == nil { 2955 invalidParams.Add(request.NewErrParamRequired("AccessMethod")) 2956 } 2957 if s.AccessLocation != nil { 2958 if err := s.AccessLocation.Validate(); err != nil { 2959 invalidParams.AddNested("AccessLocation", err.(request.ErrInvalidParams)) 2960 } 2961 } 2962 2963 if invalidParams.Len() > 0 { 2964 return invalidParams 2965 } 2966 return nil 2967 } 2968 2969 // SetAccessLocation sets the AccessLocation field's value. 2970 func (s *AccessDescription) SetAccessLocation(v *GeneralName) *AccessDescription { 2971 s.AccessLocation = v 2972 return s 2973 } 2974 2975 // SetAccessMethod sets the AccessMethod field's value. 2976 func (s *AccessDescription) SetAccessMethod(v *AccessMethod) *AccessDescription { 2977 s.AccessMethod = v 2978 return s 2979 } 2980 2981 // Describes the type and format of extension access. Only one of CustomObjectIdentifier 2982 // or AccessMethodType may be provided. Providing both results in InvalidArgsException. 2983 type AccessMethod struct { 2984 _ struct{} `type:"structure"` 2985 2986 // Specifies the AccessMethod. 2987 AccessMethodType *string `type:"string" enum:"AccessMethodType"` 2988 2989 // An object identifier (OID) specifying the AccessMethod. The OID must satisfy 2990 // the regular expression shown below. For more information, see NIST's definition 2991 // of Object Identifier (OID) (https://csrc.nist.gov/glossary/term/Object_Identifier). 2992 CustomObjectIdentifier *string `type:"string"` 2993 } 2994 2995 // String returns the string representation. 2996 // 2997 // API parameter values that are decorated as "sensitive" in the API will not 2998 // be included in the string output. The member name will be present, but the 2999 // value will be replaced with "sensitive". 3000 func (s AccessMethod) String() string { 3001 return awsutil.Prettify(s) 3002 } 3003 3004 // GoString returns the string representation. 3005 // 3006 // API parameter values that are decorated as "sensitive" in the API will not 3007 // be included in the string output. The member name will be present, but the 3008 // value will be replaced with "sensitive". 3009 func (s AccessMethod) GoString() string { 3010 return s.String() 3011 } 3012 3013 // SetAccessMethodType sets the AccessMethodType field's value. 3014 func (s *AccessMethod) SetAccessMethodType(v string) *AccessMethod { 3015 s.AccessMethodType = &v 3016 return s 3017 } 3018 3019 // SetCustomObjectIdentifier sets the CustomObjectIdentifier field's value. 3020 func (s *AccessMethod) SetCustomObjectIdentifier(v string) *AccessMethod { 3021 s.CustomObjectIdentifier = &v 3022 return s 3023 } 3024 3025 // Contains X.509 certificate information to be placed in an issued certificate. 3026 // An APIPassthrough or APICSRPassthrough template variant must be selected, 3027 // or else this parameter is ignored. 3028 // 3029 // If conflicting or duplicate certificate information is supplied from other 3030 // sources, ACM Private CA applies order of operation rules (https://docs.aws.amazon.com/acm-pca/latest/userguide/UsingTemplates.html#template-order-of-operations) 3031 // to determine what information is used. 3032 type ApiPassthrough struct { 3033 _ struct{} `type:"structure"` 3034 3035 // Specifies X.509 extension information for a certificate. 3036 Extensions *Extensions `type:"structure"` 3037 3038 // Contains information about the certificate subject. The Subject field in 3039 // the certificate identifies the entity that owns or controls the public key 3040 // in the certificate. The entity can be a user, computer, device, or service. 3041 // The Subject must contain an X.500 distinguished name (DN). A DN is a sequence 3042 // of relative distinguished names (RDNs). The RDNs are separated by commas 3043 // in the certificate. 3044 Subject *ASN1Subject `type:"structure"` 3045 } 3046 3047 // String returns the string representation. 3048 // 3049 // API parameter values that are decorated as "sensitive" in the API will not 3050 // be included in the string output. The member name will be present, but the 3051 // value will be replaced with "sensitive". 3052 func (s ApiPassthrough) String() string { 3053 return awsutil.Prettify(s) 3054 } 3055 3056 // GoString returns the string representation. 3057 // 3058 // API parameter values that are decorated as "sensitive" in the API will not 3059 // be included in the string output. The member name will be present, but the 3060 // value will be replaced with "sensitive". 3061 func (s ApiPassthrough) GoString() string { 3062 return s.String() 3063 } 3064 3065 // Validate inspects the fields of the type to determine if they are valid. 3066 func (s *ApiPassthrough) Validate() error { 3067 invalidParams := request.ErrInvalidParams{Context: "ApiPassthrough"} 3068 if s.Extensions != nil { 3069 if err := s.Extensions.Validate(); err != nil { 3070 invalidParams.AddNested("Extensions", err.(request.ErrInvalidParams)) 3071 } 3072 } 3073 if s.Subject != nil { 3074 if err := s.Subject.Validate(); err != nil { 3075 invalidParams.AddNested("Subject", err.(request.ErrInvalidParams)) 3076 } 3077 } 3078 3079 if invalidParams.Len() > 0 { 3080 return invalidParams 3081 } 3082 return nil 3083 } 3084 3085 // SetExtensions sets the Extensions field's value. 3086 func (s *ApiPassthrough) SetExtensions(v *Extensions) *ApiPassthrough { 3087 s.Extensions = v 3088 return s 3089 } 3090 3091 // SetSubject sets the Subject field's value. 3092 func (s *ApiPassthrough) SetSubject(v *ASN1Subject) *ApiPassthrough { 3093 s.Subject = v 3094 return s 3095 } 3096 3097 // Contains information about your private certificate authority (CA). Your 3098 // private CA can issue and revoke X.509 digital certificates. Digital certificates 3099 // verify that the entity named in the certificate Subject field owns or controls 3100 // the public key contained in the Subject Public Key Info field. Call the CreateCertificateAuthority 3101 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) 3102 // action to create your private CA. You must then call the GetCertificateAuthorityCertificate 3103 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_GetCertificateAuthorityCertificate.html) 3104 // action to retrieve a private CA certificate signing request (CSR). Sign the 3105 // CSR with your ACM Private CA-hosted or on-premises root or subordinate CA 3106 // certificate. Call the ImportCertificateAuthorityCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ImportCertificateAuthorityCertificate.html) 3107 // action to import the signed certificate into AWS Certificate Manager (ACM). 3108 type CertificateAuthority struct { 3109 _ struct{} `type:"structure"` 3110 3111 // Amazon Resource Name (ARN) for your private certificate authority (CA). The 3112 // format is 12345678-1234-1234-1234-123456789012 . 3113 Arn *string `min:"5" type:"string"` 3114 3115 // Your private CA configuration. 3116 CertificateAuthorityConfiguration *CertificateAuthorityConfiguration `type:"structure"` 3117 3118 // Date and time at which your private CA was created. 3119 CreatedAt *time.Time `type:"timestamp"` 3120 3121 // Reason the request to create your private CA failed. 3122 FailureReason *string `type:"string" enum:"FailureReason"` 3123 3124 // Defines a cryptographic key management compliance standard used for handling 3125 // CA keys. 3126 // 3127 // Default: FIPS_140_2_LEVEL_3_OR_HIGHER 3128 // 3129 // Note: AWS Region ap-northeast-3 supports only FIPS_140_2_LEVEL_2_OR_HIGHER. 3130 // You must explicitly specify this parameter and value when creating a CA in 3131 // that Region. Specifying a different value (or no value) results in an InvalidArgsException 3132 // with the message "A certificate authority cannot be created in this region 3133 // with the specified security standard." 3134 KeyStorageSecurityStandard *string `type:"string" enum:"KeyStorageSecurityStandard"` 3135 3136 // Date and time at which your private CA was last updated. 3137 LastStateChangeAt *time.Time `type:"timestamp"` 3138 3139 // Date and time after which your private CA certificate is not valid. 3140 NotAfter *time.Time `type:"timestamp"` 3141 3142 // Date and time before which your private CA certificate is not valid. 3143 NotBefore *time.Time `type:"timestamp"` 3144 3145 // The AWS account ID that owns the certificate authority. 3146 OwnerAccount *string `min:"12" type:"string"` 3147 3148 // The period during which a deleted CA can be restored. For more information, 3149 // see the PermanentDeletionTimeInDays parameter of the DeleteCertificateAuthorityRequest 3150 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DeleteCertificateAuthorityRequest.html) 3151 // action. 3152 RestorableUntil *time.Time `type:"timestamp"` 3153 3154 // Information about the Online Certificate Status Protocol (OCSP) configuration 3155 // or certificate revocation list (CRL) created and maintained by your private 3156 // CA. 3157 RevocationConfiguration *RevocationConfiguration `type:"structure"` 3158 3159 // Serial number of your private CA. 3160 Serial *string `type:"string"` 3161 3162 // Status of your private CA. 3163 Status *string `type:"string" enum:"CertificateAuthorityStatus"` 3164 3165 // Type of your private CA. 3166 Type *string `type:"string" enum:"CertificateAuthorityType"` 3167 } 3168 3169 // String returns the string representation. 3170 // 3171 // API parameter values that are decorated as "sensitive" in the API will not 3172 // be included in the string output. The member name will be present, but the 3173 // value will be replaced with "sensitive". 3174 func (s CertificateAuthority) String() string { 3175 return awsutil.Prettify(s) 3176 } 3177 3178 // GoString returns the string representation. 3179 // 3180 // API parameter values that are decorated as "sensitive" in the API will not 3181 // be included in the string output. The member name will be present, but the 3182 // value will be replaced with "sensitive". 3183 func (s CertificateAuthority) GoString() string { 3184 return s.String() 3185 } 3186 3187 // SetArn sets the Arn field's value. 3188 func (s *CertificateAuthority) SetArn(v string) *CertificateAuthority { 3189 s.Arn = &v 3190 return s 3191 } 3192 3193 // SetCertificateAuthorityConfiguration sets the CertificateAuthorityConfiguration field's value. 3194 func (s *CertificateAuthority) SetCertificateAuthorityConfiguration(v *CertificateAuthorityConfiguration) *CertificateAuthority { 3195 s.CertificateAuthorityConfiguration = v 3196 return s 3197 } 3198 3199 // SetCreatedAt sets the CreatedAt field's value. 3200 func (s *CertificateAuthority) SetCreatedAt(v time.Time) *CertificateAuthority { 3201 s.CreatedAt = &v 3202 return s 3203 } 3204 3205 // SetFailureReason sets the FailureReason field's value. 3206 func (s *CertificateAuthority) SetFailureReason(v string) *CertificateAuthority { 3207 s.FailureReason = &v 3208 return s 3209 } 3210 3211 // SetKeyStorageSecurityStandard sets the KeyStorageSecurityStandard field's value. 3212 func (s *CertificateAuthority) SetKeyStorageSecurityStandard(v string) *CertificateAuthority { 3213 s.KeyStorageSecurityStandard = &v 3214 return s 3215 } 3216 3217 // SetLastStateChangeAt sets the LastStateChangeAt field's value. 3218 func (s *CertificateAuthority) SetLastStateChangeAt(v time.Time) *CertificateAuthority { 3219 s.LastStateChangeAt = &v 3220 return s 3221 } 3222 3223 // SetNotAfter sets the NotAfter field's value. 3224 func (s *CertificateAuthority) SetNotAfter(v time.Time) *CertificateAuthority { 3225 s.NotAfter = &v 3226 return s 3227 } 3228 3229 // SetNotBefore sets the NotBefore field's value. 3230 func (s *CertificateAuthority) SetNotBefore(v time.Time) *CertificateAuthority { 3231 s.NotBefore = &v 3232 return s 3233 } 3234 3235 // SetOwnerAccount sets the OwnerAccount field's value. 3236 func (s *CertificateAuthority) SetOwnerAccount(v string) *CertificateAuthority { 3237 s.OwnerAccount = &v 3238 return s 3239 } 3240 3241 // SetRestorableUntil sets the RestorableUntil field's value. 3242 func (s *CertificateAuthority) SetRestorableUntil(v time.Time) *CertificateAuthority { 3243 s.RestorableUntil = &v 3244 return s 3245 } 3246 3247 // SetRevocationConfiguration sets the RevocationConfiguration field's value. 3248 func (s *CertificateAuthority) SetRevocationConfiguration(v *RevocationConfiguration) *CertificateAuthority { 3249 s.RevocationConfiguration = v 3250 return s 3251 } 3252 3253 // SetSerial sets the Serial field's value. 3254 func (s *CertificateAuthority) SetSerial(v string) *CertificateAuthority { 3255 s.Serial = &v 3256 return s 3257 } 3258 3259 // SetStatus sets the Status field's value. 3260 func (s *CertificateAuthority) SetStatus(v string) *CertificateAuthority { 3261 s.Status = &v 3262 return s 3263 } 3264 3265 // SetType sets the Type field's value. 3266 func (s *CertificateAuthority) SetType(v string) *CertificateAuthority { 3267 s.Type = &v 3268 return s 3269 } 3270 3271 // Contains configuration information for your private certificate authority 3272 // (CA). This includes information about the class of public key algorithm and 3273 // the key pair that your private CA creates when it issues a certificate. It 3274 // also includes the signature algorithm that it uses when issuing certificates, 3275 // and its X.500 distinguished name. You must specify this information when 3276 // you call the CreateCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) 3277 // action. 3278 type CertificateAuthorityConfiguration struct { 3279 _ struct{} `type:"structure"` 3280 3281 // Specifies information to be added to the extension section of the certificate 3282 // signing request (CSR). 3283 CsrExtensions *CsrExtensions `type:"structure"` 3284 3285 // Type of the public key algorithm and size, in bits, of the key pair that 3286 // your CA creates when it issues a certificate. When you create a subordinate 3287 // CA, you must use a key algorithm supported by the parent CA. 3288 // 3289 // KeyAlgorithm is a required field 3290 KeyAlgorithm *string `type:"string" required:"true" enum:"KeyAlgorithm"` 3291 3292 // Name of the algorithm your private CA uses to sign certificate requests. 3293 // 3294 // This parameter should not be confused with the SigningAlgorithm parameter 3295 // used to sign certificates when they are issued. 3296 // 3297 // SigningAlgorithm is a required field 3298 SigningAlgorithm *string `type:"string" required:"true" enum:"SigningAlgorithm"` 3299 3300 // Structure that contains X.500 distinguished name information for your private 3301 // CA. 3302 // 3303 // Subject is a required field 3304 Subject *ASN1Subject `type:"structure" required:"true"` 3305 } 3306 3307 // String returns the string representation. 3308 // 3309 // API parameter values that are decorated as "sensitive" in the API will not 3310 // be included in the string output. The member name will be present, but the 3311 // value will be replaced with "sensitive". 3312 func (s CertificateAuthorityConfiguration) String() string { 3313 return awsutil.Prettify(s) 3314 } 3315 3316 // GoString returns the string representation. 3317 // 3318 // API parameter values that are decorated as "sensitive" in the API will not 3319 // be included in the string output. The member name will be present, but the 3320 // value will be replaced with "sensitive". 3321 func (s CertificateAuthorityConfiguration) GoString() string { 3322 return s.String() 3323 } 3324 3325 // Validate inspects the fields of the type to determine if they are valid. 3326 func (s *CertificateAuthorityConfiguration) Validate() error { 3327 invalidParams := request.ErrInvalidParams{Context: "CertificateAuthorityConfiguration"} 3328 if s.KeyAlgorithm == nil { 3329 invalidParams.Add(request.NewErrParamRequired("KeyAlgorithm")) 3330 } 3331 if s.SigningAlgorithm == nil { 3332 invalidParams.Add(request.NewErrParamRequired("SigningAlgorithm")) 3333 } 3334 if s.Subject == nil { 3335 invalidParams.Add(request.NewErrParamRequired("Subject")) 3336 } 3337 if s.CsrExtensions != nil { 3338 if err := s.CsrExtensions.Validate(); err != nil { 3339 invalidParams.AddNested("CsrExtensions", err.(request.ErrInvalidParams)) 3340 } 3341 } 3342 if s.Subject != nil { 3343 if err := s.Subject.Validate(); err != nil { 3344 invalidParams.AddNested("Subject", err.(request.ErrInvalidParams)) 3345 } 3346 } 3347 3348 if invalidParams.Len() > 0 { 3349 return invalidParams 3350 } 3351 return nil 3352 } 3353 3354 // SetCsrExtensions sets the CsrExtensions field's value. 3355 func (s *CertificateAuthorityConfiguration) SetCsrExtensions(v *CsrExtensions) *CertificateAuthorityConfiguration { 3356 s.CsrExtensions = v 3357 return s 3358 } 3359 3360 // SetKeyAlgorithm sets the KeyAlgorithm field's value. 3361 func (s *CertificateAuthorityConfiguration) SetKeyAlgorithm(v string) *CertificateAuthorityConfiguration { 3362 s.KeyAlgorithm = &v 3363 return s 3364 } 3365 3366 // SetSigningAlgorithm sets the SigningAlgorithm field's value. 3367 func (s *CertificateAuthorityConfiguration) SetSigningAlgorithm(v string) *CertificateAuthorityConfiguration { 3368 s.SigningAlgorithm = &v 3369 return s 3370 } 3371 3372 // SetSubject sets the Subject field's value. 3373 func (s *CertificateAuthorityConfiguration) SetSubject(v *ASN1Subject) *CertificateAuthorityConfiguration { 3374 s.Subject = v 3375 return s 3376 } 3377 3378 // The certificate authority certificate you are importing does not comply with 3379 // conditions specified in the certificate that signed it. 3380 type CertificateMismatchException struct { 3381 _ struct{} `type:"structure"` 3382 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3383 3384 Message_ *string `locationName:"message" type:"string"` 3385 } 3386 3387 // String returns the string representation. 3388 // 3389 // API parameter values that are decorated as "sensitive" in the API will not 3390 // be included in the string output. The member name will be present, but the 3391 // value will be replaced with "sensitive". 3392 func (s CertificateMismatchException) String() string { 3393 return awsutil.Prettify(s) 3394 } 3395 3396 // GoString returns the string representation. 3397 // 3398 // API parameter values that are decorated as "sensitive" in the API will not 3399 // be included in the string output. The member name will be present, but the 3400 // value will be replaced with "sensitive". 3401 func (s CertificateMismatchException) GoString() string { 3402 return s.String() 3403 } 3404 3405 func newErrorCertificateMismatchException(v protocol.ResponseMetadata) error { 3406 return &CertificateMismatchException{ 3407 RespMetadata: v, 3408 } 3409 } 3410 3411 // Code returns the exception type name. 3412 func (s *CertificateMismatchException) Code() string { 3413 return "CertificateMismatchException" 3414 } 3415 3416 // Message returns the exception's message. 3417 func (s *CertificateMismatchException) Message() string { 3418 if s.Message_ != nil { 3419 return *s.Message_ 3420 } 3421 return "" 3422 } 3423 3424 // OrigErr always returns nil, satisfies awserr.Error interface. 3425 func (s *CertificateMismatchException) OrigErr() error { 3426 return nil 3427 } 3428 3429 func (s *CertificateMismatchException) Error() string { 3430 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3431 } 3432 3433 // Status code returns the HTTP status code for the request's response error. 3434 func (s *CertificateMismatchException) StatusCode() int { 3435 return s.RespMetadata.StatusCode 3436 } 3437 3438 // RequestID returns the service's response RequestID for request. 3439 func (s *CertificateMismatchException) RequestID() string { 3440 return s.RespMetadata.RequestID 3441 } 3442 3443 // A previous update to your private CA is still ongoing. 3444 type ConcurrentModificationException struct { 3445 _ struct{} `type:"structure"` 3446 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3447 3448 Message_ *string `locationName:"message" type:"string"` 3449 } 3450 3451 // String returns the string representation. 3452 // 3453 // API parameter values that are decorated as "sensitive" in the API will not 3454 // be included in the string output. The member name will be present, but the 3455 // value will be replaced with "sensitive". 3456 func (s ConcurrentModificationException) String() string { 3457 return awsutil.Prettify(s) 3458 } 3459 3460 // GoString returns the string representation. 3461 // 3462 // API parameter values that are decorated as "sensitive" in the API will not 3463 // be included in the string output. The member name will be present, but the 3464 // value will be replaced with "sensitive". 3465 func (s ConcurrentModificationException) GoString() string { 3466 return s.String() 3467 } 3468 3469 func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error { 3470 return &ConcurrentModificationException{ 3471 RespMetadata: v, 3472 } 3473 } 3474 3475 // Code returns the exception type name. 3476 func (s *ConcurrentModificationException) Code() string { 3477 return "ConcurrentModificationException" 3478 } 3479 3480 // Message returns the exception's message. 3481 func (s *ConcurrentModificationException) Message() string { 3482 if s.Message_ != nil { 3483 return *s.Message_ 3484 } 3485 return "" 3486 } 3487 3488 // OrigErr always returns nil, satisfies awserr.Error interface. 3489 func (s *ConcurrentModificationException) OrigErr() error { 3490 return nil 3491 } 3492 3493 func (s *ConcurrentModificationException) Error() string { 3494 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3495 } 3496 3497 // Status code returns the HTTP status code for the request's response error. 3498 func (s *ConcurrentModificationException) StatusCode() int { 3499 return s.RespMetadata.StatusCode 3500 } 3501 3502 // RequestID returns the service's response RequestID for request. 3503 func (s *ConcurrentModificationException) RequestID() string { 3504 return s.RespMetadata.RequestID 3505 } 3506 3507 type CreateCertificateAuthorityAuditReportInput struct { 3508 _ struct{} `type:"structure"` 3509 3510 // The format in which to create the report. This can be either JSON or CSV. 3511 // 3512 // AuditReportResponseFormat is a required field 3513 AuditReportResponseFormat *string `type:"string" required:"true" enum:"AuditReportResponseFormat"` 3514 3515 // The Amazon Resource Name (ARN) of the CA to be audited. This is of the form: 3516 // 3517 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . 3518 // 3519 // CertificateAuthorityArn is a required field 3520 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 3521 3522 // The name of the S3 bucket that will contain the audit report. 3523 // 3524 // S3BucketName is a required field 3525 S3BucketName *string `min:"3" type:"string" required:"true"` 3526 } 3527 3528 // String returns the string representation. 3529 // 3530 // API parameter values that are decorated as "sensitive" in the API will not 3531 // be included in the string output. The member name will be present, but the 3532 // value will be replaced with "sensitive". 3533 func (s CreateCertificateAuthorityAuditReportInput) String() string { 3534 return awsutil.Prettify(s) 3535 } 3536 3537 // GoString returns the string representation. 3538 // 3539 // API parameter values that are decorated as "sensitive" in the API will not 3540 // be included in the string output. The member name will be present, but the 3541 // value will be replaced with "sensitive". 3542 func (s CreateCertificateAuthorityAuditReportInput) GoString() string { 3543 return s.String() 3544 } 3545 3546 // Validate inspects the fields of the type to determine if they are valid. 3547 func (s *CreateCertificateAuthorityAuditReportInput) Validate() error { 3548 invalidParams := request.ErrInvalidParams{Context: "CreateCertificateAuthorityAuditReportInput"} 3549 if s.AuditReportResponseFormat == nil { 3550 invalidParams.Add(request.NewErrParamRequired("AuditReportResponseFormat")) 3551 } 3552 if s.CertificateAuthorityArn == nil { 3553 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 3554 } 3555 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 3556 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 3557 } 3558 if s.S3BucketName == nil { 3559 invalidParams.Add(request.NewErrParamRequired("S3BucketName")) 3560 } 3561 if s.S3BucketName != nil && len(*s.S3BucketName) < 3 { 3562 invalidParams.Add(request.NewErrParamMinLen("S3BucketName", 3)) 3563 } 3564 3565 if invalidParams.Len() > 0 { 3566 return invalidParams 3567 } 3568 return nil 3569 } 3570 3571 // SetAuditReportResponseFormat sets the AuditReportResponseFormat field's value. 3572 func (s *CreateCertificateAuthorityAuditReportInput) SetAuditReportResponseFormat(v string) *CreateCertificateAuthorityAuditReportInput { 3573 s.AuditReportResponseFormat = &v 3574 return s 3575 } 3576 3577 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 3578 func (s *CreateCertificateAuthorityAuditReportInput) SetCertificateAuthorityArn(v string) *CreateCertificateAuthorityAuditReportInput { 3579 s.CertificateAuthorityArn = &v 3580 return s 3581 } 3582 3583 // SetS3BucketName sets the S3BucketName field's value. 3584 func (s *CreateCertificateAuthorityAuditReportInput) SetS3BucketName(v string) *CreateCertificateAuthorityAuditReportInput { 3585 s.S3BucketName = &v 3586 return s 3587 } 3588 3589 type CreateCertificateAuthorityAuditReportOutput struct { 3590 _ struct{} `type:"structure"` 3591 3592 // An alphanumeric string that contains a report identifier. 3593 AuditReportId *string `min:"36" type:"string"` 3594 3595 // The key that uniquely identifies the report file in your S3 bucket. 3596 S3Key *string `type:"string"` 3597 } 3598 3599 // String returns the string representation. 3600 // 3601 // API parameter values that are decorated as "sensitive" in the API will not 3602 // be included in the string output. The member name will be present, but the 3603 // value will be replaced with "sensitive". 3604 func (s CreateCertificateAuthorityAuditReportOutput) String() string { 3605 return awsutil.Prettify(s) 3606 } 3607 3608 // GoString returns the string representation. 3609 // 3610 // API parameter values that are decorated as "sensitive" in the API will not 3611 // be included in the string output. The member name will be present, but the 3612 // value will be replaced with "sensitive". 3613 func (s CreateCertificateAuthorityAuditReportOutput) GoString() string { 3614 return s.String() 3615 } 3616 3617 // SetAuditReportId sets the AuditReportId field's value. 3618 func (s *CreateCertificateAuthorityAuditReportOutput) SetAuditReportId(v string) *CreateCertificateAuthorityAuditReportOutput { 3619 s.AuditReportId = &v 3620 return s 3621 } 3622 3623 // SetS3Key sets the S3Key field's value. 3624 func (s *CreateCertificateAuthorityAuditReportOutput) SetS3Key(v string) *CreateCertificateAuthorityAuditReportOutput { 3625 s.S3Key = &v 3626 return s 3627 } 3628 3629 type CreateCertificateAuthorityInput struct { 3630 _ struct{} `type:"structure"` 3631 3632 // Name and bit size of the private key algorithm, the name of the signing algorithm, 3633 // and X.500 certificate subject information. 3634 // 3635 // CertificateAuthorityConfiguration is a required field 3636 CertificateAuthorityConfiguration *CertificateAuthorityConfiguration `type:"structure" required:"true"` 3637 3638 // The type of the certificate authority. 3639 // 3640 // CertificateAuthorityType is a required field 3641 CertificateAuthorityType *string `type:"string" required:"true" enum:"CertificateAuthorityType"` 3642 3643 // Custom string that can be used to distinguish between calls to the CreateCertificateAuthority 3644 // action. Idempotency tokens for CreateCertificateAuthority time out after 3645 // five minutes. Therefore, if you call CreateCertificateAuthority multiple 3646 // times with the same idempotency token within five minutes, ACM Private CA 3647 // recognizes that you are requesting only certificate authority and will issue 3648 // only one. If you change the idempotency token for each call, PCA recognizes 3649 // that you are requesting multiple certificate authorities. 3650 IdempotencyToken *string `min:"1" type:"string"` 3651 3652 // Specifies a cryptographic key management compliance standard used for handling 3653 // CA keys. 3654 // 3655 // Default: FIPS_140_2_LEVEL_3_OR_HIGHER 3656 // 3657 // Note: FIPS_140_2_LEVEL_3_OR_HIGHER is not supported in Region ap-northeast-3. 3658 // When creating a CA in the ap-northeast-3, you must provide FIPS_140_2_LEVEL_2_OR_HIGHER 3659 // as the argument for KeyStorageSecurityStandard. Failure to do this results 3660 // in an InvalidArgsException with the message, "A certificate authority cannot 3661 // be created in this region with the specified security standard." 3662 KeyStorageSecurityStandard *string `type:"string" enum:"KeyStorageSecurityStandard"` 3663 3664 // Contains information to enable Online Certificate Status Protocol (OCSP) 3665 // support, to enable a certificate revocation list (CRL), to enable both, or 3666 // to enable neither. The default is for both certificate validation mechanisms 3667 // to be disabled. For more information, see the OcspConfiguration (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_OcspConfiguration.html) 3668 // and CrlConfiguration (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CrlConfiguration.html) 3669 // types. 3670 RevocationConfiguration *RevocationConfiguration `type:"structure"` 3671 3672 // Key-value pairs that will be attached to the new private CA. You can associate 3673 // up to 50 tags with a private CA. For information using tags with IAM to manage 3674 // permissions, see Controlling Access Using IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html). 3675 Tags []*Tag `min:"1" type:"list"` 3676 } 3677 3678 // String returns the string representation. 3679 // 3680 // API parameter values that are decorated as "sensitive" in the API will not 3681 // be included in the string output. The member name will be present, but the 3682 // value will be replaced with "sensitive". 3683 func (s CreateCertificateAuthorityInput) String() string { 3684 return awsutil.Prettify(s) 3685 } 3686 3687 // GoString returns the string representation. 3688 // 3689 // API parameter values that are decorated as "sensitive" in the API will not 3690 // be included in the string output. The member name will be present, but the 3691 // value will be replaced with "sensitive". 3692 func (s CreateCertificateAuthorityInput) GoString() string { 3693 return s.String() 3694 } 3695 3696 // Validate inspects the fields of the type to determine if they are valid. 3697 func (s *CreateCertificateAuthorityInput) Validate() error { 3698 invalidParams := request.ErrInvalidParams{Context: "CreateCertificateAuthorityInput"} 3699 if s.CertificateAuthorityConfiguration == nil { 3700 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityConfiguration")) 3701 } 3702 if s.CertificateAuthorityType == nil { 3703 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityType")) 3704 } 3705 if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 { 3706 invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1)) 3707 } 3708 if s.Tags != nil && len(s.Tags) < 1 { 3709 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 3710 } 3711 if s.CertificateAuthorityConfiguration != nil { 3712 if err := s.CertificateAuthorityConfiguration.Validate(); err != nil { 3713 invalidParams.AddNested("CertificateAuthorityConfiguration", err.(request.ErrInvalidParams)) 3714 } 3715 } 3716 if s.RevocationConfiguration != nil { 3717 if err := s.RevocationConfiguration.Validate(); err != nil { 3718 invalidParams.AddNested("RevocationConfiguration", err.(request.ErrInvalidParams)) 3719 } 3720 } 3721 if s.Tags != nil { 3722 for i, v := range s.Tags { 3723 if v == nil { 3724 continue 3725 } 3726 if err := v.Validate(); err != nil { 3727 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 3728 } 3729 } 3730 } 3731 3732 if invalidParams.Len() > 0 { 3733 return invalidParams 3734 } 3735 return nil 3736 } 3737 3738 // SetCertificateAuthorityConfiguration sets the CertificateAuthorityConfiguration field's value. 3739 func (s *CreateCertificateAuthorityInput) SetCertificateAuthorityConfiguration(v *CertificateAuthorityConfiguration) *CreateCertificateAuthorityInput { 3740 s.CertificateAuthorityConfiguration = v 3741 return s 3742 } 3743 3744 // SetCertificateAuthorityType sets the CertificateAuthorityType field's value. 3745 func (s *CreateCertificateAuthorityInput) SetCertificateAuthorityType(v string) *CreateCertificateAuthorityInput { 3746 s.CertificateAuthorityType = &v 3747 return s 3748 } 3749 3750 // SetIdempotencyToken sets the IdempotencyToken field's value. 3751 func (s *CreateCertificateAuthorityInput) SetIdempotencyToken(v string) *CreateCertificateAuthorityInput { 3752 s.IdempotencyToken = &v 3753 return s 3754 } 3755 3756 // SetKeyStorageSecurityStandard sets the KeyStorageSecurityStandard field's value. 3757 func (s *CreateCertificateAuthorityInput) SetKeyStorageSecurityStandard(v string) *CreateCertificateAuthorityInput { 3758 s.KeyStorageSecurityStandard = &v 3759 return s 3760 } 3761 3762 // SetRevocationConfiguration sets the RevocationConfiguration field's value. 3763 func (s *CreateCertificateAuthorityInput) SetRevocationConfiguration(v *RevocationConfiguration) *CreateCertificateAuthorityInput { 3764 s.RevocationConfiguration = v 3765 return s 3766 } 3767 3768 // SetTags sets the Tags field's value. 3769 func (s *CreateCertificateAuthorityInput) SetTags(v []*Tag) *CreateCertificateAuthorityInput { 3770 s.Tags = v 3771 return s 3772 } 3773 3774 type CreateCertificateAuthorityOutput struct { 3775 _ struct{} `type:"structure"` 3776 3777 // If successful, the Amazon Resource Name (ARN) of the certificate authority 3778 // (CA). This is of the form: 3779 // 3780 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . 3781 CertificateAuthorityArn *string `min:"5" type:"string"` 3782 } 3783 3784 // String returns the string representation. 3785 // 3786 // API parameter values that are decorated as "sensitive" in the API will not 3787 // be included in the string output. The member name will be present, but the 3788 // value will be replaced with "sensitive". 3789 func (s CreateCertificateAuthorityOutput) String() string { 3790 return awsutil.Prettify(s) 3791 } 3792 3793 // GoString returns the string representation. 3794 // 3795 // API parameter values that are decorated as "sensitive" in the API will not 3796 // be included in the string output. The member name will be present, but the 3797 // value will be replaced with "sensitive". 3798 func (s CreateCertificateAuthorityOutput) GoString() string { 3799 return s.String() 3800 } 3801 3802 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 3803 func (s *CreateCertificateAuthorityOutput) SetCertificateAuthorityArn(v string) *CreateCertificateAuthorityOutput { 3804 s.CertificateAuthorityArn = &v 3805 return s 3806 } 3807 3808 type CreatePermissionInput struct { 3809 _ struct{} `type:"structure"` 3810 3811 // The actions that the specified AWS service principal can use. These include 3812 // IssueCertificate, GetCertificate, and ListPermissions. 3813 // 3814 // Actions is a required field 3815 Actions []*string `min:"1" type:"list" required:"true"` 3816 3817 // The Amazon Resource Name (ARN) of the CA that grants the permissions. You 3818 // can find the ARN by calling the ListCertificateAuthorities (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html) 3819 // action. This must have the following form: 3820 // 3821 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . 3822 // 3823 // CertificateAuthorityArn is a required field 3824 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 3825 3826 // The AWS service or identity that receives the permission. At this time, the 3827 // only valid principal is acm.amazonaws.com. 3828 // 3829 // Principal is a required field 3830 Principal *string `type:"string" required:"true"` 3831 3832 // The ID of the calling account. 3833 SourceAccount *string `min:"12" type:"string"` 3834 } 3835 3836 // String returns the string representation. 3837 // 3838 // API parameter values that are decorated as "sensitive" in the API will not 3839 // be included in the string output. The member name will be present, but the 3840 // value will be replaced with "sensitive". 3841 func (s CreatePermissionInput) String() string { 3842 return awsutil.Prettify(s) 3843 } 3844 3845 // GoString returns the string representation. 3846 // 3847 // API parameter values that are decorated as "sensitive" in the API will not 3848 // be included in the string output. The member name will be present, but the 3849 // value will be replaced with "sensitive". 3850 func (s CreatePermissionInput) GoString() string { 3851 return s.String() 3852 } 3853 3854 // Validate inspects the fields of the type to determine if they are valid. 3855 func (s *CreatePermissionInput) Validate() error { 3856 invalidParams := request.ErrInvalidParams{Context: "CreatePermissionInput"} 3857 if s.Actions == nil { 3858 invalidParams.Add(request.NewErrParamRequired("Actions")) 3859 } 3860 if s.Actions != nil && len(s.Actions) < 1 { 3861 invalidParams.Add(request.NewErrParamMinLen("Actions", 1)) 3862 } 3863 if s.CertificateAuthorityArn == nil { 3864 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 3865 } 3866 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 3867 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 3868 } 3869 if s.Principal == nil { 3870 invalidParams.Add(request.NewErrParamRequired("Principal")) 3871 } 3872 if s.SourceAccount != nil && len(*s.SourceAccount) < 12 { 3873 invalidParams.Add(request.NewErrParamMinLen("SourceAccount", 12)) 3874 } 3875 3876 if invalidParams.Len() > 0 { 3877 return invalidParams 3878 } 3879 return nil 3880 } 3881 3882 // SetActions sets the Actions field's value. 3883 func (s *CreatePermissionInput) SetActions(v []*string) *CreatePermissionInput { 3884 s.Actions = v 3885 return s 3886 } 3887 3888 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 3889 func (s *CreatePermissionInput) SetCertificateAuthorityArn(v string) *CreatePermissionInput { 3890 s.CertificateAuthorityArn = &v 3891 return s 3892 } 3893 3894 // SetPrincipal sets the Principal field's value. 3895 func (s *CreatePermissionInput) SetPrincipal(v string) *CreatePermissionInput { 3896 s.Principal = &v 3897 return s 3898 } 3899 3900 // SetSourceAccount sets the SourceAccount field's value. 3901 func (s *CreatePermissionInput) SetSourceAccount(v string) *CreatePermissionInput { 3902 s.SourceAccount = &v 3903 return s 3904 } 3905 3906 type CreatePermissionOutput struct { 3907 _ struct{} `type:"structure"` 3908 } 3909 3910 // String returns the string representation. 3911 // 3912 // API parameter values that are decorated as "sensitive" in the API will not 3913 // be included in the string output. The member name will be present, but the 3914 // value will be replaced with "sensitive". 3915 func (s CreatePermissionOutput) String() string { 3916 return awsutil.Prettify(s) 3917 } 3918 3919 // GoString returns the string representation. 3920 // 3921 // API parameter values that are decorated as "sensitive" in the API will not 3922 // be included in the string output. The member name will be present, but the 3923 // value will be replaced with "sensitive". 3924 func (s CreatePermissionOutput) GoString() string { 3925 return s.String() 3926 } 3927 3928 // Contains configuration information for a certificate revocation list (CRL). 3929 // Your private certificate authority (CA) creates base CRLs. Delta CRLs are 3930 // not supported. You can enable CRLs for your new or an existing private CA 3931 // by setting the Enabled parameter to true. Your private CA writes CRLs to 3932 // an S3 bucket that you specify in the S3BucketName parameter. You can hide 3933 // the name of your bucket by specifying a value for the CustomCname parameter. 3934 // Your private CA copies the CNAME or the S3 bucket name to the CRL Distribution 3935 // Points extension of each certificate it issues. Your S3 bucket policy must 3936 // give write permission to ACM Private CA. 3937 // 3938 // ACM Private CA assets that are stored in Amazon S3 can be protected with 3939 // encryption. For more information, see Encrypting Your CRLs (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaCreateCa.html#crl-encryption). 3940 // 3941 // Your private CA uses the value in the ExpirationInDays parameter to calculate 3942 // the nextUpdate field in the CRL. The CRL is refreshed at 1/2 the age of next 3943 // update or when a certificate is revoked. When a certificate is revoked, it 3944 // is recorded in the next CRL that is generated and in the next audit report. 3945 // Only time valid certificates are listed in the CRL. Expired certificates 3946 // are not included. 3947 // 3948 // A CRL is typically updated approximately 30 minutes after a certificate is 3949 // revoked. If for any reason a CRL update fails, ACM Private CA makes further 3950 // attempts every 15 minutes. 3951 // 3952 // CRLs contain the following fields: 3953 // 3954 // * Version: The current version number defined in RFC 5280 is V2. The integer 3955 // value is 0x1. 3956 // 3957 // * Signature Algorithm: The name of the algorithm used to sign the CRL. 3958 // 3959 // * Issuer: The X.500 distinguished name of your private CA that issued 3960 // the CRL. 3961 // 3962 // * Last Update: The issue date and time of this CRL. 3963 // 3964 // * Next Update: The day and time by which the next CRL will be issued. 3965 // 3966 // * Revoked Certificates: List of revoked certificates. Each list item contains 3967 // the following information. Serial Number: The serial number, in hexadecimal 3968 // format, of the revoked certificate. Revocation Date: Date and time the 3969 // certificate was revoked. CRL Entry Extensions: Optional extensions for 3970 // the CRL entry. X509v3 CRL Reason Code: Reason the certificate was revoked. 3971 // 3972 // * CRL Extensions: Optional extensions for the CRL. X509v3 Authority Key 3973 // Identifier: Identifies the public key associated with the private key 3974 // used to sign the certificate. X509v3 CRL Number:: Decimal sequence number 3975 // for the CRL. 3976 // 3977 // * Signature Algorithm: Algorithm used by your private CA to sign the CRL. 3978 // 3979 // * Signature Value: Signature computed over the CRL. 3980 // 3981 // Certificate revocation lists created by ACM Private CA are DER-encoded. You 3982 // can use the following OpenSSL command to list a CRL. 3983 // 3984 // openssl crl -inform DER -text -in crl_path -noout 3985 // 3986 // For more information, see Planning a certificate revocation list (CRL) (https://docs.aws.amazon.com/acm-pca/latest/userguide/crl-planning.html) 3987 // in the AWS Certificate Manager Private Certificate Authority (PCA) User Guide 3988 type CrlConfiguration struct { 3989 _ struct{} `type:"structure"` 3990 3991 // Name inserted into the certificate CRL Distribution Points extension that 3992 // enables the use of an alias for the CRL distribution point. Use this value 3993 // if you don't want the name of your S3 bucket to be public. 3994 CustomCname *string `type:"string"` 3995 3996 // Boolean value that specifies whether certificate revocation lists (CRLs) 3997 // are enabled. You can use this value to enable certificate revocation for 3998 // a new CA when you call the CreateCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) 3999 // action or for an existing CA when you call the UpdateCertificateAuthority 4000 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UpdateCertificateAuthority.html) 4001 // action. 4002 // 4003 // Enabled is a required field 4004 Enabled *bool `type:"boolean" required:"true"` 4005 4006 // Validity period of the CRL in days. 4007 ExpirationInDays *int64 `min:"1" type:"integer"` 4008 4009 // Name of the S3 bucket that contains the CRL. If you do not provide a value 4010 // for the CustomCname argument, the name of your S3 bucket is placed into the 4011 // CRL Distribution Points extension of the issued certificate. You can change 4012 // the name of your bucket by calling the UpdateCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UpdateCertificateAuthority.html) 4013 // operation. You must specify a bucket policy (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaCreateCa.html#s3-policies) 4014 // that allows ACM Private CA to write the CRL to your bucket. 4015 S3BucketName *string `min:"3" type:"string"` 4016 4017 // Determines whether the CRL will be publicly readable or privately held in 4018 // the CRL Amazon S3 bucket. If you choose PUBLIC_READ, the CRL will be accessible 4019 // over the public internet. If you choose BUCKET_OWNER_FULL_CONTROL, only the 4020 // owner of the CRL S3 bucket can access the CRL, and your PKI clients may need 4021 // an alternative method of access. 4022 // 4023 // If no value is specified, the default is PUBLIC_READ. 4024 // 4025 // Note: This default can cause CA creation to fail in some circumstances. If 4026 // you have have enabled the Block Public Access (BPA) feature in your S3 account, 4027 // then you must specify the value of this parameter as BUCKET_OWNER_FULL_CONTROL, 4028 // and not doing so results in an error. If you have disabled BPA in S3, then 4029 // you can specify either BUCKET_OWNER_FULL_CONTROL or PUBLIC_READ as the value. 4030 // 4031 // For more information, see Blocking public access to the S3 bucket (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaCreateCa.html#s3-bpa). 4032 S3ObjectAcl *string `type:"string" enum:"S3ObjectAcl"` 4033 } 4034 4035 // String returns the string representation. 4036 // 4037 // API parameter values that are decorated as "sensitive" in the API will not 4038 // be included in the string output. The member name will be present, but the 4039 // value will be replaced with "sensitive". 4040 func (s CrlConfiguration) String() string { 4041 return awsutil.Prettify(s) 4042 } 4043 4044 // GoString returns the string representation. 4045 // 4046 // API parameter values that are decorated as "sensitive" in the API will not 4047 // be included in the string output. The member name will be present, but the 4048 // value will be replaced with "sensitive". 4049 func (s CrlConfiguration) GoString() string { 4050 return s.String() 4051 } 4052 4053 // Validate inspects the fields of the type to determine if they are valid. 4054 func (s *CrlConfiguration) Validate() error { 4055 invalidParams := request.ErrInvalidParams{Context: "CrlConfiguration"} 4056 if s.Enabled == nil { 4057 invalidParams.Add(request.NewErrParamRequired("Enabled")) 4058 } 4059 if s.ExpirationInDays != nil && *s.ExpirationInDays < 1 { 4060 invalidParams.Add(request.NewErrParamMinValue("ExpirationInDays", 1)) 4061 } 4062 if s.S3BucketName != nil && len(*s.S3BucketName) < 3 { 4063 invalidParams.Add(request.NewErrParamMinLen("S3BucketName", 3)) 4064 } 4065 4066 if invalidParams.Len() > 0 { 4067 return invalidParams 4068 } 4069 return nil 4070 } 4071 4072 // SetCustomCname sets the CustomCname field's value. 4073 func (s *CrlConfiguration) SetCustomCname(v string) *CrlConfiguration { 4074 s.CustomCname = &v 4075 return s 4076 } 4077 4078 // SetEnabled sets the Enabled field's value. 4079 func (s *CrlConfiguration) SetEnabled(v bool) *CrlConfiguration { 4080 s.Enabled = &v 4081 return s 4082 } 4083 4084 // SetExpirationInDays sets the ExpirationInDays field's value. 4085 func (s *CrlConfiguration) SetExpirationInDays(v int64) *CrlConfiguration { 4086 s.ExpirationInDays = &v 4087 return s 4088 } 4089 4090 // SetS3BucketName sets the S3BucketName field's value. 4091 func (s *CrlConfiguration) SetS3BucketName(v string) *CrlConfiguration { 4092 s.S3BucketName = &v 4093 return s 4094 } 4095 4096 // SetS3ObjectAcl sets the S3ObjectAcl field's value. 4097 func (s *CrlConfiguration) SetS3ObjectAcl(v string) *CrlConfiguration { 4098 s.S3ObjectAcl = &v 4099 return s 4100 } 4101 4102 // Describes the certificate extensions to be added to the certificate signing 4103 // request (CSR). 4104 type CsrExtensions struct { 4105 _ struct{} `type:"structure"` 4106 4107 // Indicates the purpose of the certificate and of the key contained in the 4108 // certificate. 4109 KeyUsage *KeyUsage `type:"structure"` 4110 4111 // For CA certificates, provides a path to additional information pertaining 4112 // to the CA, such as revocation and policy. For more information, see Subject 4113 // Information Access (https://tools.ietf.org/html/rfc5280#section-4.2.2.2) 4114 // in RFC 5280. 4115 SubjectInformationAccess []*AccessDescription `type:"list"` 4116 } 4117 4118 // String returns the string representation. 4119 // 4120 // API parameter values that are decorated as "sensitive" in the API will not 4121 // be included in the string output. The member name will be present, but the 4122 // value will be replaced with "sensitive". 4123 func (s CsrExtensions) String() string { 4124 return awsutil.Prettify(s) 4125 } 4126 4127 // GoString returns the string representation. 4128 // 4129 // API parameter values that are decorated as "sensitive" in the API will not 4130 // be included in the string output. The member name will be present, but the 4131 // value will be replaced with "sensitive". 4132 func (s CsrExtensions) GoString() string { 4133 return s.String() 4134 } 4135 4136 // Validate inspects the fields of the type to determine if they are valid. 4137 func (s *CsrExtensions) Validate() error { 4138 invalidParams := request.ErrInvalidParams{Context: "CsrExtensions"} 4139 if s.SubjectInformationAccess != nil { 4140 for i, v := range s.SubjectInformationAccess { 4141 if v == nil { 4142 continue 4143 } 4144 if err := v.Validate(); err != nil { 4145 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SubjectInformationAccess", i), err.(request.ErrInvalidParams)) 4146 } 4147 } 4148 } 4149 4150 if invalidParams.Len() > 0 { 4151 return invalidParams 4152 } 4153 return nil 4154 } 4155 4156 // SetKeyUsage sets the KeyUsage field's value. 4157 func (s *CsrExtensions) SetKeyUsage(v *KeyUsage) *CsrExtensions { 4158 s.KeyUsage = v 4159 return s 4160 } 4161 4162 // SetSubjectInformationAccess sets the SubjectInformationAccess field's value. 4163 func (s *CsrExtensions) SetSubjectInformationAccess(v []*AccessDescription) *CsrExtensions { 4164 s.SubjectInformationAccess = v 4165 return s 4166 } 4167 4168 type DeleteCertificateAuthorityInput struct { 4169 _ struct{} `type:"structure"` 4170 4171 // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority 4172 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html). 4173 // This must have the following form: 4174 // 4175 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . 4176 // 4177 // CertificateAuthorityArn is a required field 4178 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 4179 4180 // The number of days to make a CA restorable after it has been deleted. This 4181 // can be anywhere from 7 to 30 days, with 30 being the default. 4182 PermanentDeletionTimeInDays *int64 `min:"7" type:"integer"` 4183 } 4184 4185 // String returns the string representation. 4186 // 4187 // API parameter values that are decorated as "sensitive" in the API will not 4188 // be included in the string output. The member name will be present, but the 4189 // value will be replaced with "sensitive". 4190 func (s DeleteCertificateAuthorityInput) String() string { 4191 return awsutil.Prettify(s) 4192 } 4193 4194 // GoString returns the string representation. 4195 // 4196 // API parameter values that are decorated as "sensitive" in the API will not 4197 // be included in the string output. The member name will be present, but the 4198 // value will be replaced with "sensitive". 4199 func (s DeleteCertificateAuthorityInput) GoString() string { 4200 return s.String() 4201 } 4202 4203 // Validate inspects the fields of the type to determine if they are valid. 4204 func (s *DeleteCertificateAuthorityInput) Validate() error { 4205 invalidParams := request.ErrInvalidParams{Context: "DeleteCertificateAuthorityInput"} 4206 if s.CertificateAuthorityArn == nil { 4207 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 4208 } 4209 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 4210 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 4211 } 4212 if s.PermanentDeletionTimeInDays != nil && *s.PermanentDeletionTimeInDays < 7 { 4213 invalidParams.Add(request.NewErrParamMinValue("PermanentDeletionTimeInDays", 7)) 4214 } 4215 4216 if invalidParams.Len() > 0 { 4217 return invalidParams 4218 } 4219 return nil 4220 } 4221 4222 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 4223 func (s *DeleteCertificateAuthorityInput) SetCertificateAuthorityArn(v string) *DeleteCertificateAuthorityInput { 4224 s.CertificateAuthorityArn = &v 4225 return s 4226 } 4227 4228 // SetPermanentDeletionTimeInDays sets the PermanentDeletionTimeInDays field's value. 4229 func (s *DeleteCertificateAuthorityInput) SetPermanentDeletionTimeInDays(v int64) *DeleteCertificateAuthorityInput { 4230 s.PermanentDeletionTimeInDays = &v 4231 return s 4232 } 4233 4234 type DeleteCertificateAuthorityOutput struct { 4235 _ struct{} `type:"structure"` 4236 } 4237 4238 // String returns the string representation. 4239 // 4240 // API parameter values that are decorated as "sensitive" in the API will not 4241 // be included in the string output. The member name will be present, but the 4242 // value will be replaced with "sensitive". 4243 func (s DeleteCertificateAuthorityOutput) String() string { 4244 return awsutil.Prettify(s) 4245 } 4246 4247 // GoString returns the string representation. 4248 // 4249 // API parameter values that are decorated as "sensitive" in the API will not 4250 // be included in the string output. The member name will be present, but the 4251 // value will be replaced with "sensitive". 4252 func (s DeleteCertificateAuthorityOutput) GoString() string { 4253 return s.String() 4254 } 4255 4256 type DeletePermissionInput struct { 4257 _ struct{} `type:"structure"` 4258 4259 // The Amazon Resource Number (ARN) of the private CA that issued the permissions. 4260 // You can find the CA's ARN by calling the ListCertificateAuthorities (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html) 4261 // action. This must have the following form: 4262 // 4263 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . 4264 // 4265 // CertificateAuthorityArn is a required field 4266 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 4267 4268 // The AWS service or identity that will have its CA permissions revoked. At 4269 // this time, the only valid service principal is acm.amazonaws.com 4270 // 4271 // Principal is a required field 4272 Principal *string `type:"string" required:"true"` 4273 4274 // The AWS account that calls this action. 4275 SourceAccount *string `min:"12" type:"string"` 4276 } 4277 4278 // String returns the string representation. 4279 // 4280 // API parameter values that are decorated as "sensitive" in the API will not 4281 // be included in the string output. The member name will be present, but the 4282 // value will be replaced with "sensitive". 4283 func (s DeletePermissionInput) String() string { 4284 return awsutil.Prettify(s) 4285 } 4286 4287 // GoString returns the string representation. 4288 // 4289 // API parameter values that are decorated as "sensitive" in the API will not 4290 // be included in the string output. The member name will be present, but the 4291 // value will be replaced with "sensitive". 4292 func (s DeletePermissionInput) GoString() string { 4293 return s.String() 4294 } 4295 4296 // Validate inspects the fields of the type to determine if they are valid. 4297 func (s *DeletePermissionInput) Validate() error { 4298 invalidParams := request.ErrInvalidParams{Context: "DeletePermissionInput"} 4299 if s.CertificateAuthorityArn == nil { 4300 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 4301 } 4302 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 4303 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 4304 } 4305 if s.Principal == nil { 4306 invalidParams.Add(request.NewErrParamRequired("Principal")) 4307 } 4308 if s.SourceAccount != nil && len(*s.SourceAccount) < 12 { 4309 invalidParams.Add(request.NewErrParamMinLen("SourceAccount", 12)) 4310 } 4311 4312 if invalidParams.Len() > 0 { 4313 return invalidParams 4314 } 4315 return nil 4316 } 4317 4318 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 4319 func (s *DeletePermissionInput) SetCertificateAuthorityArn(v string) *DeletePermissionInput { 4320 s.CertificateAuthorityArn = &v 4321 return s 4322 } 4323 4324 // SetPrincipal sets the Principal field's value. 4325 func (s *DeletePermissionInput) SetPrincipal(v string) *DeletePermissionInput { 4326 s.Principal = &v 4327 return s 4328 } 4329 4330 // SetSourceAccount sets the SourceAccount field's value. 4331 func (s *DeletePermissionInput) SetSourceAccount(v string) *DeletePermissionInput { 4332 s.SourceAccount = &v 4333 return s 4334 } 4335 4336 type DeletePermissionOutput struct { 4337 _ struct{} `type:"structure"` 4338 } 4339 4340 // String returns the string representation. 4341 // 4342 // API parameter values that are decorated as "sensitive" in the API will not 4343 // be included in the string output. The member name will be present, but the 4344 // value will be replaced with "sensitive". 4345 func (s DeletePermissionOutput) String() string { 4346 return awsutil.Prettify(s) 4347 } 4348 4349 // GoString returns the string representation. 4350 // 4351 // API parameter values that are decorated as "sensitive" in the API will not 4352 // be included in the string output. The member name will be present, but the 4353 // value will be replaced with "sensitive". 4354 func (s DeletePermissionOutput) GoString() string { 4355 return s.String() 4356 } 4357 4358 type DeletePolicyInput struct { 4359 _ struct{} `type:"structure"` 4360 4361 // The Amazon Resource Number (ARN) of the private CA that will have its policy 4362 // deleted. You can find the CA's ARN by calling the ListCertificateAuthorities 4363 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html) 4364 // action. The ARN value must have the form arn:aws:acm-pca:region:account:certificate-authority/01234567-89ab-cdef-0123-0123456789ab. 4365 // 4366 // ResourceArn is a required field 4367 ResourceArn *string `min:"5" type:"string" required:"true"` 4368 } 4369 4370 // String returns the string representation. 4371 // 4372 // API parameter values that are decorated as "sensitive" in the API will not 4373 // be included in the string output. The member name will be present, but the 4374 // value will be replaced with "sensitive". 4375 func (s DeletePolicyInput) String() string { 4376 return awsutil.Prettify(s) 4377 } 4378 4379 // GoString returns the string representation. 4380 // 4381 // API parameter values that are decorated as "sensitive" in the API will not 4382 // be included in the string output. The member name will be present, but the 4383 // value will be replaced with "sensitive". 4384 func (s DeletePolicyInput) GoString() string { 4385 return s.String() 4386 } 4387 4388 // Validate inspects the fields of the type to determine if they are valid. 4389 func (s *DeletePolicyInput) Validate() error { 4390 invalidParams := request.ErrInvalidParams{Context: "DeletePolicyInput"} 4391 if s.ResourceArn == nil { 4392 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 4393 } 4394 if s.ResourceArn != nil && len(*s.ResourceArn) < 5 { 4395 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 5)) 4396 } 4397 4398 if invalidParams.Len() > 0 { 4399 return invalidParams 4400 } 4401 return nil 4402 } 4403 4404 // SetResourceArn sets the ResourceArn field's value. 4405 func (s *DeletePolicyInput) SetResourceArn(v string) *DeletePolicyInput { 4406 s.ResourceArn = &v 4407 return s 4408 } 4409 4410 type DeletePolicyOutput struct { 4411 _ struct{} `type:"structure"` 4412 } 4413 4414 // String returns the string representation. 4415 // 4416 // API parameter values that are decorated as "sensitive" in the API will not 4417 // be included in the string output. The member name will be present, but the 4418 // value will be replaced with "sensitive". 4419 func (s DeletePolicyOutput) String() string { 4420 return awsutil.Prettify(s) 4421 } 4422 4423 // GoString returns the string representation. 4424 // 4425 // API parameter values that are decorated as "sensitive" in the API will not 4426 // be included in the string output. The member name will be present, but the 4427 // value will be replaced with "sensitive". 4428 func (s DeletePolicyOutput) GoString() string { 4429 return s.String() 4430 } 4431 4432 type DescribeCertificateAuthorityAuditReportInput struct { 4433 _ struct{} `type:"structure"` 4434 4435 // The report ID returned by calling the CreateCertificateAuthorityAuditReport 4436 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthorityAuditReport.html) 4437 // action. 4438 // 4439 // AuditReportId is a required field 4440 AuditReportId *string `min:"36" type:"string" required:"true"` 4441 4442 // The Amazon Resource Name (ARN) of the private CA. This must be of the form: 4443 // 4444 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . 4445 // 4446 // CertificateAuthorityArn is a required field 4447 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 4448 } 4449 4450 // String returns the string representation. 4451 // 4452 // API parameter values that are decorated as "sensitive" in the API will not 4453 // be included in the string output. The member name will be present, but the 4454 // value will be replaced with "sensitive". 4455 func (s DescribeCertificateAuthorityAuditReportInput) String() string { 4456 return awsutil.Prettify(s) 4457 } 4458 4459 // GoString returns the string representation. 4460 // 4461 // API parameter values that are decorated as "sensitive" in the API will not 4462 // be included in the string output. The member name will be present, but the 4463 // value will be replaced with "sensitive". 4464 func (s DescribeCertificateAuthorityAuditReportInput) GoString() string { 4465 return s.String() 4466 } 4467 4468 // Validate inspects the fields of the type to determine if they are valid. 4469 func (s *DescribeCertificateAuthorityAuditReportInput) Validate() error { 4470 invalidParams := request.ErrInvalidParams{Context: "DescribeCertificateAuthorityAuditReportInput"} 4471 if s.AuditReportId == nil { 4472 invalidParams.Add(request.NewErrParamRequired("AuditReportId")) 4473 } 4474 if s.AuditReportId != nil && len(*s.AuditReportId) < 36 { 4475 invalidParams.Add(request.NewErrParamMinLen("AuditReportId", 36)) 4476 } 4477 if s.CertificateAuthorityArn == nil { 4478 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 4479 } 4480 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 4481 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 4482 } 4483 4484 if invalidParams.Len() > 0 { 4485 return invalidParams 4486 } 4487 return nil 4488 } 4489 4490 // SetAuditReportId sets the AuditReportId field's value. 4491 func (s *DescribeCertificateAuthorityAuditReportInput) SetAuditReportId(v string) *DescribeCertificateAuthorityAuditReportInput { 4492 s.AuditReportId = &v 4493 return s 4494 } 4495 4496 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 4497 func (s *DescribeCertificateAuthorityAuditReportInput) SetCertificateAuthorityArn(v string) *DescribeCertificateAuthorityAuditReportInput { 4498 s.CertificateAuthorityArn = &v 4499 return s 4500 } 4501 4502 type DescribeCertificateAuthorityAuditReportOutput struct { 4503 _ struct{} `type:"structure"` 4504 4505 // Specifies whether report creation is in progress, has succeeded, or has failed. 4506 AuditReportStatus *string `type:"string" enum:"AuditReportStatus"` 4507 4508 // The date and time at which the report was created. 4509 CreatedAt *time.Time `type:"timestamp"` 4510 4511 // Name of the S3 bucket that contains the report. 4512 S3BucketName *string `min:"3" type:"string"` 4513 4514 // S3 key that uniquely identifies the report file in your S3 bucket. 4515 S3Key *string `type:"string"` 4516 } 4517 4518 // String returns the string representation. 4519 // 4520 // API parameter values that are decorated as "sensitive" in the API will not 4521 // be included in the string output. The member name will be present, but the 4522 // value will be replaced with "sensitive". 4523 func (s DescribeCertificateAuthorityAuditReportOutput) String() string { 4524 return awsutil.Prettify(s) 4525 } 4526 4527 // GoString returns the string representation. 4528 // 4529 // API parameter values that are decorated as "sensitive" in the API will not 4530 // be included in the string output. The member name will be present, but the 4531 // value will be replaced with "sensitive". 4532 func (s DescribeCertificateAuthorityAuditReportOutput) GoString() string { 4533 return s.String() 4534 } 4535 4536 // SetAuditReportStatus sets the AuditReportStatus field's value. 4537 func (s *DescribeCertificateAuthorityAuditReportOutput) SetAuditReportStatus(v string) *DescribeCertificateAuthorityAuditReportOutput { 4538 s.AuditReportStatus = &v 4539 return s 4540 } 4541 4542 // SetCreatedAt sets the CreatedAt field's value. 4543 func (s *DescribeCertificateAuthorityAuditReportOutput) SetCreatedAt(v time.Time) *DescribeCertificateAuthorityAuditReportOutput { 4544 s.CreatedAt = &v 4545 return s 4546 } 4547 4548 // SetS3BucketName sets the S3BucketName field's value. 4549 func (s *DescribeCertificateAuthorityAuditReportOutput) SetS3BucketName(v string) *DescribeCertificateAuthorityAuditReportOutput { 4550 s.S3BucketName = &v 4551 return s 4552 } 4553 4554 // SetS3Key sets the S3Key field's value. 4555 func (s *DescribeCertificateAuthorityAuditReportOutput) SetS3Key(v string) *DescribeCertificateAuthorityAuditReportOutput { 4556 s.S3Key = &v 4557 return s 4558 } 4559 4560 type DescribeCertificateAuthorityInput struct { 4561 _ struct{} `type:"structure"` 4562 4563 // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority 4564 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html). 4565 // This must be of the form: 4566 // 4567 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . 4568 // 4569 // CertificateAuthorityArn is a required field 4570 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 4571 } 4572 4573 // String returns the string representation. 4574 // 4575 // API parameter values that are decorated as "sensitive" in the API will not 4576 // be included in the string output. The member name will be present, but the 4577 // value will be replaced with "sensitive". 4578 func (s DescribeCertificateAuthorityInput) String() string { 4579 return awsutil.Prettify(s) 4580 } 4581 4582 // GoString returns the string representation. 4583 // 4584 // API parameter values that are decorated as "sensitive" in the API will not 4585 // be included in the string output. The member name will be present, but the 4586 // value will be replaced with "sensitive". 4587 func (s DescribeCertificateAuthorityInput) GoString() string { 4588 return s.String() 4589 } 4590 4591 // Validate inspects the fields of the type to determine if they are valid. 4592 func (s *DescribeCertificateAuthorityInput) Validate() error { 4593 invalidParams := request.ErrInvalidParams{Context: "DescribeCertificateAuthorityInput"} 4594 if s.CertificateAuthorityArn == nil { 4595 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 4596 } 4597 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 4598 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 4599 } 4600 4601 if invalidParams.Len() > 0 { 4602 return invalidParams 4603 } 4604 return nil 4605 } 4606 4607 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 4608 func (s *DescribeCertificateAuthorityInput) SetCertificateAuthorityArn(v string) *DescribeCertificateAuthorityInput { 4609 s.CertificateAuthorityArn = &v 4610 return s 4611 } 4612 4613 type DescribeCertificateAuthorityOutput struct { 4614 _ struct{} `type:"structure"` 4615 4616 // A CertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CertificateAuthority.html) 4617 // structure that contains information about your private CA. 4618 CertificateAuthority *CertificateAuthority `type:"structure"` 4619 } 4620 4621 // String returns the string representation. 4622 // 4623 // API parameter values that are decorated as "sensitive" in the API will not 4624 // be included in the string output. The member name will be present, but the 4625 // value will be replaced with "sensitive". 4626 func (s DescribeCertificateAuthorityOutput) String() string { 4627 return awsutil.Prettify(s) 4628 } 4629 4630 // GoString returns the string representation. 4631 // 4632 // API parameter values that are decorated as "sensitive" in the API will not 4633 // be included in the string output. The member name will be present, but the 4634 // value will be replaced with "sensitive". 4635 func (s DescribeCertificateAuthorityOutput) GoString() string { 4636 return s.String() 4637 } 4638 4639 // SetCertificateAuthority sets the CertificateAuthority field's value. 4640 func (s *DescribeCertificateAuthorityOutput) SetCertificateAuthority(v *CertificateAuthority) *DescribeCertificateAuthorityOutput { 4641 s.CertificateAuthority = v 4642 return s 4643 } 4644 4645 // Describes an Electronic Data Interchange (EDI) entity as described in as 4646 // defined in Subject Alternative Name (https://tools.ietf.org/html/rfc5280) 4647 // in RFC 5280. 4648 type EdiPartyName struct { 4649 _ struct{} `type:"structure"` 4650 4651 // Specifies the name assigner. 4652 NameAssigner *string `type:"string"` 4653 4654 // Specifies the party name. 4655 // 4656 // PartyName is a required field 4657 PartyName *string `type:"string" required:"true"` 4658 } 4659 4660 // String returns the string representation. 4661 // 4662 // API parameter values that are decorated as "sensitive" in the API will not 4663 // be included in the string output. The member name will be present, but the 4664 // value will be replaced with "sensitive". 4665 func (s EdiPartyName) String() string { 4666 return awsutil.Prettify(s) 4667 } 4668 4669 // GoString returns the string representation. 4670 // 4671 // API parameter values that are decorated as "sensitive" in the API will not 4672 // be included in the string output. The member name will be present, but the 4673 // value will be replaced with "sensitive". 4674 func (s EdiPartyName) GoString() string { 4675 return s.String() 4676 } 4677 4678 // Validate inspects the fields of the type to determine if they are valid. 4679 func (s *EdiPartyName) Validate() error { 4680 invalidParams := request.ErrInvalidParams{Context: "EdiPartyName"} 4681 if s.PartyName == nil { 4682 invalidParams.Add(request.NewErrParamRequired("PartyName")) 4683 } 4684 4685 if invalidParams.Len() > 0 { 4686 return invalidParams 4687 } 4688 return nil 4689 } 4690 4691 // SetNameAssigner sets the NameAssigner field's value. 4692 func (s *EdiPartyName) SetNameAssigner(v string) *EdiPartyName { 4693 s.NameAssigner = &v 4694 return s 4695 } 4696 4697 // SetPartyName sets the PartyName field's value. 4698 func (s *EdiPartyName) SetPartyName(v string) *EdiPartyName { 4699 s.PartyName = &v 4700 return s 4701 } 4702 4703 // Specifies additional purposes for which the certified public key may be used 4704 // other than basic purposes indicated in the KeyUsage extension. 4705 type ExtendedKeyUsage struct { 4706 _ struct{} `type:"structure"` 4707 4708 // Specifies a custom ExtendedKeyUsage with an object identifier (OID). 4709 ExtendedKeyUsageObjectIdentifier *string `type:"string"` 4710 4711 // Specifies a standard ExtendedKeyUsage as defined as in RFC 5280 (https://tools.ietf.org/html/rfc5280#section-4.2.1.12). 4712 ExtendedKeyUsageType *string `type:"string" enum:"ExtendedKeyUsageType"` 4713 } 4714 4715 // String returns the string representation. 4716 // 4717 // API parameter values that are decorated as "sensitive" in the API will not 4718 // be included in the string output. The member name will be present, but the 4719 // value will be replaced with "sensitive". 4720 func (s ExtendedKeyUsage) String() string { 4721 return awsutil.Prettify(s) 4722 } 4723 4724 // GoString returns the string representation. 4725 // 4726 // API parameter values that are decorated as "sensitive" in the API will not 4727 // be included in the string output. The member name will be present, but the 4728 // value will be replaced with "sensitive". 4729 func (s ExtendedKeyUsage) GoString() string { 4730 return s.String() 4731 } 4732 4733 // SetExtendedKeyUsageObjectIdentifier sets the ExtendedKeyUsageObjectIdentifier field's value. 4734 func (s *ExtendedKeyUsage) SetExtendedKeyUsageObjectIdentifier(v string) *ExtendedKeyUsage { 4735 s.ExtendedKeyUsageObjectIdentifier = &v 4736 return s 4737 } 4738 4739 // SetExtendedKeyUsageType sets the ExtendedKeyUsageType field's value. 4740 func (s *ExtendedKeyUsage) SetExtendedKeyUsageType(v string) *ExtendedKeyUsage { 4741 s.ExtendedKeyUsageType = &v 4742 return s 4743 } 4744 4745 // Contains X.509 extension information for a certificate. 4746 type Extensions struct { 4747 _ struct{} `type:"structure"` 4748 4749 // Contains a sequence of one or more policy information terms, each of which 4750 // consists of an object identifier (OID) and optional qualifiers. For more 4751 // information, see NIST's definition of Object Identifier (OID) (https://csrc.nist.gov/glossary/term/Object_Identifier). 4752 // 4753 // In an end-entity certificate, these terms indicate the policy under which 4754 // the certificate was issued and the purposes for which it may be used. In 4755 // a CA certificate, these terms limit the set of policies for certification 4756 // paths that include this certificate. 4757 CertificatePolicies []*PolicyInformation `min:"1" type:"list"` 4758 4759 // Specifies additional purposes for which the certified public key may be used 4760 // other than basic purposes indicated in the KeyUsage extension. 4761 ExtendedKeyUsage []*ExtendedKeyUsage `min:"1" type:"list"` 4762 4763 // Defines one or more purposes for which the key contained in the certificate 4764 // can be used. Default value for each option is false. 4765 KeyUsage *KeyUsage `type:"structure"` 4766 4767 // The subject alternative name extension allows identities to be bound to the 4768 // subject of the certificate. These identities may be included in addition 4769 // to or in place of the identity in the subject field of the certificate. 4770 SubjectAlternativeNames []*GeneralName `min:"1" type:"list"` 4771 } 4772 4773 // String returns the string representation. 4774 // 4775 // API parameter values that are decorated as "sensitive" in the API will not 4776 // be included in the string output. The member name will be present, but the 4777 // value will be replaced with "sensitive". 4778 func (s Extensions) String() string { 4779 return awsutil.Prettify(s) 4780 } 4781 4782 // GoString returns the string representation. 4783 // 4784 // API parameter values that are decorated as "sensitive" in the API will not 4785 // be included in the string output. The member name will be present, but the 4786 // value will be replaced with "sensitive". 4787 func (s Extensions) GoString() string { 4788 return s.String() 4789 } 4790 4791 // Validate inspects the fields of the type to determine if they are valid. 4792 func (s *Extensions) Validate() error { 4793 invalidParams := request.ErrInvalidParams{Context: "Extensions"} 4794 if s.CertificatePolicies != nil && len(s.CertificatePolicies) < 1 { 4795 invalidParams.Add(request.NewErrParamMinLen("CertificatePolicies", 1)) 4796 } 4797 if s.ExtendedKeyUsage != nil && len(s.ExtendedKeyUsage) < 1 { 4798 invalidParams.Add(request.NewErrParamMinLen("ExtendedKeyUsage", 1)) 4799 } 4800 if s.SubjectAlternativeNames != nil && len(s.SubjectAlternativeNames) < 1 { 4801 invalidParams.Add(request.NewErrParamMinLen("SubjectAlternativeNames", 1)) 4802 } 4803 if s.CertificatePolicies != nil { 4804 for i, v := range s.CertificatePolicies { 4805 if v == nil { 4806 continue 4807 } 4808 if err := v.Validate(); err != nil { 4809 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CertificatePolicies", i), err.(request.ErrInvalidParams)) 4810 } 4811 } 4812 } 4813 if s.SubjectAlternativeNames != nil { 4814 for i, v := range s.SubjectAlternativeNames { 4815 if v == nil { 4816 continue 4817 } 4818 if err := v.Validate(); err != nil { 4819 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SubjectAlternativeNames", i), err.(request.ErrInvalidParams)) 4820 } 4821 } 4822 } 4823 4824 if invalidParams.Len() > 0 { 4825 return invalidParams 4826 } 4827 return nil 4828 } 4829 4830 // SetCertificatePolicies sets the CertificatePolicies field's value. 4831 func (s *Extensions) SetCertificatePolicies(v []*PolicyInformation) *Extensions { 4832 s.CertificatePolicies = v 4833 return s 4834 } 4835 4836 // SetExtendedKeyUsage sets the ExtendedKeyUsage field's value. 4837 func (s *Extensions) SetExtendedKeyUsage(v []*ExtendedKeyUsage) *Extensions { 4838 s.ExtendedKeyUsage = v 4839 return s 4840 } 4841 4842 // SetKeyUsage sets the KeyUsage field's value. 4843 func (s *Extensions) SetKeyUsage(v *KeyUsage) *Extensions { 4844 s.KeyUsage = v 4845 return s 4846 } 4847 4848 // SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value. 4849 func (s *Extensions) SetSubjectAlternativeNames(v []*GeneralName) *Extensions { 4850 s.SubjectAlternativeNames = v 4851 return s 4852 } 4853 4854 // Describes an ASN.1 X.400 GeneralName as defined in RFC 5280 (https://tools.ietf.org/html/rfc5280). 4855 // Only one of the following naming options should be provided. Providing more 4856 // than one option results in an InvalidArgsException error. 4857 type GeneralName struct { 4858 _ struct{} `type:"structure"` 4859 4860 // Contains information about the certificate subject. The Subject field in 4861 // the certificate identifies the entity that owns or controls the public key 4862 // in the certificate. The entity can be a user, computer, device, or service. 4863 // The Subject must contain an X.500 distinguished name (DN). A DN is a sequence 4864 // of relative distinguished names (RDNs). The RDNs are separated by commas 4865 // in the certificate. 4866 DirectoryName *ASN1Subject `type:"structure"` 4867 4868 // Represents GeneralName as a DNS name. 4869 DnsName *string `type:"string"` 4870 4871 // Represents GeneralName as an EdiPartyName object. 4872 EdiPartyName *EdiPartyName `type:"structure"` 4873 4874 // Represents GeneralName as an IPv4 or IPv6 address. 4875 IpAddress *string `type:"string"` 4876 4877 // Represents GeneralName using an OtherName object. 4878 OtherName *OtherName `type:"structure"` 4879 4880 // Represents GeneralName as an object identifier (OID). 4881 RegisteredId *string `type:"string"` 4882 4883 // Represents GeneralName as an RFC 822 (https://tools.ietf.org/html/rfc822) 4884 // email address. 4885 Rfc822Name *string `type:"string"` 4886 4887 // Represents GeneralName as a URI. 4888 UniformResourceIdentifier *string `type:"string"` 4889 } 4890 4891 // String returns the string representation. 4892 // 4893 // API parameter values that are decorated as "sensitive" in the API will not 4894 // be included in the string output. The member name will be present, but the 4895 // value will be replaced with "sensitive". 4896 func (s GeneralName) String() string { 4897 return awsutil.Prettify(s) 4898 } 4899 4900 // GoString returns the string representation. 4901 // 4902 // API parameter values that are decorated as "sensitive" in the API will not 4903 // be included in the string output. The member name will be present, but the 4904 // value will be replaced with "sensitive". 4905 func (s GeneralName) GoString() string { 4906 return s.String() 4907 } 4908 4909 // Validate inspects the fields of the type to determine if they are valid. 4910 func (s *GeneralName) Validate() error { 4911 invalidParams := request.ErrInvalidParams{Context: "GeneralName"} 4912 if s.DirectoryName != nil { 4913 if err := s.DirectoryName.Validate(); err != nil { 4914 invalidParams.AddNested("DirectoryName", err.(request.ErrInvalidParams)) 4915 } 4916 } 4917 if s.EdiPartyName != nil { 4918 if err := s.EdiPartyName.Validate(); err != nil { 4919 invalidParams.AddNested("EdiPartyName", err.(request.ErrInvalidParams)) 4920 } 4921 } 4922 if s.OtherName != nil { 4923 if err := s.OtherName.Validate(); err != nil { 4924 invalidParams.AddNested("OtherName", err.(request.ErrInvalidParams)) 4925 } 4926 } 4927 4928 if invalidParams.Len() > 0 { 4929 return invalidParams 4930 } 4931 return nil 4932 } 4933 4934 // SetDirectoryName sets the DirectoryName field's value. 4935 func (s *GeneralName) SetDirectoryName(v *ASN1Subject) *GeneralName { 4936 s.DirectoryName = v 4937 return s 4938 } 4939 4940 // SetDnsName sets the DnsName field's value. 4941 func (s *GeneralName) SetDnsName(v string) *GeneralName { 4942 s.DnsName = &v 4943 return s 4944 } 4945 4946 // SetEdiPartyName sets the EdiPartyName field's value. 4947 func (s *GeneralName) SetEdiPartyName(v *EdiPartyName) *GeneralName { 4948 s.EdiPartyName = v 4949 return s 4950 } 4951 4952 // SetIpAddress sets the IpAddress field's value. 4953 func (s *GeneralName) SetIpAddress(v string) *GeneralName { 4954 s.IpAddress = &v 4955 return s 4956 } 4957 4958 // SetOtherName sets the OtherName field's value. 4959 func (s *GeneralName) SetOtherName(v *OtherName) *GeneralName { 4960 s.OtherName = v 4961 return s 4962 } 4963 4964 // SetRegisteredId sets the RegisteredId field's value. 4965 func (s *GeneralName) SetRegisteredId(v string) *GeneralName { 4966 s.RegisteredId = &v 4967 return s 4968 } 4969 4970 // SetRfc822Name sets the Rfc822Name field's value. 4971 func (s *GeneralName) SetRfc822Name(v string) *GeneralName { 4972 s.Rfc822Name = &v 4973 return s 4974 } 4975 4976 // SetUniformResourceIdentifier sets the UniformResourceIdentifier field's value. 4977 func (s *GeneralName) SetUniformResourceIdentifier(v string) *GeneralName { 4978 s.UniformResourceIdentifier = &v 4979 return s 4980 } 4981 4982 type GetCertificateAuthorityCertificateInput struct { 4983 _ struct{} `type:"structure"` 4984 4985 // The Amazon Resource Name (ARN) of your private CA. This is of the form: 4986 // 4987 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . 4988 // 4989 // CertificateAuthorityArn is a required field 4990 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 4991 } 4992 4993 // String returns the string representation. 4994 // 4995 // API parameter values that are decorated as "sensitive" in the API will not 4996 // be included in the string output. The member name will be present, but the 4997 // value will be replaced with "sensitive". 4998 func (s GetCertificateAuthorityCertificateInput) String() string { 4999 return awsutil.Prettify(s) 5000 } 5001 5002 // GoString returns the string representation. 5003 // 5004 // API parameter values that are decorated as "sensitive" in the API will not 5005 // be included in the string output. The member name will be present, but the 5006 // value will be replaced with "sensitive". 5007 func (s GetCertificateAuthorityCertificateInput) GoString() string { 5008 return s.String() 5009 } 5010 5011 // Validate inspects the fields of the type to determine if they are valid. 5012 func (s *GetCertificateAuthorityCertificateInput) Validate() error { 5013 invalidParams := request.ErrInvalidParams{Context: "GetCertificateAuthorityCertificateInput"} 5014 if s.CertificateAuthorityArn == nil { 5015 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 5016 } 5017 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 5018 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 5019 } 5020 5021 if invalidParams.Len() > 0 { 5022 return invalidParams 5023 } 5024 return nil 5025 } 5026 5027 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 5028 func (s *GetCertificateAuthorityCertificateInput) SetCertificateAuthorityArn(v string) *GetCertificateAuthorityCertificateInput { 5029 s.CertificateAuthorityArn = &v 5030 return s 5031 } 5032 5033 type GetCertificateAuthorityCertificateOutput struct { 5034 _ struct{} `type:"structure"` 5035 5036 // Base64-encoded certificate authority (CA) certificate. 5037 Certificate *string `type:"string"` 5038 5039 // Base64-encoded certificate chain that includes any intermediate certificates 5040 // and chains up to root certificate that you used to sign your private CA certificate. 5041 // The chain does not include your private CA certificate. If this is a root 5042 // CA, the value will be null. 5043 CertificateChain *string `type:"string"` 5044 } 5045 5046 // String returns the string representation. 5047 // 5048 // API parameter values that are decorated as "sensitive" in the API will not 5049 // be included in the string output. The member name will be present, but the 5050 // value will be replaced with "sensitive". 5051 func (s GetCertificateAuthorityCertificateOutput) String() string { 5052 return awsutil.Prettify(s) 5053 } 5054 5055 // GoString returns the string representation. 5056 // 5057 // API parameter values that are decorated as "sensitive" in the API will not 5058 // be included in the string output. The member name will be present, but the 5059 // value will be replaced with "sensitive". 5060 func (s GetCertificateAuthorityCertificateOutput) GoString() string { 5061 return s.String() 5062 } 5063 5064 // SetCertificate sets the Certificate field's value. 5065 func (s *GetCertificateAuthorityCertificateOutput) SetCertificate(v string) *GetCertificateAuthorityCertificateOutput { 5066 s.Certificate = &v 5067 return s 5068 } 5069 5070 // SetCertificateChain sets the CertificateChain field's value. 5071 func (s *GetCertificateAuthorityCertificateOutput) SetCertificateChain(v string) *GetCertificateAuthorityCertificateOutput { 5072 s.CertificateChain = &v 5073 return s 5074 } 5075 5076 type GetCertificateAuthorityCsrInput struct { 5077 _ struct{} `type:"structure"` 5078 5079 // The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority 5080 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) 5081 // action. This must be of the form: 5082 // 5083 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 5084 // 5085 // CertificateAuthorityArn is a required field 5086 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 5087 } 5088 5089 // String returns the string representation. 5090 // 5091 // API parameter values that are decorated as "sensitive" in the API will not 5092 // be included in the string output. The member name will be present, but the 5093 // value will be replaced with "sensitive". 5094 func (s GetCertificateAuthorityCsrInput) String() string { 5095 return awsutil.Prettify(s) 5096 } 5097 5098 // GoString returns the string representation. 5099 // 5100 // API parameter values that are decorated as "sensitive" in the API will not 5101 // be included in the string output. The member name will be present, but the 5102 // value will be replaced with "sensitive". 5103 func (s GetCertificateAuthorityCsrInput) GoString() string { 5104 return s.String() 5105 } 5106 5107 // Validate inspects the fields of the type to determine if they are valid. 5108 func (s *GetCertificateAuthorityCsrInput) Validate() error { 5109 invalidParams := request.ErrInvalidParams{Context: "GetCertificateAuthorityCsrInput"} 5110 if s.CertificateAuthorityArn == nil { 5111 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 5112 } 5113 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 5114 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 5115 } 5116 5117 if invalidParams.Len() > 0 { 5118 return invalidParams 5119 } 5120 return nil 5121 } 5122 5123 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 5124 func (s *GetCertificateAuthorityCsrInput) SetCertificateAuthorityArn(v string) *GetCertificateAuthorityCsrInput { 5125 s.CertificateAuthorityArn = &v 5126 return s 5127 } 5128 5129 type GetCertificateAuthorityCsrOutput struct { 5130 _ struct{} `type:"structure"` 5131 5132 // The base64 PEM-encoded certificate signing request (CSR) for your private 5133 // CA certificate. 5134 Csr *string `type:"string"` 5135 } 5136 5137 // String returns the string representation. 5138 // 5139 // API parameter values that are decorated as "sensitive" in the API will not 5140 // be included in the string output. The member name will be present, but the 5141 // value will be replaced with "sensitive". 5142 func (s GetCertificateAuthorityCsrOutput) String() string { 5143 return awsutil.Prettify(s) 5144 } 5145 5146 // GoString returns the string representation. 5147 // 5148 // API parameter values that are decorated as "sensitive" in the API will not 5149 // be included in the string output. The member name will be present, but the 5150 // value will be replaced with "sensitive". 5151 func (s GetCertificateAuthorityCsrOutput) GoString() string { 5152 return s.String() 5153 } 5154 5155 // SetCsr sets the Csr field's value. 5156 func (s *GetCertificateAuthorityCsrOutput) SetCsr(v string) *GetCertificateAuthorityCsrOutput { 5157 s.Csr = &v 5158 return s 5159 } 5160 5161 type GetCertificateInput struct { 5162 _ struct{} `type:"structure"` 5163 5164 // The ARN of the issued certificate. The ARN contains the certificate serial 5165 // number and must be in the following form: 5166 // 5167 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/286535153982981100925020015808220737245 5168 // 5169 // CertificateArn is a required field 5170 CertificateArn *string `min:"5" type:"string" required:"true"` 5171 5172 // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority 5173 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html). 5174 // This must be of the form: 5175 // 5176 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . 5177 // 5178 // CertificateAuthorityArn is a required field 5179 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 5180 } 5181 5182 // String returns the string representation. 5183 // 5184 // API parameter values that are decorated as "sensitive" in the API will not 5185 // be included in the string output. The member name will be present, but the 5186 // value will be replaced with "sensitive". 5187 func (s GetCertificateInput) String() string { 5188 return awsutil.Prettify(s) 5189 } 5190 5191 // GoString returns the string representation. 5192 // 5193 // API parameter values that are decorated as "sensitive" in the API will not 5194 // be included in the string output. The member name will be present, but the 5195 // value will be replaced with "sensitive". 5196 func (s GetCertificateInput) GoString() string { 5197 return s.String() 5198 } 5199 5200 // Validate inspects the fields of the type to determine if they are valid. 5201 func (s *GetCertificateInput) Validate() error { 5202 invalidParams := request.ErrInvalidParams{Context: "GetCertificateInput"} 5203 if s.CertificateArn == nil { 5204 invalidParams.Add(request.NewErrParamRequired("CertificateArn")) 5205 } 5206 if s.CertificateArn != nil && len(*s.CertificateArn) < 5 { 5207 invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 5)) 5208 } 5209 if s.CertificateAuthorityArn == nil { 5210 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 5211 } 5212 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 5213 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 5214 } 5215 5216 if invalidParams.Len() > 0 { 5217 return invalidParams 5218 } 5219 return nil 5220 } 5221 5222 // SetCertificateArn sets the CertificateArn field's value. 5223 func (s *GetCertificateInput) SetCertificateArn(v string) *GetCertificateInput { 5224 s.CertificateArn = &v 5225 return s 5226 } 5227 5228 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 5229 func (s *GetCertificateInput) SetCertificateAuthorityArn(v string) *GetCertificateInput { 5230 s.CertificateAuthorityArn = &v 5231 return s 5232 } 5233 5234 type GetCertificateOutput struct { 5235 _ struct{} `type:"structure"` 5236 5237 // The base64 PEM-encoded certificate specified by the CertificateArn parameter. 5238 Certificate *string `type:"string"` 5239 5240 // The base64 PEM-encoded certificate chain that chains up to the root CA certificate 5241 // that you used to sign your private CA certificate. 5242 CertificateChain *string `type:"string"` 5243 } 5244 5245 // String returns the string representation. 5246 // 5247 // API parameter values that are decorated as "sensitive" in the API will not 5248 // be included in the string output. The member name will be present, but the 5249 // value will be replaced with "sensitive". 5250 func (s GetCertificateOutput) String() string { 5251 return awsutil.Prettify(s) 5252 } 5253 5254 // GoString returns the string representation. 5255 // 5256 // API parameter values that are decorated as "sensitive" in the API will not 5257 // be included in the string output. The member name will be present, but the 5258 // value will be replaced with "sensitive". 5259 func (s GetCertificateOutput) GoString() string { 5260 return s.String() 5261 } 5262 5263 // SetCertificate sets the Certificate field's value. 5264 func (s *GetCertificateOutput) SetCertificate(v string) *GetCertificateOutput { 5265 s.Certificate = &v 5266 return s 5267 } 5268 5269 // SetCertificateChain sets the CertificateChain field's value. 5270 func (s *GetCertificateOutput) SetCertificateChain(v string) *GetCertificateOutput { 5271 s.CertificateChain = &v 5272 return s 5273 } 5274 5275 type GetPolicyInput struct { 5276 _ struct{} `type:"structure"` 5277 5278 // The Amazon Resource Number (ARN) of the private CA that will have its policy 5279 // retrieved. You can find the CA's ARN by calling the ListCertificateAuthorities 5280 // action. 5281 // 5282 // ResourceArn is a required field 5283 ResourceArn *string `min:"5" type:"string" required:"true"` 5284 } 5285 5286 // String returns the string representation. 5287 // 5288 // API parameter values that are decorated as "sensitive" in the API will not 5289 // be included in the string output. The member name will be present, but the 5290 // value will be replaced with "sensitive". 5291 func (s GetPolicyInput) String() string { 5292 return awsutil.Prettify(s) 5293 } 5294 5295 // GoString returns the string representation. 5296 // 5297 // API parameter values that are decorated as "sensitive" in the API will not 5298 // be included in the string output. The member name will be present, but the 5299 // value will be replaced with "sensitive". 5300 func (s GetPolicyInput) GoString() string { 5301 return s.String() 5302 } 5303 5304 // Validate inspects the fields of the type to determine if they are valid. 5305 func (s *GetPolicyInput) Validate() error { 5306 invalidParams := request.ErrInvalidParams{Context: "GetPolicyInput"} 5307 if s.ResourceArn == nil { 5308 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 5309 } 5310 if s.ResourceArn != nil && len(*s.ResourceArn) < 5 { 5311 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 5)) 5312 } 5313 5314 if invalidParams.Len() > 0 { 5315 return invalidParams 5316 } 5317 return nil 5318 } 5319 5320 // SetResourceArn sets the ResourceArn field's value. 5321 func (s *GetPolicyInput) SetResourceArn(v string) *GetPolicyInput { 5322 s.ResourceArn = &v 5323 return s 5324 } 5325 5326 type GetPolicyOutput struct { 5327 _ struct{} `type:"structure"` 5328 5329 // The policy attached to the private CA as a JSON document. 5330 Policy *string `min:"1" type:"string"` 5331 } 5332 5333 // String returns the string representation. 5334 // 5335 // API parameter values that are decorated as "sensitive" in the API will not 5336 // be included in the string output. The member name will be present, but the 5337 // value will be replaced with "sensitive". 5338 func (s GetPolicyOutput) String() string { 5339 return awsutil.Prettify(s) 5340 } 5341 5342 // GoString returns the string representation. 5343 // 5344 // API parameter values that are decorated as "sensitive" in the API will not 5345 // be included in the string output. The member name will be present, but the 5346 // value will be replaced with "sensitive". 5347 func (s GetPolicyOutput) GoString() string { 5348 return s.String() 5349 } 5350 5351 // SetPolicy sets the Policy field's value. 5352 func (s *GetPolicyOutput) SetPolicy(v string) *GetPolicyOutput { 5353 s.Policy = &v 5354 return s 5355 } 5356 5357 type ImportCertificateAuthorityCertificateInput struct { 5358 _ struct{} `type:"structure"` 5359 5360 // The PEM-encoded certificate for a private CA. This may be a self-signed certificate 5361 // in the case of a root CA, or it may be signed by another CA that you control. 5362 // Certificate is automatically base64 encoded/decoded by the SDK. 5363 // 5364 // Certificate is a required field 5365 Certificate []byte `min:"1" type:"blob" required:"true"` 5366 5367 // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority 5368 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html). 5369 // This must be of the form: 5370 // 5371 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 5372 // 5373 // CertificateAuthorityArn is a required field 5374 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 5375 5376 // A PEM-encoded file that contains all of your certificates, other than the 5377 // certificate you're importing, chaining up to your root CA. Your ACM Private 5378 // CA-hosted or on-premises root certificate is the last in the chain, and each 5379 // certificate in the chain signs the one preceding. 5380 // 5381 // This parameter must be supplied when you import a subordinate CA. When you 5382 // import a root CA, there is no chain. 5383 // CertificateChain is automatically base64 encoded/decoded by the SDK. 5384 CertificateChain []byte `type:"blob"` 5385 } 5386 5387 // String returns the string representation. 5388 // 5389 // API parameter values that are decorated as "sensitive" in the API will not 5390 // be included in the string output. The member name will be present, but the 5391 // value will be replaced with "sensitive". 5392 func (s ImportCertificateAuthorityCertificateInput) String() string { 5393 return awsutil.Prettify(s) 5394 } 5395 5396 // GoString returns the string representation. 5397 // 5398 // API parameter values that are decorated as "sensitive" in the API will not 5399 // be included in the string output. The member name will be present, but the 5400 // value will be replaced with "sensitive". 5401 func (s ImportCertificateAuthorityCertificateInput) GoString() string { 5402 return s.String() 5403 } 5404 5405 // Validate inspects the fields of the type to determine if they are valid. 5406 func (s *ImportCertificateAuthorityCertificateInput) Validate() error { 5407 invalidParams := request.ErrInvalidParams{Context: "ImportCertificateAuthorityCertificateInput"} 5408 if s.Certificate == nil { 5409 invalidParams.Add(request.NewErrParamRequired("Certificate")) 5410 } 5411 if s.Certificate != nil && len(s.Certificate) < 1 { 5412 invalidParams.Add(request.NewErrParamMinLen("Certificate", 1)) 5413 } 5414 if s.CertificateAuthorityArn == nil { 5415 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 5416 } 5417 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 5418 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 5419 } 5420 5421 if invalidParams.Len() > 0 { 5422 return invalidParams 5423 } 5424 return nil 5425 } 5426 5427 // SetCertificate sets the Certificate field's value. 5428 func (s *ImportCertificateAuthorityCertificateInput) SetCertificate(v []byte) *ImportCertificateAuthorityCertificateInput { 5429 s.Certificate = v 5430 return s 5431 } 5432 5433 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 5434 func (s *ImportCertificateAuthorityCertificateInput) SetCertificateAuthorityArn(v string) *ImportCertificateAuthorityCertificateInput { 5435 s.CertificateAuthorityArn = &v 5436 return s 5437 } 5438 5439 // SetCertificateChain sets the CertificateChain field's value. 5440 func (s *ImportCertificateAuthorityCertificateInput) SetCertificateChain(v []byte) *ImportCertificateAuthorityCertificateInput { 5441 s.CertificateChain = v 5442 return s 5443 } 5444 5445 type ImportCertificateAuthorityCertificateOutput struct { 5446 _ struct{} `type:"structure"` 5447 } 5448 5449 // String returns the string representation. 5450 // 5451 // API parameter values that are decorated as "sensitive" in the API will not 5452 // be included in the string output. The member name will be present, but the 5453 // value will be replaced with "sensitive". 5454 func (s ImportCertificateAuthorityCertificateOutput) String() string { 5455 return awsutil.Prettify(s) 5456 } 5457 5458 // GoString returns the string representation. 5459 // 5460 // API parameter values that are decorated as "sensitive" in the API will not 5461 // be included in the string output. The member name will be present, but the 5462 // value will be replaced with "sensitive". 5463 func (s ImportCertificateAuthorityCertificateOutput) GoString() string { 5464 return s.String() 5465 } 5466 5467 // One or more of the specified arguments was not valid. 5468 type InvalidArgsException struct { 5469 _ struct{} `type:"structure"` 5470 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5471 5472 Message_ *string `locationName:"message" type:"string"` 5473 } 5474 5475 // String returns the string representation. 5476 // 5477 // API parameter values that are decorated as "sensitive" in the API will not 5478 // be included in the string output. The member name will be present, but the 5479 // value will be replaced with "sensitive". 5480 func (s InvalidArgsException) String() string { 5481 return awsutil.Prettify(s) 5482 } 5483 5484 // GoString returns the string representation. 5485 // 5486 // API parameter values that are decorated as "sensitive" in the API will not 5487 // be included in the string output. The member name will be present, but the 5488 // value will be replaced with "sensitive". 5489 func (s InvalidArgsException) GoString() string { 5490 return s.String() 5491 } 5492 5493 func newErrorInvalidArgsException(v protocol.ResponseMetadata) error { 5494 return &InvalidArgsException{ 5495 RespMetadata: v, 5496 } 5497 } 5498 5499 // Code returns the exception type name. 5500 func (s *InvalidArgsException) Code() string { 5501 return "InvalidArgsException" 5502 } 5503 5504 // Message returns the exception's message. 5505 func (s *InvalidArgsException) Message() string { 5506 if s.Message_ != nil { 5507 return *s.Message_ 5508 } 5509 return "" 5510 } 5511 5512 // OrigErr always returns nil, satisfies awserr.Error interface. 5513 func (s *InvalidArgsException) OrigErr() error { 5514 return nil 5515 } 5516 5517 func (s *InvalidArgsException) Error() string { 5518 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5519 } 5520 5521 // Status code returns the HTTP status code for the request's response error. 5522 func (s *InvalidArgsException) StatusCode() int { 5523 return s.RespMetadata.StatusCode 5524 } 5525 5526 // RequestID returns the service's response RequestID for request. 5527 func (s *InvalidArgsException) RequestID() string { 5528 return s.RespMetadata.RequestID 5529 } 5530 5531 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 5532 type InvalidArnException struct { 5533 _ struct{} `type:"structure"` 5534 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5535 5536 Message_ *string `locationName:"message" type:"string"` 5537 } 5538 5539 // String returns the string representation. 5540 // 5541 // API parameter values that are decorated as "sensitive" in the API will not 5542 // be included in the string output. The member name will be present, but the 5543 // value will be replaced with "sensitive". 5544 func (s InvalidArnException) String() string { 5545 return awsutil.Prettify(s) 5546 } 5547 5548 // GoString returns the string representation. 5549 // 5550 // API parameter values that are decorated as "sensitive" in the API will not 5551 // be included in the string output. The member name will be present, but the 5552 // value will be replaced with "sensitive". 5553 func (s InvalidArnException) GoString() string { 5554 return s.String() 5555 } 5556 5557 func newErrorInvalidArnException(v protocol.ResponseMetadata) error { 5558 return &InvalidArnException{ 5559 RespMetadata: v, 5560 } 5561 } 5562 5563 // Code returns the exception type name. 5564 func (s *InvalidArnException) Code() string { 5565 return "InvalidArnException" 5566 } 5567 5568 // Message returns the exception's message. 5569 func (s *InvalidArnException) Message() string { 5570 if s.Message_ != nil { 5571 return *s.Message_ 5572 } 5573 return "" 5574 } 5575 5576 // OrigErr always returns nil, satisfies awserr.Error interface. 5577 func (s *InvalidArnException) OrigErr() error { 5578 return nil 5579 } 5580 5581 func (s *InvalidArnException) Error() string { 5582 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5583 } 5584 5585 // Status code returns the HTTP status code for the request's response error. 5586 func (s *InvalidArnException) StatusCode() int { 5587 return s.RespMetadata.StatusCode 5588 } 5589 5590 // RequestID returns the service's response RequestID for request. 5591 func (s *InvalidArnException) RequestID() string { 5592 return s.RespMetadata.RequestID 5593 } 5594 5595 // The token specified in the NextToken argument is not valid. Use the token 5596 // returned from your previous call to ListCertificateAuthorities (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html). 5597 type InvalidNextTokenException struct { 5598 _ struct{} `type:"structure"` 5599 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5600 5601 Message_ *string `locationName:"message" type:"string"` 5602 } 5603 5604 // String returns the string representation. 5605 // 5606 // API parameter values that are decorated as "sensitive" in the API will not 5607 // be included in the string output. The member name will be present, but the 5608 // value will be replaced with "sensitive". 5609 func (s InvalidNextTokenException) String() string { 5610 return awsutil.Prettify(s) 5611 } 5612 5613 // GoString returns the string representation. 5614 // 5615 // API parameter values that are decorated as "sensitive" in the API will not 5616 // be included in the string output. The member name will be present, but the 5617 // value will be replaced with "sensitive". 5618 func (s InvalidNextTokenException) GoString() string { 5619 return s.String() 5620 } 5621 5622 func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { 5623 return &InvalidNextTokenException{ 5624 RespMetadata: v, 5625 } 5626 } 5627 5628 // Code returns the exception type name. 5629 func (s *InvalidNextTokenException) Code() string { 5630 return "InvalidNextTokenException" 5631 } 5632 5633 // Message returns the exception's message. 5634 func (s *InvalidNextTokenException) Message() string { 5635 if s.Message_ != nil { 5636 return *s.Message_ 5637 } 5638 return "" 5639 } 5640 5641 // OrigErr always returns nil, satisfies awserr.Error interface. 5642 func (s *InvalidNextTokenException) OrigErr() error { 5643 return nil 5644 } 5645 5646 func (s *InvalidNextTokenException) Error() string { 5647 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5648 } 5649 5650 // Status code returns the HTTP status code for the request's response error. 5651 func (s *InvalidNextTokenException) StatusCode() int { 5652 return s.RespMetadata.StatusCode 5653 } 5654 5655 // RequestID returns the service's response RequestID for request. 5656 func (s *InvalidNextTokenException) RequestID() string { 5657 return s.RespMetadata.RequestID 5658 } 5659 5660 // The resource policy is invalid or is missing a required statement. For general 5661 // information about IAM policy and statement structure, see Overview of JSON 5662 // Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json). 5663 type InvalidPolicyException struct { 5664 _ struct{} `type:"structure"` 5665 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5666 5667 Message_ *string `locationName:"message" type:"string"` 5668 } 5669 5670 // String returns the string representation. 5671 // 5672 // API parameter values that are decorated as "sensitive" in the API will not 5673 // be included in the string output. The member name will be present, but the 5674 // value will be replaced with "sensitive". 5675 func (s InvalidPolicyException) String() string { 5676 return awsutil.Prettify(s) 5677 } 5678 5679 // GoString returns the string representation. 5680 // 5681 // API parameter values that are decorated as "sensitive" in the API will not 5682 // be included in the string output. The member name will be present, but the 5683 // value will be replaced with "sensitive". 5684 func (s InvalidPolicyException) GoString() string { 5685 return s.String() 5686 } 5687 5688 func newErrorInvalidPolicyException(v protocol.ResponseMetadata) error { 5689 return &InvalidPolicyException{ 5690 RespMetadata: v, 5691 } 5692 } 5693 5694 // Code returns the exception type name. 5695 func (s *InvalidPolicyException) Code() string { 5696 return "InvalidPolicyException" 5697 } 5698 5699 // Message returns the exception's message. 5700 func (s *InvalidPolicyException) Message() string { 5701 if s.Message_ != nil { 5702 return *s.Message_ 5703 } 5704 return "" 5705 } 5706 5707 // OrigErr always returns nil, satisfies awserr.Error interface. 5708 func (s *InvalidPolicyException) OrigErr() error { 5709 return nil 5710 } 5711 5712 func (s *InvalidPolicyException) Error() string { 5713 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5714 } 5715 5716 // Status code returns the HTTP status code for the request's response error. 5717 func (s *InvalidPolicyException) StatusCode() int { 5718 return s.RespMetadata.StatusCode 5719 } 5720 5721 // RequestID returns the service's response RequestID for request. 5722 func (s *InvalidPolicyException) RequestID() string { 5723 return s.RespMetadata.RequestID 5724 } 5725 5726 // The request action cannot be performed or is prohibited. 5727 type InvalidRequestException struct { 5728 _ struct{} `type:"structure"` 5729 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5730 5731 Message_ *string `locationName:"message" type:"string"` 5732 } 5733 5734 // String returns the string representation. 5735 // 5736 // API parameter values that are decorated as "sensitive" in the API will not 5737 // be included in the string output. The member name will be present, but the 5738 // value will be replaced with "sensitive". 5739 func (s InvalidRequestException) String() string { 5740 return awsutil.Prettify(s) 5741 } 5742 5743 // GoString returns the string representation. 5744 // 5745 // API parameter values that are decorated as "sensitive" in the API will not 5746 // be included in the string output. The member name will be present, but the 5747 // value will be replaced with "sensitive". 5748 func (s InvalidRequestException) GoString() string { 5749 return s.String() 5750 } 5751 5752 func newErrorInvalidRequestException(v protocol.ResponseMetadata) error { 5753 return &InvalidRequestException{ 5754 RespMetadata: v, 5755 } 5756 } 5757 5758 // Code returns the exception type name. 5759 func (s *InvalidRequestException) Code() string { 5760 return "InvalidRequestException" 5761 } 5762 5763 // Message returns the exception's message. 5764 func (s *InvalidRequestException) Message() string { 5765 if s.Message_ != nil { 5766 return *s.Message_ 5767 } 5768 return "" 5769 } 5770 5771 // OrigErr always returns nil, satisfies awserr.Error interface. 5772 func (s *InvalidRequestException) OrigErr() error { 5773 return nil 5774 } 5775 5776 func (s *InvalidRequestException) Error() string { 5777 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5778 } 5779 5780 // Status code returns the HTTP status code for the request's response error. 5781 func (s *InvalidRequestException) StatusCode() int { 5782 return s.RespMetadata.StatusCode 5783 } 5784 5785 // RequestID returns the service's response RequestID for request. 5786 func (s *InvalidRequestException) RequestID() string { 5787 return s.RespMetadata.RequestID 5788 } 5789 5790 // The state of the private CA does not allow this action to occur. 5791 type InvalidStateException struct { 5792 _ struct{} `type:"structure"` 5793 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5794 5795 Message_ *string `locationName:"message" type:"string"` 5796 } 5797 5798 // String returns the string representation. 5799 // 5800 // API parameter values that are decorated as "sensitive" in the API will not 5801 // be included in the string output. The member name will be present, but the 5802 // value will be replaced with "sensitive". 5803 func (s InvalidStateException) String() string { 5804 return awsutil.Prettify(s) 5805 } 5806 5807 // GoString returns the string representation. 5808 // 5809 // API parameter values that are decorated as "sensitive" in the API will not 5810 // be included in the string output. The member name will be present, but the 5811 // value will be replaced with "sensitive". 5812 func (s InvalidStateException) GoString() string { 5813 return s.String() 5814 } 5815 5816 func newErrorInvalidStateException(v protocol.ResponseMetadata) error { 5817 return &InvalidStateException{ 5818 RespMetadata: v, 5819 } 5820 } 5821 5822 // Code returns the exception type name. 5823 func (s *InvalidStateException) Code() string { 5824 return "InvalidStateException" 5825 } 5826 5827 // Message returns the exception's message. 5828 func (s *InvalidStateException) Message() string { 5829 if s.Message_ != nil { 5830 return *s.Message_ 5831 } 5832 return "" 5833 } 5834 5835 // OrigErr always returns nil, satisfies awserr.Error interface. 5836 func (s *InvalidStateException) OrigErr() error { 5837 return nil 5838 } 5839 5840 func (s *InvalidStateException) Error() string { 5841 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5842 } 5843 5844 // Status code returns the HTTP status code for the request's response error. 5845 func (s *InvalidStateException) StatusCode() int { 5846 return s.RespMetadata.StatusCode 5847 } 5848 5849 // RequestID returns the service's response RequestID for request. 5850 func (s *InvalidStateException) RequestID() string { 5851 return s.RespMetadata.RequestID 5852 } 5853 5854 // The tag associated with the CA is not valid. The invalid argument is contained 5855 // in the message field. 5856 type InvalidTagException struct { 5857 _ struct{} `type:"structure"` 5858 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5859 5860 Message_ *string `locationName:"message" type:"string"` 5861 } 5862 5863 // String returns the string representation. 5864 // 5865 // API parameter values that are decorated as "sensitive" in the API will not 5866 // be included in the string output. The member name will be present, but the 5867 // value will be replaced with "sensitive". 5868 func (s InvalidTagException) String() string { 5869 return awsutil.Prettify(s) 5870 } 5871 5872 // GoString returns the string representation. 5873 // 5874 // API parameter values that are decorated as "sensitive" in the API will not 5875 // be included in the string output. The member name will be present, but the 5876 // value will be replaced with "sensitive". 5877 func (s InvalidTagException) GoString() string { 5878 return s.String() 5879 } 5880 5881 func newErrorInvalidTagException(v protocol.ResponseMetadata) error { 5882 return &InvalidTagException{ 5883 RespMetadata: v, 5884 } 5885 } 5886 5887 // Code returns the exception type name. 5888 func (s *InvalidTagException) Code() string { 5889 return "InvalidTagException" 5890 } 5891 5892 // Message returns the exception's message. 5893 func (s *InvalidTagException) Message() string { 5894 if s.Message_ != nil { 5895 return *s.Message_ 5896 } 5897 return "" 5898 } 5899 5900 // OrigErr always returns nil, satisfies awserr.Error interface. 5901 func (s *InvalidTagException) OrigErr() error { 5902 return nil 5903 } 5904 5905 func (s *InvalidTagException) Error() string { 5906 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5907 } 5908 5909 // Status code returns the HTTP status code for the request's response error. 5910 func (s *InvalidTagException) StatusCode() int { 5911 return s.RespMetadata.StatusCode 5912 } 5913 5914 // RequestID returns the service's response RequestID for request. 5915 func (s *InvalidTagException) RequestID() string { 5916 return s.RespMetadata.RequestID 5917 } 5918 5919 type IssueCertificateInput struct { 5920 _ struct{} `type:"structure"` 5921 5922 // Specifies X.509 certificate information to be included in the issued certificate. 5923 // An APIPassthrough or APICSRPassthrough template variant must be selected, 5924 // or else this parameter is ignored. For more information about using these 5925 // templates, see Understanding Certificate Templates (https://docs.aws.amazon.com/acm-pca/latest/userguide/UsingTemplates.html). 5926 // 5927 // If conflicting or duplicate certificate information is supplied during certificate 5928 // issuance, ACM Private CA applies order of operation rules (https://docs.aws.amazon.com/acm-pca/latest/userguide/UsingTemplates.html#template-order-of-operations) 5929 // to determine what information is used. 5930 ApiPassthrough *ApiPassthrough `type:"structure"` 5931 5932 // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority 5933 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html). 5934 // This must be of the form: 5935 // 5936 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 5937 // 5938 // CertificateAuthorityArn is a required field 5939 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 5940 5941 // The certificate signing request (CSR) for the certificate you want to issue. 5942 // As an example, you can use the following OpenSSL command to create the CSR 5943 // and a 2048 bit RSA private key. 5944 // 5945 // openssl req -new -newkey rsa:2048 -days 365 -keyout private/test_cert_priv_key.pem 5946 // -out csr/test_cert_.csr 5947 // 5948 // If you have a configuration file, you can then use the following OpenSSL 5949 // command. The usr_cert block in the configuration file contains your X509 5950 // version 3 extensions. 5951 // 5952 // openssl req -new -config openssl_rsa.cnf -extensions usr_cert -newkey rsa:2048 5953 // -days -365 -keyout private/test_cert_priv_key.pem -out csr/test_cert_.csr 5954 // 5955 // Note: A CSR must provide either a subject name or a subject alternative name 5956 // or the request will be rejected. 5957 // Csr is automatically base64 encoded/decoded by the SDK. 5958 // 5959 // Csr is a required field 5960 Csr []byte `min:"1" type:"blob" required:"true"` 5961 5962 // Alphanumeric string that can be used to distinguish between calls to the 5963 // IssueCertificate action. Idempotency tokens for IssueCertificate time out 5964 // after one minute. Therefore, if you call IssueCertificate multiple times 5965 // with the same idempotency token within one minute, ACM Private CA recognizes 5966 // that you are requesting only one certificate and will issue only one. If 5967 // you change the idempotency token for each call, PCA recognizes that you are 5968 // requesting multiple certificates. 5969 IdempotencyToken *string `min:"1" type:"string"` 5970 5971 // The name of the algorithm that will be used to sign the certificate to be 5972 // issued. 5973 // 5974 // This parameter should not be confused with the SigningAlgorithm parameter 5975 // used to sign a CSR in the CreateCertificateAuthority action. 5976 // 5977 // SigningAlgorithm is a required field 5978 SigningAlgorithm *string `type:"string" required:"true" enum:"SigningAlgorithm"` 5979 5980 // Specifies a custom configuration template to use when issuing a certificate. 5981 // If this parameter is not provided, ACM Private CA defaults to the EndEntityCertificate/V1 5982 // template. For CA certificates, you should choose the shortest path length 5983 // that meets your needs. The path length is indicated by the PathLenN portion 5984 // of the ARN, where N is the CA depth (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaTerms.html#terms-cadepth). 5985 // 5986 // Note: The CA depth configured on a subordinate CA certificate must not exceed 5987 // the limit set by its parents in the CA hierarchy. 5988 // 5989 // For a list of TemplateArn values supported by ACM Private CA, see Understanding 5990 // Certificate Templates (https://docs.aws.amazon.com/acm-pca/latest/userguide/UsingTemplates.html). 5991 TemplateArn *string `min:"5" type:"string"` 5992 5993 // Information describing the end of the validity period of the certificate. 5994 // This parameter sets the “Not After” date for the certificate. 5995 // 5996 // Certificate validity is the period of time during which a certificate is 5997 // valid. Validity can be expressed as an explicit date and time when the certificate 5998 // expires, or as a span of time after issuance, stated in days, months, or 5999 // years. For more information, see Validity (https://tools.ietf.org/html/rfc5280#section-4.1.2.5) 6000 // in RFC 5280. 6001 // 6002 // This value is unaffected when ValidityNotBefore is also specified. For example, 6003 // if Validity is set to 20 days in the future, the certificate will expire 6004 // 20 days from issuance time regardless of the ValidityNotBefore value. 6005 // 6006 // The end of the validity period configured on a certificate must not exceed 6007 // the limit set on its parents in the CA hierarchy. 6008 // 6009 // Validity is a required field 6010 Validity *Validity `type:"structure" required:"true"` 6011 6012 // Information describing the start of the validity period of the certificate. 6013 // This parameter sets the “Not Before" date for the certificate. 6014 // 6015 // By default, when issuing a certificate, ACM Private CA sets the "Not Before" 6016 // date to the issuance time minus 60 minutes. This compensates for clock inconsistencies 6017 // across computer systems. The ValidityNotBefore parameter can be used to customize 6018 // the “Not Before” value. 6019 // 6020 // Unlike the Validity parameter, the ValidityNotBefore parameter is optional. 6021 // 6022 // The ValidityNotBefore value is expressed as an explicit date and time, using 6023 // the Validity type value ABSOLUTE. For more information, see Validity (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_Validity.html) 6024 // in this API reference and Validity (https://tools.ietf.org/html/rfc5280#section-4.1.2.5) 6025 // in RFC 5280. 6026 ValidityNotBefore *Validity `type:"structure"` 6027 } 6028 6029 // String returns the string representation. 6030 // 6031 // API parameter values that are decorated as "sensitive" in the API will not 6032 // be included in the string output. The member name will be present, but the 6033 // value will be replaced with "sensitive". 6034 func (s IssueCertificateInput) String() string { 6035 return awsutil.Prettify(s) 6036 } 6037 6038 // GoString returns the string representation. 6039 // 6040 // API parameter values that are decorated as "sensitive" in the API will not 6041 // be included in the string output. The member name will be present, but the 6042 // value will be replaced with "sensitive". 6043 func (s IssueCertificateInput) GoString() string { 6044 return s.String() 6045 } 6046 6047 // Validate inspects the fields of the type to determine if they are valid. 6048 func (s *IssueCertificateInput) Validate() error { 6049 invalidParams := request.ErrInvalidParams{Context: "IssueCertificateInput"} 6050 if s.CertificateAuthorityArn == nil { 6051 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 6052 } 6053 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 6054 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 6055 } 6056 if s.Csr == nil { 6057 invalidParams.Add(request.NewErrParamRequired("Csr")) 6058 } 6059 if s.Csr != nil && len(s.Csr) < 1 { 6060 invalidParams.Add(request.NewErrParamMinLen("Csr", 1)) 6061 } 6062 if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 { 6063 invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1)) 6064 } 6065 if s.SigningAlgorithm == nil { 6066 invalidParams.Add(request.NewErrParamRequired("SigningAlgorithm")) 6067 } 6068 if s.TemplateArn != nil && len(*s.TemplateArn) < 5 { 6069 invalidParams.Add(request.NewErrParamMinLen("TemplateArn", 5)) 6070 } 6071 if s.Validity == nil { 6072 invalidParams.Add(request.NewErrParamRequired("Validity")) 6073 } 6074 if s.ApiPassthrough != nil { 6075 if err := s.ApiPassthrough.Validate(); err != nil { 6076 invalidParams.AddNested("ApiPassthrough", err.(request.ErrInvalidParams)) 6077 } 6078 } 6079 if s.Validity != nil { 6080 if err := s.Validity.Validate(); err != nil { 6081 invalidParams.AddNested("Validity", err.(request.ErrInvalidParams)) 6082 } 6083 } 6084 if s.ValidityNotBefore != nil { 6085 if err := s.ValidityNotBefore.Validate(); err != nil { 6086 invalidParams.AddNested("ValidityNotBefore", err.(request.ErrInvalidParams)) 6087 } 6088 } 6089 6090 if invalidParams.Len() > 0 { 6091 return invalidParams 6092 } 6093 return nil 6094 } 6095 6096 // SetApiPassthrough sets the ApiPassthrough field's value. 6097 func (s *IssueCertificateInput) SetApiPassthrough(v *ApiPassthrough) *IssueCertificateInput { 6098 s.ApiPassthrough = v 6099 return s 6100 } 6101 6102 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 6103 func (s *IssueCertificateInput) SetCertificateAuthorityArn(v string) *IssueCertificateInput { 6104 s.CertificateAuthorityArn = &v 6105 return s 6106 } 6107 6108 // SetCsr sets the Csr field's value. 6109 func (s *IssueCertificateInput) SetCsr(v []byte) *IssueCertificateInput { 6110 s.Csr = v 6111 return s 6112 } 6113 6114 // SetIdempotencyToken sets the IdempotencyToken field's value. 6115 func (s *IssueCertificateInput) SetIdempotencyToken(v string) *IssueCertificateInput { 6116 s.IdempotencyToken = &v 6117 return s 6118 } 6119 6120 // SetSigningAlgorithm sets the SigningAlgorithm field's value. 6121 func (s *IssueCertificateInput) SetSigningAlgorithm(v string) *IssueCertificateInput { 6122 s.SigningAlgorithm = &v 6123 return s 6124 } 6125 6126 // SetTemplateArn sets the TemplateArn field's value. 6127 func (s *IssueCertificateInput) SetTemplateArn(v string) *IssueCertificateInput { 6128 s.TemplateArn = &v 6129 return s 6130 } 6131 6132 // SetValidity sets the Validity field's value. 6133 func (s *IssueCertificateInput) SetValidity(v *Validity) *IssueCertificateInput { 6134 s.Validity = v 6135 return s 6136 } 6137 6138 // SetValidityNotBefore sets the ValidityNotBefore field's value. 6139 func (s *IssueCertificateInput) SetValidityNotBefore(v *Validity) *IssueCertificateInput { 6140 s.ValidityNotBefore = v 6141 return s 6142 } 6143 6144 type IssueCertificateOutput struct { 6145 _ struct{} `type:"structure"` 6146 6147 // The Amazon Resource Name (ARN) of the issued certificate and the certificate 6148 // serial number. This is of the form: 6149 // 6150 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/286535153982981100925020015808220737245 6151 CertificateArn *string `min:"5" type:"string"` 6152 } 6153 6154 // String returns the string representation. 6155 // 6156 // API parameter values that are decorated as "sensitive" in the API will not 6157 // be included in the string output. The member name will be present, but the 6158 // value will be replaced with "sensitive". 6159 func (s IssueCertificateOutput) String() string { 6160 return awsutil.Prettify(s) 6161 } 6162 6163 // GoString returns the string representation. 6164 // 6165 // API parameter values that are decorated as "sensitive" in the API will not 6166 // be included in the string output. The member name will be present, but the 6167 // value will be replaced with "sensitive". 6168 func (s IssueCertificateOutput) GoString() string { 6169 return s.String() 6170 } 6171 6172 // SetCertificateArn sets the CertificateArn field's value. 6173 func (s *IssueCertificateOutput) SetCertificateArn(v string) *IssueCertificateOutput { 6174 s.CertificateArn = &v 6175 return s 6176 } 6177 6178 // Defines one or more purposes for which the key contained in the certificate 6179 // can be used. Default value for each option is false. 6180 type KeyUsage struct { 6181 _ struct{} `type:"structure"` 6182 6183 // Key can be used to sign CRLs. 6184 CRLSign *bool `type:"boolean"` 6185 6186 // Key can be used to decipher data. 6187 DataEncipherment *bool `type:"boolean"` 6188 6189 // Key can be used only to decipher data. 6190 DecipherOnly *bool `type:"boolean"` 6191 6192 // Key can be used for digital signing. 6193 DigitalSignature *bool `type:"boolean"` 6194 6195 // Key can be used only to encipher data. 6196 EncipherOnly *bool `type:"boolean"` 6197 6198 // Key can be used in a key-agreement protocol. 6199 KeyAgreement *bool `type:"boolean"` 6200 6201 // Key can be used to sign certificates. 6202 KeyCertSign *bool `type:"boolean"` 6203 6204 // Key can be used to encipher data. 6205 KeyEncipherment *bool `type:"boolean"` 6206 6207 // Key can be used for non-repudiation. 6208 NonRepudiation *bool `type:"boolean"` 6209 } 6210 6211 // String returns the string representation. 6212 // 6213 // API parameter values that are decorated as "sensitive" in the API will not 6214 // be included in the string output. The member name will be present, but the 6215 // value will be replaced with "sensitive". 6216 func (s KeyUsage) String() string { 6217 return awsutil.Prettify(s) 6218 } 6219 6220 // GoString returns the string representation. 6221 // 6222 // API parameter values that are decorated as "sensitive" in the API will not 6223 // be included in the string output. The member name will be present, but the 6224 // value will be replaced with "sensitive". 6225 func (s KeyUsage) GoString() string { 6226 return s.String() 6227 } 6228 6229 // SetCRLSign sets the CRLSign field's value. 6230 func (s *KeyUsage) SetCRLSign(v bool) *KeyUsage { 6231 s.CRLSign = &v 6232 return s 6233 } 6234 6235 // SetDataEncipherment sets the DataEncipherment field's value. 6236 func (s *KeyUsage) SetDataEncipherment(v bool) *KeyUsage { 6237 s.DataEncipherment = &v 6238 return s 6239 } 6240 6241 // SetDecipherOnly sets the DecipherOnly field's value. 6242 func (s *KeyUsage) SetDecipherOnly(v bool) *KeyUsage { 6243 s.DecipherOnly = &v 6244 return s 6245 } 6246 6247 // SetDigitalSignature sets the DigitalSignature field's value. 6248 func (s *KeyUsage) SetDigitalSignature(v bool) *KeyUsage { 6249 s.DigitalSignature = &v 6250 return s 6251 } 6252 6253 // SetEncipherOnly sets the EncipherOnly field's value. 6254 func (s *KeyUsage) SetEncipherOnly(v bool) *KeyUsage { 6255 s.EncipherOnly = &v 6256 return s 6257 } 6258 6259 // SetKeyAgreement sets the KeyAgreement field's value. 6260 func (s *KeyUsage) SetKeyAgreement(v bool) *KeyUsage { 6261 s.KeyAgreement = &v 6262 return s 6263 } 6264 6265 // SetKeyCertSign sets the KeyCertSign field's value. 6266 func (s *KeyUsage) SetKeyCertSign(v bool) *KeyUsage { 6267 s.KeyCertSign = &v 6268 return s 6269 } 6270 6271 // SetKeyEncipherment sets the KeyEncipherment field's value. 6272 func (s *KeyUsage) SetKeyEncipherment(v bool) *KeyUsage { 6273 s.KeyEncipherment = &v 6274 return s 6275 } 6276 6277 // SetNonRepudiation sets the NonRepudiation field's value. 6278 func (s *KeyUsage) SetNonRepudiation(v bool) *KeyUsage { 6279 s.NonRepudiation = &v 6280 return s 6281 } 6282 6283 // An ACM Private CA quota has been exceeded. See the exception message returned 6284 // to determine the quota that was exceeded. 6285 type LimitExceededException struct { 6286 _ struct{} `type:"structure"` 6287 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6288 6289 Message_ *string `locationName:"message" type:"string"` 6290 } 6291 6292 // String returns the string representation. 6293 // 6294 // API parameter values that are decorated as "sensitive" in the API will not 6295 // be included in the string output. The member name will be present, but the 6296 // value will be replaced with "sensitive". 6297 func (s LimitExceededException) String() string { 6298 return awsutil.Prettify(s) 6299 } 6300 6301 // GoString returns the string representation. 6302 // 6303 // API parameter values that are decorated as "sensitive" in the API will not 6304 // be included in the string output. The member name will be present, but the 6305 // value will be replaced with "sensitive". 6306 func (s LimitExceededException) GoString() string { 6307 return s.String() 6308 } 6309 6310 func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 6311 return &LimitExceededException{ 6312 RespMetadata: v, 6313 } 6314 } 6315 6316 // Code returns the exception type name. 6317 func (s *LimitExceededException) Code() string { 6318 return "LimitExceededException" 6319 } 6320 6321 // Message returns the exception's message. 6322 func (s *LimitExceededException) Message() string { 6323 if s.Message_ != nil { 6324 return *s.Message_ 6325 } 6326 return "" 6327 } 6328 6329 // OrigErr always returns nil, satisfies awserr.Error interface. 6330 func (s *LimitExceededException) OrigErr() error { 6331 return nil 6332 } 6333 6334 func (s *LimitExceededException) Error() string { 6335 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6336 } 6337 6338 // Status code returns the HTTP status code for the request's response error. 6339 func (s *LimitExceededException) StatusCode() int { 6340 return s.RespMetadata.StatusCode 6341 } 6342 6343 // RequestID returns the service's response RequestID for request. 6344 func (s *LimitExceededException) RequestID() string { 6345 return s.RespMetadata.RequestID 6346 } 6347 6348 type ListCertificateAuthoritiesInput struct { 6349 _ struct{} `type:"structure"` 6350 6351 // Use this parameter when paginating results to specify the maximum number 6352 // of items to return in the response on each page. If additional items exist 6353 // beyond the number you specify, the NextToken element is sent in the response. 6354 // Use this NextToken value in a subsequent request to retrieve additional items. 6355 MaxResults *int64 `min:"1" type:"integer"` 6356 6357 // Use this parameter when paginating results in a subsequent request after 6358 // you receive a response with truncated results. Set it to the value of the 6359 // NextToken parameter from the response you just received. 6360 NextToken *string `min:"1" type:"string"` 6361 6362 // Use this parameter to filter the returned set of certificate authorities 6363 // based on their owner. The default is SELF. 6364 ResourceOwner *string `type:"string" enum:"ResourceOwner"` 6365 } 6366 6367 // String returns the string representation. 6368 // 6369 // API parameter values that are decorated as "sensitive" in the API will not 6370 // be included in the string output. The member name will be present, but the 6371 // value will be replaced with "sensitive". 6372 func (s ListCertificateAuthoritiesInput) String() string { 6373 return awsutil.Prettify(s) 6374 } 6375 6376 // GoString returns the string representation. 6377 // 6378 // API parameter values that are decorated as "sensitive" in the API will not 6379 // be included in the string output. The member name will be present, but the 6380 // value will be replaced with "sensitive". 6381 func (s ListCertificateAuthoritiesInput) GoString() string { 6382 return s.String() 6383 } 6384 6385 // Validate inspects the fields of the type to determine if they are valid. 6386 func (s *ListCertificateAuthoritiesInput) Validate() error { 6387 invalidParams := request.ErrInvalidParams{Context: "ListCertificateAuthoritiesInput"} 6388 if s.MaxResults != nil && *s.MaxResults < 1 { 6389 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 6390 } 6391 if s.NextToken != nil && len(*s.NextToken) < 1 { 6392 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 6393 } 6394 6395 if invalidParams.Len() > 0 { 6396 return invalidParams 6397 } 6398 return nil 6399 } 6400 6401 // SetMaxResults sets the MaxResults field's value. 6402 func (s *ListCertificateAuthoritiesInput) SetMaxResults(v int64) *ListCertificateAuthoritiesInput { 6403 s.MaxResults = &v 6404 return s 6405 } 6406 6407 // SetNextToken sets the NextToken field's value. 6408 func (s *ListCertificateAuthoritiesInput) SetNextToken(v string) *ListCertificateAuthoritiesInput { 6409 s.NextToken = &v 6410 return s 6411 } 6412 6413 // SetResourceOwner sets the ResourceOwner field's value. 6414 func (s *ListCertificateAuthoritiesInput) SetResourceOwner(v string) *ListCertificateAuthoritiesInput { 6415 s.ResourceOwner = &v 6416 return s 6417 } 6418 6419 type ListCertificateAuthoritiesOutput struct { 6420 _ struct{} `type:"structure"` 6421 6422 // Summary information about each certificate authority you have created. 6423 CertificateAuthorities []*CertificateAuthority `type:"list"` 6424 6425 // When the list is truncated, this value is present and should be used for 6426 // the NextToken parameter in a subsequent pagination request. 6427 NextToken *string `min:"1" type:"string"` 6428 } 6429 6430 // String returns the string representation. 6431 // 6432 // API parameter values that are decorated as "sensitive" in the API will not 6433 // be included in the string output. The member name will be present, but the 6434 // value will be replaced with "sensitive". 6435 func (s ListCertificateAuthoritiesOutput) String() string { 6436 return awsutil.Prettify(s) 6437 } 6438 6439 // GoString returns the string representation. 6440 // 6441 // API parameter values that are decorated as "sensitive" in the API will not 6442 // be included in the string output. The member name will be present, but the 6443 // value will be replaced with "sensitive". 6444 func (s ListCertificateAuthoritiesOutput) GoString() string { 6445 return s.String() 6446 } 6447 6448 // SetCertificateAuthorities sets the CertificateAuthorities field's value. 6449 func (s *ListCertificateAuthoritiesOutput) SetCertificateAuthorities(v []*CertificateAuthority) *ListCertificateAuthoritiesOutput { 6450 s.CertificateAuthorities = v 6451 return s 6452 } 6453 6454 // SetNextToken sets the NextToken field's value. 6455 func (s *ListCertificateAuthoritiesOutput) SetNextToken(v string) *ListCertificateAuthoritiesOutput { 6456 s.NextToken = &v 6457 return s 6458 } 6459 6460 type ListPermissionsInput struct { 6461 _ struct{} `type:"structure"` 6462 6463 // The Amazon Resource Number (ARN) of the private CA to inspect. You can find 6464 // the ARN by calling the ListCertificateAuthorities (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html) 6465 // action. This must be of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 6466 // You can get a private CA's ARN by running the ListCertificateAuthorities 6467 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html) 6468 // action. 6469 // 6470 // CertificateAuthorityArn is a required field 6471 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 6472 6473 // When paginating results, use this parameter to specify the maximum number 6474 // of items to return in the response. If additional items exist beyond the 6475 // number you specify, the NextToken element is sent in the response. Use this 6476 // NextToken value in a subsequent request to retrieve additional items. 6477 MaxResults *int64 `min:"1" type:"integer"` 6478 6479 // When paginating results, use this parameter in a subsequent request after 6480 // you receive a response with truncated results. Set it to the value of NextToken 6481 // from the response you just received. 6482 NextToken *string `min:"1" type:"string"` 6483 } 6484 6485 // String returns the string representation. 6486 // 6487 // API parameter values that are decorated as "sensitive" in the API will not 6488 // be included in the string output. The member name will be present, but the 6489 // value will be replaced with "sensitive". 6490 func (s ListPermissionsInput) String() string { 6491 return awsutil.Prettify(s) 6492 } 6493 6494 // GoString returns the string representation. 6495 // 6496 // API parameter values that are decorated as "sensitive" in the API will not 6497 // be included in the string output. The member name will be present, but the 6498 // value will be replaced with "sensitive". 6499 func (s ListPermissionsInput) GoString() string { 6500 return s.String() 6501 } 6502 6503 // Validate inspects the fields of the type to determine if they are valid. 6504 func (s *ListPermissionsInput) Validate() error { 6505 invalidParams := request.ErrInvalidParams{Context: "ListPermissionsInput"} 6506 if s.CertificateAuthorityArn == nil { 6507 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 6508 } 6509 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 6510 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 6511 } 6512 if s.MaxResults != nil && *s.MaxResults < 1 { 6513 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 6514 } 6515 if s.NextToken != nil && len(*s.NextToken) < 1 { 6516 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 6517 } 6518 6519 if invalidParams.Len() > 0 { 6520 return invalidParams 6521 } 6522 return nil 6523 } 6524 6525 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 6526 func (s *ListPermissionsInput) SetCertificateAuthorityArn(v string) *ListPermissionsInput { 6527 s.CertificateAuthorityArn = &v 6528 return s 6529 } 6530 6531 // SetMaxResults sets the MaxResults field's value. 6532 func (s *ListPermissionsInput) SetMaxResults(v int64) *ListPermissionsInput { 6533 s.MaxResults = &v 6534 return s 6535 } 6536 6537 // SetNextToken sets the NextToken field's value. 6538 func (s *ListPermissionsInput) SetNextToken(v string) *ListPermissionsInput { 6539 s.NextToken = &v 6540 return s 6541 } 6542 6543 type ListPermissionsOutput struct { 6544 _ struct{} `type:"structure"` 6545 6546 // When the list is truncated, this value is present and should be used for 6547 // the NextToken parameter in a subsequent pagination request. 6548 NextToken *string `min:"1" type:"string"` 6549 6550 // Summary information about each permission assigned by the specified private 6551 // CA, including the action enabled, the policy provided, and the time of creation. 6552 Permissions []*Permission `type:"list"` 6553 } 6554 6555 // String returns the string representation. 6556 // 6557 // API parameter values that are decorated as "sensitive" in the API will not 6558 // be included in the string output. The member name will be present, but the 6559 // value will be replaced with "sensitive". 6560 func (s ListPermissionsOutput) String() string { 6561 return awsutil.Prettify(s) 6562 } 6563 6564 // GoString returns the string representation. 6565 // 6566 // API parameter values that are decorated as "sensitive" in the API will not 6567 // be included in the string output. The member name will be present, but the 6568 // value will be replaced with "sensitive". 6569 func (s ListPermissionsOutput) GoString() string { 6570 return s.String() 6571 } 6572 6573 // SetNextToken sets the NextToken field's value. 6574 func (s *ListPermissionsOutput) SetNextToken(v string) *ListPermissionsOutput { 6575 s.NextToken = &v 6576 return s 6577 } 6578 6579 // SetPermissions sets the Permissions field's value. 6580 func (s *ListPermissionsOutput) SetPermissions(v []*Permission) *ListPermissionsOutput { 6581 s.Permissions = v 6582 return s 6583 } 6584 6585 type ListTagsInput struct { 6586 _ struct{} `type:"structure"` 6587 6588 // The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority 6589 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) 6590 // action. This must be of the form: 6591 // 6592 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 6593 // 6594 // CertificateAuthorityArn is a required field 6595 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 6596 6597 // Use this parameter when paginating results to specify the maximum number 6598 // of items to return in the response. If additional items exist beyond the 6599 // number you specify, the NextToken element is sent in the response. Use this 6600 // NextToken value in a subsequent request to retrieve additional items. 6601 MaxResults *int64 `min:"1" type:"integer"` 6602 6603 // Use this parameter when paginating results in a subsequent request after 6604 // you receive a response with truncated results. Set it to the value of NextToken 6605 // from the response you just received. 6606 NextToken *string `min:"1" type:"string"` 6607 } 6608 6609 // String returns the string representation. 6610 // 6611 // API parameter values that are decorated as "sensitive" in the API will not 6612 // be included in the string output. The member name will be present, but the 6613 // value will be replaced with "sensitive". 6614 func (s ListTagsInput) String() string { 6615 return awsutil.Prettify(s) 6616 } 6617 6618 // GoString returns the string representation. 6619 // 6620 // API parameter values that are decorated as "sensitive" in the API will not 6621 // be included in the string output. The member name will be present, but the 6622 // value will be replaced with "sensitive". 6623 func (s ListTagsInput) GoString() string { 6624 return s.String() 6625 } 6626 6627 // Validate inspects the fields of the type to determine if they are valid. 6628 func (s *ListTagsInput) Validate() error { 6629 invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"} 6630 if s.CertificateAuthorityArn == nil { 6631 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 6632 } 6633 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 6634 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 6635 } 6636 if s.MaxResults != nil && *s.MaxResults < 1 { 6637 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 6638 } 6639 if s.NextToken != nil && len(*s.NextToken) < 1 { 6640 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 6641 } 6642 6643 if invalidParams.Len() > 0 { 6644 return invalidParams 6645 } 6646 return nil 6647 } 6648 6649 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 6650 func (s *ListTagsInput) SetCertificateAuthorityArn(v string) *ListTagsInput { 6651 s.CertificateAuthorityArn = &v 6652 return s 6653 } 6654 6655 // SetMaxResults sets the MaxResults field's value. 6656 func (s *ListTagsInput) SetMaxResults(v int64) *ListTagsInput { 6657 s.MaxResults = &v 6658 return s 6659 } 6660 6661 // SetNextToken sets the NextToken field's value. 6662 func (s *ListTagsInput) SetNextToken(v string) *ListTagsInput { 6663 s.NextToken = &v 6664 return s 6665 } 6666 6667 type ListTagsOutput struct { 6668 _ struct{} `type:"structure"` 6669 6670 // When the list is truncated, this value is present and should be used for 6671 // the NextToken parameter in a subsequent pagination request. 6672 NextToken *string `min:"1" type:"string"` 6673 6674 // The tags associated with your private CA. 6675 Tags []*Tag `min:"1" type:"list"` 6676 } 6677 6678 // String returns the string representation. 6679 // 6680 // API parameter values that are decorated as "sensitive" in the API will not 6681 // be included in the string output. The member name will be present, but the 6682 // value will be replaced with "sensitive". 6683 func (s ListTagsOutput) String() string { 6684 return awsutil.Prettify(s) 6685 } 6686 6687 // GoString returns the string representation. 6688 // 6689 // API parameter values that are decorated as "sensitive" in the API will not 6690 // be included in the string output. The member name will be present, but the 6691 // value will be replaced with "sensitive". 6692 func (s ListTagsOutput) GoString() string { 6693 return s.String() 6694 } 6695 6696 // SetNextToken sets the NextToken field's value. 6697 func (s *ListTagsOutput) SetNextToken(v string) *ListTagsOutput { 6698 s.NextToken = &v 6699 return s 6700 } 6701 6702 // SetTags sets the Tags field's value. 6703 func (s *ListTagsOutput) SetTags(v []*Tag) *ListTagsOutput { 6704 s.Tags = v 6705 return s 6706 } 6707 6708 // The current action was prevented because it would lock the caller out from 6709 // performing subsequent actions. Verify that the specified parameters would 6710 // not result in the caller being denied access to the resource. 6711 type LockoutPreventedException struct { 6712 _ struct{} `type:"structure"` 6713 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6714 6715 Message_ *string `locationName:"message" type:"string"` 6716 } 6717 6718 // String returns the string representation. 6719 // 6720 // API parameter values that are decorated as "sensitive" in the API will not 6721 // be included in the string output. The member name will be present, but the 6722 // value will be replaced with "sensitive". 6723 func (s LockoutPreventedException) String() string { 6724 return awsutil.Prettify(s) 6725 } 6726 6727 // GoString returns the string representation. 6728 // 6729 // API parameter values that are decorated as "sensitive" in the API will not 6730 // be included in the string output. The member name will be present, but the 6731 // value will be replaced with "sensitive". 6732 func (s LockoutPreventedException) GoString() string { 6733 return s.String() 6734 } 6735 6736 func newErrorLockoutPreventedException(v protocol.ResponseMetadata) error { 6737 return &LockoutPreventedException{ 6738 RespMetadata: v, 6739 } 6740 } 6741 6742 // Code returns the exception type name. 6743 func (s *LockoutPreventedException) Code() string { 6744 return "LockoutPreventedException" 6745 } 6746 6747 // Message returns the exception's message. 6748 func (s *LockoutPreventedException) Message() string { 6749 if s.Message_ != nil { 6750 return *s.Message_ 6751 } 6752 return "" 6753 } 6754 6755 // OrigErr always returns nil, satisfies awserr.Error interface. 6756 func (s *LockoutPreventedException) OrigErr() error { 6757 return nil 6758 } 6759 6760 func (s *LockoutPreventedException) Error() string { 6761 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6762 } 6763 6764 // Status code returns the HTTP status code for the request's response error. 6765 func (s *LockoutPreventedException) StatusCode() int { 6766 return s.RespMetadata.StatusCode 6767 } 6768 6769 // RequestID returns the service's response RequestID for request. 6770 func (s *LockoutPreventedException) RequestID() string { 6771 return s.RespMetadata.RequestID 6772 } 6773 6774 // The certificate signing request is invalid. 6775 type MalformedCSRException struct { 6776 _ struct{} `type:"structure"` 6777 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6778 6779 Message_ *string `locationName:"message" type:"string"` 6780 } 6781 6782 // String returns the string representation. 6783 // 6784 // API parameter values that are decorated as "sensitive" in the API will not 6785 // be included in the string output. The member name will be present, but the 6786 // value will be replaced with "sensitive". 6787 func (s MalformedCSRException) String() string { 6788 return awsutil.Prettify(s) 6789 } 6790 6791 // GoString returns the string representation. 6792 // 6793 // API parameter values that are decorated as "sensitive" in the API will not 6794 // be included in the string output. The member name will be present, but the 6795 // value will be replaced with "sensitive". 6796 func (s MalformedCSRException) GoString() string { 6797 return s.String() 6798 } 6799 6800 func newErrorMalformedCSRException(v protocol.ResponseMetadata) error { 6801 return &MalformedCSRException{ 6802 RespMetadata: v, 6803 } 6804 } 6805 6806 // Code returns the exception type name. 6807 func (s *MalformedCSRException) Code() string { 6808 return "MalformedCSRException" 6809 } 6810 6811 // Message returns the exception's message. 6812 func (s *MalformedCSRException) Message() string { 6813 if s.Message_ != nil { 6814 return *s.Message_ 6815 } 6816 return "" 6817 } 6818 6819 // OrigErr always returns nil, satisfies awserr.Error interface. 6820 func (s *MalformedCSRException) OrigErr() error { 6821 return nil 6822 } 6823 6824 func (s *MalformedCSRException) Error() string { 6825 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6826 } 6827 6828 // Status code returns the HTTP status code for the request's response error. 6829 func (s *MalformedCSRException) StatusCode() int { 6830 return s.RespMetadata.StatusCode 6831 } 6832 6833 // RequestID returns the service's response RequestID for request. 6834 func (s *MalformedCSRException) RequestID() string { 6835 return s.RespMetadata.RequestID 6836 } 6837 6838 // One or more fields in the certificate are invalid. 6839 type MalformedCertificateException struct { 6840 _ struct{} `type:"structure"` 6841 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6842 6843 Message_ *string `locationName:"message" type:"string"` 6844 } 6845 6846 // String returns the string representation. 6847 // 6848 // API parameter values that are decorated as "sensitive" in the API will not 6849 // be included in the string output. The member name will be present, but the 6850 // value will be replaced with "sensitive". 6851 func (s MalformedCertificateException) String() string { 6852 return awsutil.Prettify(s) 6853 } 6854 6855 // GoString returns the string representation. 6856 // 6857 // API parameter values that are decorated as "sensitive" in the API will not 6858 // be included in the string output. The member name will be present, but the 6859 // value will be replaced with "sensitive". 6860 func (s MalformedCertificateException) GoString() string { 6861 return s.String() 6862 } 6863 6864 func newErrorMalformedCertificateException(v protocol.ResponseMetadata) error { 6865 return &MalformedCertificateException{ 6866 RespMetadata: v, 6867 } 6868 } 6869 6870 // Code returns the exception type name. 6871 func (s *MalformedCertificateException) Code() string { 6872 return "MalformedCertificateException" 6873 } 6874 6875 // Message returns the exception's message. 6876 func (s *MalformedCertificateException) Message() string { 6877 if s.Message_ != nil { 6878 return *s.Message_ 6879 } 6880 return "" 6881 } 6882 6883 // OrigErr always returns nil, satisfies awserr.Error interface. 6884 func (s *MalformedCertificateException) OrigErr() error { 6885 return nil 6886 } 6887 6888 func (s *MalformedCertificateException) Error() string { 6889 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6890 } 6891 6892 // Status code returns the HTTP status code for the request's response error. 6893 func (s *MalformedCertificateException) StatusCode() int { 6894 return s.RespMetadata.StatusCode 6895 } 6896 6897 // RequestID returns the service's response RequestID for request. 6898 func (s *MalformedCertificateException) RequestID() string { 6899 return s.RespMetadata.RequestID 6900 } 6901 6902 // Contains information to enable and configure Online Certificate Status Protocol 6903 // (OCSP) for validating certificate revocation status. 6904 // 6905 // When you revoke a certificate, OCSP responses may take up to 60 minutes to 6906 // reflect the new status. 6907 type OcspConfiguration struct { 6908 _ struct{} `type:"structure"` 6909 6910 // Flag enabling use of the Online Certificate Status Protocol (OCSP) for validating 6911 // certificate revocation status. 6912 // 6913 // Enabled is a required field 6914 Enabled *bool `type:"boolean" required:"true"` 6915 6916 // By default, ACM Private CA injects an AWS domain into certificates being 6917 // validated by the Online Certificate Status Protocol (OCSP). A customer can 6918 // alternatively use this object to define a CNAME specifying a customized OCSP 6919 // domain. 6920 // 6921 // Note: The value of the CNAME must not include a protocol prefix such as "http://" 6922 // or "https://". 6923 // 6924 // For more information, see Customizing Online Certificate Status Protocol 6925 // (OCSP) (https://docs.aws.amazon.com/acm-pca/latest/userguide/ocsp-customize.html) 6926 // in the AWS Certificate Manager Private Certificate Authority (PCA) User Guide. 6927 OcspCustomCname *string `type:"string"` 6928 } 6929 6930 // String returns the string representation. 6931 // 6932 // API parameter values that are decorated as "sensitive" in the API will not 6933 // be included in the string output. The member name will be present, but the 6934 // value will be replaced with "sensitive". 6935 func (s OcspConfiguration) String() string { 6936 return awsutil.Prettify(s) 6937 } 6938 6939 // GoString returns the string representation. 6940 // 6941 // API parameter values that are decorated as "sensitive" in the API will not 6942 // be included in the string output. The member name will be present, but the 6943 // value will be replaced with "sensitive". 6944 func (s OcspConfiguration) GoString() string { 6945 return s.String() 6946 } 6947 6948 // Validate inspects the fields of the type to determine if they are valid. 6949 func (s *OcspConfiguration) Validate() error { 6950 invalidParams := request.ErrInvalidParams{Context: "OcspConfiguration"} 6951 if s.Enabled == nil { 6952 invalidParams.Add(request.NewErrParamRequired("Enabled")) 6953 } 6954 6955 if invalidParams.Len() > 0 { 6956 return invalidParams 6957 } 6958 return nil 6959 } 6960 6961 // SetEnabled sets the Enabled field's value. 6962 func (s *OcspConfiguration) SetEnabled(v bool) *OcspConfiguration { 6963 s.Enabled = &v 6964 return s 6965 } 6966 6967 // SetOcspCustomCname sets the OcspCustomCname field's value. 6968 func (s *OcspConfiguration) SetOcspCustomCname(v string) *OcspConfiguration { 6969 s.OcspCustomCname = &v 6970 return s 6971 } 6972 6973 // Defines a custom ASN.1 X.400 GeneralName using an object identifier (OID) 6974 // and value. The OID must satisfy the regular expression shown below. For more 6975 // information, see NIST's definition of Object Identifier (OID) (https://csrc.nist.gov/glossary/term/Object_Identifier). 6976 type OtherName struct { 6977 _ struct{} `type:"structure"` 6978 6979 // Specifies an OID. 6980 // 6981 // TypeId is a required field 6982 TypeId *string `type:"string" required:"true"` 6983 6984 // Specifies an OID value. 6985 // 6986 // Value is a required field 6987 Value *string `type:"string" required:"true"` 6988 } 6989 6990 // String returns the string representation. 6991 // 6992 // API parameter values that are decorated as "sensitive" in the API will not 6993 // be included in the string output. The member name will be present, but the 6994 // value will be replaced with "sensitive". 6995 func (s OtherName) String() string { 6996 return awsutil.Prettify(s) 6997 } 6998 6999 // GoString returns the string representation. 7000 // 7001 // API parameter values that are decorated as "sensitive" in the API will not 7002 // be included in the string output. The member name will be present, but the 7003 // value will be replaced with "sensitive". 7004 func (s OtherName) GoString() string { 7005 return s.String() 7006 } 7007 7008 // Validate inspects the fields of the type to determine if they are valid. 7009 func (s *OtherName) Validate() error { 7010 invalidParams := request.ErrInvalidParams{Context: "OtherName"} 7011 if s.TypeId == nil { 7012 invalidParams.Add(request.NewErrParamRequired("TypeId")) 7013 } 7014 if s.Value == nil { 7015 invalidParams.Add(request.NewErrParamRequired("Value")) 7016 } 7017 7018 if invalidParams.Len() > 0 { 7019 return invalidParams 7020 } 7021 return nil 7022 } 7023 7024 // SetTypeId sets the TypeId field's value. 7025 func (s *OtherName) SetTypeId(v string) *OtherName { 7026 s.TypeId = &v 7027 return s 7028 } 7029 7030 // SetValue sets the Value field's value. 7031 func (s *OtherName) SetValue(v string) *OtherName { 7032 s.Value = &v 7033 return s 7034 } 7035 7036 // Permissions designate which private CA actions can be performed by an AWS 7037 // service or entity. In order for ACM to automatically renew private certificates, 7038 // you must give the ACM service principal all available permissions (IssueCertificate, 7039 // GetCertificate, and ListPermissions). Permissions can be assigned with the 7040 // CreatePermission (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreatePermission.html) 7041 // action, removed with the DeletePermission (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DeletePermission.html) 7042 // action, and listed with the ListPermissions (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListPermissions.html) 7043 // action. 7044 type Permission struct { 7045 _ struct{} `type:"structure"` 7046 7047 // The private CA actions that can be performed by the designated AWS service. 7048 Actions []*string `min:"1" type:"list"` 7049 7050 // The Amazon Resource Number (ARN) of the private CA from which the permission 7051 // was issued. 7052 CertificateAuthorityArn *string `min:"5" type:"string"` 7053 7054 // The time at which the permission was created. 7055 CreatedAt *time.Time `type:"timestamp"` 7056 7057 // The name of the policy that is associated with the permission. 7058 Policy *string `min:"1" type:"string"` 7059 7060 // The AWS service or entity that holds the permission. At this time, the only 7061 // valid principal is acm.amazonaws.com. 7062 Principal *string `type:"string"` 7063 7064 // The ID of the account that assigned the permission. 7065 SourceAccount *string `min:"12" type:"string"` 7066 } 7067 7068 // String returns the string representation. 7069 // 7070 // API parameter values that are decorated as "sensitive" in the API will not 7071 // be included in the string output. The member name will be present, but the 7072 // value will be replaced with "sensitive". 7073 func (s Permission) String() string { 7074 return awsutil.Prettify(s) 7075 } 7076 7077 // GoString returns the string representation. 7078 // 7079 // API parameter values that are decorated as "sensitive" in the API will not 7080 // be included in the string output. The member name will be present, but the 7081 // value will be replaced with "sensitive". 7082 func (s Permission) GoString() string { 7083 return s.String() 7084 } 7085 7086 // SetActions sets the Actions field's value. 7087 func (s *Permission) SetActions(v []*string) *Permission { 7088 s.Actions = v 7089 return s 7090 } 7091 7092 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 7093 func (s *Permission) SetCertificateAuthorityArn(v string) *Permission { 7094 s.CertificateAuthorityArn = &v 7095 return s 7096 } 7097 7098 // SetCreatedAt sets the CreatedAt field's value. 7099 func (s *Permission) SetCreatedAt(v time.Time) *Permission { 7100 s.CreatedAt = &v 7101 return s 7102 } 7103 7104 // SetPolicy sets the Policy field's value. 7105 func (s *Permission) SetPolicy(v string) *Permission { 7106 s.Policy = &v 7107 return s 7108 } 7109 7110 // SetPrincipal sets the Principal field's value. 7111 func (s *Permission) SetPrincipal(v string) *Permission { 7112 s.Principal = &v 7113 return s 7114 } 7115 7116 // SetSourceAccount sets the SourceAccount field's value. 7117 func (s *Permission) SetSourceAccount(v string) *Permission { 7118 s.SourceAccount = &v 7119 return s 7120 } 7121 7122 // The designated permission has already been given to the user. 7123 type PermissionAlreadyExistsException struct { 7124 _ struct{} `type:"structure"` 7125 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7126 7127 Message_ *string `locationName:"message" type:"string"` 7128 } 7129 7130 // String returns the string representation. 7131 // 7132 // API parameter values that are decorated as "sensitive" in the API will not 7133 // be included in the string output. The member name will be present, but the 7134 // value will be replaced with "sensitive". 7135 func (s PermissionAlreadyExistsException) String() string { 7136 return awsutil.Prettify(s) 7137 } 7138 7139 // GoString returns the string representation. 7140 // 7141 // API parameter values that are decorated as "sensitive" in the API will not 7142 // be included in the string output. The member name will be present, but the 7143 // value will be replaced with "sensitive". 7144 func (s PermissionAlreadyExistsException) GoString() string { 7145 return s.String() 7146 } 7147 7148 func newErrorPermissionAlreadyExistsException(v protocol.ResponseMetadata) error { 7149 return &PermissionAlreadyExistsException{ 7150 RespMetadata: v, 7151 } 7152 } 7153 7154 // Code returns the exception type name. 7155 func (s *PermissionAlreadyExistsException) Code() string { 7156 return "PermissionAlreadyExistsException" 7157 } 7158 7159 // Message returns the exception's message. 7160 func (s *PermissionAlreadyExistsException) Message() string { 7161 if s.Message_ != nil { 7162 return *s.Message_ 7163 } 7164 return "" 7165 } 7166 7167 // OrigErr always returns nil, satisfies awserr.Error interface. 7168 func (s *PermissionAlreadyExistsException) OrigErr() error { 7169 return nil 7170 } 7171 7172 func (s *PermissionAlreadyExistsException) Error() string { 7173 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7174 } 7175 7176 // Status code returns the HTTP status code for the request's response error. 7177 func (s *PermissionAlreadyExistsException) StatusCode() int { 7178 return s.RespMetadata.StatusCode 7179 } 7180 7181 // RequestID returns the service's response RequestID for request. 7182 func (s *PermissionAlreadyExistsException) RequestID() string { 7183 return s.RespMetadata.RequestID 7184 } 7185 7186 // Defines the X.509 CertificatePolicies extension. 7187 type PolicyInformation struct { 7188 _ struct{} `type:"structure"` 7189 7190 // Specifies the object identifier (OID) of the certificate policy under which 7191 // the certificate was issued. For more information, see NIST's definition of 7192 // Object Identifier (OID) (https://csrc.nist.gov/glossary/term/Object_Identifier). 7193 // 7194 // CertPolicyId is a required field 7195 CertPolicyId *string `type:"string" required:"true"` 7196 7197 // Modifies the given CertPolicyId with a qualifier. ACM Private CA supports 7198 // the certification practice statement (CPS) qualifier. 7199 PolicyQualifiers []*PolicyQualifierInfo `min:"1" type:"list"` 7200 } 7201 7202 // String returns the string representation. 7203 // 7204 // API parameter values that are decorated as "sensitive" in the API will not 7205 // be included in the string output. The member name will be present, but the 7206 // value will be replaced with "sensitive". 7207 func (s PolicyInformation) String() string { 7208 return awsutil.Prettify(s) 7209 } 7210 7211 // GoString returns the string representation. 7212 // 7213 // API parameter values that are decorated as "sensitive" in the API will not 7214 // be included in the string output. The member name will be present, but the 7215 // value will be replaced with "sensitive". 7216 func (s PolicyInformation) GoString() string { 7217 return s.String() 7218 } 7219 7220 // Validate inspects the fields of the type to determine if they are valid. 7221 func (s *PolicyInformation) Validate() error { 7222 invalidParams := request.ErrInvalidParams{Context: "PolicyInformation"} 7223 if s.CertPolicyId == nil { 7224 invalidParams.Add(request.NewErrParamRequired("CertPolicyId")) 7225 } 7226 if s.PolicyQualifiers != nil && len(s.PolicyQualifiers) < 1 { 7227 invalidParams.Add(request.NewErrParamMinLen("PolicyQualifiers", 1)) 7228 } 7229 if s.PolicyQualifiers != nil { 7230 for i, v := range s.PolicyQualifiers { 7231 if v == nil { 7232 continue 7233 } 7234 if err := v.Validate(); err != nil { 7235 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PolicyQualifiers", i), err.(request.ErrInvalidParams)) 7236 } 7237 } 7238 } 7239 7240 if invalidParams.Len() > 0 { 7241 return invalidParams 7242 } 7243 return nil 7244 } 7245 7246 // SetCertPolicyId sets the CertPolicyId field's value. 7247 func (s *PolicyInformation) SetCertPolicyId(v string) *PolicyInformation { 7248 s.CertPolicyId = &v 7249 return s 7250 } 7251 7252 // SetPolicyQualifiers sets the PolicyQualifiers field's value. 7253 func (s *PolicyInformation) SetPolicyQualifiers(v []*PolicyQualifierInfo) *PolicyInformation { 7254 s.PolicyQualifiers = v 7255 return s 7256 } 7257 7258 // Modifies the CertPolicyId of a PolicyInformation object with a qualifier. 7259 // ACM Private CA supports the certification practice statement (CPS) qualifier. 7260 type PolicyQualifierInfo struct { 7261 _ struct{} `type:"structure"` 7262 7263 // Identifies the qualifier modifying a CertPolicyId. 7264 // 7265 // PolicyQualifierId is a required field 7266 PolicyQualifierId *string `type:"string" required:"true" enum:"PolicyQualifierId"` 7267 7268 // Defines the qualifier type. ACM Private CA supports the use of a URI for 7269 // a CPS qualifier in this field. 7270 // 7271 // Qualifier is a required field 7272 Qualifier *Qualifier `type:"structure" required:"true"` 7273 } 7274 7275 // String returns the string representation. 7276 // 7277 // API parameter values that are decorated as "sensitive" in the API will not 7278 // be included in the string output. The member name will be present, but the 7279 // value will be replaced with "sensitive". 7280 func (s PolicyQualifierInfo) String() string { 7281 return awsutil.Prettify(s) 7282 } 7283 7284 // GoString returns the string representation. 7285 // 7286 // API parameter values that are decorated as "sensitive" in the API will not 7287 // be included in the string output. The member name will be present, but the 7288 // value will be replaced with "sensitive". 7289 func (s PolicyQualifierInfo) GoString() string { 7290 return s.String() 7291 } 7292 7293 // Validate inspects the fields of the type to determine if they are valid. 7294 func (s *PolicyQualifierInfo) Validate() error { 7295 invalidParams := request.ErrInvalidParams{Context: "PolicyQualifierInfo"} 7296 if s.PolicyQualifierId == nil { 7297 invalidParams.Add(request.NewErrParamRequired("PolicyQualifierId")) 7298 } 7299 if s.Qualifier == nil { 7300 invalidParams.Add(request.NewErrParamRequired("Qualifier")) 7301 } 7302 if s.Qualifier != nil { 7303 if err := s.Qualifier.Validate(); err != nil { 7304 invalidParams.AddNested("Qualifier", err.(request.ErrInvalidParams)) 7305 } 7306 } 7307 7308 if invalidParams.Len() > 0 { 7309 return invalidParams 7310 } 7311 return nil 7312 } 7313 7314 // SetPolicyQualifierId sets the PolicyQualifierId field's value. 7315 func (s *PolicyQualifierInfo) SetPolicyQualifierId(v string) *PolicyQualifierInfo { 7316 s.PolicyQualifierId = &v 7317 return s 7318 } 7319 7320 // SetQualifier sets the Qualifier field's value. 7321 func (s *PolicyQualifierInfo) SetQualifier(v *Qualifier) *PolicyQualifierInfo { 7322 s.Qualifier = v 7323 return s 7324 } 7325 7326 type PutPolicyInput struct { 7327 _ struct{} `type:"structure"` 7328 7329 // The path and file name of a JSON-formatted IAM policy to attach to the specified 7330 // private CA resource. If this policy does not contain all required statements 7331 // or if it includes any statement that is not allowed, the PutPolicy action 7332 // returns an InvalidPolicyException. For information about IAM policy and statement 7333 // structure, see Overview of JSON Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json). 7334 // 7335 // Policy is a required field 7336 Policy *string `min:"1" type:"string" required:"true"` 7337 7338 // The Amazon Resource Number (ARN) of the private CA to associate with the 7339 // policy. The ARN of the CA can be found by calling the ListCertificateAuthorities 7340 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html) 7341 // action. 7342 // 7343 // ResourceArn is a required field 7344 ResourceArn *string `min:"5" type:"string" required:"true"` 7345 } 7346 7347 // String returns the string representation. 7348 // 7349 // API parameter values that are decorated as "sensitive" in the API will not 7350 // be included in the string output. The member name will be present, but the 7351 // value will be replaced with "sensitive". 7352 func (s PutPolicyInput) String() string { 7353 return awsutil.Prettify(s) 7354 } 7355 7356 // GoString returns the string representation. 7357 // 7358 // API parameter values that are decorated as "sensitive" in the API will not 7359 // be included in the string output. The member name will be present, but the 7360 // value will be replaced with "sensitive". 7361 func (s PutPolicyInput) GoString() string { 7362 return s.String() 7363 } 7364 7365 // Validate inspects the fields of the type to determine if they are valid. 7366 func (s *PutPolicyInput) Validate() error { 7367 invalidParams := request.ErrInvalidParams{Context: "PutPolicyInput"} 7368 if s.Policy == nil { 7369 invalidParams.Add(request.NewErrParamRequired("Policy")) 7370 } 7371 if s.Policy != nil && len(*s.Policy) < 1 { 7372 invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) 7373 } 7374 if s.ResourceArn == nil { 7375 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 7376 } 7377 if s.ResourceArn != nil && len(*s.ResourceArn) < 5 { 7378 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 5)) 7379 } 7380 7381 if invalidParams.Len() > 0 { 7382 return invalidParams 7383 } 7384 return nil 7385 } 7386 7387 // SetPolicy sets the Policy field's value. 7388 func (s *PutPolicyInput) SetPolicy(v string) *PutPolicyInput { 7389 s.Policy = &v 7390 return s 7391 } 7392 7393 // SetResourceArn sets the ResourceArn field's value. 7394 func (s *PutPolicyInput) SetResourceArn(v string) *PutPolicyInput { 7395 s.ResourceArn = &v 7396 return s 7397 } 7398 7399 type PutPolicyOutput struct { 7400 _ struct{} `type:"structure"` 7401 } 7402 7403 // String returns the string representation. 7404 // 7405 // API parameter values that are decorated as "sensitive" in the API will not 7406 // be included in the string output. The member name will be present, but the 7407 // value will be replaced with "sensitive". 7408 func (s PutPolicyOutput) String() string { 7409 return awsutil.Prettify(s) 7410 } 7411 7412 // GoString returns the string representation. 7413 // 7414 // API parameter values that are decorated as "sensitive" in the API will not 7415 // be included in the string output. The member name will be present, but the 7416 // value will be replaced with "sensitive". 7417 func (s PutPolicyOutput) GoString() string { 7418 return s.String() 7419 } 7420 7421 // Defines a PolicyInformation qualifier. ACM Private CA supports the certification 7422 // practice statement (CPS) qualifier (https://tools.ietf.org/html/rfc5280#section-4.2.1.4) 7423 // defined in RFC 5280. 7424 type Qualifier struct { 7425 _ struct{} `type:"structure"` 7426 7427 // Contains a pointer to a certification practice statement (CPS) published 7428 // by the CA. 7429 // 7430 // CpsUri is a required field 7431 CpsUri *string `type:"string" required:"true"` 7432 } 7433 7434 // String returns the string representation. 7435 // 7436 // API parameter values that are decorated as "sensitive" in the API will not 7437 // be included in the string output. The member name will be present, but the 7438 // value will be replaced with "sensitive". 7439 func (s Qualifier) String() string { 7440 return awsutil.Prettify(s) 7441 } 7442 7443 // GoString returns the string representation. 7444 // 7445 // API parameter values that are decorated as "sensitive" in the API will not 7446 // be included in the string output. The member name will be present, but the 7447 // value will be replaced with "sensitive". 7448 func (s Qualifier) GoString() string { 7449 return s.String() 7450 } 7451 7452 // Validate inspects the fields of the type to determine if they are valid. 7453 func (s *Qualifier) Validate() error { 7454 invalidParams := request.ErrInvalidParams{Context: "Qualifier"} 7455 if s.CpsUri == nil { 7456 invalidParams.Add(request.NewErrParamRequired("CpsUri")) 7457 } 7458 7459 if invalidParams.Len() > 0 { 7460 return invalidParams 7461 } 7462 return nil 7463 } 7464 7465 // SetCpsUri sets the CpsUri field's value. 7466 func (s *Qualifier) SetCpsUri(v string) *Qualifier { 7467 s.CpsUri = &v 7468 return s 7469 } 7470 7471 // Your request has already been completed. 7472 type RequestAlreadyProcessedException struct { 7473 _ struct{} `type:"structure"` 7474 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7475 7476 Message_ *string `locationName:"message" type:"string"` 7477 } 7478 7479 // String returns the string representation. 7480 // 7481 // API parameter values that are decorated as "sensitive" in the API will not 7482 // be included in the string output. The member name will be present, but the 7483 // value will be replaced with "sensitive". 7484 func (s RequestAlreadyProcessedException) String() string { 7485 return awsutil.Prettify(s) 7486 } 7487 7488 // GoString returns the string representation. 7489 // 7490 // API parameter values that are decorated as "sensitive" in the API will not 7491 // be included in the string output. The member name will be present, but the 7492 // value will be replaced with "sensitive". 7493 func (s RequestAlreadyProcessedException) GoString() string { 7494 return s.String() 7495 } 7496 7497 func newErrorRequestAlreadyProcessedException(v protocol.ResponseMetadata) error { 7498 return &RequestAlreadyProcessedException{ 7499 RespMetadata: v, 7500 } 7501 } 7502 7503 // Code returns the exception type name. 7504 func (s *RequestAlreadyProcessedException) Code() string { 7505 return "RequestAlreadyProcessedException" 7506 } 7507 7508 // Message returns the exception's message. 7509 func (s *RequestAlreadyProcessedException) Message() string { 7510 if s.Message_ != nil { 7511 return *s.Message_ 7512 } 7513 return "" 7514 } 7515 7516 // OrigErr always returns nil, satisfies awserr.Error interface. 7517 func (s *RequestAlreadyProcessedException) OrigErr() error { 7518 return nil 7519 } 7520 7521 func (s *RequestAlreadyProcessedException) Error() string { 7522 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7523 } 7524 7525 // Status code returns the HTTP status code for the request's response error. 7526 func (s *RequestAlreadyProcessedException) StatusCode() int { 7527 return s.RespMetadata.StatusCode 7528 } 7529 7530 // RequestID returns the service's response RequestID for request. 7531 func (s *RequestAlreadyProcessedException) RequestID() string { 7532 return s.RespMetadata.RequestID 7533 } 7534 7535 // The request has failed for an unspecified reason. 7536 type RequestFailedException struct { 7537 _ struct{} `type:"structure"` 7538 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7539 7540 Message_ *string `locationName:"message" type:"string"` 7541 } 7542 7543 // String returns the string representation. 7544 // 7545 // API parameter values that are decorated as "sensitive" in the API will not 7546 // be included in the string output. The member name will be present, but the 7547 // value will be replaced with "sensitive". 7548 func (s RequestFailedException) String() string { 7549 return awsutil.Prettify(s) 7550 } 7551 7552 // GoString returns the string representation. 7553 // 7554 // API parameter values that are decorated as "sensitive" in the API will not 7555 // be included in the string output. The member name will be present, but the 7556 // value will be replaced with "sensitive". 7557 func (s RequestFailedException) GoString() string { 7558 return s.String() 7559 } 7560 7561 func newErrorRequestFailedException(v protocol.ResponseMetadata) error { 7562 return &RequestFailedException{ 7563 RespMetadata: v, 7564 } 7565 } 7566 7567 // Code returns the exception type name. 7568 func (s *RequestFailedException) Code() string { 7569 return "RequestFailedException" 7570 } 7571 7572 // Message returns the exception's message. 7573 func (s *RequestFailedException) Message() string { 7574 if s.Message_ != nil { 7575 return *s.Message_ 7576 } 7577 return "" 7578 } 7579 7580 // OrigErr always returns nil, satisfies awserr.Error interface. 7581 func (s *RequestFailedException) OrigErr() error { 7582 return nil 7583 } 7584 7585 func (s *RequestFailedException) Error() string { 7586 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7587 } 7588 7589 // Status code returns the HTTP status code for the request's response error. 7590 func (s *RequestFailedException) StatusCode() int { 7591 return s.RespMetadata.StatusCode 7592 } 7593 7594 // RequestID returns the service's response RequestID for request. 7595 func (s *RequestFailedException) RequestID() string { 7596 return s.RespMetadata.RequestID 7597 } 7598 7599 // Your request is already in progress. 7600 type RequestInProgressException struct { 7601 _ struct{} `type:"structure"` 7602 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7603 7604 Message_ *string `locationName:"message" type:"string"` 7605 } 7606 7607 // String returns the string representation. 7608 // 7609 // API parameter values that are decorated as "sensitive" in the API will not 7610 // be included in the string output. The member name will be present, but the 7611 // value will be replaced with "sensitive". 7612 func (s RequestInProgressException) String() string { 7613 return awsutil.Prettify(s) 7614 } 7615 7616 // GoString returns the string representation. 7617 // 7618 // API parameter values that are decorated as "sensitive" in the API will not 7619 // be included in the string output. The member name will be present, but the 7620 // value will be replaced with "sensitive". 7621 func (s RequestInProgressException) GoString() string { 7622 return s.String() 7623 } 7624 7625 func newErrorRequestInProgressException(v protocol.ResponseMetadata) error { 7626 return &RequestInProgressException{ 7627 RespMetadata: v, 7628 } 7629 } 7630 7631 // Code returns the exception type name. 7632 func (s *RequestInProgressException) Code() string { 7633 return "RequestInProgressException" 7634 } 7635 7636 // Message returns the exception's message. 7637 func (s *RequestInProgressException) Message() string { 7638 if s.Message_ != nil { 7639 return *s.Message_ 7640 } 7641 return "" 7642 } 7643 7644 // OrigErr always returns nil, satisfies awserr.Error interface. 7645 func (s *RequestInProgressException) OrigErr() error { 7646 return nil 7647 } 7648 7649 func (s *RequestInProgressException) Error() string { 7650 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7651 } 7652 7653 // Status code returns the HTTP status code for the request's response error. 7654 func (s *RequestInProgressException) StatusCode() int { 7655 return s.RespMetadata.StatusCode 7656 } 7657 7658 // RequestID returns the service's response RequestID for request. 7659 func (s *RequestInProgressException) RequestID() string { 7660 return s.RespMetadata.RequestID 7661 } 7662 7663 // A resource such as a private CA, S3 bucket, certificate, audit report, or 7664 // policy cannot be found. 7665 type ResourceNotFoundException struct { 7666 _ struct{} `type:"structure"` 7667 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7668 7669 Message_ *string `locationName:"message" type:"string"` 7670 } 7671 7672 // String returns the string representation. 7673 // 7674 // API parameter values that are decorated as "sensitive" in the API will not 7675 // be included in the string output. The member name will be present, but the 7676 // value will be replaced with "sensitive". 7677 func (s ResourceNotFoundException) String() string { 7678 return awsutil.Prettify(s) 7679 } 7680 7681 // GoString returns the string representation. 7682 // 7683 // API parameter values that are decorated as "sensitive" in the API will not 7684 // be included in the string output. The member name will be present, but the 7685 // value will be replaced with "sensitive". 7686 func (s ResourceNotFoundException) GoString() string { 7687 return s.String() 7688 } 7689 7690 func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 7691 return &ResourceNotFoundException{ 7692 RespMetadata: v, 7693 } 7694 } 7695 7696 // Code returns the exception type name. 7697 func (s *ResourceNotFoundException) Code() string { 7698 return "ResourceNotFoundException" 7699 } 7700 7701 // Message returns the exception's message. 7702 func (s *ResourceNotFoundException) Message() string { 7703 if s.Message_ != nil { 7704 return *s.Message_ 7705 } 7706 return "" 7707 } 7708 7709 // OrigErr always returns nil, satisfies awserr.Error interface. 7710 func (s *ResourceNotFoundException) OrigErr() error { 7711 return nil 7712 } 7713 7714 func (s *ResourceNotFoundException) Error() string { 7715 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7716 } 7717 7718 // Status code returns the HTTP status code for the request's response error. 7719 func (s *ResourceNotFoundException) StatusCode() int { 7720 return s.RespMetadata.StatusCode 7721 } 7722 7723 // RequestID returns the service's response RequestID for request. 7724 func (s *ResourceNotFoundException) RequestID() string { 7725 return s.RespMetadata.RequestID 7726 } 7727 7728 type RestoreCertificateAuthorityInput struct { 7729 _ struct{} `type:"structure"` 7730 7731 // The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority 7732 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) 7733 // action. This must be of the form: 7734 // 7735 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 7736 // 7737 // CertificateAuthorityArn is a required field 7738 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 7739 } 7740 7741 // String returns the string representation. 7742 // 7743 // API parameter values that are decorated as "sensitive" in the API will not 7744 // be included in the string output. The member name will be present, but the 7745 // value will be replaced with "sensitive". 7746 func (s RestoreCertificateAuthorityInput) String() string { 7747 return awsutil.Prettify(s) 7748 } 7749 7750 // GoString returns the string representation. 7751 // 7752 // API parameter values that are decorated as "sensitive" in the API will not 7753 // be included in the string output. The member name will be present, but the 7754 // value will be replaced with "sensitive". 7755 func (s RestoreCertificateAuthorityInput) GoString() string { 7756 return s.String() 7757 } 7758 7759 // Validate inspects the fields of the type to determine if they are valid. 7760 func (s *RestoreCertificateAuthorityInput) Validate() error { 7761 invalidParams := request.ErrInvalidParams{Context: "RestoreCertificateAuthorityInput"} 7762 if s.CertificateAuthorityArn == nil { 7763 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 7764 } 7765 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 7766 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 7767 } 7768 7769 if invalidParams.Len() > 0 { 7770 return invalidParams 7771 } 7772 return nil 7773 } 7774 7775 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 7776 func (s *RestoreCertificateAuthorityInput) SetCertificateAuthorityArn(v string) *RestoreCertificateAuthorityInput { 7777 s.CertificateAuthorityArn = &v 7778 return s 7779 } 7780 7781 type RestoreCertificateAuthorityOutput struct { 7782 _ struct{} `type:"structure"` 7783 } 7784 7785 // String returns the string representation. 7786 // 7787 // API parameter values that are decorated as "sensitive" in the API will not 7788 // be included in the string output. The member name will be present, but the 7789 // value will be replaced with "sensitive". 7790 func (s RestoreCertificateAuthorityOutput) String() string { 7791 return awsutil.Prettify(s) 7792 } 7793 7794 // GoString returns the string representation. 7795 // 7796 // API parameter values that are decorated as "sensitive" in the API will not 7797 // be included in the string output. The member name will be present, but the 7798 // value will be replaced with "sensitive". 7799 func (s RestoreCertificateAuthorityOutput) GoString() string { 7800 return s.String() 7801 } 7802 7803 // Certificate revocation information used by the CreateCertificateAuthority 7804 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) 7805 // and UpdateCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UpdateCertificateAuthority.html) 7806 // actions. Your private certificate authority (CA) can configure Online Certificate 7807 // Status Protocol (OCSP) support and/or maintain a certificate revocation list 7808 // (CRL). OCSP returns validation information about certificates as requested 7809 // by clients, and a CRL contains an updated list of certificates revoked by 7810 // your CA. For more information, see RevokeCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_RevokeCertificate.html) 7811 // and Setting up a certificate revocation method (https://docs.aws.amazon.com/acm-pca/latest/userguide/revocation-setup.html) 7812 // in the AWS Certificate Manager Private Certificate Authority (PCA) User Guide. 7813 type RevocationConfiguration struct { 7814 _ struct{} `type:"structure"` 7815 7816 // Configuration of the certificate revocation list (CRL), if any, maintained 7817 // by your private CA. A CRL is typically updated approximately 30 minutes after 7818 // a certificate is revoked. If for any reason a CRL update fails, ACM Private 7819 // CA makes further attempts every 15 minutes. 7820 CrlConfiguration *CrlConfiguration `type:"structure"` 7821 7822 // Configuration of Online Certificate Status Protocol (OCSP) support, if any, 7823 // maintained by your private CA. When you revoke a certificate, OCSP responses 7824 // may take up to 60 minutes to reflect the new status. 7825 OcspConfiguration *OcspConfiguration `type:"structure"` 7826 } 7827 7828 // String returns the string representation. 7829 // 7830 // API parameter values that are decorated as "sensitive" in the API will not 7831 // be included in the string output. The member name will be present, but the 7832 // value will be replaced with "sensitive". 7833 func (s RevocationConfiguration) String() string { 7834 return awsutil.Prettify(s) 7835 } 7836 7837 // GoString returns the string representation. 7838 // 7839 // API parameter values that are decorated as "sensitive" in the API will not 7840 // be included in the string output. The member name will be present, but the 7841 // value will be replaced with "sensitive". 7842 func (s RevocationConfiguration) GoString() string { 7843 return s.String() 7844 } 7845 7846 // Validate inspects the fields of the type to determine if they are valid. 7847 func (s *RevocationConfiguration) Validate() error { 7848 invalidParams := request.ErrInvalidParams{Context: "RevocationConfiguration"} 7849 if s.CrlConfiguration != nil { 7850 if err := s.CrlConfiguration.Validate(); err != nil { 7851 invalidParams.AddNested("CrlConfiguration", err.(request.ErrInvalidParams)) 7852 } 7853 } 7854 if s.OcspConfiguration != nil { 7855 if err := s.OcspConfiguration.Validate(); err != nil { 7856 invalidParams.AddNested("OcspConfiguration", err.(request.ErrInvalidParams)) 7857 } 7858 } 7859 7860 if invalidParams.Len() > 0 { 7861 return invalidParams 7862 } 7863 return nil 7864 } 7865 7866 // SetCrlConfiguration sets the CrlConfiguration field's value. 7867 func (s *RevocationConfiguration) SetCrlConfiguration(v *CrlConfiguration) *RevocationConfiguration { 7868 s.CrlConfiguration = v 7869 return s 7870 } 7871 7872 // SetOcspConfiguration sets the OcspConfiguration field's value. 7873 func (s *RevocationConfiguration) SetOcspConfiguration(v *OcspConfiguration) *RevocationConfiguration { 7874 s.OcspConfiguration = v 7875 return s 7876 } 7877 7878 type RevokeCertificateInput struct { 7879 _ struct{} `type:"structure"` 7880 7881 // Amazon Resource Name (ARN) of the private CA that issued the certificate 7882 // to be revoked. This must be of the form: 7883 // 7884 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 7885 // 7886 // CertificateAuthorityArn is a required field 7887 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 7888 7889 // Serial number of the certificate to be revoked. This must be in hexadecimal 7890 // format. You can retrieve the serial number by calling GetCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_GetCertificate.html) 7891 // with the Amazon Resource Name (ARN) of the certificate you want and the ARN 7892 // of your private CA. The GetCertificate action retrieves the certificate in 7893 // the PEM format. You can use the following OpenSSL command to list the certificate 7894 // in text format and copy the hexadecimal serial number. 7895 // 7896 // openssl x509 -in file_path -text -noout 7897 // 7898 // You can also copy the serial number from the console or use the DescribeCertificate 7899 // (https://docs.aws.amazon.com/acm/latest/APIReference/API_DescribeCertificate.html) 7900 // action in the AWS Certificate Manager API Reference. 7901 // 7902 // CertificateSerial is a required field 7903 CertificateSerial *string `type:"string" required:"true"` 7904 7905 // Specifies why you revoked the certificate. 7906 // 7907 // RevocationReason is a required field 7908 RevocationReason *string `type:"string" required:"true" enum:"RevocationReason"` 7909 } 7910 7911 // String returns the string representation. 7912 // 7913 // API parameter values that are decorated as "sensitive" in the API will not 7914 // be included in the string output. The member name will be present, but the 7915 // value will be replaced with "sensitive". 7916 func (s RevokeCertificateInput) String() string { 7917 return awsutil.Prettify(s) 7918 } 7919 7920 // GoString returns the string representation. 7921 // 7922 // API parameter values that are decorated as "sensitive" in the API will not 7923 // be included in the string output. The member name will be present, but the 7924 // value will be replaced with "sensitive". 7925 func (s RevokeCertificateInput) GoString() string { 7926 return s.String() 7927 } 7928 7929 // Validate inspects the fields of the type to determine if they are valid. 7930 func (s *RevokeCertificateInput) Validate() error { 7931 invalidParams := request.ErrInvalidParams{Context: "RevokeCertificateInput"} 7932 if s.CertificateAuthorityArn == nil { 7933 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 7934 } 7935 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 7936 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 7937 } 7938 if s.CertificateSerial == nil { 7939 invalidParams.Add(request.NewErrParamRequired("CertificateSerial")) 7940 } 7941 if s.RevocationReason == nil { 7942 invalidParams.Add(request.NewErrParamRequired("RevocationReason")) 7943 } 7944 7945 if invalidParams.Len() > 0 { 7946 return invalidParams 7947 } 7948 return nil 7949 } 7950 7951 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 7952 func (s *RevokeCertificateInput) SetCertificateAuthorityArn(v string) *RevokeCertificateInput { 7953 s.CertificateAuthorityArn = &v 7954 return s 7955 } 7956 7957 // SetCertificateSerial sets the CertificateSerial field's value. 7958 func (s *RevokeCertificateInput) SetCertificateSerial(v string) *RevokeCertificateInput { 7959 s.CertificateSerial = &v 7960 return s 7961 } 7962 7963 // SetRevocationReason sets the RevocationReason field's value. 7964 func (s *RevokeCertificateInput) SetRevocationReason(v string) *RevokeCertificateInput { 7965 s.RevocationReason = &v 7966 return s 7967 } 7968 7969 type RevokeCertificateOutput struct { 7970 _ struct{} `type:"structure"` 7971 } 7972 7973 // String returns the string representation. 7974 // 7975 // API parameter values that are decorated as "sensitive" in the API will not 7976 // be included in the string output. The member name will be present, but the 7977 // value will be replaced with "sensitive". 7978 func (s RevokeCertificateOutput) String() string { 7979 return awsutil.Prettify(s) 7980 } 7981 7982 // GoString returns the string representation. 7983 // 7984 // API parameter values that are decorated as "sensitive" in the API will not 7985 // be included in the string output. The member name will be present, but the 7986 // value will be replaced with "sensitive". 7987 func (s RevokeCertificateOutput) GoString() string { 7988 return s.String() 7989 } 7990 7991 // Tags are labels that you can use to identify and organize your private CAs. 7992 // Each tag consists of a key and an optional value. You can associate up to 7993 // 50 tags with a private CA. To add one or more tags to a private CA, call 7994 // the TagCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_TagCertificateAuthority.html) 7995 // action. To remove a tag, call the UntagCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UntagCertificateAuthority.html) 7996 // action. 7997 type Tag struct { 7998 _ struct{} `type:"structure"` 7999 8000 // Key (name) of the tag. 8001 // 8002 // Key is a required field 8003 Key *string `min:"1" type:"string" required:"true"` 8004 8005 // Value of the tag. 8006 Value *string `type:"string"` 8007 } 8008 8009 // String returns the string representation. 8010 // 8011 // API parameter values that are decorated as "sensitive" in the API will not 8012 // be included in the string output. The member name will be present, but the 8013 // value will be replaced with "sensitive". 8014 func (s Tag) String() string { 8015 return awsutil.Prettify(s) 8016 } 8017 8018 // GoString returns the string representation. 8019 // 8020 // API parameter values that are decorated as "sensitive" in the API will not 8021 // be included in the string output. The member name will be present, but the 8022 // value will be replaced with "sensitive". 8023 func (s Tag) GoString() string { 8024 return s.String() 8025 } 8026 8027 // Validate inspects the fields of the type to determine if they are valid. 8028 func (s *Tag) Validate() error { 8029 invalidParams := request.ErrInvalidParams{Context: "Tag"} 8030 if s.Key == nil { 8031 invalidParams.Add(request.NewErrParamRequired("Key")) 8032 } 8033 if s.Key != nil && len(*s.Key) < 1 { 8034 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 8035 } 8036 8037 if invalidParams.Len() > 0 { 8038 return invalidParams 8039 } 8040 return nil 8041 } 8042 8043 // SetKey sets the Key field's value. 8044 func (s *Tag) SetKey(v string) *Tag { 8045 s.Key = &v 8046 return s 8047 } 8048 8049 // SetValue sets the Value field's value. 8050 func (s *Tag) SetValue(v string) *Tag { 8051 s.Value = &v 8052 return s 8053 } 8054 8055 type TagCertificateAuthorityInput struct { 8056 _ struct{} `type:"structure"` 8057 8058 // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority 8059 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html). 8060 // This must be of the form: 8061 // 8062 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 8063 // 8064 // CertificateAuthorityArn is a required field 8065 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 8066 8067 // List of tags to be associated with the CA. 8068 // 8069 // Tags is a required field 8070 Tags []*Tag `min:"1" type:"list" required:"true"` 8071 } 8072 8073 // String returns the string representation. 8074 // 8075 // API parameter values that are decorated as "sensitive" in the API will not 8076 // be included in the string output. The member name will be present, but the 8077 // value will be replaced with "sensitive". 8078 func (s TagCertificateAuthorityInput) String() string { 8079 return awsutil.Prettify(s) 8080 } 8081 8082 // GoString returns the string representation. 8083 // 8084 // API parameter values that are decorated as "sensitive" in the API will not 8085 // be included in the string output. The member name will be present, but the 8086 // value will be replaced with "sensitive". 8087 func (s TagCertificateAuthorityInput) GoString() string { 8088 return s.String() 8089 } 8090 8091 // Validate inspects the fields of the type to determine if they are valid. 8092 func (s *TagCertificateAuthorityInput) Validate() error { 8093 invalidParams := request.ErrInvalidParams{Context: "TagCertificateAuthorityInput"} 8094 if s.CertificateAuthorityArn == nil { 8095 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 8096 } 8097 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 8098 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 8099 } 8100 if s.Tags == nil { 8101 invalidParams.Add(request.NewErrParamRequired("Tags")) 8102 } 8103 if s.Tags != nil && len(s.Tags) < 1 { 8104 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 8105 } 8106 if s.Tags != nil { 8107 for i, v := range s.Tags { 8108 if v == nil { 8109 continue 8110 } 8111 if err := v.Validate(); err != nil { 8112 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8113 } 8114 } 8115 } 8116 8117 if invalidParams.Len() > 0 { 8118 return invalidParams 8119 } 8120 return nil 8121 } 8122 8123 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 8124 func (s *TagCertificateAuthorityInput) SetCertificateAuthorityArn(v string) *TagCertificateAuthorityInput { 8125 s.CertificateAuthorityArn = &v 8126 return s 8127 } 8128 8129 // SetTags sets the Tags field's value. 8130 func (s *TagCertificateAuthorityInput) SetTags(v []*Tag) *TagCertificateAuthorityInput { 8131 s.Tags = v 8132 return s 8133 } 8134 8135 type TagCertificateAuthorityOutput struct { 8136 _ struct{} `type:"structure"` 8137 } 8138 8139 // String returns the string representation. 8140 // 8141 // API parameter values that are decorated as "sensitive" in the API will not 8142 // be included in the string output. The member name will be present, but the 8143 // value will be replaced with "sensitive". 8144 func (s TagCertificateAuthorityOutput) String() string { 8145 return awsutil.Prettify(s) 8146 } 8147 8148 // GoString returns the string representation. 8149 // 8150 // API parameter values that are decorated as "sensitive" in the API will not 8151 // be included in the string output. The member name will be present, but the 8152 // value will be replaced with "sensitive". 8153 func (s TagCertificateAuthorityOutput) GoString() string { 8154 return s.String() 8155 } 8156 8157 // You can associate up to 50 tags with a private CA. Exception information 8158 // is contained in the exception message field. 8159 type TooManyTagsException struct { 8160 _ struct{} `type:"structure"` 8161 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8162 8163 Message_ *string `locationName:"message" type:"string"` 8164 } 8165 8166 // String returns the string representation. 8167 // 8168 // API parameter values that are decorated as "sensitive" in the API will not 8169 // be included in the string output. The member name will be present, but the 8170 // value will be replaced with "sensitive". 8171 func (s TooManyTagsException) String() string { 8172 return awsutil.Prettify(s) 8173 } 8174 8175 // GoString returns the string representation. 8176 // 8177 // API parameter values that are decorated as "sensitive" in the API will not 8178 // be included in the string output. The member name will be present, but the 8179 // value will be replaced with "sensitive". 8180 func (s TooManyTagsException) GoString() string { 8181 return s.String() 8182 } 8183 8184 func newErrorTooManyTagsException(v protocol.ResponseMetadata) error { 8185 return &TooManyTagsException{ 8186 RespMetadata: v, 8187 } 8188 } 8189 8190 // Code returns the exception type name. 8191 func (s *TooManyTagsException) Code() string { 8192 return "TooManyTagsException" 8193 } 8194 8195 // Message returns the exception's message. 8196 func (s *TooManyTagsException) Message() string { 8197 if s.Message_ != nil { 8198 return *s.Message_ 8199 } 8200 return "" 8201 } 8202 8203 // OrigErr always returns nil, satisfies awserr.Error interface. 8204 func (s *TooManyTagsException) OrigErr() error { 8205 return nil 8206 } 8207 8208 func (s *TooManyTagsException) Error() string { 8209 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 8210 } 8211 8212 // Status code returns the HTTP status code for the request's response error. 8213 func (s *TooManyTagsException) StatusCode() int { 8214 return s.RespMetadata.StatusCode 8215 } 8216 8217 // RequestID returns the service's response RequestID for request. 8218 func (s *TooManyTagsException) RequestID() string { 8219 return s.RespMetadata.RequestID 8220 } 8221 8222 type UntagCertificateAuthorityInput struct { 8223 _ struct{} `type:"structure"` 8224 8225 // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority 8226 // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html). 8227 // This must be of the form: 8228 // 8229 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 8230 // 8231 // CertificateAuthorityArn is a required field 8232 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 8233 8234 // List of tags to be removed from the CA. 8235 // 8236 // Tags is a required field 8237 Tags []*Tag `min:"1" type:"list" required:"true"` 8238 } 8239 8240 // String returns the string representation. 8241 // 8242 // API parameter values that are decorated as "sensitive" in the API will not 8243 // be included in the string output. The member name will be present, but the 8244 // value will be replaced with "sensitive". 8245 func (s UntagCertificateAuthorityInput) String() string { 8246 return awsutil.Prettify(s) 8247 } 8248 8249 // GoString returns the string representation. 8250 // 8251 // API parameter values that are decorated as "sensitive" in the API will not 8252 // be included in the string output. The member name will be present, but the 8253 // value will be replaced with "sensitive". 8254 func (s UntagCertificateAuthorityInput) GoString() string { 8255 return s.String() 8256 } 8257 8258 // Validate inspects the fields of the type to determine if they are valid. 8259 func (s *UntagCertificateAuthorityInput) Validate() error { 8260 invalidParams := request.ErrInvalidParams{Context: "UntagCertificateAuthorityInput"} 8261 if s.CertificateAuthorityArn == nil { 8262 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 8263 } 8264 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 8265 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 8266 } 8267 if s.Tags == nil { 8268 invalidParams.Add(request.NewErrParamRequired("Tags")) 8269 } 8270 if s.Tags != nil && len(s.Tags) < 1 { 8271 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 8272 } 8273 if s.Tags != nil { 8274 for i, v := range s.Tags { 8275 if v == nil { 8276 continue 8277 } 8278 if err := v.Validate(); err != nil { 8279 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8280 } 8281 } 8282 } 8283 8284 if invalidParams.Len() > 0 { 8285 return invalidParams 8286 } 8287 return nil 8288 } 8289 8290 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 8291 func (s *UntagCertificateAuthorityInput) SetCertificateAuthorityArn(v string) *UntagCertificateAuthorityInput { 8292 s.CertificateAuthorityArn = &v 8293 return s 8294 } 8295 8296 // SetTags sets the Tags field's value. 8297 func (s *UntagCertificateAuthorityInput) SetTags(v []*Tag) *UntagCertificateAuthorityInput { 8298 s.Tags = v 8299 return s 8300 } 8301 8302 type UntagCertificateAuthorityOutput struct { 8303 _ struct{} `type:"structure"` 8304 } 8305 8306 // String returns the string representation. 8307 // 8308 // API parameter values that are decorated as "sensitive" in the API will not 8309 // be included in the string output. The member name will be present, but the 8310 // value will be replaced with "sensitive". 8311 func (s UntagCertificateAuthorityOutput) String() string { 8312 return awsutil.Prettify(s) 8313 } 8314 8315 // GoString returns the string representation. 8316 // 8317 // API parameter values that are decorated as "sensitive" in the API will not 8318 // be included in the string output. The member name will be present, but the 8319 // value will be replaced with "sensitive". 8320 func (s UntagCertificateAuthorityOutput) GoString() string { 8321 return s.String() 8322 } 8323 8324 type UpdateCertificateAuthorityInput struct { 8325 _ struct{} `type:"structure"` 8326 8327 // Amazon Resource Name (ARN) of the private CA that issued the certificate 8328 // to be revoked. This must be of the form: 8329 // 8330 // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 8331 // 8332 // CertificateAuthorityArn is a required field 8333 CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` 8334 8335 // Contains information to enable Online Certificate Status Protocol (OCSP) 8336 // support, to enable a certificate revocation list (CRL), to enable both, or 8337 // to enable neither. If this parameter is not supplied, existing capibilites 8338 // remain unchanged. For more information, see the OcspConfiguration (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_OcspConfiguration.html) 8339 // and CrlConfiguration (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CrlConfiguration.html) 8340 // types. 8341 RevocationConfiguration *RevocationConfiguration `type:"structure"` 8342 8343 // Status of your private CA. 8344 Status *string `type:"string" enum:"CertificateAuthorityStatus"` 8345 } 8346 8347 // String returns the string representation. 8348 // 8349 // API parameter values that are decorated as "sensitive" in the API will not 8350 // be included in the string output. The member name will be present, but the 8351 // value will be replaced with "sensitive". 8352 func (s UpdateCertificateAuthorityInput) String() string { 8353 return awsutil.Prettify(s) 8354 } 8355 8356 // GoString returns the string representation. 8357 // 8358 // API parameter values that are decorated as "sensitive" in the API will not 8359 // be included in the string output. The member name will be present, but the 8360 // value will be replaced with "sensitive". 8361 func (s UpdateCertificateAuthorityInput) GoString() string { 8362 return s.String() 8363 } 8364 8365 // Validate inspects the fields of the type to determine if they are valid. 8366 func (s *UpdateCertificateAuthorityInput) Validate() error { 8367 invalidParams := request.ErrInvalidParams{Context: "UpdateCertificateAuthorityInput"} 8368 if s.CertificateAuthorityArn == nil { 8369 invalidParams.Add(request.NewErrParamRequired("CertificateAuthorityArn")) 8370 } 8371 if s.CertificateAuthorityArn != nil && len(*s.CertificateAuthorityArn) < 5 { 8372 invalidParams.Add(request.NewErrParamMinLen("CertificateAuthorityArn", 5)) 8373 } 8374 if s.RevocationConfiguration != nil { 8375 if err := s.RevocationConfiguration.Validate(); err != nil { 8376 invalidParams.AddNested("RevocationConfiguration", err.(request.ErrInvalidParams)) 8377 } 8378 } 8379 8380 if invalidParams.Len() > 0 { 8381 return invalidParams 8382 } 8383 return nil 8384 } 8385 8386 // SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value. 8387 func (s *UpdateCertificateAuthorityInput) SetCertificateAuthorityArn(v string) *UpdateCertificateAuthorityInput { 8388 s.CertificateAuthorityArn = &v 8389 return s 8390 } 8391 8392 // SetRevocationConfiguration sets the RevocationConfiguration field's value. 8393 func (s *UpdateCertificateAuthorityInput) SetRevocationConfiguration(v *RevocationConfiguration) *UpdateCertificateAuthorityInput { 8394 s.RevocationConfiguration = v 8395 return s 8396 } 8397 8398 // SetStatus sets the Status field's value. 8399 func (s *UpdateCertificateAuthorityInput) SetStatus(v string) *UpdateCertificateAuthorityInput { 8400 s.Status = &v 8401 return s 8402 } 8403 8404 type UpdateCertificateAuthorityOutput struct { 8405 _ struct{} `type:"structure"` 8406 } 8407 8408 // String returns the string representation. 8409 // 8410 // API parameter values that are decorated as "sensitive" in the API will not 8411 // be included in the string output. The member name will be present, but the 8412 // value will be replaced with "sensitive". 8413 func (s UpdateCertificateAuthorityOutput) String() string { 8414 return awsutil.Prettify(s) 8415 } 8416 8417 // GoString returns the string representation. 8418 // 8419 // API parameter values that are decorated as "sensitive" in the API will not 8420 // be included in the string output. The member name will be present, but the 8421 // value will be replaced with "sensitive". 8422 func (s UpdateCertificateAuthorityOutput) GoString() string { 8423 return s.String() 8424 } 8425 8426 // Validity specifies the period of time during which a certificate is valid. 8427 // Validity can be expressed as an explicit date and time when the validity 8428 // of a certificate starts or expires, or as a span of time after issuance, 8429 // stated in days, months, or years. For more information, see Validity (https://tools.ietf.org/html/rfc5280#section-4.1.2.5) 8430 // in RFC 5280. 8431 // 8432 // ACM Private CA API consumes the Validity data type differently in two distinct 8433 // parameters of the IssueCertificate action. The required parameter IssueCertificate:Validity 8434 // specifies the end of a certificate's validity period. The optional parameter 8435 // IssueCertificate:ValidityNotBefore specifies a customized starting time for 8436 // the validity period. 8437 type Validity struct { 8438 _ struct{} `type:"structure"` 8439 8440 // Determines how ACM Private CA interprets the Value parameter, an integer. 8441 // Supported validity types include those listed below. Type definitions with 8442 // values include a sample input value and the resulting output. 8443 // 8444 // END_DATE: The specific date and time when the certificate will expire, expressed 8445 // using UTCTime (YYMMDDHHMMSS) or GeneralizedTime (YYYYMMDDHHMMSS) format. 8446 // When UTCTime is used, if the year field (YY) is greater than or equal to 8447 // 50, the year is interpreted as 19YY. If the year field is less than 50, the 8448 // year is interpreted as 20YY. 8449 // 8450 // * Sample input value: 491231235959 (UTCTime format) 8451 // 8452 // * Output expiration date/time: 12/31/2049 23:59:59 8453 // 8454 // ABSOLUTE: The specific date and time when the validity of a certificate will 8455 // start or expire, expressed in seconds since the Unix Epoch. 8456 // 8457 // * Sample input value: 2524608000 8458 // 8459 // * Output expiration date/time: 01/01/2050 00:00:00 8460 // 8461 // DAYS, MONTHS, YEARS: The relative time from the moment of issuance until 8462 // the certificate will expire, expressed in days, months, or years. 8463 // 8464 // Example if DAYS, issued on 10/12/2020 at 12:34:54 UTC: 8465 // 8466 // * Sample input value: 90 8467 // 8468 // * Output expiration date: 01/10/2020 12:34:54 UTC 8469 // 8470 // The minimum validity duration for a certificate using relative time (DAYS) 8471 // is one day. The minimum validity for a certificate using absolute time (ABSOLUTE 8472 // or END_DATE) is one second. 8473 // 8474 // Type is a required field 8475 Type *string `type:"string" required:"true" enum:"ValidityPeriodType"` 8476 8477 // A long integer interpreted according to the value of Type, below. 8478 // 8479 // Value is a required field 8480 Value *int64 `min:"1" type:"long" required:"true"` 8481 } 8482 8483 // String returns the string representation. 8484 // 8485 // API parameter values that are decorated as "sensitive" in the API will not 8486 // be included in the string output. The member name will be present, but the 8487 // value will be replaced with "sensitive". 8488 func (s Validity) String() string { 8489 return awsutil.Prettify(s) 8490 } 8491 8492 // GoString returns the string representation. 8493 // 8494 // API parameter values that are decorated as "sensitive" in the API will not 8495 // be included in the string output. The member name will be present, but the 8496 // value will be replaced with "sensitive". 8497 func (s Validity) GoString() string { 8498 return s.String() 8499 } 8500 8501 // Validate inspects the fields of the type to determine if they are valid. 8502 func (s *Validity) Validate() error { 8503 invalidParams := request.ErrInvalidParams{Context: "Validity"} 8504 if s.Type == nil { 8505 invalidParams.Add(request.NewErrParamRequired("Type")) 8506 } 8507 if s.Value == nil { 8508 invalidParams.Add(request.NewErrParamRequired("Value")) 8509 } 8510 if s.Value != nil && *s.Value < 1 { 8511 invalidParams.Add(request.NewErrParamMinValue("Value", 1)) 8512 } 8513 8514 if invalidParams.Len() > 0 { 8515 return invalidParams 8516 } 8517 return nil 8518 } 8519 8520 // SetType sets the Type field's value. 8521 func (s *Validity) SetType(v string) *Validity { 8522 s.Type = &v 8523 return s 8524 } 8525 8526 // SetValue sets the Value field's value. 8527 func (s *Validity) SetValue(v int64) *Validity { 8528 s.Value = &v 8529 return s 8530 } 8531 8532 const ( 8533 // AccessMethodTypeCaRepository is a AccessMethodType enum value 8534 AccessMethodTypeCaRepository = "CA_REPOSITORY" 8535 8536 // AccessMethodTypeResourcePkiManifest is a AccessMethodType enum value 8537 AccessMethodTypeResourcePkiManifest = "RESOURCE_PKI_MANIFEST" 8538 8539 // AccessMethodTypeResourcePkiNotify is a AccessMethodType enum value 8540 AccessMethodTypeResourcePkiNotify = "RESOURCE_PKI_NOTIFY" 8541 ) 8542 8543 // AccessMethodType_Values returns all elements of the AccessMethodType enum 8544 func AccessMethodType_Values() []string { 8545 return []string{ 8546 AccessMethodTypeCaRepository, 8547 AccessMethodTypeResourcePkiManifest, 8548 AccessMethodTypeResourcePkiNotify, 8549 } 8550 } 8551 8552 const ( 8553 // ActionTypeIssueCertificate is a ActionType enum value 8554 ActionTypeIssueCertificate = "IssueCertificate" 8555 8556 // ActionTypeGetCertificate is a ActionType enum value 8557 ActionTypeGetCertificate = "GetCertificate" 8558 8559 // ActionTypeListPermissions is a ActionType enum value 8560 ActionTypeListPermissions = "ListPermissions" 8561 ) 8562 8563 // ActionType_Values returns all elements of the ActionType enum 8564 func ActionType_Values() []string { 8565 return []string{ 8566 ActionTypeIssueCertificate, 8567 ActionTypeGetCertificate, 8568 ActionTypeListPermissions, 8569 } 8570 } 8571 8572 const ( 8573 // AuditReportResponseFormatJson is a AuditReportResponseFormat enum value 8574 AuditReportResponseFormatJson = "JSON" 8575 8576 // AuditReportResponseFormatCsv is a AuditReportResponseFormat enum value 8577 AuditReportResponseFormatCsv = "CSV" 8578 ) 8579 8580 // AuditReportResponseFormat_Values returns all elements of the AuditReportResponseFormat enum 8581 func AuditReportResponseFormat_Values() []string { 8582 return []string{ 8583 AuditReportResponseFormatJson, 8584 AuditReportResponseFormatCsv, 8585 } 8586 } 8587 8588 const ( 8589 // AuditReportStatusCreating is a AuditReportStatus enum value 8590 AuditReportStatusCreating = "CREATING" 8591 8592 // AuditReportStatusSuccess is a AuditReportStatus enum value 8593 AuditReportStatusSuccess = "SUCCESS" 8594 8595 // AuditReportStatusFailed is a AuditReportStatus enum value 8596 AuditReportStatusFailed = "FAILED" 8597 ) 8598 8599 // AuditReportStatus_Values returns all elements of the AuditReportStatus enum 8600 func AuditReportStatus_Values() []string { 8601 return []string{ 8602 AuditReportStatusCreating, 8603 AuditReportStatusSuccess, 8604 AuditReportStatusFailed, 8605 } 8606 } 8607 8608 const ( 8609 // CertificateAuthorityStatusCreating is a CertificateAuthorityStatus enum value 8610 CertificateAuthorityStatusCreating = "CREATING" 8611 8612 // CertificateAuthorityStatusPendingCertificate is a CertificateAuthorityStatus enum value 8613 CertificateAuthorityStatusPendingCertificate = "PENDING_CERTIFICATE" 8614 8615 // CertificateAuthorityStatusActive is a CertificateAuthorityStatus enum value 8616 CertificateAuthorityStatusActive = "ACTIVE" 8617 8618 // CertificateAuthorityStatusDeleted is a CertificateAuthorityStatus enum value 8619 CertificateAuthorityStatusDeleted = "DELETED" 8620 8621 // CertificateAuthorityStatusDisabled is a CertificateAuthorityStatus enum value 8622 CertificateAuthorityStatusDisabled = "DISABLED" 8623 8624 // CertificateAuthorityStatusExpired is a CertificateAuthorityStatus enum value 8625 CertificateAuthorityStatusExpired = "EXPIRED" 8626 8627 // CertificateAuthorityStatusFailed is a CertificateAuthorityStatus enum value 8628 CertificateAuthorityStatusFailed = "FAILED" 8629 ) 8630 8631 // CertificateAuthorityStatus_Values returns all elements of the CertificateAuthorityStatus enum 8632 func CertificateAuthorityStatus_Values() []string { 8633 return []string{ 8634 CertificateAuthorityStatusCreating, 8635 CertificateAuthorityStatusPendingCertificate, 8636 CertificateAuthorityStatusActive, 8637 CertificateAuthorityStatusDeleted, 8638 CertificateAuthorityStatusDisabled, 8639 CertificateAuthorityStatusExpired, 8640 CertificateAuthorityStatusFailed, 8641 } 8642 } 8643 8644 const ( 8645 // CertificateAuthorityTypeRoot is a CertificateAuthorityType enum value 8646 CertificateAuthorityTypeRoot = "ROOT" 8647 8648 // CertificateAuthorityTypeSubordinate is a CertificateAuthorityType enum value 8649 CertificateAuthorityTypeSubordinate = "SUBORDINATE" 8650 ) 8651 8652 // CertificateAuthorityType_Values returns all elements of the CertificateAuthorityType enum 8653 func CertificateAuthorityType_Values() []string { 8654 return []string{ 8655 CertificateAuthorityTypeRoot, 8656 CertificateAuthorityTypeSubordinate, 8657 } 8658 } 8659 8660 const ( 8661 // ExtendedKeyUsageTypeServerAuth is a ExtendedKeyUsageType enum value 8662 ExtendedKeyUsageTypeServerAuth = "SERVER_AUTH" 8663 8664 // ExtendedKeyUsageTypeClientAuth is a ExtendedKeyUsageType enum value 8665 ExtendedKeyUsageTypeClientAuth = "CLIENT_AUTH" 8666 8667 // ExtendedKeyUsageTypeCodeSigning is a ExtendedKeyUsageType enum value 8668 ExtendedKeyUsageTypeCodeSigning = "CODE_SIGNING" 8669 8670 // ExtendedKeyUsageTypeEmailProtection is a ExtendedKeyUsageType enum value 8671 ExtendedKeyUsageTypeEmailProtection = "EMAIL_PROTECTION" 8672 8673 // ExtendedKeyUsageTypeTimeStamping is a ExtendedKeyUsageType enum value 8674 ExtendedKeyUsageTypeTimeStamping = "TIME_STAMPING" 8675 8676 // ExtendedKeyUsageTypeOcspSigning is a ExtendedKeyUsageType enum value 8677 ExtendedKeyUsageTypeOcspSigning = "OCSP_SIGNING" 8678 8679 // ExtendedKeyUsageTypeSmartCardLogin is a ExtendedKeyUsageType enum value 8680 ExtendedKeyUsageTypeSmartCardLogin = "SMART_CARD_LOGIN" 8681 8682 // ExtendedKeyUsageTypeDocumentSigning is a ExtendedKeyUsageType enum value 8683 ExtendedKeyUsageTypeDocumentSigning = "DOCUMENT_SIGNING" 8684 8685 // ExtendedKeyUsageTypeCertificateTransparency is a ExtendedKeyUsageType enum value 8686 ExtendedKeyUsageTypeCertificateTransparency = "CERTIFICATE_TRANSPARENCY" 8687 ) 8688 8689 // ExtendedKeyUsageType_Values returns all elements of the ExtendedKeyUsageType enum 8690 func ExtendedKeyUsageType_Values() []string { 8691 return []string{ 8692 ExtendedKeyUsageTypeServerAuth, 8693 ExtendedKeyUsageTypeClientAuth, 8694 ExtendedKeyUsageTypeCodeSigning, 8695 ExtendedKeyUsageTypeEmailProtection, 8696 ExtendedKeyUsageTypeTimeStamping, 8697 ExtendedKeyUsageTypeOcspSigning, 8698 ExtendedKeyUsageTypeSmartCardLogin, 8699 ExtendedKeyUsageTypeDocumentSigning, 8700 ExtendedKeyUsageTypeCertificateTransparency, 8701 } 8702 } 8703 8704 const ( 8705 // FailureReasonRequestTimedOut is a FailureReason enum value 8706 FailureReasonRequestTimedOut = "REQUEST_TIMED_OUT" 8707 8708 // FailureReasonUnsupportedAlgorithm is a FailureReason enum value 8709 FailureReasonUnsupportedAlgorithm = "UNSUPPORTED_ALGORITHM" 8710 8711 // FailureReasonOther is a FailureReason enum value 8712 FailureReasonOther = "OTHER" 8713 ) 8714 8715 // FailureReason_Values returns all elements of the FailureReason enum 8716 func FailureReason_Values() []string { 8717 return []string{ 8718 FailureReasonRequestTimedOut, 8719 FailureReasonUnsupportedAlgorithm, 8720 FailureReasonOther, 8721 } 8722 } 8723 8724 const ( 8725 // KeyAlgorithmRsa2048 is a KeyAlgorithm enum value 8726 KeyAlgorithmRsa2048 = "RSA_2048" 8727 8728 // KeyAlgorithmRsa4096 is a KeyAlgorithm enum value 8729 KeyAlgorithmRsa4096 = "RSA_4096" 8730 8731 // KeyAlgorithmEcPrime256v1 is a KeyAlgorithm enum value 8732 KeyAlgorithmEcPrime256v1 = "EC_prime256v1" 8733 8734 // KeyAlgorithmEcSecp384r1 is a KeyAlgorithm enum value 8735 KeyAlgorithmEcSecp384r1 = "EC_secp384r1" 8736 ) 8737 8738 // KeyAlgorithm_Values returns all elements of the KeyAlgorithm enum 8739 func KeyAlgorithm_Values() []string { 8740 return []string{ 8741 KeyAlgorithmRsa2048, 8742 KeyAlgorithmRsa4096, 8743 KeyAlgorithmEcPrime256v1, 8744 KeyAlgorithmEcSecp384r1, 8745 } 8746 } 8747 8748 const ( 8749 // KeyStorageSecurityStandardFips1402Level2OrHigher is a KeyStorageSecurityStandard enum value 8750 KeyStorageSecurityStandardFips1402Level2OrHigher = "FIPS_140_2_LEVEL_2_OR_HIGHER" 8751 8752 // KeyStorageSecurityStandardFips1402Level3OrHigher is a KeyStorageSecurityStandard enum value 8753 KeyStorageSecurityStandardFips1402Level3OrHigher = "FIPS_140_2_LEVEL_3_OR_HIGHER" 8754 ) 8755 8756 // KeyStorageSecurityStandard_Values returns all elements of the KeyStorageSecurityStandard enum 8757 func KeyStorageSecurityStandard_Values() []string { 8758 return []string{ 8759 KeyStorageSecurityStandardFips1402Level2OrHigher, 8760 KeyStorageSecurityStandardFips1402Level3OrHigher, 8761 } 8762 } 8763 8764 const ( 8765 // PolicyQualifierIdCps is a PolicyQualifierId enum value 8766 PolicyQualifierIdCps = "CPS" 8767 ) 8768 8769 // PolicyQualifierId_Values returns all elements of the PolicyQualifierId enum 8770 func PolicyQualifierId_Values() []string { 8771 return []string{ 8772 PolicyQualifierIdCps, 8773 } 8774 } 8775 8776 const ( 8777 // ResourceOwnerSelf is a ResourceOwner enum value 8778 ResourceOwnerSelf = "SELF" 8779 8780 // ResourceOwnerOtherAccounts is a ResourceOwner enum value 8781 ResourceOwnerOtherAccounts = "OTHER_ACCOUNTS" 8782 ) 8783 8784 // ResourceOwner_Values returns all elements of the ResourceOwner enum 8785 func ResourceOwner_Values() []string { 8786 return []string{ 8787 ResourceOwnerSelf, 8788 ResourceOwnerOtherAccounts, 8789 } 8790 } 8791 8792 const ( 8793 // RevocationReasonUnspecified is a RevocationReason enum value 8794 RevocationReasonUnspecified = "UNSPECIFIED" 8795 8796 // RevocationReasonKeyCompromise is a RevocationReason enum value 8797 RevocationReasonKeyCompromise = "KEY_COMPROMISE" 8798 8799 // RevocationReasonCertificateAuthorityCompromise is a RevocationReason enum value 8800 RevocationReasonCertificateAuthorityCompromise = "CERTIFICATE_AUTHORITY_COMPROMISE" 8801 8802 // RevocationReasonAffiliationChanged is a RevocationReason enum value 8803 RevocationReasonAffiliationChanged = "AFFILIATION_CHANGED" 8804 8805 // RevocationReasonSuperseded is a RevocationReason enum value 8806 RevocationReasonSuperseded = "SUPERSEDED" 8807 8808 // RevocationReasonCessationOfOperation is a RevocationReason enum value 8809 RevocationReasonCessationOfOperation = "CESSATION_OF_OPERATION" 8810 8811 // RevocationReasonPrivilegeWithdrawn is a RevocationReason enum value 8812 RevocationReasonPrivilegeWithdrawn = "PRIVILEGE_WITHDRAWN" 8813 8814 // RevocationReasonAACompromise is a RevocationReason enum value 8815 RevocationReasonAACompromise = "A_A_COMPROMISE" 8816 ) 8817 8818 // RevocationReason_Values returns all elements of the RevocationReason enum 8819 func RevocationReason_Values() []string { 8820 return []string{ 8821 RevocationReasonUnspecified, 8822 RevocationReasonKeyCompromise, 8823 RevocationReasonCertificateAuthorityCompromise, 8824 RevocationReasonAffiliationChanged, 8825 RevocationReasonSuperseded, 8826 RevocationReasonCessationOfOperation, 8827 RevocationReasonPrivilegeWithdrawn, 8828 RevocationReasonAACompromise, 8829 } 8830 } 8831 8832 const ( 8833 // S3ObjectAclPublicRead is a S3ObjectAcl enum value 8834 S3ObjectAclPublicRead = "PUBLIC_READ" 8835 8836 // S3ObjectAclBucketOwnerFullControl is a S3ObjectAcl enum value 8837 S3ObjectAclBucketOwnerFullControl = "BUCKET_OWNER_FULL_CONTROL" 8838 ) 8839 8840 // S3ObjectAcl_Values returns all elements of the S3ObjectAcl enum 8841 func S3ObjectAcl_Values() []string { 8842 return []string{ 8843 S3ObjectAclPublicRead, 8844 S3ObjectAclBucketOwnerFullControl, 8845 } 8846 } 8847 8848 const ( 8849 // SigningAlgorithmSha256withecdsa is a SigningAlgorithm enum value 8850 SigningAlgorithmSha256withecdsa = "SHA256WITHECDSA" 8851 8852 // SigningAlgorithmSha384withecdsa is a SigningAlgorithm enum value 8853 SigningAlgorithmSha384withecdsa = "SHA384WITHECDSA" 8854 8855 // SigningAlgorithmSha512withecdsa is a SigningAlgorithm enum value 8856 SigningAlgorithmSha512withecdsa = "SHA512WITHECDSA" 8857 8858 // SigningAlgorithmSha256withrsa is a SigningAlgorithm enum value 8859 SigningAlgorithmSha256withrsa = "SHA256WITHRSA" 8860 8861 // SigningAlgorithmSha384withrsa is a SigningAlgorithm enum value 8862 SigningAlgorithmSha384withrsa = "SHA384WITHRSA" 8863 8864 // SigningAlgorithmSha512withrsa is a SigningAlgorithm enum value 8865 SigningAlgorithmSha512withrsa = "SHA512WITHRSA" 8866 ) 8867 8868 // SigningAlgorithm_Values returns all elements of the SigningAlgorithm enum 8869 func SigningAlgorithm_Values() []string { 8870 return []string{ 8871 SigningAlgorithmSha256withecdsa, 8872 SigningAlgorithmSha384withecdsa, 8873 SigningAlgorithmSha512withecdsa, 8874 SigningAlgorithmSha256withrsa, 8875 SigningAlgorithmSha384withrsa, 8876 SigningAlgorithmSha512withrsa, 8877 } 8878 } 8879 8880 const ( 8881 // ValidityPeriodTypeEndDate is a ValidityPeriodType enum value 8882 ValidityPeriodTypeEndDate = "END_DATE" 8883 8884 // ValidityPeriodTypeAbsolute is a ValidityPeriodType enum value 8885 ValidityPeriodTypeAbsolute = "ABSOLUTE" 8886 8887 // ValidityPeriodTypeDays is a ValidityPeriodType enum value 8888 ValidityPeriodTypeDays = "DAYS" 8889 8890 // ValidityPeriodTypeMonths is a ValidityPeriodType enum value 8891 ValidityPeriodTypeMonths = "MONTHS" 8892 8893 // ValidityPeriodTypeYears is a ValidityPeriodType enum value 8894 ValidityPeriodTypeYears = "YEARS" 8895 ) 8896 8897 // ValidityPeriodType_Values returns all elements of the ValidityPeriodType enum 8898 func ValidityPeriodType_Values() []string { 8899 return []string{ 8900 ValidityPeriodTypeEndDate, 8901 ValidityPeriodTypeAbsolute, 8902 ValidityPeriodTypeDays, 8903 ValidityPeriodTypeMonths, 8904 ValidityPeriodTypeYears, 8905 } 8906 }