Package com.iland.core.web.rest.api
Interface S3StorageResource
- All Superinterfaces:
com.iland.core.aws.s3.query.api.AwsS3AccountsApi,com.iland.core.aws.s3.query.api.AwsS3AlertsApi,com.iland.core.aws.s3.query.api.AwsS3BillingApi,com.iland.core.aws.s3.query.api.AwsS3ContractsApi,com.iland.core.aws.s3.query.api.AwsS3CreateAlertsApi,com.iland.core.aws.s3.query.api.AwsS3CustomerApi,com.iland.core.aws.s3.query.api.AwsS3DeleteAlertsApi,com.iland.core.aws.s3.query.api.AwsS3EditAlertsApi,com.iland.core.aws.s3.query.api.AwsS3GetAlertsApi,com.iland.core.aws.s3.query.api.AwsS3GlobalAlertsApi,com.iland.core.aws.s3.query.api.AwsS3UsageApi,com.iland.core.services.monocle.api.MonocleAwsBucketService,com.iland.core.services.monocle.api.MonocleAwsKeyManagementServiceApi
@Path("/s3-storage")
@Consumes("application/json")
@Produces("application/vnd.ilandcloud.api.v1.0+json")
public interface S3StorageResource
extends com.iland.core.aws.s3.query.api.AwsS3AlertsApi, com.iland.core.aws.s3.query.api.AwsS3BillingApi, com.iland.core.aws.s3.query.api.AwsS3CustomerApi, com.iland.core.aws.s3.query.api.AwsS3GlobalAlertsApi, com.iland.core.aws.s3.query.api.AwsS3UsageApi, com.iland.core.services.monocle.api.MonocleAwsKeyManagementServiceApi, com.iland.core.services.monocle.api.MonocleAwsBucketService
Resource endpoints to get AWS S3 billing and usage info.
-
Method Summary
Modifier and TypeMethodDescriptioncom.iland.core.web.rest.response.monocle.AwsAccountCreationResponsecreateAwsAccount(String companyId, String contractUuid, AwsAccountCreateUpdateRequest awsAccountCreateUpdateRequest) Create AWS account for a given contract uuid, company id and request body.com.iland.core.web.rest.s3.response.AwsAlertResponsecreateBillingAlert(String companyId, com.iland.core.web.rest.s3.request.AwsThresholdAlertRequest request) Create a billing alert for a given company, region and user.voidcreateS3BucketForAccount(String companyId, String contractUuid, String accountId, com.iland.core.web.rest.request.monocle.AwsAccountS3BucketRequest awsAccountS3BucketRequest) Creates a new S3 bucket for the specified AWS account.com.iland.core.web.rest.s3.response.AwsAlertResponsecreateStorageAlert(String companyId, com.iland.core.web.rest.s3.request.AwsThresholdAlertRequest request) Create a storage alert for a given company, region and user.com.iland.core.web.rest.s3.response.AwsAlertResponsecreateStorageConfigAlert(String companyId, com.iland.core.web.rest.s3.request.AwsStorageConfigAlertRequest request) Create a storage config alert for a given company, region and user.voiddeleteAlert(String companyId, com.iland.core.web.rest.s3.request.AwsDeleteAlertRequest request) Delete an alert for a company, given it's uuid.voiddeleteAwsAccountKey(String companyId, String contractUuid, String accountId, String accessKey) Deletes a key.voiddisableAwsAccountKey(String companyId, String contractUuid, String accountId, String accessKey) Disables a keyvoideditBillingAlert(String companyId, com.iland.core.web.rest.s3.request.AwsAlertUuid alertUuid, com.iland.core.web.rest.s3.request.AwsEditThresholdAlertRequest request) Edit a billing alert for a company, given it's uuid.voideditGlobalAlertExclusion(String companyId, com.iland.core.web.rest.s3.request.AwsEditGlobalAlertExclusionRequest request) Add or remove a global alert exclusion based on exclude property.voideditStorageAlert(String companyId, com.iland.core.web.rest.s3.request.AwsAlertUuid alertUuid, com.iland.core.web.rest.s3.request.AwsEditThresholdAlertRequest request) Edit a storage alert for a company, given it's uuid.voideditStorageConfigAlert(String companyId, com.iland.core.web.rest.s3.request.AwsAlertUuid alertUuid, com.iland.core.web.rest.s3.request.AwsStorageConfigEditRequest request) Edit a storage config alert for a company, given it's uuid.voidenableAwsAccountKey(String companyId, String contractUuid, String accountId, String accessKey) Enables a key.exportS3BucketsForAccount(String companyId, String contractUuid, String accountId) Exports all S3 buckets for the specified account as a CSV file.com.iland.core.web.rest.response.monocle.AwsAccountKeyResponsegenerateAwsAccountKeys(String companyId, String contractUuid, String accountId, com.iland.core.web.rest.request.monocle.AwsAccountKeyRequest keyRequest) Generates a new key for this account.com.iland.core.web.rest.s3.response.AwsAccountResponsegetAccountById(String companyId, String contractUuid, String accountId) Gets an AWS account by its ID within a specific contract.com.iland.core.web.rest.s3.response.AwsAccountSetResponsegetAccountsForContract(String companyId, String contractUuid) Get the AWS accounts for the given contract uuid and company id.SetResponse<com.iland.core.web.rest.s3.response.AwsAlertResponse>Get all alerts for a company.com.iland.core.web.rest.response.monocle.AwsAccountKeySetResponsegetAwsAccountKeys(String companyId, String contractUuid, String accountId) Gets the account's keys.getBillingReportCSV(String companyId, String contractUuid, String regionCode, Integer yearMonthId) Get the billing report CSV.com.iland.core.web.rest.s3.response.S3ContractResponsegetContractByUuid(String companyId, String contractUuid) Get a specified S3 contract by its unique UUID.com.iland.core.web.rest.s3.response.S3ContractSetResponsegetContractsForCompany(String companyId) Get the AWS S3 contracts given the company id.com.iland.core.web.rest.s3.response.AwsBillingSummarySetResponsegetDailyBillingSummary(String companyId, String contractUuid, String regionCode, Long start, Long end) Get the daily billing summaries for the given time range.com.iland.core.web.rest.s3.response.AwsContractUsageDayMapResponsegetDailyUsageForAccountByTime(String companyId, String contractUuid, String regionCode, String accountId, Long start, Long end) Get the daily storage usage in bytes for the given account for a time period.com.iland.core.web.rest.s3.response.AwsContractUsageDayMapResponsegetDailyUsageForContractByTime(String companyId, String contractUuid, String regionCode, Long start, Long end) Get the daily storage usage for a given contract over a range of time.com.iland.core.web.rest.s3.response.AwsGlobalAlertExclusionResponsegetGlobalAlertExclusions(String companyId) Retrieve the enabled alert types for a given user.com.iland.core.web.rest.s3.response.AwsAccountStorageSetResponsegetMonthlyAccountsUsageByContract(String companyId, String contractUuid, String regionCode, Integer yearMonthId, Integer page, Integer limit) Get the monthly storage used in bytes for the accounts of a given contract.com.iland.core.web.rest.s3.response.AwsBillingSummarySetResponsegetMonthlyBillingSummary(String companyId, String contractUuid, String regionCode, Integer yearMonthIdStart, Integer yearMonthIdEnd) Get the monthly billing summaries given a contract, region, company and range of dates.getMonthlyStorageCSV(String companyId, String contractUuid, String regionCode, String accountId, Integer yearMonthId) Get the monthly storage used CSV.com.iland.core.web.rest.s3.response.AwsMonthTotalUsageByClassForAccountSetResponsegetMonthlyStorageUsageByAccount(String companyId, String contractUuid, String regionCode, String accountId, Integer yearMonthId) Get the monthly storage usage for a given account.com.iland.core.web.rest.s3.response.AwsMonthTotalUsageByClassForContractSetResponsegetMonthlyStorageUsageByContract(String companyId, String contractUuid, String regionCode, Integer yearMonthId) Get the monthly storage usage for a given contract.com.iland.core.web.rest.response.monocle.S3BucketSetResponsegetS3BucketsForAccount(String companyId, String contractUuid, String accountId, int limit, int offset, String sort, List<String> filters) Returns S3 buckets for the specified AWS account.com.iland.core.web.rest.response.monocle.S3IncreaseStoragePriceInfoResponsegetS3PriceIncreaseCalculation(String companyId, String contractUuid, int quantityInTib) Get the information about a S3 price increase.SetResponse<com.iland.core.web.rest.s3.response.AwsStorageClassResponse>Get all storage classes.voidincreaseS3Storage(String companyId, String contractUuid, AwsS3IncreaseStorageRequest awsS3IncreaseStorageRequest) Increase S3 storage for a given company and their contract, given a quantity in TiB.com.iland.core.web.rest.response.monocle.AwsAccountKeyResponserotateAwsAccountKey(String companyId, String contractUuid, String accountId, String accessKey) Rotates a key.voidupdateAwsAccountKey(String companyId, String contractUuid, String accountId, String accessKey, com.iland.core.web.rest.request.monocle.AwsAccountKeyRequest keyRequest) Updates the key's description.voidupdateAwsAccountName(String companyId, String contractUuid, String accountId, AwsAccountCreateUpdateRequest awsAccountCreateUpdateRequest) Update the name of an AWS account.
-
Method Details
-
getContractsForCompany
@GET @Path("/{companyId}/contracts") com.iland.core.web.rest.s3.response.S3ContractSetResponse getContractsForCompany(@PathParam("companyId") String companyId) Get the AWS S3 contracts given the company id. Status may be ACTIVATED or CANCELLED.- Specified by:
getContractsForCompanyin interfacecom.iland.core.aws.s3.query.api.AwsS3ContractsApi- Parameters:
companyId- the company id- Returns:
- contracts for the company
-
getContractByUuid
@GET @Path("/{companyId}/contracts/{contractUuid}") com.iland.core.web.rest.s3.response.S3ContractResponse getContractByUuid(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid) Get a specified S3 contract by its unique UUID. Status may be ACTIVATED or CANCELLED.- Specified by:
getContractByUuidin interfacecom.iland.core.aws.s3.query.api.AwsS3ContractsApi- Parameters:
companyId- The ID of the company associated with the contract.contractUuid- The unique UUID of the contract to retrieve.- Returns:
- A S3 contract.
-
getAccountById
@GET @Path("/{companyId}/contracts/{contractUuid}/accounts/{accountId}") com.iland.core.web.rest.s3.response.AwsAccountResponse getAccountById(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("accountId") String accountId) Gets an AWS account by its ID within a specific contract.- Specified by:
getAccountByIdin interfacecom.iland.core.aws.s3.query.api.AwsS3AccountsApi- Parameters:
companyId- The ID of the company associated with the contract.contractUuid- The unique UUID of the contract that contains the account.accountId- The ID of the AWS account to retrieve.- Returns:
- An AWS account.
-
getAccountsForContract
@GET @Path("/{companyId}/contracts/{contractUuid}/accounts") com.iland.core.web.rest.s3.response.AwsAccountSetResponse getAccountsForContract(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid) Get the AWS accounts for the given contract uuid and company id.- Specified by:
getAccountsForContractin interfacecom.iland.core.aws.s3.query.api.AwsS3AccountsApi- Parameters:
companyId- The contract's company idcontractUuid- The contract uuid- Returns:
- a set of accounts
-
createAwsAccount
@POST @Path("/{companyId}/contracts/{contractUuid}/accounts") com.iland.core.web.rest.response.monocle.AwsAccountCreationResponse createAwsAccount(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, AwsAccountCreateUpdateRequest awsAccountCreateUpdateRequest) Create AWS account for a given contract uuid, company id and request body.- Parameters:
companyId- The contract's company idcontractUuid- The contract uuidawsAccountCreateUpdateRequest- aws account creation request- Returns:
- aws account creation response
-
updateAwsAccountName
@PUT @Path("/{companyId}/contracts/{contractUuid}/accounts/{accountId}") void updateAwsAccountName(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("accountId") String accountId, AwsAccountCreateUpdateRequest awsAccountCreateUpdateRequest) Update the name of an AWS account.- Parameters:
companyId- The ID of the company associated with the contract.contractUuid- The unique UUID of the contract that contains the account.accountId- The ID of the AWS account to retrieve.awsAccountCreateUpdateRequest- aws account update request
-
getMonthlyStorageUsageByContract
@GET @Path("/{companyId}/contracts/{contractUuid}/regionCode/{regionCode}/month-usage") com.iland.core.web.rest.s3.response.AwsMonthTotalUsageByClassForContractSetResponse getMonthlyStorageUsageByContract(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("regionCode") String regionCode, @QueryParam("yearMonthId") Integer yearMonthId) Get the monthly storage usage for a given contract. Year month id is in the format YYYYMM, ex: 202409 If no year month is provided then it's defaulted to the current month.- Specified by:
getMonthlyStorageUsageByContractin interfacecom.iland.core.aws.s3.query.api.AwsS3UsageApi- Parameters:
companyId- The contract's company idcontractUuid- The contract idregionCode- The contract's region idyearMonthId- The month and year period- Returns:
- a set of usage totals in bytes and storage class
-
getMonthlyStorageUsageByAccount
@GET @Path("/{companyId}/contracts/{contractUuid}/regionCode/{regionCode}/account/{accountId}/month-usage") com.iland.core.web.rest.s3.response.AwsMonthTotalUsageByClassForAccountSetResponse getMonthlyStorageUsageByAccount(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("regionCode") String regionCode, @PathParam("accountId") String accountId, @QueryParam("yearMonthId") Integer yearMonthId) Get the monthly storage usage for a given account. Year month id is in the format YYYYMM, ex: 202409 If no year month is provided then it's defaulted to the current month.- Specified by:
getMonthlyStorageUsageByAccountin interfacecom.iland.core.aws.s3.query.api.AwsS3UsageApi- Parameters:
companyId- The contract's company idcontractUuid- The contract idregionCode- The contract's region codeaccountId- The account idyearMonthId- The month and year period- Returns:
- a set of usage totals in bytes and storage class
-
getDailyUsageForContractByTime
@GET @Path("/{companyId}/contracts/{contractUuid}/regionCode/{regionCode}/day-usage") com.iland.core.web.rest.s3.response.AwsContractUsageDayMapResponse getDailyUsageForContractByTime(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("regionCode") String regionCode, @QueryParam("start") Long start, @QueryParam("end") Long end) Get the daily storage usage for a given contract over a range of time. Start and end date are in epoch milli.- Specified by:
getDailyUsageForContractByTimein interfacecom.iland.core.aws.s3.query.api.AwsS3UsageApi- Parameters:
companyId- The contract's company idcontractUuid- The contract uuidregionCode- The contract's region codestart- start dateend- end date- Returns:
- a set of daily storage usage totals in bytes and the storage class.
-
getMonthlyAccountsUsageByContract
@GET @Path("/{companyId}/contracts/{contractUuid}/regionCode/{regionCode}/account-usage") com.iland.core.web.rest.s3.response.AwsAccountStorageSetResponse getMonthlyAccountsUsageByContract(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("regionCode") String regionCode, @QueryParam("yearMonthId") Integer yearMonthId, @QueryParam("page") Integer page, @QueryParam("limit") Integer limit) Get the monthly storage used in bytes for the accounts of a given contract. If no year month is provided then it's defaulted to the current month. Default page is 0 and default limit is 25.- Specified by:
getMonthlyAccountsUsageByContractin interfacecom.iland.core.aws.s3.query.api.AwsS3UsageApi- Parameters:
companyId- company idcontractUuid- contract uuidregionCode- region codeyearMonthId- year month idpage- pagelimit- limit- Returns:
- a set of account ids to their storage used for the given year and month
-
getDailyUsageForAccountByTime
@GET @Path("/{companyId}/contracts/{contractUuid}/regionCode/{regionCode}/account/{accountId}/day-usage") com.iland.core.web.rest.s3.response.AwsContractUsageDayMapResponse getDailyUsageForAccountByTime(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("regionCode") String regionCode, @PathParam("accountId") String accountId, @QueryParam("start") Long start, @QueryParam("end") Long end) Get the daily storage usage in bytes for the given account for a time period.- Specified by:
getDailyUsageForAccountByTimein interfacecom.iland.core.aws.s3.query.api.AwsS3UsageApi- Parameters:
companyId- company idcontractUuid- contract uuidregionCode- region codeaccountId- account idstart- startend- end- Returns:
- a map of storage class ids to a list of samples which have the time and storage used in bytes
-
getMonthlyBillingSummary
@GET @Path("/{companyId}/contracts/{contractUuid}/regionCode/{regionCode}/monthly-bill") com.iland.core.web.rest.s3.response.AwsBillingSummarySetResponse getMonthlyBillingSummary(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("regionCode") String regionCode, @QueryParam("yearMonthIdStart") Integer yearMonthIdStart, @QueryParam("yearMonthIdEnd") Integer yearMonthIdEnd) Get the monthly billing summaries given a contract, region, company and range of dates.- Specified by:
getMonthlyBillingSummaryin interfacecom.iland.core.aws.s3.query.api.AwsS3BillingApi- Parameters:
companyId- company idcontractUuid- contract uuidregionCode- region codeyearMonthIdStart- year month id start- YYYYMM formatyearMonthIdEnd- year month id end - YYYYMM format- Returns:
- a set of billing summaries for the given time range
-
getDailyBillingSummary
@GET @Path("/{companyId}/contracts/{contractUuid}/regionCode/{regionCode}/day-bill") com.iland.core.web.rest.s3.response.AwsBillingSummarySetResponse getDailyBillingSummary(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("regionCode") String regionCode, @QueryParam("start") Long start, @QueryParam("end") Long end) Get the daily billing summaries for the given time range. These are summaries of the bill day by day given a start and end date in epoch milli.- Specified by:
getDailyBillingSummaryin interfacecom.iland.core.aws.s3.query.api.AwsS3BillingApi- Parameters:
companyId- company idcontractUuid- contract uuidregionCode- region codestart- startend- end- Returns:
- daily billing summaries for the given time range
-
getMonthlyStorageCSV
@GET @Path("/{companyId}/contracts/{contractUuid}/regionCode/{regionCode}/monthly-storage-csv") @Produces("application/vnd.ilandcloud.api.v1.0+octet-stream") InputStream getMonthlyStorageCSV(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("regionCode") String regionCode, @QueryParam("accountId") String accountId, @QueryParam("yearMonthId") Integer yearMonthId) Get the monthly storage used CSV. Optional parameters are the accountId and the storageOnly. If you pass in an accountId you will only get the storage usage data pertaining to that account. If you pass storageOnly to true then you will get only the storage usage line items. The following fields are currently returned: aws_offer_name, year_month_id, aws_account_id, product_family, product_grouping, aws_sku, contract_number, is_estimate, month, price_description, usage_total, year, aws_usage_month, company_id, contract_uuid, region_code- Specified by:
getMonthlyStorageCSVin interfacecom.iland.core.aws.s3.query.api.AwsS3UsageApi- Parameters:
companyId- company idcontractUuid- contract uuidregionCode- region codeaccountId- account idyearMonthId- year month id- Returns:
- a monthly storage CSV
-
getBillingReportCSV
@GET @Path("/{companyId}/contracts/{contractUuid}/regionCode/{regionCode}/bill-csv") @Produces("application/vnd.ilandcloud.api.v1.0+octet-stream") InputStream getBillingReportCSV(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("regionCode") String regionCode, @QueryParam("yearMonthId") Integer yearMonthId) Get the billing report CSV.- Specified by:
getBillingReportCSVin interfacecom.iland.core.aws.s3.query.api.AwsS3BillingApi- Parameters:
companyId- company idcontractUuid- contract uuidregionCode- region codeyearMonthId- year month id- Returns:
- billing report CSV
-
createStorageAlert
@POST @Path("/{companyId}/storage-alert") com.iland.core.web.rest.s3.response.AwsAlertResponse createStorageAlert(@PathParam("companyId") String companyId, com.iland.core.web.rest.s3.request.AwsThresholdAlertRequest request) Create a storage alert for a given company, region and user.- Specified by:
createStorageAlertin interfacecom.iland.core.aws.s3.query.api.AwsS3CreateAlertsApi- Parameters:
companyId- company id.request- request body containing config to create the alert- Returns:
- the details for the created alert.
-
createBillingAlert
@POST @Path("/{companyId}/billing-alert") com.iland.core.web.rest.s3.response.AwsAlertResponse createBillingAlert(@PathParam("companyId") String companyId, com.iland.core.web.rest.s3.request.AwsThresholdAlertRequest request) Create a billing alert for a given company, region and user.- Specified by:
createBillingAlertin interfacecom.iland.core.aws.s3.query.api.AwsS3CreateAlertsApi- Parameters:
companyId- company id.request- request body containing config to create the alert- Returns:
- the details for the created alert.
-
createStorageConfigAlert
@POST @Path("/{companyId}/storage-config-alert") com.iland.core.web.rest.s3.response.AwsAlertResponse createStorageConfigAlert(@PathParam("companyId") String companyId, com.iland.core.web.rest.s3.request.AwsStorageConfigAlertRequest request) Create a storage config alert for a given company, region and user.- Specified by:
createStorageConfigAlertin interfacecom.iland.core.aws.s3.query.api.AwsS3CreateAlertsApi- Parameters:
companyId- company id.request- request body containing config to create the alert- Returns:
- the details for the created alert.
-
getAlerts
@GET @Path("/{companyId}/alerts/{contractUuid}") SetResponse<com.iland.core.web.rest.s3.response.AwsAlertResponse> getAlerts(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid) Get all alerts for a company.- Specified by:
getAlertsin interfacecom.iland.core.aws.s3.query.api.AwsS3GetAlertsApi- Parameters:
companyId- company id.- Returns:
- the alerts for the company.
-
getStorageClasses
@GET @Path("/storage-classes") SetResponse<com.iland.core.web.rest.s3.response.AwsStorageClassResponse> getStorageClasses()Get all storage classes.- Specified by:
getStorageClassesin interfacecom.iland.core.aws.s3.query.api.AwsS3GetAlertsApi- Returns:
- the existent storage classes.
-
deleteAlert
@DELETE @Path("/{companyId}/alert") void deleteAlert(@PathParam("companyId") String companyId, com.iland.core.web.rest.s3.request.AwsDeleteAlertRequest request) Delete an alert for a company, given it's uuid.- Specified by:
deleteAlertin interfacecom.iland.core.aws.s3.query.api.AwsS3DeleteAlertsApi- Parameters:
companyId- company id.request- the alert uuids to be deleted
-
editBillingAlert
@PUT @Path("/{companyId}/alerts/{alertUuid}/billing-alert") void editBillingAlert(@PathParam("companyId") String companyId, @PathParam("alertUuid") com.iland.core.web.rest.s3.request.AwsAlertUuid alertUuid, com.iland.core.web.rest.s3.request.AwsEditThresholdAlertRequest request) Edit a billing alert for a company, given it's uuid.- Specified by:
editBillingAlertin interfacecom.iland.core.aws.s3.query.api.AwsS3EditAlertsApi- Parameters:
companyId- company id.alertUuid- the alert uuid.request- request body containing config to edit the alert.
-
editStorageAlert
@PUT @Path("/{companyId}/alerts/{alertUuid}/storage-alert") void editStorageAlert(@PathParam("companyId") String companyId, @PathParam("alertUuid") com.iland.core.web.rest.s3.request.AwsAlertUuid alertUuid, com.iland.core.web.rest.s3.request.AwsEditThresholdAlertRequest request) Edit a storage alert for a company, given it's uuid.- Specified by:
editStorageAlertin interfacecom.iland.core.aws.s3.query.api.AwsS3EditAlertsApi- Parameters:
companyId- company id.alertUuid- the alert uuid.request- request body containing config to edit the alert.
-
editStorageConfigAlert
@PUT @Path("/{companyId}/alerts/{alertUuid}/storage-config-alert") void editStorageConfigAlert(@PathParam("companyId") String companyId, @PathParam("alertUuid") com.iland.core.web.rest.s3.request.AwsAlertUuid alertUuid, com.iland.core.web.rest.s3.request.AwsStorageConfigEditRequest request) Edit a storage config alert for a company, given it's uuid.- Specified by:
editStorageConfigAlertin interfacecom.iland.core.aws.s3.query.api.AwsS3EditAlertsApi- Parameters:
companyId- company id.alertUuid- the alert uuid.request- request body containing config to edit the alert.
-
getGlobalAlertExclusions
@GET @Path("/{companyId}/global-alerts") com.iland.core.web.rest.s3.response.AwsGlobalAlertExclusionResponse getGlobalAlertExclusions(@PathParam("companyId") String companyId) Retrieve the enabled alert types for a given user.- Specified by:
getGlobalAlertExclusionsin interfacecom.iland.core.aws.s3.query.api.AwsS3GlobalAlertsApi- Parameters:
companyId- the company id
-
editGlobalAlertExclusion
@POST @Path("/{companyId}/global-alerts") void editGlobalAlertExclusion(@PathParam("companyId") String companyId, com.iland.core.web.rest.s3.request.AwsEditGlobalAlertExclusionRequest request) Add or remove a global alert exclusion based on exclude property. If the exclusion is already configured and exclude is true, no changes are applied. Same applies for the inverse case.- Specified by:
editGlobalAlertExclusionin interfacecom.iland.core.aws.s3.query.api.AwsS3GlobalAlertsApi- Parameters:
companyId- the company idrequest- the request body containing the alert type and exclusion flag
-
getAwsAccountKeys
@GET @Path("/{companyId}/contracts/{contractUuid}/accounts/{accountId}/keys") com.iland.core.web.rest.response.monocle.AwsAccountKeySetResponse getAwsAccountKeys(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("accountId") String accountId) Gets the account's keys.- Specified by:
getAwsAccountKeysin interfacecom.iland.core.services.monocle.api.MonocleAwsKeyManagementServiceApi- Parameters:
companyId- The account's company idcontractUuid- The account's contract idaccountId- The account id- Returns:
- A list of the account's keys.
-
generateAwsAccountKeys
@POST @Path("/{companyId}/contracts/{contractUuid}/accounts/{accountId}/keys") com.iland.core.web.rest.response.monocle.AwsAccountKeyResponse generateAwsAccountKeys(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("accountId") String accountId, com.iland.core.web.rest.request.monocle.AwsAccountKeyRequest keyRequest) Generates a new key for this account. An account can only have up to 5 keys and if hits that limit, it will return an error. A description can be sent, but if not it will be autogenerated.- Specified by:
generateAwsAccountKeysin interfacecom.iland.core.services.monocle.api.MonocleAwsKeyManagementServiceApi- Parameters:
companyId- The account's company idcontractUuid- The account's contract idaccountId- The account idkeyRequest- The key request. Only the description can be set. If nothing gets set it will get autogenerated.- Returns:
- A new key. The secret key field will be populated.
-
updateAwsAccountKey
@PUT @Path("/{companyId}/contracts/{contractUuid}/accounts/{accountId}/keys/{accessKey}/description") void updateAwsAccountKey(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("accountId") String accountId, @PathParam("accessKey") String accessKey, com.iland.core.web.rest.request.monocle.AwsAccountKeyRequest keyRequest) Updates the key's description.- Specified by:
updateAwsAccountKeyin interfacecom.iland.core.services.monocle.api.MonocleAwsKeyManagementServiceApi- Parameters:
companyId- The account's company idcontractUuid- The account's contract idaccountId- The account idaccessKey- The key id.keyRequest- The key request. Only the description can be set. If nothing gets set it will get autogenerated.
-
enableAwsAccountKey
@PUT @Path("/{companyId}/contracts/{contractUuid}/accounts/{accountId}/keys/{accessKey}/enable") void enableAwsAccountKey(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("accountId") String accountId, @PathParam("accessKey") String accessKey) Enables a key.- Specified by:
enableAwsAccountKeyin interfacecom.iland.core.services.monocle.api.MonocleAwsKeyManagementServiceApi- Parameters:
companyId- The account's company idcontractUuid- The account's contract idaccountId- The account idaccessKey- The key id.
-
disableAwsAccountKey
@PUT @Path("/{companyId}/contracts/{contractUuid}/accounts/{accountId}/keys/{accessKey}/disable") void disableAwsAccountKey(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("accountId") String accountId, @PathParam("accessKey") String accessKey) Disables a key- Specified by:
disableAwsAccountKeyin interfacecom.iland.core.services.monocle.api.MonocleAwsKeyManagementServiceApi- Parameters:
companyId- The account's company idcontractUuid- The account's contract idaccountId- The account idaccessKey- The key id.
-
rotateAwsAccountKey
@PUT @Path("/{companyId}/contracts/{contractUuid}/accounts/{accountId}/keys/{accessKey}/rotate") com.iland.core.web.rest.response.monocle.AwsAccountKeyResponse rotateAwsAccountKey(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("accountId") String accountId, @PathParam("accessKey") String accessKey) Rotates a key. The key sent in the request won't show up. The new key will have a new access and secret key.- Specified by:
rotateAwsAccountKeyin interfacecom.iland.core.services.monocle.api.MonocleAwsKeyManagementServiceApi- Parameters:
companyId- The account's company idcontractUuid- The account's contract idaccountId- The account idaccessKey- The key id.- Returns:
- The newly rotated key. It's secret key will be populated.
-
deleteAwsAccountKey
@DELETE @Path("/{companyId}/contracts/{contractUuid}/accounts/{accountId}/keys/{accessKey}") void deleteAwsAccountKey(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("accountId") String accountId, @PathParam("accessKey") String accessKey) Deletes a key.- Specified by:
deleteAwsAccountKeyin interfacecom.iland.core.services.monocle.api.MonocleAwsKeyManagementServiceApi- Parameters:
companyId- The account's company idcontractUuid- The account's contract idaccountId- The account idaccessKey- The key id.
-
getS3BucketsForAccount
@GET @Path("/{companyId}/contracts/{contractUuid}/accounts/{accountId}/s3-buckets") com.iland.core.web.rest.response.monocle.S3BucketSetResponse getS3BucketsForAccount(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("accountId") String accountId, @QueryParam("limit") @DefaultValue("200") int limit, @QueryParam("offset") @DefaultValue("0") int offset, @QueryParam("sort") String sort, @QueryParam("filter") List<String> filters) Returns S3 buckets for the specified AWS account. Supports pagination, sorting, and filtering. Supported sort values use bucket fields, for example name or usage_bytes. Prefix sort with '-' for descending order. Filters use key=value format. Supported operators in value are eq, ne, gt, lt, and like.- Parameters:
companyId- company ID associated with the AWS accountcontractUuid- contract UUID associated with the AWS accountaccountId- AWS account IDlimit- maximum buckets to return (default 200)offset- zero-based pagination offset (default 0)sort- optional sort fieldfilters- optional filter list- Returns:
S3BucketSetResponse
-
exportS3BucketsForAccount
@GET @Path("/{companyId}/contracts/{contractUuid}/accounts/{accountId}/s3-buckets/export") @Produces("application/vnd.ilandcloud.api.v1.0+octet-stream") InputStream exportS3BucketsForAccount(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("accountId") String accountId) Exports all S3 buckets for the specified account as a CSV file.- Parameters:
companyId- company ID associated with the AWS accountcontractUuid- contract UUID associated with the AWS accountaccountId- AWS account ID- Returns:
- an
InputStreamcontaining the CSV export of all buckets for the specified account
-
createS3BucketForAccount
@POST @Path("/{companyId}/contracts/{contractUuid}/accounts/{accountId}/s3-buckets") void createS3BucketForAccount(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @PathParam("accountId") String accountId, com.iland.core.web.rest.request.monocle.AwsAccountS3BucketRequest awsAccountS3BucketRequest) Creates a new S3 bucket for the specified AWS account.- Specified by:
createS3BucketForAccountin interfacecom.iland.core.services.monocle.api.MonocleAwsBucketService- Parameters:
companyId- The AWS Account's company idcontractUuid- The AWS Account's contract idaccountId- The AWS Account Id associated with the new bucket.awsAccountS3BucketRequest- The bucket's name (must follow AWS rules) and whether object lock is enabled on the new bucket.
-
getS3PriceIncreaseCalculation
@GET @Path("/{companyId}/contracts/{contractUuid}/s3-increase-info/") com.iland.core.web.rest.response.monocle.S3IncreaseStoragePriceInfoResponse getS3PriceIncreaseCalculation(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, @QueryParam("quantity") int quantityInTib) Get the information about a S3 price increase. Included in the response are the following: - currency - price per unit - total price- Parameters:
companyId- The AWS Account's company idcontractUuid- The AWS contract idquantityInTib- quantity to increase in TiB.- Returns:
- information about the S3 price increase given the quantity
-
increaseS3Storage
@POST @Path("/{companyId}/contracts/{contractUuid}/s3-increase-storage/") void increaseS3Storage(@PathParam("companyId") String companyId, @PathParam("contractUuid") String contractUuid, AwsS3IncreaseStorageRequest awsS3IncreaseStorageRequest) Increase S3 storage for a given company and their contract, given a quantity in TiB.- Parameters:
companyId- The AWS Account's company idcontractUuid- The AWS contract idawsS3IncreaseStorageRequest- request for quantity to increase in TiB.
-